From c6cb017f865b678c78488b154a39379e97deca2b Mon Sep 17 00:00:00 2001 From: Vlad Balin Date: Tue, 9 May 2017 18:14:09 -0400 Subject: [PATCH 01/25] Bug fixes --- dist/index.js | 317 +++++++++++++++-------------- dist/index.min.js | 2 +- dist/index.min.js.map | 2 +- lib/createClass.d.ts | 5 + lib/createClass.js | 50 +++++ lib/createClass.js.map | 1 + lib/index.d.ts | 3 +- lib/index.js | 7 +- lib/index.js.map | 2 +- lib/react-mvx/component.d.ts | 5 - lib/react-mvx/component.js | 36 +--- lib/react-mvx/component.js.map | 2 +- lib/react-mvx/define/common.d.ts | 4 +- lib/react-mvx/define/common.js | 22 +- lib/react-mvx/define/common.js.map | 2 +- lib/react-mvx/index.d.ts | 5 +- lib/react-mvx/index.js | 5 +- lib/react-mvx/index.js.map | 2 +- src/createClass.ts | 38 ++++ src/index.ts | 9 +- src/react-mvx/component.ts | 37 +--- src/react-mvx/define/common.ts | 22 +- src/react-mvx/index.ts | 6 +- submodules/React-MVx | 2 +- 24 files changed, 286 insertions(+), 300 deletions(-) create mode 100644 lib/createClass.d.ts create mode 100644 lib/createClass.js create mode 100644 lib/createClass.js.map create mode 100644 src/createClass.ts diff --git a/dist/index.js b/dist/index.js index 4fc69e6..094610d 100644 --- a/dist/index.js +++ b/dist/index.js @@ -73,7 +73,7 @@ return /******/ (function(modules) { // webpackBootstrap /******/ __webpack_require__.p = ""; /******/ /******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 10); +/******/ return __webpack_require__(__webpack_require__.s = 11); /******/ }) /************************************************************************/ /******/ ([ @@ -87,14 +87,59 @@ module.exports = __WEBPACK_EXTERNAL_MODULE_0__; /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types__ = __webpack_require__(4); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_prop_types__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "h", function() { return assignToState; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(3); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__define__ = __webpack_require__(6); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__link__ = __webpack_require__(18); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__component__ = __webpack_require__(12); +/* harmony reexport (binding) */ if(__webpack_require__.o(__WEBPACK_IMPORTED_MODULE_1_type_r__, "define")) __webpack_require__.d(__webpack_exports__, "b", function() { return __WEBPACK_IMPORTED_MODULE_1_type_r__["define"]; }); +/* harmony reexport (binding) */ if(__webpack_require__.o(__WEBPACK_IMPORTED_MODULE_1_type_r__, "mixins")) __webpack_require__.d(__webpack_exports__, "c", function() { return __WEBPACK_IMPORTED_MODULE_1_type_r__["mixins"]; }); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return __WEBPACK_IMPORTED_MODULE_2__define__["a"]; }); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return __WEBPACK_IMPORTED_MODULE_2__define__["b"]; }); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return __WEBPACK_IMPORTED_MODULE_3__link__["a"]; }); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return __WEBPACK_IMPORTED_MODULE_4__component__["a"]; }); + + + + + +// extend React namespace +var ReactMVx = Object.create(__WEBPACK_IMPORTED_MODULE_0_react__); +// Make it compatible with ES6 module format. +ReactMVx.default = ReactMVx; +// listenToProps, listenToState, model, attributes, Model +ReactMVx.define = __WEBPACK_IMPORTED_MODULE_1_type_r__["define"]; +ReactMVx.mixins = __WEBPACK_IMPORTED_MODULE_1_type_r__["mixins"]; +ReactMVx.Node = __WEBPACK_IMPORTED_MODULE_2__define__["a" /* Node */].value(null); +ReactMVx.Element = __WEBPACK_IMPORTED_MODULE_2__define__["b" /* Element */].value(null); +ReactMVx.Link = __WEBPACK_IMPORTED_MODULE_3__link__["a" /* default */]; +ReactMVx.Component = __WEBPACK_IMPORTED_MODULE_4__component__["a" /* Component */]; +var assignToState = ReactMVx.assignToState = function (key) { + return function (prop) { + this.state.assignFrom((_a = {}, _a[key] = prop && prop instanceof __WEBPACK_IMPORTED_MODULE_3__link__["a" /* default */] ? prop.value : prop, _a)); + var _a; + }; +}; +/* harmony default export */ __webpack_exports__["a"] = (ReactMVx); + +//# sourceMappingURL=index.js.map + +/***/ }), +/* 2 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; /* harmony export (immutable) */ __webpack_exports__["c"] = collectSpecs; /* harmony export (immutable) */ __webpack_exports__["d"] = compileSpecs; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Node; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return Element; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_prop_types__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__); function collectSpecs(spec, name) { @@ -207,53 +252,6 @@ function _translateType(Type) { } //# sourceMappingURL=typeSpecs.js.map -/***/ }), -/* 2 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(3); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__define__ = __webpack_require__(6); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__link__ = __webpack_require__(17); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__component__ = __webpack_require__(11); -/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return __WEBPACK_IMPORTED_MODULE_4__component__["a"]; }); -/* harmony reexport (binding) */ if(__webpack_require__.o(__WEBPACK_IMPORTED_MODULE_1_type_r__, "define")) __webpack_require__.d(__webpack_exports__, "c", function() { return __WEBPACK_IMPORTED_MODULE_1_type_r__["define"]; }); -/* harmony reexport (binding) */ if(__webpack_require__.o(__WEBPACK_IMPORTED_MODULE_1_type_r__, "mixins")) __webpack_require__.d(__webpack_exports__, "d", function() { return __WEBPACK_IMPORTED_MODULE_1_type_r__["mixins"]; }); -/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return __WEBPACK_IMPORTED_MODULE_2__define__["a"]; }); -/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return __WEBPACK_IMPORTED_MODULE_2__define__["b"]; }); -/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return __WEBPACK_IMPORTED_MODULE_3__link__["a"]; }); -/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "h", function() { return __WEBPACK_IMPORTED_MODULE_4__component__["b"]; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "i", function() { return assignToState; }); - - - - - -// extend React namespace -var ReactMVx = Object.create(__WEBPACK_IMPORTED_MODULE_0_react__); -// Make it compatible with ES6 module format. -ReactMVx.default = ReactMVx; -// listenToProps, listenToState, model, attributes, Model -ReactMVx.createClass = __WEBPACK_IMPORTED_MODULE_4__component__["a" /* createClass */]; -ReactMVx.define = __WEBPACK_IMPORTED_MODULE_1_type_r__["define"]; -ReactMVx.mixins = __WEBPACK_IMPORTED_MODULE_1_type_r__["mixins"]; -ReactMVx.Node = __WEBPACK_IMPORTED_MODULE_2__define__["a" /* Node */].value(null); -ReactMVx.Element = __WEBPACK_IMPORTED_MODULE_2__define__["b" /* Element */].value(null); -ReactMVx.Link = __WEBPACK_IMPORTED_MODULE_3__link__["a" /* default */]; -ReactMVx.Component = __WEBPACK_IMPORTED_MODULE_4__component__["b" /* Component */]; -var assignToState = ReactMVx.assignToState = function (key) { - return function (prop) { - this.state.assignFrom((_a = {}, _a[key] = prop && prop instanceof __WEBPACK_IMPORTED_MODULE_3__link__["a" /* default */] ? prop.value : prop, _a)); - var _a; - }; -}; -/* harmony default export */ __webpack_exports__["a"] = (ReactMVx); - -//# sourceMappingURL=index.js.map - /***/ }), /* 3 */ /***/ (function(module, exports) { @@ -292,7 +290,7 @@ if (false) { } else { // By explicitly using `prop-types` you are opting into new production behavior. // http://fb.me/prop-types-in-prod - module.exports = __webpack_require__(22)(); + module.exports = __webpack_require__(23)(); } @@ -307,15 +305,15 @@ module.exports = __WEBPACK_EXTERNAL_MODULE_5__; /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__store__ = __webpack_require__(16); +/* harmony export (immutable) */ __webpack_exports__["c"] = process; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__store__ = __webpack_require__(17); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__state__ = __webpack_require__(7); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__context__ = __webpack_require__(13); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__common__ = __webpack_require__(12); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__props__ = __webpack_require__(14); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__typeSpecs__ = __webpack_require__(1); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__context__ = __webpack_require__(14); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__common__ = __webpack_require__(13); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__props__ = __webpack_require__(15); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__typeSpecs__ = __webpack_require__(2); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return __WEBPACK_IMPORTED_MODULE_5__typeSpecs__["a"]; }); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return __WEBPACK_IMPORTED_MODULE_5__typeSpecs__["b"]; }); -/* harmony export (immutable) */ __webpack_exports__["c"] = process; @@ -341,12 +339,12 @@ function process(spec, baseProto) { /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(1); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__); /* harmony export (immutable) */ __webpack_exports__["a"] = process; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return StateMixin; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return UpdateOnNestedChangesMixin; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(2); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__); /***************** * State */ @@ -404,13 +402,13 @@ var UpdateOnNestedChangesMixin = { /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +/* harmony export (immutable) */ __webpack_exports__["a"] = use; /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(3); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(5); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__); -/* harmony export (immutable) */ __webpack_exports__["a"] = use; @@ -478,7 +476,65 @@ function use(View) { /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(2); +/* harmony export (immutable) */ __webpack_exports__["a"] = createClass; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1); +var __assign = (this && this.__assign) || Object.assign || function(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; +}; +var __rest = (this && this.__rest) || function (s, e) { + var t = {}; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) + t[p] = s[p]; + if (s != null && typeof Object.getOwnPropertySymbols === "function") + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) + t[p[i]] = s[p[i]]; + return t; +}; + +var dontAutobind = [ + 'State', 'Store', 'constructor', + 'componentWillMount', 'componentDidMount', 'componentWillReceiveProps', 'shouldComponentUpdate', + 'componentWillUpdate', 'componentDidUpdate', 'componentWillUnmount', + 'render', 'getDefaultProps', 'getChildContext' +]; +/** + * ES5 components definition factory + */ +function createClass(_a) { + var statics = _a.statics, a_spec = __rest(_a, ["statics"]); + // Gather all methods to pin them to `this` later. + var methods = []; + var Subclass = __WEBPACK_IMPORTED_MODULE_0__react_mvx__["g" /* Component */].extend(__assign({ + // Override constructor to autobind all the methods... + constructor: function () { + __WEBPACK_IMPORTED_MODULE_0__react_mvx__["g" /* Component */].apply(this, this.arguments); + for (var _i = 0, methods_1 = methods; _i < methods_1.length; _i++) { + var method = methods_1[_i]; + this[method] = this[method].bind(this); + } + } }, a_spec), statics); + // Need to bind methods from mixins as well, so populate it here. + var Proto = Subclass.prototype; + for (var key in Proto) { + if (Proto.hasOwnProperty(key) && dontAutobind.indexOf(key) === -1 && typeof Proto[key] === 'function') { + methods.push(key); + } + } + return Subclass; +} +//# sourceMappingURL=createClass.js.map + +/***/ }), +/* 10 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__); var __extends = (this && this.__extends) || (function () { @@ -553,31 +609,32 @@ var BackboneView = (function (_super) { //# sourceMappingURL=view-element.js.map /***/ }), -/* 10 */ +/* 11 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(2); -/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "createClass", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__["b"]; }); -/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "define", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__["c"]; }); -/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "mixins", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__["d"]; }); -/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "Node", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__["e"]; }); -/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "Element", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__["f"]; }); -/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "Link", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__["g"]; }); -/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "Component", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__["h"]; }); -/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "assignToState", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__["i"]; }); +/* harmony export (immutable) */ __webpack_exports__["useView"] = useView; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "define", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__["b"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "mixins", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__["c"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "Node", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__["d"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "Element", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__["e"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "Link", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__["f"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "Component", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__["g"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "assignToState", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__["h"]; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(5); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types__ = __webpack_require__(4); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_prop_types__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__view_element__ = __webpack_require__(9); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__view_element__ = __webpack_require__(10); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "subview", function() { return __WEBPACK_IMPORTED_MODULE_4__view_element__["a"]; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__component_view__ = __webpack_require__(8); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__createClass__ = __webpack_require__(9); /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "PropTypes", function() { return __WEBPACK_IMPORTED_MODULE_3_prop_types__; }); -/* harmony export (immutable) */ __webpack_exports__["useView"] = useView; +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "createClass", function() { return __WEBPACK_IMPORTED_MODULE_6__createClass__["a"]; }); // Re-export react-mvx var NestedReact = Object.create(__WEBPACK_IMPORTED_MODULE_0__react_mvx__["a" /* default */]); @@ -592,6 +649,9 @@ NestedReact.subview = __WEBPACK_IMPORTED_MODULE_4__view_element__["a" /* default +NestedReact.createClass = __WEBPACK_IMPORTED_MODULE_6__createClass__["a" /* default */]; +Object.defineProperty(NestedReact, 'PropTypes', { value: __WEBPACK_IMPORTED_MODULE_3_prop_types__ }); + var BaseView; // export hook to override base View class used... function useView(View) { @@ -602,8 +662,6 @@ NestedReact.Component.define = function (protoProps, staticProps) { this.View = BaseView.extend({ reactClass: this }); return define.call(this, protoProps, staticProps); }; -function defineBackboneProxy(Component) { -} // Deprecated API for backward compatibility var RecordProto = __WEBPACK_IMPORTED_MODULE_2_type_r__["Record"].prototype; RecordProto.getLink = RecordProto.linkAt; @@ -621,17 +679,16 @@ Object.defineProperties(NestedReact.Component.prototype, BackboneViewProps); //# sourceMappingURL=index.js.map /***/ }), -/* 11 */ +/* 12 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Component; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(3); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__define__ = __webpack_require__(6); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return Component; }); -/* harmony export (immutable) */ __webpack_exports__["a"] = createClass; /** * React components */ @@ -645,14 +702,6 @@ var __extends = (this && this.__extends) || (function () { d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); -var __assign = (this && this.__assign) || Object.assign || function(t) { - for (var s, i = 1, n = arguments.length; i < n; i++) { - s = arguments[i]; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) - t[p] = s[p]; - } - return t; -}; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); @@ -700,7 +749,7 @@ var Component = (function (_super) { return this.state.linkAll.apply(this, arguments); }; Component.define = function (protoProps, staticProps) { - var BaseClass = __WEBPACK_IMPORTED_MODULE_1_type_r__["tools"].getBaseClass(this), staticsDefinition = __WEBPACK_IMPORTED_MODULE_1_type_r__["tools"].getChangedStatics(this, 'state', 'store', 'props', 'autobind', 'context', 'childContext', 'pureRender'), combinedDefinition = __WEBPACK_IMPORTED_MODULE_1_type_r__["tools"].assign(staticsDefinition, protoProps || {}); + var BaseClass = __WEBPACK_IMPORTED_MODULE_1_type_r__["tools"].getBaseClass(this), staticsDefinition = __WEBPACK_IMPORTED_MODULE_1_type_r__["tools"].getChangedStatics(this, 'state', 'store', 'props', 'context', 'childContext', 'pureRender'), combinedDefinition = __WEBPACK_IMPORTED_MODULE_1_type_r__["tools"].assign(staticsDefinition, protoProps || {}); var definition = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__define__["c" /* default */])(combinedDefinition, this.prototype); var getDefaultProps = definition.getDefaultProps, propTypes = definition.propTypes, contextTypes = definition.contextTypes, childContextTypes = definition.childContextTypes, protoDefinition = __rest(definition, ["getDefaultProps", "propTypes", "contextTypes", "childContextTypes"]); if (getDefaultProps) @@ -732,69 +781,25 @@ Object.defineProperty(Component.prototype, 'isMounted', { return !this._disposed; } }); -var dontAutobind = ['state', 'store']; -/** - * ES5 components definition factory - */ -function createClass(_a) { - var statics = _a.statics, a_spec = __rest(_a, ["statics"]); - // Gather all methods to pin them to `this` later. - var methods = []; - var Subclass = Component.extend(__assign({ - // Override constructor to autobind all the methods... - constructor: function () { - Component.apply(this, this.arguments); - for (var _i = 0, methods_1 = methods; _i < methods_1.length; _i++) { - var method = methods_1[_i]; - this[method] = this[method].bind(this); - } - } }, a_spec), statics); - // Need to bind methods from mixins as well, so populate it here. - var Proto = Subclass.prototype; - for (var key in Proto) { - if (Proto.hasOwnProperty(key) && dontAutobind.indexOf(key) === -1 && typeof Proto[key] === 'function') { - methods.push(key); - } - } - return Subclass; -} //# sourceMappingURL=component.js.map /***/ }), -/* 12 */ +/* 13 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__); /* harmony export (immutable) */ __webpack_exports__["a"] = compile; /* unused harmony export asyncUpdate */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__); /** - * Process `autobind` specs, attach async event processing and transactional support. + * attach async event processing and transactional support. */ -function compile(spec, _a) { - var _b = _a._autobind, _autobind = _b === void 0 ? [] : _b; - // Attach autobind mixin... - if (spec.autobind) { - spec._autobind = spec.autobind.split(/\s+/).concat(_autobind); - spec.mixins.push(AutobindMixin); - delete spec.autobind; - } +function compile(spec, baseProto) { // Attach common mixin spec.mixins.push(CommonMixin); } -/*** - * Autobinding - */ -var AutobindMixin = { - componentWillMount: function () { - for (var _i = 0, _a = this._autobind; _i < _a.length; _i++) { - var name_1 = _a[_i]; - this[name_1] = this[name_1].bind(this); - } - } -}; function asyncUpdate() { this.shouldComponentUpdate === returnFalse || this._disposed || this.forceUpdate(); } @@ -834,12 +839,12 @@ var CommonMixin = __WEBPACK_IMPORTED_MODULE_0_type_r__["tools"].assign({ //# sourceMappingURL=common.js.map /***/ }), -/* 13 */ +/* 14 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(1); /* harmony export (immutable) */ __webpack_exports__["a"] = process; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(2); var __assign = (this && this.__assign) || Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; @@ -869,13 +874,13 @@ function process(spec, _a) { //# sourceMappingURL=context.js.map /***/ }), -/* 14 */ +/* 15 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(1); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__pureRender__ = __webpack_require__(15); /* harmony export (immutable) */ __webpack_exports__["a"] = process; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(2); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__pureRender__ = __webpack_require__(16); /** * Handle props specification and everything which is related: * - local listening to props changes @@ -965,7 +970,7 @@ var WatchersMixin = { //# sourceMappingURL=props.js.map /***/ }), -/* 15 */ +/* 16 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -996,15 +1001,15 @@ function createPureRenderMixin(props) { //# sourceMappingURL=pureRender.js.map /***/ }), -/* 16 */ +/* 17 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(1); +/* harmony export (immutable) */ __webpack_exports__["a"] = process; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(2); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__state__ = __webpack_require__(7); -/* harmony export (immutable) */ __webpack_exports__["a"] = process; @@ -1070,13 +1075,13 @@ var InternalStoreMixin = { //# sourceMappingURL=store.js.map /***/ }), -/* 17 */ +/* 18 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__valuelink_link__ = __webpack_require__(19); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__valuelink_link__ = __webpack_require__(20); /** * Import ValueLink library * Define value links binding mixins to the Record and Collection @@ -1231,7 +1236,7 @@ var CollectionLink = (function (_super) { //# sourceMappingURL=link.js.map /***/ }), -/* 18 */ +/* 19 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -1302,11 +1307,10 @@ var arrayHelpers = { //# sourceMappingURL=helpers.js.map /***/ }), -/* 19 */ +/* 20 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__helpers__ = __webpack_require__(18); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Link; }); /* unused harmony export CustomLink */ /* unused harmony export CloneLink */ @@ -1314,6 +1318,7 @@ var arrayHelpers = { /* unused harmony export EnabledLink */ /* unused harmony export ContainsLink */ /* unused harmony export LinkAt */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__helpers__ = __webpack_require__(19); var __extends = (this && this.__extends) || (function () { var extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || @@ -1548,7 +1553,7 @@ var LinkAt = (function (_super) { //# sourceMappingURL=link.js.map /***/ }), -/* 20 */ +/* 21 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -1592,7 +1597,7 @@ emptyFunction.thatReturnsArgument = function (arg) { module.exports = emptyFunction; /***/ }), -/* 21 */ +/* 22 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -1653,7 +1658,7 @@ function invariant(condition, format, a, b, c, d, e, f) { module.exports = invariant; /***/ }), -/* 22 */ +/* 23 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -1668,8 +1673,8 @@ module.exports = invariant; -var emptyFunction = __webpack_require__(20); -var invariant = __webpack_require__(21); +var emptyFunction = __webpack_require__(21); +var invariant = __webpack_require__(22); module.exports = function() { // Important! diff --git a/dist/index.min.js b/dist/index.min.js index 5f16c8e..85d69de 100644 --- a/dist/index.min.js +++ b/dist/index.min.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("nestedtypes"),require("react"),require("react-dom")):"function"==typeof define&&define.amd?define(["nestedtypes","react","react-dom"],e):"object"==typeof exports?exports.React=e(require("nestedtypes"),require("react"),require("react-dom")):t.React=e(t.Nested,t.React,t.ReactDOM)}(this,function(t,e,n){return function(t){function e(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,e),o.l=!0,o.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:r})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=10)}([function(e,n){e.exports=t},function(t,e,n){"use strict";function r(t,e){for(var n=null,r=t.mixins.length-1;r>=0;r--){var o=t.mixins[r],i=o[e];i&&(n||(n={}),c.tools.assign(n,i))}var s=t[e];return s&&(n?c.tools.assign(n,s):n=s),n}function o(t){var e,n,r,o={},u=c.Record.defaults(t).prototype;return u.forEachAttr(u._attributes,function(t,u){if("id"!==u){var a=t.value,c=t.type,p=t.options;if(o[u]=s(c,p.isRequired),p._onChange&&(n||(n={}),n[u]=i(p._onChange)),p.changeHandlers&&p.changeHandlers.length&&(r||(r={}),r[u]=p.changeHandlers),p.changeEvents){r||(r={});var f=r[u]||(r[u]=[]),h="string"==typeof p.changeEvents?p.changeEvents:null;f.push(function(t,e,n){e&&n.stopListening(e),t&&n.listenTo(t,h||t._changeEventName,n.asyncUpdate)})}void 0!==a&&(e||(e={}),e[u]=t.convert(a))}}),{propTypes:o,defaults:e,watchers:n,changeHandlers:r}}function i(t){return"function"==typeof t?t:function(e,n){this[t]&&this[t](e,n)}}function s(t,e){var n=u(t);return e?n.isRequired:n}function u(t){switch(t){case Number:case Number.integer:return a.number;case String:return a.string;case Boolean:return a.bool;case Array:return a.array;case Function:return a.func;case Object:return a.object;case p:return a.node;case f:return a.element;case void 0:case null:return a.any;default:return a.instanceOf(t)}}var a=n(4),c=(n.n(a),n(0));n.n(c);e.c=r,e.d=o,n.d(e,"a",function(){return p}),n.d(e,"b",function(){return f});var p=function(){function t(){}return t}(),f=function(){function t(){}return t}()},function(t,e,n){"use strict";var r=n(3),o=(n.n(r),n(0)),i=(n.n(o),n(6)),s=n(17),u=n(11);n.d(e,"b",function(){return u.a}),n.o(o,"define")&&n.d(e,"c",function(){return o.define}),n.o(o,"mixins")&&n.d(e,"d",function(){return o.mixins}),n.d(e,"e",function(){return i.a}),n.d(e,"f",function(){return i.b}),n.d(e,"g",function(){return s.a}),n.d(e,"h",function(){return u.b}),n.d(e,"i",function(){return c});var a=Object.create(r);a.default=a,a.createClass=u.a,a.define=o.define,a.mixins=o.mixins,a.Node=i.a.value(null),a.Element=i.b.value(null),a.Link=s.a,a.Component=u.b;var c=a.assignToState=function(t){return function(e){this.state.assignFrom((n={},n[t]=e&&e instanceof s.a?e.value:e,n));var n}};e.a=a},function(t,n){t.exports=e},function(t,e,n){t.exports=n(22)()},function(t,e){t.exports=n},function(t,e,n){"use strict";function r(t,e){return void 0===e&&(e={}),t.mixins||(t.mixins=[]),n.i(o.a)(t,e),n.i(i.a)(t,e),n.i(s.a)(t,e),n.i(a.a)(t,e),n.i(u.a)(t,e),t}var o=n(16),i=n(7),s=n(13),u=n(12),a=n(14),c=n(1);n.d(e,"a",function(){return c.a}),n.d(e,"b",function(){return c.b}),e.c=r},function(t,e,n){"use strict";function r(t,e){var r=n.i(o.c)(t,"state");if(r||e.State){var a=e.State||i.Record;t.State=r?"function"==typeof r?r:a.defaults(r):a,t.mixins.push(s),t.mixins.push(u),delete t.state,delete t.attributes}}var o=n(1),i=n(0);n.n(i);e.a=r,n.d(e,"c",function(){return s}),n.d(e,"b",function(){return u});var s={componentWillMount:function(){var t=this.state=this.props.__keepState||new this.State;t._owner=this,t._ownerKey="state"},context:{_nestedStore:i.Store},getStore:function(){var t,e;return(t=this.context)&&t._archetypeStore||(e=this.state)&&e._defaultStore},componentWillUnmount:function(){var t=this.state;t._owner=t._ownerKey=void 0,this._preventDispose||t.dispose(),this.state=void 0}},u={_onChildrenChange:function(){},componentDidMount:function(){this._onChildrenChange=this.asyncUpdate}}},function(t,e,n){"use strict";function r(t){var e=t.prototype.dispose||function(){},n=t.prototype.setElement,r=t.extend({reactClass:null,props:{},element:null,initialize:function(t){this.options=t||{}},setElement:function(){return this.unmountComponent(!0),n.apply(this,arguments)},component:null,prevState:null,resize:function(){window.Page.forceResize()},render:function(){var t=this.prevState?u.tools.fastAssign({__keepState:this.prevState},this.options):this.options,e=o.createElement(this.reactClass,t),n=s.a.render(e,this.el);this.component||this.mountComponent(n)},mountComponent:function(t){this.component=t,this.prevState=null,t.trigger&&this.listenTo(t,"all",function(){this.trigger.apply(this,arguments)})},unmountComponent:function(t){var e=this.component;e&&(this.prevState=e.state,e.trigger&&this.stopListening(e),e._preventDispose=Boolean(t),s.a.unmountComponentAtNode(this.el),this.component=null)},dispose:function(){return this.unmountComponent(),e.apply(this,arguments)}});return Object.defineProperty(r.prototype,"model",{get:function(){return this.component||this.render(),this.component&&this.component.state}}),r}var o=n(3),i=(n.n(o),n(5)),s=n.n(i),u=n(0);n.n(u);e.a=r,window.Page||(window.Page={forceResize:function(){}})},function(t,e,n){"use strict";var r=n(2),o=n(0),i=(n.n(o),this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};return function(e,n){function r(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}()),s=o.tools.notEqual,u=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.saveRef=function(t){e.root=t},e}return i(e,t),e.prototype.shouldComponentUpdate=function(t){var e=this.props;return t.View!==e.View||s(t.options,e.options)},e.prototype.hasUnsavedChanges=function(){var t=this.view;return t&&("function"==typeof t.hasUnsavedChanges?t.hasUnsavedChanges():t.hasUnsavedChanges)},e.prototype.render=function(){return r.a.createElement("div",{ref:this.saveRef,className:this.props.className})},e.prototype.componentDidMount=function(){this._mountView()},e.prototype.componentDidUpdate=function(){this._dispose(),this._mountView()},e.prototype.componentWillUnmount=function(){this._dispose()},e.prototype._mountView=function(){var t=this.root,e=this.props,n=this.view=e.options?new e.View(e.options):new e.View;t.appendChild(n.el),n.render()},e.prototype._dispose=function(){var t=this.view;t&&(t.dispose?t.dispose():(t.stopListening(),t.off()),this.root.innerHTML="",this.view=null)},e}(r.a.Component);e.a=u},function(t,e,n){"use strict";function r(t){l=n.i(f.a)(t)}Object.defineProperty(e,"__esModule",{value:!0});var o=n(2);n.d(e,"createClass",function(){return o.b}),n.d(e,"define",function(){return o.c}),n.d(e,"mixins",function(){return o.d}),n.d(e,"Node",function(){return o.e}),n.d(e,"Element",function(){return o.f}),n.d(e,"Link",function(){return o.g}),n.d(e,"Component",function(){return o.h}),n.d(e,"assignToState",function(){return o.i});var i=n(5),s=n.n(i),u=n(0),a=n.n(u),c=n(4),p=(n.n(c),n(9));n.d(e,"subview",function(){return p.a});var f=n(8);n.d(e,"PropTypes",function(){return c}),e.useView=r;var h=Object.create(o.a);e.default=h,h.subview=p.a;var l,d=h.Component.define;h.Component.define=function(t,e){return this.View=l.extend({reactClass:this}),d.call(this,t,e)};var v=u.Record.prototype;v.getLink=v.linkAt,v.deepLink=v.linkPath;var y=u.Record.Collection.prototype;y.hasLink=y.linkContains,r(u.View);var m={el:{get:function(){return s.a.findDOMNode(this)}},$el:{get:function(){return a.a.$(this.el)}},$:{value:function(t){return this.$el.find(t)}}};Object.defineProperties(h.Component.prototype,m)},function(t,e,n){"use strict";function r(t){var e=t.statics,n=p(t,["statics"]),r=[],o=h.extend(a({constructor:function(){h.apply(this,this.arguments);for(var t=0,e=r;t=0;u--)(o=t[u])&&(s=(i<3?o(s):i>3?o(e,n,s):o(e,n))||s);return i>3&&s&&Object.defineProperty(e,n,s),s},p=this&&this.__rest||function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(t);o=0)||this;return r.parent=e,r.element=n,r}return o(e,t),e.prototype.set=function(t){var e=this,n=Boolean(t);if(this.value!==n){var r=this.parent.value,o=t?r.concat(this.element):r.filter(function(t){return t!==e.element});this.parent.set(o)}},e}(i),f="Invalid value",h=function(t){function e(e,n){var r=t.call(this,e.value[n])||this;return r.parent=e,r.key=n,r}return o(e,t),e.prototype.remove=function(){this.parent.removeAt(this.key)},e.prototype.set=function(t){var e=this;this.value!==t&&this.parent.update(function(n){return n[e.key]=t,n})},e}(i)},function(t,e,n){"use strict";function r(t){return function(){return t}}var o=function(){};o.thatReturns=r,o.thatReturnsFalse=r(!1),o.thatReturnsTrue=r(!0),o.thatReturnsNull=r(null),o.thatReturnsThis=function(){return this},o.thatReturnsArgument=function(t){return t},t.exports=o},function(t,e,n){"use strict";function r(t,e,n,r,i,s,u,a){if(o(e),!t){var c;if(void 0===e)c=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var p=[n,r,i,s,u,a],f=0;c=new Error(e.replace(/%s/g,function(){return p[f++]})),c.name="Invariant Violation"}throw c.framesToPop=1,c}}var o=function(t){};t.exports=r},function(t,e,n){"use strict";var r=n(20),o=n(21);t.exports=function(){function t(){o(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function e(){return t}t.isRequired=t;var n={array:t,bool:t,func:t,number:t,object:t,string:t,symbol:t,any:t,arrayOf:e,element:t,instanceOf:e,node:t,objectOf:e,oneOf:e,oneOfType:e,shape:e};return n.checkPropTypes=r,n.PropTypes=n,n}}])}); +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("nestedtypes"),require("react"),require("react-dom")):"function"==typeof define&&define.amd?define(["nestedtypes","react","react-dom"],e):"object"==typeof exports?exports.React=e(require("nestedtypes"),require("react"),require("react-dom")):t.React=e(t.Nested,t.React,t.ReactDOM)}(this,function(t,e,n){return function(t){function e(o){if(n[o])return n[o].exports;var r=n[o]={i:o,l:!1,exports:{}};return t[o].call(r.exports,r,r.exports,e),r.l=!0,r.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,o){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:o})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=11)}([function(e,n){e.exports=t},function(t,e,n){"use strict";n.d(e,"h",function(){return c});var o=n(3),r=(n.n(o),n(0)),i=(n.n(r),n(6)),s=n(18),u=n(12);n.o(r,"define")&&n.d(e,"b",function(){return r.define}),n.o(r,"mixins")&&n.d(e,"c",function(){return r.mixins}),n.d(e,"d",function(){return i.a}),n.d(e,"e",function(){return i.b}),n.d(e,"f",function(){return s.a}),n.d(e,"g",function(){return u.a});var a=Object.create(o);a.default=a,a.define=r.define,a.mixins=r.mixins,a.Node=i.a.value(null),a.Element=i.b.value(null),a.Link=s.a,a.Component=u.a;var c=a.assignToState=function(t){return function(e){this.state.assignFrom((n={},n[t]=e&&e instanceof s.a?e.value:e,n));var n}};e.a=a},function(t,e,n){"use strict";function o(t,e){for(var n=null,o=t.mixins.length-1;o>=0;o--){var r=t.mixins[o],i=r[e];i&&(n||(n={}),c.tools.assign(n,i))}var s=t[e];return s&&(n?c.tools.assign(n,s):n=s),n}function r(t){var e,n,o,r={},u=c.Record.defaults(t).prototype;return u.forEachAttr(u._attributes,function(t,u){if("id"!==u){var a=t.value,c=t.type,p=t.options;if(r[u]=s(c,p.isRequired),p._onChange&&(n||(n={}),n[u]=i(p._onChange)),p.changeHandlers&&p.changeHandlers.length&&(o||(o={}),o[u]=p.changeHandlers),p.changeEvents){o||(o={});var f=o[u]||(o[u]=[]),l="string"==typeof p.changeEvents?p.changeEvents:null;f.push(function(t,e,n){e&&n.stopListening(e),t&&n.listenTo(t,l||t._changeEventName,n.asyncUpdate)})}void 0!==a&&(e||(e={}),e[u]=t.convert(a))}}),{propTypes:r,defaults:e,watchers:n,changeHandlers:o}}function i(t){return"function"==typeof t?t:function(e,n){this[t]&&this[t](e,n)}}function s(t,e){var n=u(t);return e?n.isRequired:n}function u(t){switch(t){case Number:case Number.integer:return a.number;case String:return a.string;case Boolean:return a.bool;case Array:return a.array;case Function:return a.func;case Object:return a.object;case p:return a.node;case f:return a.element;case void 0:case null:return a.any;default:return a.instanceOf(t)}}e.c=o,e.d=r,n.d(e,"a",function(){return p}),n.d(e,"b",function(){return f});var a=n(4),c=(n.n(a),n(0)),p=(n.n(c),function(){function t(){}return t}()),f=function(){function t(){}return t}()},function(t,n){t.exports=e},function(t,e,n){t.exports=n(23)()},function(t,e){t.exports=n},function(t,e,n){"use strict";function o(t,e){return void 0===e&&(e={}),t.mixins||(t.mixins=[]),n.i(r.a)(t,e),n.i(i.a)(t,e),n.i(s.a)(t,e),n.i(a.a)(t,e),n.i(u.a)(t,e),t}e.c=o;var r=n(17),i=n(7),s=n(14),u=n(13),a=n(15),c=n(2);n.d(e,"a",function(){return c.a}),n.d(e,"b",function(){return c.b})},function(t,e,n){"use strict";function o(t,e){var o=n.i(r.c)(t,"state");if(o||e.State){var a=e.State||i.Record;t.State=o?"function"==typeof o?o:a.defaults(o):a,t.mixins.push(s),t.mixins.push(u),delete t.state,delete t.attributes}}e.a=o,n.d(e,"c",function(){return s}),n.d(e,"b",function(){return u});var r=n(2),i=n(0),s=(n.n(i),{componentWillMount:function(){var t=this.state=this.props.__keepState||new this.State;t._owner=this,t._ownerKey="state"},context:{_nestedStore:i.Store},getStore:function(){var t,e;return(t=this.context)&&t._archetypeStore||(e=this.state)&&e._defaultStore},componentWillUnmount:function(){var t=this.state;t._owner=t._ownerKey=void 0,this._preventDispose||t.dispose(),this.state=void 0}}),u={_onChildrenChange:function(){},componentDidMount:function(){this._onChildrenChange=this.asyncUpdate}}},function(t,e,n){"use strict";function o(t){var e=t.prototype.dispose||function(){},n=t.prototype.setElement,o=t.extend({reactClass:null,props:{},element:null,initialize:function(t){this.options=t||{}},setElement:function(){return this.unmountComponent(!0),n.apply(this,arguments)},component:null,prevState:null,resize:function(){window.Page.forceResize()},render:function(){var t=this.prevState?u.tools.fastAssign({__keepState:this.prevState},this.options):this.options,e=r.createElement(this.reactClass,t),n=s.a.render(e,this.el);this.component||this.mountComponent(n)},mountComponent:function(t){this.component=t,this.prevState=null,t.trigger&&this.listenTo(t,"all",function(){this.trigger.apply(this,arguments)})},unmountComponent:function(t){var e=this.component;e&&(this.prevState=e.state,e.trigger&&this.stopListening(e),e._preventDispose=Boolean(t),s.a.unmountComponentAtNode(this.el),this.component=null)},dispose:function(){return this.unmountComponent(),e.apply(this,arguments)}});return Object.defineProperty(o.prototype,"model",{get:function(){return this.component||this.render(),this.component&&this.component.state}}),o}e.a=o;var r=n(3),i=(n.n(r),n(5)),s=n.n(i),u=n(0);n.n(u);window.Page||(window.Page={forceResize:function(){}})},function(t,e,n){"use strict";function o(t){var e=t.statics,n=s(t,["statics"]),o=[],a=r.g.extend(i({constructor:function(){r.g.apply(this,this.arguments);for(var t=0,e=o;t=0;u--)(r=t[u])&&(s=(i<3?r(s):i>3?r(e,n,s):r(e,n))||s);return i>3&&s&&Object.defineProperty(e,n,s),s},a=this&&this.__rest||function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols)for(var r=0,o=Object.getOwnPropertySymbols(t);r=0)||this;return o.parent=e,o.element=n,o}return r(e,t),e.prototype.set=function(t){var e=this,n=Boolean(t);if(this.value!==n){var o=this.parent.value,r=t?o.concat(this.element):o.filter(function(t){return t!==e.element});this.parent.set(r)}},e}(i),f="Invalid value",l=function(t){function e(e,n){var o=t.call(this,e.value[n])||this;return o.parent=e,o.key=n,o}return r(e,t),e.prototype.remove=function(){this.parent.removeAt(this.key)},e.prototype.set=function(t){var e=this;this.value!==t&&this.parent.update(function(n){return n[e.key]=t,n})},e}(i)},function(t,e,n){"use strict";function o(t){return function(){return t}}var r=function(){};r.thatReturns=o,r.thatReturnsFalse=o(!1),r.thatReturnsTrue=o(!0),r.thatReturnsNull=o(null),r.thatReturnsThis=function(){return this},r.thatReturnsArgument=function(t){return t},t.exports=r},function(t,e,n){"use strict";function o(t,e,n,o,i,s,u,a){if(r(e),!t){var c;if(void 0===e)c=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var p=[n,o,i,s,u,a],f=0;c=new Error(e.replace(/%s/g,function(){return p[f++]})),c.name="Invariant Violation"}throw c.framesToPop=1,c}}var r=function(t){};t.exports=o},function(t,e,n){"use strict";var o=n(21),r=n(22);t.exports=function(){function t(){r(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function e(){return t}t.isRequired=t;var n={array:t,bool:t,func:t,number:t,object:t,string:t,symbol:t,any:t,arrayOf:e,element:t,instanceOf:e,node:t,objectOf:e,oneOf:e,oneOfType:e,shape:e};return n.checkPropTypes=o,n.PropTypes=n,n}}])}); //# sourceMappingURL=index.min.js.map \ No newline at end of file diff --git a/dist/index.min.js.map b/dist/index.min.js.map index adbb631..1f18fe1 100644 --- a/dist/index.min.js.map +++ b/dist/index.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///dist/index.min.js","webpack:///webpack/bootstrap f2c09de9022433079c59","webpack:///external {\"commonjs\":\"nestedtypes\",\"commonjs2\":\"nestedtypes\",\"amd\":\"nestedtypes\",\"root\":\"Nested\"}","webpack:///./lib/react-mvx/define/typeSpecs.js","webpack:///./lib/react-mvx/index.js","webpack:///external {\"commonjs\":\"react\",\"commonjs2\":\"react\",\"amd\":\"react\",\"root\":\"React\"}","webpack:///./~/prop-types/index.js","webpack:///external {\"commonjs\":\"react-dom\",\"commonjs2\":\"react-dom\",\"amd\":\"react-dom\",\"root\":\"ReactDOM\"}","webpack:///./lib/react-mvx/define/index.js","webpack:///./lib/react-mvx/define/state.js","webpack:///./lib/component-view.js","webpack:///./lib/view-element.js","webpack:///./lib/index.js","webpack:///./lib/react-mvx/component.js","webpack:///./lib/react-mvx/define/common.js","webpack:///./lib/react-mvx/define/context.js","webpack:///./lib/react-mvx/define/props.js","webpack:///./lib/react-mvx/define/pureRender.js","webpack:///./lib/react-mvx/define/store.js","webpack:///./lib/react-mvx/link.js","webpack:///./lib/react-mvx/valuelink/helpers.js","webpack:///./lib/react-mvx/valuelink/link.js","webpack:///./~/fbjs/lib/emptyFunction.js","webpack:///./~/fbjs/lib/invariant.js","webpack:///./~/prop-types/factoryWithThrowingShims.js"],"names":["root","factory","exports","module","require","define","amd","this","__WEBPACK_EXTERNAL_MODULE_0__","__WEBPACK_EXTERNAL_MODULE_3__","__WEBPACK_EXTERNAL_MODULE_5__","modules","__webpack_require__","moduleId","installedModules","i","l","call","m","c","value","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","__webpack_exports__","collectSpecs","spec","attributes","mixins","length","mixin","mixinAttrs","__WEBPACK_IMPORTED_MODULE_1_type_r__","assign","specAttrs","compileSpecs","props","defaults","watchers","changeHandlers","propTypes","modelProto","forEachAttr","_attributes","type","options","translateType","isRequired","_onChange","toLocalWatcher","changeEvents","handlers","changeEvents_1","push","next","prev","component","stopListening","listenTo","_changeEventName","asyncUpdate","convert","ref","Type","T","_translateType","Number","integer","__WEBPACK_IMPORTED_MODULE_0_prop_types__","String","Boolean","Array","Function","Node","Element","__WEBPACK_IMPORTED_MODULE_0_react__","__WEBPACK_IMPORTED_MODULE_2__define__","__WEBPACK_IMPORTED_MODULE_3__link__","__WEBPACK_IMPORTED_MODULE_4__component__","assignToState","ReactMVx","create","default","createClass","Link","Component","key","prop","state","assignFrom","_a","process","baseProto","__WEBPACK_IMPORTED_MODULE_0__store__","__WEBPACK_IMPORTED_MODULE_1__state__","__WEBPACK_IMPORTED_MODULE_2__context__","__WEBPACK_IMPORTED_MODULE_4__props__","__WEBPACK_IMPORTED_MODULE_3__common__","__WEBPACK_IMPORTED_MODULE_5__typeSpecs__","__WEBPACK_IMPORTED_MODULE_0__typeSpecs__","State","BaseModel","StateMixin","UpdateOnNestedChangesMixin","componentWillMount","__keepState","_owner","_ownerKey","context","_nestedStore","getStore","_archetypeStore","_defaultStore","componentWillUnmount","_preventDispose","dispose","_onChildrenChange","componentDidMount","use","View","setElement","ComponentView","extend","reactClass","element","initialize","unmountComponent","apply","arguments","prevState","resize","window","Page","forceResize","render","__WEBPACK_IMPORTED_MODULE_2_type_r__","fastAssign","__WEBPACK_IMPORTED_MODULE_1_react_dom___default","a","el","mountComponent","trigger","keepModel","unmountComponentAtNode","__WEBPACK_IMPORTED_MODULE_1_react_dom__","__WEBPACK_IMPORTED_MODULE_0__react_mvx__","__extends","extendStatics","setPrototypeOf","__proto__","b","__","constructor","notEqual","BackboneView","_super","_this","saveRef","shouldComponentUpdate","hasUnsavedChanges","view","createElement","className","_mountView","componentDidUpdate","_dispose","appendChild","off","innerHTML","useView","BaseView","__WEBPACK_IMPORTED_MODULE_5__component_view__","__WEBPACK_IMPORTED_MODULE_2_type_r___default","__WEBPACK_IMPORTED_MODULE_3_prop_types__","__WEBPACK_IMPORTED_MODULE_4__view_element__","NestedReact","subview","protoProps","staticProps","RecordProto","getLink","linkAt","deepLink","linkPath","CollectionProto","Collection","hasLink","linkContains","BackboneViewProps","findDOMNode","$el","$","sel","find","defineProperties","statics","a_spec","__rest","methods","Subclass","__assign","_i","methods_1","method","bind","Proto","dontAutobind","indexOf","t","__decorate","decorators","target","desc","r","getOwnPropertyDescriptor","Reflect","decorate","e","getOwnPropertySymbols","reactMixinRules","componentWillReceiveProps","componentWillUpdate","store","childContext","getChildContext","linkAll","staticsDefinition","getBaseClass","getChangedStatics","combinedDefinition","definition","getDefaultProps","contextTypes","childContextTypes","protoDefinition","defaultProps","x","_disposed","compile","_b","_autobind","autobind","split","concat","AutobindMixin","CommonMixin","returnFalse","forceUpdate","__WEBPACK_IMPORTED_MODULE_0_type_r__","name_1","transaction","fun","isRoot","_context","_c","_childContext","pureRender","_props","_listenToPropsArray","_listenToPropsHash","allProps","_e","defaults_1","unshift","WatchersMixin","_watchers","ChangeHandlersMixin","_changeHandlers","__WEBPACK_IMPORTED_MODULE_1__pureRender__","handlePropsChanges","handler","name_2","name_3","createPureRenderMixin","ctorBody","isChangedBody","propExpr","ChangeTokens","join","isChanged","_changeTokens","nextProps","ExternalStoreMixin","Store","InternalStoreMixin","__WEBPACK_IMPORTED_MODULE_2__state__","ExposeStoreMixin","getLinksCache","record","_links","Attributes","cacheLink","links","cached","RecordLink","__WEBPACK_IMPORTED_MODULE_1__valuelink_link__","mixTo","path","RecordDeepLink","attr","set","_error","getValidationError","deepGet","deepValidationError","_changeToken","deepSet","CollectionLink","collection","_byId","cid","toggle","helpers","getPrototypeOf","ArrayProto","arrayHelpers","ObjectProto","objectHelpers","dummyHelpers","clone","map","link","remove","iterator","mapped","at","cloned","array","slice","splice","j","y","__WEBPACK_IMPORTED_MODULE_0__helpers__","CustomLink","error","onChange","CloneLink","requestChange","update","transform","pipe","action","equals","truthyValue","EqualsLink","enabled","defaultValue","EnabledLink","contains","ContainsLink","removeAt","_","LinkAt","pick","check","whenValid","defaultError","parent","arr","nextValue","filter","makeEmptyFunction","arg","emptyFunction","thatReturns","thatReturnsFalse","thatReturnsTrue","thatReturnsNull","thatReturnsThis","thatReturnsArgument","invariant","condition","format","f","validateFormat","undefined","Error","args","argIndex","replace","framesToPop","shim","getShim","ReactPropTypes","bool","func","number","string","symbol","any","arrayOf","instanceOf","node","objectOf","oneOf","oneOfType","shape","checkPropTypes","PropTypes"],"mappings":"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","file":"./dist/index.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"nestedtypes\"), require(\"react\"), require(\"react-dom\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"nestedtypes\", \"react\", \"react-dom\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"React\"] = factory(require(\"nestedtypes\"), require(\"react\"), require(\"react-dom\"));\n\telse\n\t\troot[\"React\"] = factory(root[\"Nested\"], root[\"React\"], root[\"ReactDOM\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_3__, __WEBPACK_EXTERNAL_MODULE_5__) {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"nestedtypes\"), require(\"react\"), require(\"react-dom\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"nestedtypes\", \"react\", \"react-dom\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"React\"] = factory(require(\"nestedtypes\"), require(\"react\"), require(\"react-dom\"));\n\telse\n\t\troot[\"React\"] = factory(root[\"Nested\"], root[\"React\"], root[\"ReactDOM\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_3__, __WEBPACK_EXTERNAL_MODULE_5__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\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// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\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, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\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 = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 10);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_0__;\n\n/***/ }),\n/* 1 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = collectSpecs;\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = compileSpecs;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Node; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return Element; });\n\n\nfunction collectSpecs(spec, name) {\n var attributes = null;\n // Scan through local mixin, and gather specs. Refactor it later, it's not good. At all.\n for (var i = spec.mixins.length - 1; i >= 0; i--) {\n var mixin = spec.mixins[i], mixinAttrs = mixin[name];\n if (mixinAttrs) {\n attributes || (attributes = {});\n __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].assign(attributes, mixinAttrs);\n }\n }\n // Merge it with local data.\n var specAttrs = spec[name];\n if (specAttrs) {\n if (attributes) {\n __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].assign(attributes, specAttrs);\n }\n else {\n attributes = specAttrs;\n }\n }\n return attributes;\n}\nfunction compileSpecs(props) {\n var propTypes = {}, \n // Create NestedTypes model definition to process props spec.\n modelProto = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"Record\"].defaults(props).prototype;\n var defaults, watchers, changeHandlers;\n modelProto.forEachAttr(modelProto._attributes, function (spec, name) {\n // Skip auto-generated `id` attribute.\n if (name !== 'id') {\n var value = spec.value, type = spec.type, options = spec.options;\n // Translate props type to the propTypes guard.\n propTypes[name] = translateType(type, options.isRequired);\n if (options._onChange) {\n watchers || (watchers = {});\n watchers[name] = toLocalWatcher(options._onChange);\n }\n // Handle listening to event maps...\n if (options.changeHandlers && options.changeHandlers.length) {\n changeHandlers || (changeHandlers = {});\n changeHandlers[name] = options.changeHandlers;\n }\n // Handle listening to props changes...\n if (options.changeEvents) {\n changeHandlers || (changeHandlers = {});\n var handlers = changeHandlers[name] || (changeHandlers[name] = []), changeEvents_1 = typeof options.changeEvents === 'string' ? options.changeEvents : null;\n handlers.push(function (next, prev, component) {\n prev && component.stopListening(prev);\n next && component.listenTo(next, changeEvents_1 || next._changeEventName, component.asyncUpdate);\n });\n }\n // If default value is explicitly provided...\n if (value !== void 0) {\n //...append it to getDefaultProps function.\n defaults || (defaults = {});\n defaults[name] = spec.convert(value);\n }\n }\n });\n return { propTypes: propTypes, defaults: defaults, watchers: watchers, changeHandlers: changeHandlers };\n}\nfunction toLocalWatcher(ref) {\n return typeof ref === 'function' ? ref : function (value, name) {\n this[ref] && this[ref](value, name);\n };\n}\nvar Node = (function () {\n function Node() {\n }\n return Node;\n}());\n\nvar Element = (function () {\n function Element() {\n }\n return Element;\n}());\n\nfunction translateType(Type, isRequired) {\n var T = _translateType(Type);\n return isRequired ? T.isRequired : T;\n}\nfunction _translateType(Type) {\n switch (Type) {\n case Number:\n case Number.integer:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"number\"];\n case String:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"string\"];\n case Boolean:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"bool\"];\n case Array:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"array\"];\n case Function:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"func\"];\n case Object:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"object\"];\n case Node:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"node\"];\n case Element:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"element\"];\n case void 0:\n case null:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"any\"];\n default:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"instanceOf\"](Type);\n }\n}\n//# sourceMappingURL=typeSpecs.js.map\n\n/***/ }),\n/* 2 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__define__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__link__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__component__ = __webpack_require__(11);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_4__component__[\"a\"]; });\n/* harmony reexport (binding) */ if(__webpack_require__.o(__WEBPACK_IMPORTED_MODULE_1_type_r__, \"define\")) __webpack_require__.d(__webpack_exports__, \"c\", function() { return __WEBPACK_IMPORTED_MODULE_1_type_r__[\"define\"]; });\n/* harmony reexport (binding) */ if(__webpack_require__.o(__WEBPACK_IMPORTED_MODULE_1_type_r__, \"mixins\")) __webpack_require__.d(__webpack_exports__, \"d\", function() { return __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixins\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return __WEBPACK_IMPORTED_MODULE_2__define__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return __WEBPACK_IMPORTED_MODULE_2__define__[\"b\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"g\", function() { return __WEBPACK_IMPORTED_MODULE_3__link__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"h\", function() { return __WEBPACK_IMPORTED_MODULE_4__component__[\"b\"]; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"i\", function() { return assignToState; });\n\n\n\n\n\n// extend React namespace\nvar ReactMVx = Object.create(__WEBPACK_IMPORTED_MODULE_0_react__);\n// Make it compatible with ES6 module format.\nReactMVx.default = ReactMVx;\n// listenToProps, listenToState, model, attributes, Model\nReactMVx.createClass = __WEBPACK_IMPORTED_MODULE_4__component__[\"a\" /* createClass */];\nReactMVx.define = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"define\"];\nReactMVx.mixins = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixins\"];\nReactMVx.Node = __WEBPACK_IMPORTED_MODULE_2__define__[\"a\" /* Node */].value(null);\nReactMVx.Element = __WEBPACK_IMPORTED_MODULE_2__define__[\"b\" /* Element */].value(null);\nReactMVx.Link = __WEBPACK_IMPORTED_MODULE_3__link__[\"a\" /* default */];\nReactMVx.Component = __WEBPACK_IMPORTED_MODULE_4__component__[\"b\" /* Component */];\nvar assignToState = ReactMVx.assignToState = function (key) {\n return function (prop) {\n this.state.assignFrom((_a = {}, _a[key] = prop && prop instanceof __WEBPACK_IMPORTED_MODULE_3__link__[\"a\" /* default */] ? prop.value : prop, _a));\n var _a;\n };\n};\n/* harmony default export */ __webpack_exports__[\"a\"] = (ReactMVx);\n\n//# sourceMappingURL=index.js.map\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_3__;\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\nif (false) {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = __webpack_require__(22)();\n}\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_5__;\n\n/***/ }),\n/* 6 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__store__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__state__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__context__ = __webpack_require__(13);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__common__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__props__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__typeSpecs__ = __webpack_require__(1);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_5__typeSpecs__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_5__typeSpecs__[\"b\"]; });\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = process;\n\n\n\n\n\nfunction process(spec, baseProto) {\n if (baseProto === void 0) { baseProto = {}; }\n // Initialize mixins placeholder...\n spec.mixins || (spec.mixins = []);\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__store__[\"a\" /* default */])(spec, baseProto);\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__state__[\"a\" /* default */])(spec, baseProto);\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__context__[\"a\" /* default */])(spec, baseProto);\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__props__[\"a\" /* default */])(spec, baseProto);\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__common__[\"a\" /* default */])(spec, baseProto);\n return spec;\n}\n;\n\n//# sourceMappingURL=index.js.map\n\n/***/ }),\n/* 7 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = process;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return StateMixin; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return UpdateOnNestedChangesMixin; });\n/*****************\n * State\n */\n\n\nfunction process(spec, baseProto) {\n // process state spec...\n var attributes = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* collectSpecs */])(spec, 'state');\n if (attributes || baseProto.State) {\n var BaseModel = baseProto.State || __WEBPACK_IMPORTED_MODULE_1_type_r__[\"Record\"];\n spec.State = attributes ? (typeof attributes === 'function' ? attributes : BaseModel.defaults(attributes)) : BaseModel;\n spec.mixins.push(StateMixin);\n spec.mixins.push(UpdateOnNestedChangesMixin);\n delete spec.state;\n delete spec.attributes;\n }\n}\nvar StateMixin = {\n //state : null,\n componentWillMount: function () {\n // props.__keepState is used to workaround issues in Backbone intergation layer\n var state = this.state = this.props.__keepState || new this.State();\n // Take ownership on state...\n state._owner = this;\n state._ownerKey = 'state';\n },\n context: {\n _nestedStore: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"Store\"]\n },\n // reference global store to fix model's store locator\n getStore: function () {\n // Attempt to get the store from the context first. Then - fallback to the state's default store.\n // TBD: Need to figure out a good way of managing local stores.\n var context, state;\n return ((context = this.context) && context._archetypeStore) ||\n ((state = this.state) && state._defaultStore);\n },\n componentWillUnmount: function () {\n var state = this.state;\n state._owner = state._ownerKey = void 0;\n this._preventDispose /* hack for component-view to preserve the state */ || state.dispose();\n this.state = void 0;\n }\n};\nvar UpdateOnNestedChangesMixin = {\n _onChildrenChange: function () { },\n componentDidMount: function () {\n this._onChildrenChange = this.asyncUpdate;\n }\n};\n//# sourceMappingURL=state.js.map\n\n/***/ }),\n/* 8 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__);\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = use;\n\n\n\nwindow.Page || (window.Page = { forceResize: function () { } });\nfunction use(View) {\n var dispose = View.prototype.dispose || function () { }, setElement = View.prototype.setElement;\n var ComponentView = View.extend({\n reactClass: null,\n props: {},\n element: null,\n initialize: function (props) {\n // memorise arguments to pass to React\n this.options = props || {};\n },\n setElement: function () {\n this.unmountComponent(true);\n return setElement.apply(this, arguments);\n },\n // cached instance of react component...\n component: null,\n prevState: null,\n resize: function () {\n window.Page.forceResize();\n },\n render: function () {\n var options = this.prevState ? __WEBPACK_IMPORTED_MODULE_2_type_r__[\"tools\"].fastAssign({ __keepState: this.prevState }, this.options) : this.options, element = __WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"](this.reactClass, options), component = __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.render(element, this.el);\n this.component || this.mountComponent(component);\n },\n mountComponent: function (component) {\n this.component = component;\n this.prevState = null;\n component.trigger && this.listenTo(component, 'all', function () {\n this.trigger.apply(this, arguments);\n });\n },\n unmountComponent: function (keepModel) {\n var component = this.component;\n if (component) {\n this.prevState = component.state;\n if (component.trigger) {\n this.stopListening(component);\n }\n component._preventDispose = Boolean(keepModel);\n __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.unmountComponentAtNode(this.el);\n this.component = null;\n }\n },\n dispose: function () {\n this.unmountComponent();\n return dispose.apply(this, arguments);\n }\n });\n Object.defineProperty(ComponentView.prototype, 'model', {\n get: function () {\n this.component || this.render();\n return this.component && this.component.state;\n }\n });\n return ComponentView;\n}\n//# sourceMappingURL=component-view.js.map\n\n/***/ }),\n/* 9 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\nvar notEqual = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].notEqual;\nvar BackboneView = (function (_super) {\n __extends(BackboneView, _super);\n function BackboneView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.saveRef = function (element) {\n _this.root = element;\n };\n return _this;\n }\n BackboneView.prototype.shouldComponentUpdate = function (next) {\n var props = this.props;\n return next.View !== props.View || notEqual(next.options, props.options);\n };\n BackboneView.prototype.hasUnsavedChanges = function () {\n var view = this.view;\n return view && (typeof view.hasUnsavedChanges === 'function' ? view.hasUnsavedChanges() : view.hasUnsavedChanges);\n };\n BackboneView.prototype.render = function () {\n return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\" /* default */].createElement('div', {\n ref: this.saveRef,\n className: this.props.className\n });\n };\n BackboneView.prototype.componentDidMount = function () {\n this._mountView();\n };\n BackboneView.prototype.componentDidUpdate = function () {\n this._dispose();\n this._mountView();\n };\n BackboneView.prototype.componentWillUnmount = function () {\n this._dispose();\n };\n BackboneView.prototype._mountView = function () {\n var el = this.root, p = this.props;\n var view = this.view = p.options ? new p.View(p.options) : new p.View();\n el.appendChild(view.el);\n view.render();\n };\n BackboneView.prototype._dispose = function () {\n var view = this.view;\n if (view) {\n if (view.dispose) {\n view.dispose();\n }\n else {\n view.stopListening();\n view.off();\n }\n this.root.innerHTML = \"\";\n this.view = null;\n }\n };\n return BackboneView;\n}(__WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\" /* default */].Component));\n/* harmony default export */ __webpack_exports__[\"a\"] = (BackboneView);\n//# sourceMappingURL=view-element.js.map\n\n/***/ }),\n/* 10 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(2);\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"createClass\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"b\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"define\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"c\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"mixins\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"d\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Node\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"e\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Element\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"f\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Link\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"g\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Component\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"h\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"assignToState\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"i\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__view_element__ = __webpack_require__(9);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"subview\", function() { return __WEBPACK_IMPORTED_MODULE_4__view_element__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__component_view__ = __webpack_require__(8);\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"PropTypes\", function() { return __WEBPACK_IMPORTED_MODULE_3_prop_types__; });\n/* harmony export (immutable) */ __webpack_exports__[\"useView\"] = useView;\n// Re-export react-mvx\n\nvar NestedReact = Object.create(__WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\" /* default */]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (NestedReact);\n\n// NestedReact backward compatibility layer\n\n\n\n\nNestedReact.subview = __WEBPACK_IMPORTED_MODULE_4__view_element__[\"a\" /* default */];\n\n\n\nvar BaseView;\n// export hook to override base View class used...\nfunction useView(View) {\n BaseView = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__component_view__[\"a\" /* default */])(View);\n}\nvar define = NestedReact.Component.define;\nNestedReact.Component.define = function (protoProps, staticProps) {\n this.View = BaseView.extend({ reactClass: this });\n return define.call(this, protoProps, staticProps);\n};\nfunction defineBackboneProxy(Component) {\n}\n// Deprecated API for backward compatibility\nvar RecordProto = __WEBPACK_IMPORTED_MODULE_2_type_r__[\"Record\"].prototype;\nRecordProto.getLink = RecordProto.linkAt;\nRecordProto.deepLink = RecordProto.linkPath;\nvar CollectionProto = __WEBPACK_IMPORTED_MODULE_2_type_r__[\"Record\"].Collection.prototype;\nCollectionProto.hasLink = CollectionProto.linkContains;\nuseView(__WEBPACK_IMPORTED_MODULE_2_type_r__[\"View\"]);\n// Extend react components to have backbone-style jquery accessors\nvar BackboneViewProps = {\n el: { get: function () { return __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.findDOMNode(this); } },\n $el: { get: function () { return __WEBPACK_IMPORTED_MODULE_2_type_r___default.a.$(this.el); } },\n $: { value: function (sel) { return this.$el.find(sel); } }\n};\nObject.defineProperties(NestedReact.Component.prototype, BackboneViewProps);\n//# sourceMappingURL=index.js.map\n\n/***/ }),\n/* 11 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__define__ = __webpack_require__(6);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return Component; });\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = createClass;\n/**\n * React components\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\n\n\n\nvar reactMixinRules = {\n componentWillMount: 'reverse',\n componentDidMount: 'reverse',\n componentWillReceiveProps: 'reverse',\n shouldComponentUpdate: 'some',\n componentWillUpdate: 'reverse',\n componentDidUpdate: 'reverse',\n componentWillUnmount: 'sequence',\n state: 'merge',\n store: 'merge',\n props: 'merge',\n context: 'merge',\n childContext: 'merge',\n getChildContext: 'mergeSequence'\n};\nvar Component = (function (_super) {\n __extends(Component, _super);\n function Component() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Component.prototype.linkAt = function (key) {\n // Quick and dirty hack to suppres type error - refactor later.\n return this.state.linkAt(key);\n };\n Component.prototype.linkAll = function () {\n // Quick and dirty hack to suppres type error - refactor later.\n return this.state.linkAll.apply(this, arguments);\n };\n Component.define = function (protoProps, staticProps) {\n var BaseClass = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].getBaseClass(this), staticsDefinition = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].getChangedStatics(this, 'state', 'store', 'props', 'autobind', 'context', 'childContext', 'pureRender'), combinedDefinition = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].assign(staticsDefinition, protoProps || {});\n var definition = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__define__[\"c\" /* default */])(combinedDefinition, this.prototype);\n var getDefaultProps = definition.getDefaultProps, propTypes = definition.propTypes, contextTypes = definition.contextTypes, childContextTypes = definition.childContextTypes, protoDefinition = __rest(definition, [\"getDefaultProps\", \"propTypes\", \"contextTypes\", \"childContextTypes\"]);\n if (getDefaultProps)\n this.defaultProps = definition.getDefaultProps();\n if (propTypes)\n this.propTypes = propTypes;\n if (contextTypes)\n this.contextTypes = contextTypes;\n if (childContextTypes)\n this.childContextTypes = childContextTypes;\n __WEBPACK_IMPORTED_MODULE_1_type_r__[\"Mixable\"].define.call(this, protoDefinition, staticProps);\n return this;\n };\n Component.prototype.assignToState = function (x, key) {\n this.state.assignFrom((_a = {}, _a[key] = x, _a));\n var _a;\n };\n return Component;\n}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]));\nComponent = __decorate([\n __WEBPACK_IMPORTED_MODULE_1_type_r__[\"extendable\"],\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"])(reactMixinRules)\n], Component);\n\n// Looks like React guys _really_ want to deprecated it. But no way.\n// We will work around their attempt.\nObject.defineProperty(Component.prototype, 'isMounted', {\n value: function isMounted() {\n return !this._disposed;\n }\n});\nvar dontAutobind = ['state', 'store'];\n/**\n * ES5 components definition factory\n */\nfunction createClass(_a) {\n var statics = _a.statics, a_spec = __rest(_a, [\"statics\"]);\n // Gather all methods to pin them to `this` later.\n var methods = [];\n var Subclass = Component.extend(__assign({ \n // Override constructor to autobind all the methods...\n constructor: function () {\n Component.apply(this, this.arguments);\n for (var _i = 0, methods_1 = methods; _i < methods_1.length; _i++) {\n var method = methods_1[_i];\n this[method] = this[method].bind(this);\n }\n } }, a_spec), statics);\n // Need to bind methods from mixins as well, so populate it here.\n var Proto = Subclass.prototype;\n for (var key in Proto) {\n if (Proto.hasOwnProperty(key) && dontAutobind.indexOf(key) === -1 && typeof Proto[key] === 'function') {\n methods.push(key);\n }\n }\n return Subclass;\n}\n//# sourceMappingURL=component.js.map\n\n/***/ }),\n/* 12 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__);\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = compile;\n/* unused harmony export asyncUpdate */\n/**\n * Process `autobind` specs, attach async event processing and transactional support.\n */\n\nfunction compile(spec, _a) {\n var _b = _a._autobind, _autobind = _b === void 0 ? [] : _b;\n // Attach autobind mixin...\n if (spec.autobind) {\n spec._autobind = spec.autobind.split(/\\s+/).concat(_autobind);\n spec.mixins.push(AutobindMixin);\n delete spec.autobind;\n }\n // Attach common mixin\n spec.mixins.push(CommonMixin);\n}\n/***\n * Autobinding\n */\nvar AutobindMixin = {\n componentWillMount: function () {\n for (var _i = 0, _a = this._autobind; _i < _a.length; _i++) {\n var name_1 = _a[_i];\n this[name_1] = this[name_1].bind(this);\n }\n }\n};\nfunction asyncUpdate() {\n this.shouldComponentUpdate === returnFalse || this._disposed || this.forceUpdate();\n}\nfunction returnFalse() { return false; }\n/**\n * Mixin which is attached to all components.\n */\nvar CommonMixin = __WEBPACK_IMPORTED_MODULE_0_type_r__[\"tools\"].assign({\n componentWillUnmount: function () {\n // Prevent memory leaks when working with events.\n this.off();\n this.stopListening();\n // Mark component as disposed.\n this._disposed = true;\n },\n // Safe version of the forceUpdate suitable for asynchronous callbacks.\n asyncUpdate: asyncUpdate,\n /**\n * Performs transactional update for both props and state.\n * Suppress updates during the transaction, and force update aftewards.\n * Wrapping the sequence of changes in a transactions guarantees that\n * React component will be updated _after_ all the changes to the\n * both props and local state are applied.\n */\n transaction: function (fun) {\n var shouldComponentUpdate = this.shouldComponentUpdate, isRoot = shouldComponentUpdate !== returnFalse;\n if (isRoot) {\n this.shouldComponentUpdate = returnFalse;\n }\n fun(this.props, this.state);\n if (isRoot) {\n this.shouldComponentUpdate = shouldComponentUpdate;\n this.asyncUpdate();\n }\n }\n}, __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Events\"]);\n//# sourceMappingURL=common.js.map\n\n/***/ }),\n/* 13 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(1);\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = process;\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\n\nfunction process(spec, _a) {\n var _b = _a._context, _context = _b === void 0 ? {} : _b, _c = _a._childContext, _childContext = _c === void 0 ? {} : _c;\n // process context specs...\n var context = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* collectSpecs */])(spec, 'context');\n if (context) {\n spec._context = __assign({}, _context, context);\n spec.contextTypes = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"d\" /* compileSpecs */])(context).propTypes;\n delete spec.context;\n }\n // and child context specs...\n var childContext = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* collectSpecs */])(spec, 'childContext');\n if (childContext) {\n spec._childContext = __assign({}, _childContext, childContext);\n spec.childContextTypes = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"d\" /* compileSpecs */])(childContext).propTypes;\n delete spec.childContext;\n }\n}\n//# sourceMappingURL=context.js.map\n\n/***/ }),\n/* 14 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__pureRender__ = __webpack_require__(15);\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = process;\n/**\n * Handle props specification and everything which is related:\n * - local listening to props changes\n * - pure render mixin\n */\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\n\n\nfunction process(spec, _a) {\n var pureRender = _a.pureRender, _b = _a._props, _props = _b === void 0 ? {} : _b, _c = _a._listenToPropsArray, _listenToPropsArray = _c === void 0 ? [] : _c, _d = _a._listenToPropsHash, _listenToPropsHash = _d === void 0 ? {} : _d;\n // process props spec...\n var props = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* collectSpecs */])(spec, 'props');\n if (props) {\n var allProps = spec._props = __assign({}, _props, props);\n var _e = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"d\" /* compileSpecs */])(allProps), propTypes = _e.propTypes, defaults_1 = _e.defaults, watchers = _e.watchers, changeHandlers = _e.changeHandlers;\n spec.propTypes = propTypes;\n if (defaults_1)\n spec.getDefaultProps = function () { return defaults_1; };\n if (watchers) {\n spec.mixins.unshift(WatchersMixin);\n spec._watchers = watchers;\n }\n if (changeHandlers) {\n spec.mixins.unshift(ChangeHandlersMixin);\n spec._changeHandlers = changeHandlers;\n }\n delete spec.props;\n }\n // compile pure render mixin\n if (spec._props && (spec.pureRender || pureRender)) {\n spec.mixins.push(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__pureRender__[\"a\" /* default */])(spec._props));\n }\n}\n/**\n * ChangeHandlers are fired in sequence upon props replacement.\n * Fires _after_ UI is updated. Used for managing events subscriptions.\n */\nvar ChangeHandlersMixin = {\n componentDidMount: function () {\n handlePropsChanges(this, {}, this.props);\n },\n componentDidUpdate: function (prev) {\n handlePropsChanges(this, prev, this.props);\n },\n componentWillUnmount: function () {\n handlePropsChanges(this, this.props, {});\n }\n};\nfunction handlePropsChanges(component, prev, next) {\n var _changeHandlers = component._changeHandlers;\n for (var name_1 in _changeHandlers) {\n if (prev[name_1] !== next[name_1]) {\n for (var _i = 0, _a = _changeHandlers[name_1]; _i < _a.length; _i++) {\n var handler = _a[_i];\n handler(next[name_1], prev[name_1], component);\n }\n }\n }\n}\n/**\n * Watchers works on props replacement and fires _before_ any change will be applied and UI is updated.\n * Fired in componentWillMount as well, which makes it a nice way to sync state from props.\n */\nvar WatchersMixin = {\n componentWillReceiveProps: function (next) {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_2 in _watchers) {\n if (next[name_2] !== props[name_2]) {\n _watchers[name_2].call(this, next[name_2], name_2);\n }\n }\n },\n componentWillMount: function () {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_3 in _watchers) {\n _watchers[name_3].call(this, props[name_3], name_3);\n }\n }\n};\n//# sourceMappingURL=props.js.map\n\n/***/ }),\n/* 15 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = createPureRenderMixin;\nfunction createPureRenderMixin(props) {\n var ctorBody = ['var v; this._s = s && s._changeToken'], isChangedBody = ['var v; return ( s && s._changeToken !== t._s )'];\n for (var name_1 in props) {\n var propExpr = \"( ( v = p.\" + name_1 + \") && v._changeToken ) || v\";\n ctorBody.push(\"this.\" + name_1 + \"= \" + propExpr);\n isChangedBody.push(\"t.\" + name_1 + \" !== (\" + propExpr + \")\");\n }\n var ChangeTokens = new Function('p', 's', ctorBody.join(';')), isChanged = new Function('t', 'p', 's', isChangedBody.join('||'));\n ChangeTokens.prototype = null;\n return {\n _changeTokens: null,\n shouldComponentUpdate: function (nextProps) {\n return isChanged(this._changeTokens, nextProps, this.state);\n },\n componentDidMount: function () {\n this._changeTokens = new ChangeTokens(this.props, this.state);\n },\n componentDidUpdate: function () {\n this._changeTokens = new ChangeTokens(this.props, this.state);\n }\n };\n}\n;\n//# sourceMappingURL=pureRender.js.map\n\n/***/ }),\n/* 16 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__state__ = __webpack_require__(7);\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = process;\n\n\n\nfunction process(spec, baseProto) {\n var store = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* collectSpecs */])(spec, 'store');\n if (store) {\n delete spec.store;\n if (store instanceof __WEBPACK_IMPORTED_MODULE_1_type_r__[\"Store\"]) {\n // Direct reference to an existing store. Put it to the prototype.\n spec.store = store;\n spec.mixins.push(ExternalStoreMixin);\n }\n else {\n spec.Store = store;\n spec.mixins.push(InternalStoreMixin);\n spec.mixins.push(__WEBPACK_IMPORTED_MODULE_2__state__[\"b\" /* UpdateOnNestedChangesMixin */]);\n }\n spec.mixins.push(ExposeStoreMixin);\n }\n}\n/**\n * Attached whenever the store declaration of any form is present in the component.\n */\nvar ExposeStoreMixin = {\n childContext: {\n _nestedStore: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"Store\"]\n },\n getChildContext: function () {\n return { _nestedStore: this.store };\n },\n getStore: function () {\n return this.store;\n },\n // Will be called by the store when the lookup will fail.\n get: function (key) {\n // Ask upper store.\n var store = __WEBPACK_IMPORTED_MODULE_2__state__[\"c\" /* StateMixin */].getStore.call(this, key);\n return store && store.get(key);\n }\n};\n/**\n * External store must just track the changes and trigger render.\n * TBD: don't use it yet.\n */\nvar ExternalStoreMixin = {\n componentDidMount: function () {\n // Start UI updates on state changes.\n this.listenTo(this.store, 'change', this.asyncUpdate);\n }\n};\nvar InternalStoreMixin = {\n componentWillMount: function () {\n var store = this.store = new this.Store();\n store._owner = this;\n store._ownerKey = 'store';\n },\n componentWillUnmount: function () {\n this.store._ownerKey = this.store._owner = void 0;\n this.store.dispose();\n this.store = void 0;\n }\n};\n//# sourceMappingURL=store.js.map\n\n/***/ }),\n/* 17 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__valuelink_link__ = __webpack_require__(19);\n/**\n * Import ValueLink library\n * Define value links binding mixins to the Record and Collection\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]);\n__WEBPACK_IMPORTED_MODULE_0_type_r__[\"Mixable\"].mixTo(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]);\n/**\n * Record\n */\n__WEBPACK_IMPORTED_MODULE_0_type_r__[\"Record\"].mixins({\n // Link to the record's attribute by its key.\n linkAt: function (key) {\n return cacheLink(getLinksCache(this), this, key);\n },\n // Link to the attribute of the record's tree by symbolic path.\n linkPath: function (path, options) {\n return new RecordDeepLink(this, path, options);\n },\n // Link all (or listed) attributes and return links cache.\n linkAll: function () {\n var links = getLinksCache(this);\n if (arguments.length) {\n for (var i = 0; i < arguments.length; i++) {\n cacheLink(links, this, arguments[i]);\n }\n }\n else {\n var attributes = this.attributes;\n for (var key in attributes) {\n attributes[key] === void 0 || cacheLink(links, this, key);\n }\n }\n return links;\n }\n});\n/**\n * Link to Type-R's record attribute.\n * Strict evaluation of value, lazy evaluation of validation error.\n * Links are cached in the records\n */\nvar RecordLink = (function (_super) {\n __extends(RecordLink, _super);\n function RecordLink(record, attr, value) {\n var _this = _super.call(this, value) || this;\n _this.record = record;\n _this.attr = attr;\n return _this;\n }\n RecordLink.prototype.set = function (x) {\n this.record[this.attr] = x;\n };\n Object.defineProperty(RecordLink.prototype, \"error\", {\n get: function () {\n return this._error === void 0 ?\n this.record.getValidationError(this.attr) :\n this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n return RecordLink;\n}(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]));\nvar RecordDeepLink = (function (_super) {\n __extends(RecordDeepLink, _super);\n function RecordDeepLink(record, path, options) {\n var _this = _super.call(this, record.deepGet(path)) || this;\n _this.record = record;\n _this.path = path;\n _this.options = options;\n return _this;\n }\n Object.defineProperty(RecordDeepLink.prototype, \"error\", {\n get: function () {\n if (this._error === void 0) {\n this._error = this.record.deepValidationError(this.path) || null;\n }\n return this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(RecordDeepLink.prototype, \"_changeToken\", {\n get: function () {\n return this.record._changeToken;\n },\n enumerable: true,\n configurable: true\n });\n RecordDeepLink.prototype.set = function (x) {\n this.record.deepSet(this.path, x, this.options);\n };\n return RecordDeepLink;\n}(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]));\nfunction getLinksCache(record) {\n return record._links || (record._links = new record.Attributes({}));\n}\nfunction cacheLink(links, record, key) {\n var cached = links[key], value = record[key];\n return cached && cached.value === value ? cached\n : links[key] = new RecordLink(record, key, value);\n}\n/***********************************\n * Collection\n */\n__WEBPACK_IMPORTED_MODULE_0_type_r__[\"Record\"].Collection.mixins({\n // Boolean link to the record's presence in the collection\n linkContains: function (record) {\n return new CollectionLink(this, record);\n },\n // Link to collection's property\n linkAt: function (prop) {\n var _this = this;\n return __WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */].value(this[prop], function (x) { return _this[prop] = x; });\n }\n});\n/**\n * Boolean link to presence of NestedType's record in collection.\n * Strict evaluation of value, no error.\n * Safe implementation of _changeToken.\n */\nvar CollectionLink = (function (_super) {\n __extends(CollectionLink, _super);\n function CollectionLink(collection, record) {\n var _this = _super.call(this, Boolean(collection._byId[record.cid])) || this;\n _this.collection = collection;\n _this.record = record;\n return _this;\n }\n CollectionLink.prototype.set = function (x) {\n this.collection.toggle(this.record, x);\n };\n return CollectionLink;\n}(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]));\n//# sourceMappingURL=link.js.map\n\n/***/ }),\n/* 18 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = helpers;\n/* unused harmony export objectHelpers */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return arrayHelpers; });\nvar ArrayProto = Array.prototype, ObjectProto = Object.prototype;\nfunction helpers(value) {\n if (value && typeof value === 'object') {\n switch (Object.getPrototypeOf(value)) {\n case ArrayProto: return arrayHelpers;\n case ObjectProto: return objectHelpers;\n }\n }\n return dummyHelpers;\n}\n// Do nothing for types other than Array and plain Object.\nvar dummyHelpers = {\n clone: function (value) { return value; },\n map: function (link, fun) { return []; },\n remove: function (value) { return value; }\n};\n// `map` and `clone` for plain JS objects\nvar objectHelpers = {\n // Map through the link to object\n map: function (link, iterator) {\n var mapped = [];\n for (var key in link.value) {\n var element = iterator(link.at(key), key);\n element === void 0 || (mapped.push(element));\n }\n return mapped;\n },\n remove: function (object, key) {\n delete object[key];\n return object;\n },\n // Shallow clone plain JS object\n clone: function (object) {\n var cloned = {};\n for (var key in object) {\n cloned[key] = object[key];\n }\n return cloned;\n }\n};\n// `map` and `clone` helpers for arrays.\nvar arrayHelpers = {\n // Shallow clone array\n clone: function (array) {\n return array.slice();\n },\n remove: function (array, i) {\n array.splice(i, 1);\n return array;\n },\n // Map through the link to array\n map: function (link, iterator) {\n var length = link.value.length, mapped = Array(length);\n for (var i = 0, j = 0; i < length; i++) {\n var y = iterator(link.at(i), i);\n y === void 0 || (mapped[j++] = y);\n }\n mapped.length === j || (mapped.length = j);\n return mapped;\n }\n};\n//# sourceMappingURL=helpers.js.map\n\n/***/ }),\n/* 19 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__helpers__ = __webpack_require__(18);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Link; });\n/* unused harmony export CustomLink */\n/* unused harmony export CloneLink */\n/* unused harmony export EqualsLink */\n/* unused harmony export EnabledLink */\n/* unused harmony export ContainsLink */\n/* unused harmony export LinkAt */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * Advanced React links for purely functional two-way data binding\n *\n * MIT License, (c) 2016 Vlad Balin, Volicon.\n */\n\n// Main Link class. All links must extend it.\nvar Link = (function () {\n // create \n function Link(value) {\n this.value = value;\n }\n // Create custom link to arbitrary value\n Link.value = function (value, set) {\n return new CustomLink(value, set);\n };\n Object.defineProperty(Link.prototype, \"validationError\", {\n // DEPRECATED: Old error holder for backward compatibility with Volicon code base\n get: function () { return this.error; },\n enumerable: true,\n configurable: true\n });\n Link.prototype.onChange = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n handler(x);\n _this.set(x);\n });\n };\n Object.defineProperty(Link.prototype, \"props\", {\n // \n get: function () {\n var _this = this;\n return { value: this.value, onChange: function (e) { return _this.set(e.target.value); } };\n },\n enumerable: true,\n configurable: true\n });\n // DEPRECATED: Old React method for backward compatibility\n Link.prototype.requestChange = function (x) {\n this.set(x);\n };\n // Immediately update the link value using given transform function.\n Link.prototype.update = function (transform, e) {\n var next = transform(this.clone(), e);\n next === void 0 || this.set(next);\n };\n // Create new link which applies transform function on set.\n Link.prototype.pipe = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n var next = handler(x, _this.value);\n next === void 0 || _this.set(next);\n });\n };\n // Create UI event handler function which will update the link with a given transform function.\n Link.prototype.action = function (transform) {\n var _this = this;\n return function (e) { return _this.update(transform, e); };\n };\n Link.prototype.equals = function (truthyValue) {\n return new EqualsLink(this, truthyValue);\n };\n Link.prototype.enabled = function (defaultValue) {\n return new EnabledLink(this, defaultValue || \"\");\n };\n // Array-only links methods\n Link.prototype.contains = function (element) {\n return new ContainsLink(this, element);\n };\n Link.prototype.push = function () {\n var array = __WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* arrayHelpers */].clone(this.value);\n Array.prototype.push.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.unshift = function () {\n var array = __WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* arrayHelpers */].clone(this.value);\n Array.prototype.unshift.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.splice = function () {\n var array = __WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* arrayHelpers */].clone(this.value);\n Array.prototype.splice.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.map = function (iterator) {\n return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* helpers */])(this.value).map(this, iterator);\n };\n Link.prototype.removeAt = function (key) {\n var value = this.value, _ = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* helpers */])(value);\n this.set(_.remove(_.clone(value), key));\n };\n Link.prototype.at = function (key) {\n return new LinkAt(this, key);\n };\n Link.prototype.clone = function () {\n var value = this.value;\n return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* helpers */])(value).clone(value);\n };\n Link.prototype.pick = function () {\n var links = {};\n for (var i = 0; i < arguments.length; i++) {\n var key = arguments[i];\n links[key] = new LinkAt(this, key);\n }\n return links;\n };\n /**\n * Validate link with validness predicate and optional custom error object. Can be chained.\n */\n Link.prototype.check = function (whenValid, error) {\n if (!this.error && !whenValid(this.value)) {\n this.error = error || whenValid.error || defaultError;\n }\n return this;\n };\n return Link;\n}());\n\nvar CustomLink = (function (_super) {\n __extends(CustomLink, _super);\n function CustomLink(value, set) {\n var _this = _super.call(this, value) || this;\n _this.set = set;\n return _this;\n }\n CustomLink.prototype.set = function (x) { };\n return CustomLink;\n}(Link));\n\nvar CloneLink = (function (_super) {\n __extends(CloneLink, _super);\n function CloneLink(parent, set) {\n var _this = _super.call(this, parent.value) || this;\n _this.set = set;\n var error = parent.error;\n if (error)\n _this.error = error;\n return _this;\n }\n CloneLink.prototype.set = function (x) { };\n return CloneLink;\n}(Link));\n\nvar EqualsLink = (function (_super) {\n __extends(EqualsLink, _super);\n function EqualsLink(parent, truthyValue) {\n var _this = _super.call(this, parent.value === truthyValue) || this;\n _this.parent = parent;\n _this.truthyValue = truthyValue;\n return _this;\n }\n EqualsLink.prototype.set = function (x) {\n this.parent.set(x ? this.truthyValue : null);\n };\n return EqualsLink;\n}(Link));\n\nvar EnabledLink = (function (_super) {\n __extends(EnabledLink, _super);\n function EnabledLink(parent, defaultValue) {\n var _this = _super.call(this, parent.value != null) || this;\n _this.parent = parent;\n _this.defaultValue = defaultValue;\n return _this;\n }\n EnabledLink.prototype.set = function (x) {\n this.parent.set(x ? this.defaultValue : null);\n };\n return EnabledLink;\n}(Link));\n\nvar ContainsLink = (function (_super) {\n __extends(ContainsLink, _super);\n function ContainsLink(parent, element) {\n var _this = _super.call(this, parent.value.indexOf(element) >= 0) || this;\n _this.parent = parent;\n _this.element = element;\n return _this;\n }\n ContainsLink.prototype.set = function (x) {\n var _this = this;\n var next = Boolean(x);\n if (this.value !== next) {\n var arr = this.parent.value, nextValue = x ? arr.concat(this.element) : arr.filter(function (el) { return el !== _this.element; });\n this.parent.set(nextValue);\n }\n };\n return ContainsLink;\n}(Link));\n\nvar defaultError = 'Invalid value';\n/**\n * Link to array or object element enclosed in parent link.\n * Performs purely functional update of the parent, shallow copying its value on `set`.\n */\nvar LinkAt = (function (_super) {\n __extends(LinkAt, _super);\n function LinkAt(parent, key) {\n var _this = _super.call(this, parent.value[key]) || this;\n _this.parent = parent;\n _this.key = key;\n return _this;\n }\n LinkAt.prototype.remove = function () {\n this.parent.removeAt(this.key);\n };\n // Set new element value to parent array or object, performing purely functional update.\n LinkAt.prototype.set = function (x) {\n var _this = this;\n if (this.value !== x) {\n this.parent.update(function (value) {\n value[_this.key] = x;\n return value;\n });\n }\n };\n ;\n return LinkAt;\n}(Link));\n\n//# sourceMappingURL=link.js.map\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (false) {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n\n\nvar emptyFunction = __webpack_require__(20);\nvar invariant = __webpack_require__(21);\n\nmodule.exports = function() {\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n function shim() {\n invariant(\n false,\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim\n };\n\n ReactPropTypes.checkPropTypes = emptyFunction;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n/***/ })\n/******/ ]);\n});\n\n\n// WEBPACK FOOTER //\n// dist/index.min.js"," \t// The module cache\n \tvar installedModules = {};\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// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\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, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\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 = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 10);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap f2c09de9022433079c59","module.exports = __WEBPACK_EXTERNAL_MODULE_0__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"commonjs\":\"nestedtypes\",\"commonjs2\":\"nestedtypes\",\"amd\":\"nestedtypes\",\"root\":\"Nested\"}\n// module id = 0\n// module chunks = 0","import * as PropTypes from 'prop-types';\nimport { Record, tools } from 'type-r';\nexport function collectSpecs(spec, name) {\n var attributes = null;\n // Scan through local mixin, and gather specs. Refactor it later, it's not good. At all.\n for (var i = spec.mixins.length - 1; i >= 0; i--) {\n var mixin = spec.mixins[i], mixinAttrs = mixin[name];\n if (mixinAttrs) {\n attributes || (attributes = {});\n tools.assign(attributes, mixinAttrs);\n }\n }\n // Merge it with local data.\n var specAttrs = spec[name];\n if (specAttrs) {\n if (attributes) {\n tools.assign(attributes, specAttrs);\n }\n else {\n attributes = specAttrs;\n }\n }\n return attributes;\n}\nexport function compileSpecs(props) {\n var propTypes = {}, \n // Create NestedTypes model definition to process props spec.\n modelProto = Record.defaults(props).prototype;\n var defaults, watchers, changeHandlers;\n modelProto.forEachAttr(modelProto._attributes, function (spec, name) {\n // Skip auto-generated `id` attribute.\n if (name !== 'id') {\n var value = spec.value, type = spec.type, options = spec.options;\n // Translate props type to the propTypes guard.\n propTypes[name] = translateType(type, options.isRequired);\n if (options._onChange) {\n watchers || (watchers = {});\n watchers[name] = toLocalWatcher(options._onChange);\n }\n // Handle listening to event maps...\n if (options.changeHandlers && options.changeHandlers.length) {\n changeHandlers || (changeHandlers = {});\n changeHandlers[name] = options.changeHandlers;\n }\n // Handle listening to props changes...\n if (options.changeEvents) {\n changeHandlers || (changeHandlers = {});\n var handlers = changeHandlers[name] || (changeHandlers[name] = []), changeEvents_1 = typeof options.changeEvents === 'string' ? options.changeEvents : null;\n handlers.push(function (next, prev, component) {\n prev && component.stopListening(prev);\n next && component.listenTo(next, changeEvents_1 || next._changeEventName, component.asyncUpdate);\n });\n }\n // If default value is explicitly provided...\n if (value !== void 0) {\n //...append it to getDefaultProps function.\n defaults || (defaults = {});\n defaults[name] = spec.convert(value);\n }\n }\n });\n return { propTypes: propTypes, defaults: defaults, watchers: watchers, changeHandlers: changeHandlers };\n}\nfunction toLocalWatcher(ref) {\n return typeof ref === 'function' ? ref : function (value, name) {\n this[ref] && this[ref](value, name);\n };\n}\nvar Node = (function () {\n function Node() {\n }\n return Node;\n}());\nexport { Node };\nvar Element = (function () {\n function Element() {\n }\n return Element;\n}());\nexport { Element };\nfunction translateType(Type, isRequired) {\n var T = _translateType(Type);\n return isRequired ? T.isRequired : T;\n}\nfunction _translateType(Type) {\n switch (Type) {\n case Number:\n case Number.integer:\n return PropTypes.number;\n case String:\n return PropTypes.string;\n case Boolean:\n return PropTypes.bool;\n case Array:\n return PropTypes.array;\n case Function:\n return PropTypes.func;\n case Object:\n return PropTypes.object;\n case Node:\n return PropTypes.node;\n case Element:\n return PropTypes.element;\n case void 0:\n case null:\n return PropTypes.any;\n default:\n return PropTypes.instanceOf(Type);\n }\n}\n//# sourceMappingURL=typeSpecs.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/typeSpecs.js\n// module id = 1\n// module chunks = 0","import * as React from 'react';\nimport { define, mixins } from 'type-r';\nimport { Node, Element } from './define';\nimport Link from './link';\nimport { Component, createClass } from './component';\n// extend React namespace\nvar ReactMVx = Object.create(React);\n// Make it compatible with ES6 module format.\nReactMVx.default = ReactMVx;\n// listenToProps, listenToState, model, attributes, Model\nReactMVx.createClass = createClass;\nReactMVx.define = define;\nReactMVx.mixins = mixins;\nReactMVx.Node = Node.value(null);\nReactMVx.Element = Element.value(null);\nReactMVx.Link = Link;\nReactMVx.Component = Component;\nvar assignToState = ReactMVx.assignToState = function (key) {\n return function (prop) {\n this.state.assignFrom((_a = {}, _a[key] = prop && prop instanceof Link ? prop.value : prop, _a));\n var _a;\n };\n};\nexport default ReactMVx;\nexport { createClass, define, mixins, Node, Element, Link, Component, assignToState };\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/index.js\n// module id = 2\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_3__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"commonjs\":\"react\",\"commonjs2\":\"react\",\"amd\":\"react\",\"root\":\"React\"}\n// module id = 3\n// module chunks = 0","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/prop-types/index.js\n// module id = 4\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_5__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"commonjs\":\"react-dom\",\"commonjs2\":\"react-dom\",\"amd\":\"react-dom\",\"root\":\"ReactDOM\"}\n// module id = 5\n// module chunks = 0","import processStore from './store';\nimport processState from './state';\nimport processContext from './context';\nimport processCommons from './common';\nimport processProps from './props';\nexport default function process(spec, baseProto) {\n if (baseProto === void 0) { baseProto = {}; }\n // Initialize mixins placeholder...\n spec.mixins || (spec.mixins = []);\n processStore(spec, baseProto);\n processState(spec, baseProto);\n processContext(spec, baseProto);\n processProps(spec, baseProto);\n processCommons(spec, baseProto);\n return spec;\n}\n;\nexport { Node, Element } from './typeSpecs';\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/index.js\n// module id = 6\n// module chunks = 0","/*****************\n * State\n */\nimport { collectSpecs } from './typeSpecs';\nimport { Record, Store } from 'type-r';\nexport default function process(spec, baseProto) {\n // process state spec...\n var attributes = collectSpecs(spec, 'state');\n if (attributes || baseProto.State) {\n var BaseModel = baseProto.State || Record;\n spec.State = attributes ? (typeof attributes === 'function' ? attributes : BaseModel.defaults(attributes)) : BaseModel;\n spec.mixins.push(StateMixin);\n spec.mixins.push(UpdateOnNestedChangesMixin);\n delete spec.state;\n delete spec.attributes;\n }\n}\nexport var StateMixin = {\n //state : null,\n componentWillMount: function () {\n // props.__keepState is used to workaround issues in Backbone intergation layer\n var state = this.state = this.props.__keepState || new this.State();\n // Take ownership on state...\n state._owner = this;\n state._ownerKey = 'state';\n },\n context: {\n _nestedStore: Store\n },\n // reference global store to fix model's store locator\n getStore: function () {\n // Attempt to get the store from the context first. Then - fallback to the state's default store.\n // TBD: Need to figure out a good way of managing local stores.\n var context, state;\n return ((context = this.context) && context._archetypeStore) ||\n ((state = this.state) && state._defaultStore);\n },\n componentWillUnmount: function () {\n var state = this.state;\n state._owner = state._ownerKey = void 0;\n this._preventDispose /* hack for component-view to preserve the state */ || state.dispose();\n this.state = void 0;\n }\n};\nexport var UpdateOnNestedChangesMixin = {\n _onChildrenChange: function () { },\n componentDidMount: function () {\n this._onChildrenChange = this.asyncUpdate;\n }\n};\n//# sourceMappingURL=state.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/state.js\n// module id = 7\n// module chunks = 0","import * as React from 'react';\nimport ReactDOM from 'react-dom';\nimport { tools } from 'type-r';\nwindow.Page || (window.Page = { forceResize: function () { } });\nexport default function use(View) {\n var dispose = View.prototype.dispose || function () { }, setElement = View.prototype.setElement;\n var ComponentView = View.extend({\n reactClass: null,\n props: {},\n element: null,\n initialize: function (props) {\n // memorise arguments to pass to React\n this.options = props || {};\n },\n setElement: function () {\n this.unmountComponent(true);\n return setElement.apply(this, arguments);\n },\n // cached instance of react component...\n component: null,\n prevState: null,\n resize: function () {\n window.Page.forceResize();\n },\n render: function () {\n var options = this.prevState ? tools.fastAssign({ __keepState: this.prevState }, this.options) : this.options, element = React.createElement(this.reactClass, options), component = ReactDOM.render(element, this.el);\n this.component || this.mountComponent(component);\n },\n mountComponent: function (component) {\n this.component = component;\n this.prevState = null;\n component.trigger && this.listenTo(component, 'all', function () {\n this.trigger.apply(this, arguments);\n });\n },\n unmountComponent: function (keepModel) {\n var component = this.component;\n if (component) {\n this.prevState = component.state;\n if (component.trigger) {\n this.stopListening(component);\n }\n component._preventDispose = Boolean(keepModel);\n ReactDOM.unmountComponentAtNode(this.el);\n this.component = null;\n }\n },\n dispose: function () {\n this.unmountComponent();\n return dispose.apply(this, arguments);\n }\n });\n Object.defineProperty(ComponentView.prototype, 'model', {\n get: function () {\n this.component || this.render();\n return this.component && this.component.state;\n }\n });\n return ComponentView;\n}\n//# sourceMappingURL=component-view.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/component-view.js\n// module id = 8\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport React from './react-mvx';\nimport { tools } from 'type-r';\nvar notEqual = tools.notEqual;\nvar BackboneView = (function (_super) {\n __extends(BackboneView, _super);\n function BackboneView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.saveRef = function (element) {\n _this.root = element;\n };\n return _this;\n }\n BackboneView.prototype.shouldComponentUpdate = function (next) {\n var props = this.props;\n return next.View !== props.View || notEqual(next.options, props.options);\n };\n BackboneView.prototype.hasUnsavedChanges = function () {\n var view = this.view;\n return view && (typeof view.hasUnsavedChanges === 'function' ? view.hasUnsavedChanges() : view.hasUnsavedChanges);\n };\n BackboneView.prototype.render = function () {\n return React.createElement('div', {\n ref: this.saveRef,\n className: this.props.className\n });\n };\n BackboneView.prototype.componentDidMount = function () {\n this._mountView();\n };\n BackboneView.prototype.componentDidUpdate = function () {\n this._dispose();\n this._mountView();\n };\n BackboneView.prototype.componentWillUnmount = function () {\n this._dispose();\n };\n BackboneView.prototype._mountView = function () {\n var el = this.root, p = this.props;\n var view = this.view = p.options ? new p.View(p.options) : new p.View();\n el.appendChild(view.el);\n view.render();\n };\n BackboneView.prototype._dispose = function () {\n var view = this.view;\n if (view) {\n if (view.dispose) {\n view.dispose();\n }\n else {\n view.stopListening();\n view.off();\n }\n this.root.innerHTML = \"\";\n this.view = null;\n }\n };\n return BackboneView;\n}(React.Component));\nexport default BackboneView;\n//# sourceMappingURL=view-element.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/view-element.js\n// module id = 9\n// module chunks = 0","// Re-export react-mvx\nimport ReactMVx from './react-mvx';\nvar NestedReact = Object.create(ReactMVx);\nexport default NestedReact;\nexport * from './react-mvx';\n// NestedReact backward compatibility layer\nimport ReactDOM from 'react-dom';\nimport Nested, { View, Record } from 'type-r';\nimport * as PropTypes from 'prop-types';\nimport subview from './view-element';\nNestedReact.subview = subview;\nexport { subview };\nimport use from './component-view';\nexport { PropTypes };\nvar BaseView;\n// export hook to override base View class used...\nexport function useView(View) {\n BaseView = use(View);\n}\nvar define = NestedReact.Component.define;\nNestedReact.Component.define = function (protoProps, staticProps) {\n this.View = BaseView.extend({ reactClass: this });\n return define.call(this, protoProps, staticProps);\n};\nfunction defineBackboneProxy(Component) {\n}\n// Deprecated API for backward compatibility\nvar RecordProto = Record.prototype;\nRecordProto.getLink = RecordProto.linkAt;\nRecordProto.deepLink = RecordProto.linkPath;\nvar CollectionProto = Record.Collection.prototype;\nCollectionProto.hasLink = CollectionProto.linkContains;\nuseView(View);\n// Extend react components to have backbone-style jquery accessors\nvar BackboneViewProps = {\n el: { get: function () { return ReactDOM.findDOMNode(this); } },\n $el: { get: function () { return Nested.$(this.el); } },\n $: { value: function (sel) { return this.$el.find(sel); } }\n};\nObject.defineProperties(NestedReact.Component.prototype, BackboneViewProps);\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/index.js\n// module id = 10\n// module chunks = 0","/**\n * React components\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\nimport * as React from 'react';\nimport { extendable, mixinRules, tools, Mixable } from 'type-r';\nimport processSpec from './define';\nvar reactMixinRules = {\n componentWillMount: 'reverse',\n componentDidMount: 'reverse',\n componentWillReceiveProps: 'reverse',\n shouldComponentUpdate: 'some',\n componentWillUpdate: 'reverse',\n componentDidUpdate: 'reverse',\n componentWillUnmount: 'sequence',\n state: 'merge',\n store: 'merge',\n props: 'merge',\n context: 'merge',\n childContext: 'merge',\n getChildContext: 'mergeSequence'\n};\nvar Component = (function (_super) {\n __extends(Component, _super);\n function Component() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Component.prototype.linkAt = function (key) {\n // Quick and dirty hack to suppres type error - refactor later.\n return this.state.linkAt(key);\n };\n Component.prototype.linkAll = function () {\n // Quick and dirty hack to suppres type error - refactor later.\n return this.state.linkAll.apply(this, arguments);\n };\n Component.define = function (protoProps, staticProps) {\n var BaseClass = tools.getBaseClass(this), staticsDefinition = tools.getChangedStatics(this, 'state', 'store', 'props', 'autobind', 'context', 'childContext', 'pureRender'), combinedDefinition = tools.assign(staticsDefinition, protoProps || {});\n var definition = processSpec(combinedDefinition, this.prototype);\n var getDefaultProps = definition.getDefaultProps, propTypes = definition.propTypes, contextTypes = definition.contextTypes, childContextTypes = definition.childContextTypes, protoDefinition = __rest(definition, [\"getDefaultProps\", \"propTypes\", \"contextTypes\", \"childContextTypes\"]);\n if (getDefaultProps)\n this.defaultProps = definition.getDefaultProps();\n if (propTypes)\n this.propTypes = propTypes;\n if (contextTypes)\n this.contextTypes = contextTypes;\n if (childContextTypes)\n this.childContextTypes = childContextTypes;\n Mixable.define.call(this, protoDefinition, staticProps);\n return this;\n };\n Component.prototype.assignToState = function (x, key) {\n this.state.assignFrom((_a = {}, _a[key] = x, _a));\n var _a;\n };\n return Component;\n}(React.Component));\nComponent = __decorate([\n extendable,\n mixinRules(reactMixinRules)\n], Component);\nexport { Component };\n// Looks like React guys _really_ want to deprecated it. But no way.\n// We will work around their attempt.\nObject.defineProperty(Component.prototype, 'isMounted', {\n value: function isMounted() {\n return !this._disposed;\n }\n});\nvar dontAutobind = ['state', 'store'];\n/**\n * ES5 components definition factory\n */\nexport function createClass(_a) {\n var statics = _a.statics, a_spec = __rest(_a, [\"statics\"]);\n // Gather all methods to pin them to `this` later.\n var methods = [];\n var Subclass = Component.extend(__assign({ \n // Override constructor to autobind all the methods...\n constructor: function () {\n Component.apply(this, this.arguments);\n for (var _i = 0, methods_1 = methods; _i < methods_1.length; _i++) {\n var method = methods_1[_i];\n this[method] = this[method].bind(this);\n }\n } }, a_spec), statics);\n // Need to bind methods from mixins as well, so populate it here.\n var Proto = Subclass.prototype;\n for (var key in Proto) {\n if (Proto.hasOwnProperty(key) && dontAutobind.indexOf(key) === -1 && typeof Proto[key] === 'function') {\n methods.push(key);\n }\n }\n return Subclass;\n}\n//# sourceMappingURL=component.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/component.js\n// module id = 11\n// module chunks = 0","/**\n * Process `autobind` specs, attach async event processing and transactional support.\n */\nimport { tools, Events } from 'type-r';\nexport default function compile(spec, _a) {\n var _b = _a._autobind, _autobind = _b === void 0 ? [] : _b;\n // Attach autobind mixin...\n if (spec.autobind) {\n spec._autobind = spec.autobind.split(/\\s+/).concat(_autobind);\n spec.mixins.push(AutobindMixin);\n delete spec.autobind;\n }\n // Attach common mixin\n spec.mixins.push(CommonMixin);\n}\n/***\n * Autobinding\n */\nvar AutobindMixin = {\n componentWillMount: function () {\n for (var _i = 0, _a = this._autobind; _i < _a.length; _i++) {\n var name_1 = _a[_i];\n this[name_1] = this[name_1].bind(this);\n }\n }\n};\nexport function asyncUpdate() {\n this.shouldComponentUpdate === returnFalse || this._disposed || this.forceUpdate();\n}\nfunction returnFalse() { return false; }\n/**\n * Mixin which is attached to all components.\n */\nvar CommonMixin = tools.assign({\n componentWillUnmount: function () {\n // Prevent memory leaks when working with events.\n this.off();\n this.stopListening();\n // Mark component as disposed.\n this._disposed = true;\n },\n // Safe version of the forceUpdate suitable for asynchronous callbacks.\n asyncUpdate: asyncUpdate,\n /**\n * Performs transactional update for both props and state.\n * Suppress updates during the transaction, and force update aftewards.\n * Wrapping the sequence of changes in a transactions guarantees that\n * React component will be updated _after_ all the changes to the\n * both props and local state are applied.\n */\n transaction: function (fun) {\n var shouldComponentUpdate = this.shouldComponentUpdate, isRoot = shouldComponentUpdate !== returnFalse;\n if (isRoot) {\n this.shouldComponentUpdate = returnFalse;\n }\n fun(this.props, this.state);\n if (isRoot) {\n this.shouldComponentUpdate = shouldComponentUpdate;\n this.asyncUpdate();\n }\n }\n}, Events);\n//# sourceMappingURL=common.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/common.js\n// module id = 12\n// module chunks = 0","var __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nimport { compileSpecs, collectSpecs } from './typeSpecs';\nexport default function process(spec, _a) {\n var _b = _a._context, _context = _b === void 0 ? {} : _b, _c = _a._childContext, _childContext = _c === void 0 ? {} : _c;\n // process context specs...\n var context = collectSpecs(spec, 'context');\n if (context) {\n spec._context = __assign({}, _context, context);\n spec.contextTypes = compileSpecs(context).propTypes;\n delete spec.context;\n }\n // and child context specs...\n var childContext = collectSpecs(spec, 'childContext');\n if (childContext) {\n spec._childContext = __assign({}, _childContext, childContext);\n spec.childContextTypes = compileSpecs(childContext).propTypes;\n delete spec.childContext;\n }\n}\n//# sourceMappingURL=context.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/context.js\n// module id = 13\n// module chunks = 0","/**\n * Handle props specification and everything which is related:\n * - local listening to props changes\n * - pure render mixin\n */\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nimport { collectSpecs, compileSpecs } from './typeSpecs';\nimport createPureRenderMixin from './pureRender';\nexport default function process(spec, _a) {\n var pureRender = _a.pureRender, _b = _a._props, _props = _b === void 0 ? {} : _b, _c = _a._listenToPropsArray, _listenToPropsArray = _c === void 0 ? [] : _c, _d = _a._listenToPropsHash, _listenToPropsHash = _d === void 0 ? {} : _d;\n // process props spec...\n var props = collectSpecs(spec, 'props');\n if (props) {\n var allProps = spec._props = __assign({}, _props, props);\n var _e = compileSpecs(allProps), propTypes = _e.propTypes, defaults_1 = _e.defaults, watchers = _e.watchers, changeHandlers = _e.changeHandlers;\n spec.propTypes = propTypes;\n if (defaults_1)\n spec.getDefaultProps = function () { return defaults_1; };\n if (watchers) {\n spec.mixins.unshift(WatchersMixin);\n spec._watchers = watchers;\n }\n if (changeHandlers) {\n spec.mixins.unshift(ChangeHandlersMixin);\n spec._changeHandlers = changeHandlers;\n }\n delete spec.props;\n }\n // compile pure render mixin\n if (spec._props && (spec.pureRender || pureRender)) {\n spec.mixins.push(createPureRenderMixin(spec._props));\n }\n}\n/**\n * ChangeHandlers are fired in sequence upon props replacement.\n * Fires _after_ UI is updated. Used for managing events subscriptions.\n */\nvar ChangeHandlersMixin = {\n componentDidMount: function () {\n handlePropsChanges(this, {}, this.props);\n },\n componentDidUpdate: function (prev) {\n handlePropsChanges(this, prev, this.props);\n },\n componentWillUnmount: function () {\n handlePropsChanges(this, this.props, {});\n }\n};\nfunction handlePropsChanges(component, prev, next) {\n var _changeHandlers = component._changeHandlers;\n for (var name_1 in _changeHandlers) {\n if (prev[name_1] !== next[name_1]) {\n for (var _i = 0, _a = _changeHandlers[name_1]; _i < _a.length; _i++) {\n var handler = _a[_i];\n handler(next[name_1], prev[name_1], component);\n }\n }\n }\n}\n/**\n * Watchers works on props replacement and fires _before_ any change will be applied and UI is updated.\n * Fired in componentWillMount as well, which makes it a nice way to sync state from props.\n */\nvar WatchersMixin = {\n componentWillReceiveProps: function (next) {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_2 in _watchers) {\n if (next[name_2] !== props[name_2]) {\n _watchers[name_2].call(this, next[name_2], name_2);\n }\n }\n },\n componentWillMount: function () {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_3 in _watchers) {\n _watchers[name_3].call(this, props[name_3], name_3);\n }\n }\n};\n//# sourceMappingURL=props.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/props.js\n// module id = 14\n// module chunks = 0","export default function createPureRenderMixin(props) {\n var ctorBody = ['var v; this._s = s && s._changeToken'], isChangedBody = ['var v; return ( s && s._changeToken !== t._s )'];\n for (var name_1 in props) {\n var propExpr = \"( ( v = p.\" + name_1 + \") && v._changeToken ) || v\";\n ctorBody.push(\"this.\" + name_1 + \"= \" + propExpr);\n isChangedBody.push(\"t.\" + name_1 + \" !== (\" + propExpr + \")\");\n }\n var ChangeTokens = new Function('p', 's', ctorBody.join(';')), isChanged = new Function('t', 'p', 's', isChangedBody.join('||'));\n ChangeTokens.prototype = null;\n return {\n _changeTokens: null,\n shouldComponentUpdate: function (nextProps) {\n return isChanged(this._changeTokens, nextProps, this.state);\n },\n componentDidMount: function () {\n this._changeTokens = new ChangeTokens(this.props, this.state);\n },\n componentDidUpdate: function () {\n this._changeTokens = new ChangeTokens(this.props, this.state);\n }\n };\n}\n;\n//# sourceMappingURL=pureRender.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/pureRender.js\n// module id = 15\n// module chunks = 0","import { collectSpecs } from './typeSpecs';\nimport { Store } from 'type-r';\nimport { StateMixin, UpdateOnNestedChangesMixin } from './state';\nexport default function process(spec, baseProto) {\n var store = collectSpecs(spec, 'store');\n if (store) {\n delete spec.store;\n if (store instanceof Store) {\n // Direct reference to an existing store. Put it to the prototype.\n spec.store = store;\n spec.mixins.push(ExternalStoreMixin);\n }\n else {\n spec.Store = store;\n spec.mixins.push(InternalStoreMixin);\n spec.mixins.push(UpdateOnNestedChangesMixin);\n }\n spec.mixins.push(ExposeStoreMixin);\n }\n}\n/**\n * Attached whenever the store declaration of any form is present in the component.\n */\nvar ExposeStoreMixin = {\n childContext: {\n _nestedStore: Store\n },\n getChildContext: function () {\n return { _nestedStore: this.store };\n },\n getStore: function () {\n return this.store;\n },\n // Will be called by the store when the lookup will fail.\n get: function (key) {\n // Ask upper store.\n var store = StateMixin.getStore.call(this, key);\n return store && store.get(key);\n }\n};\n/**\n * External store must just track the changes and trigger render.\n * TBD: don't use it yet.\n */\nvar ExternalStoreMixin = {\n componentDidMount: function () {\n // Start UI updates on state changes.\n this.listenTo(this.store, 'change', this.asyncUpdate);\n }\n};\nvar InternalStoreMixin = {\n componentWillMount: function () {\n var store = this.store = new this.Store();\n store._owner = this;\n store._ownerKey = 'store';\n },\n componentWillUnmount: function () {\n this.store._ownerKey = this.store._owner = void 0;\n this.store.dispose();\n this.store = void 0;\n }\n};\n//# sourceMappingURL=store.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/store.js\n// module id = 16\n// module chunks = 0","/**\n * Import ValueLink library\n * Define value links binding mixins to the Record and Collection\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { Mixable, Record } from 'type-r';\nimport { Link } from './valuelink/link';\nexport default Link;\nMixable.mixTo(Link);\n/**\n * Record\n */\nRecord.mixins({\n // Link to the record's attribute by its key.\n linkAt: function (key) {\n return cacheLink(getLinksCache(this), this, key);\n },\n // Link to the attribute of the record's tree by symbolic path.\n linkPath: function (path, options) {\n return new RecordDeepLink(this, path, options);\n },\n // Link all (or listed) attributes and return links cache.\n linkAll: function () {\n var links = getLinksCache(this);\n if (arguments.length) {\n for (var i = 0; i < arguments.length; i++) {\n cacheLink(links, this, arguments[i]);\n }\n }\n else {\n var attributes = this.attributes;\n for (var key in attributes) {\n attributes[key] === void 0 || cacheLink(links, this, key);\n }\n }\n return links;\n }\n});\n/**\n * Link to Type-R's record attribute.\n * Strict evaluation of value, lazy evaluation of validation error.\n * Links are cached in the records\n */\nvar RecordLink = (function (_super) {\n __extends(RecordLink, _super);\n function RecordLink(record, attr, value) {\n var _this = _super.call(this, value) || this;\n _this.record = record;\n _this.attr = attr;\n return _this;\n }\n RecordLink.prototype.set = function (x) {\n this.record[this.attr] = x;\n };\n Object.defineProperty(RecordLink.prototype, \"error\", {\n get: function () {\n return this._error === void 0 ?\n this.record.getValidationError(this.attr) :\n this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n return RecordLink;\n}(Link));\nvar RecordDeepLink = (function (_super) {\n __extends(RecordDeepLink, _super);\n function RecordDeepLink(record, path, options) {\n var _this = _super.call(this, record.deepGet(path)) || this;\n _this.record = record;\n _this.path = path;\n _this.options = options;\n return _this;\n }\n Object.defineProperty(RecordDeepLink.prototype, \"error\", {\n get: function () {\n if (this._error === void 0) {\n this._error = this.record.deepValidationError(this.path) || null;\n }\n return this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(RecordDeepLink.prototype, \"_changeToken\", {\n get: function () {\n return this.record._changeToken;\n },\n enumerable: true,\n configurable: true\n });\n RecordDeepLink.prototype.set = function (x) {\n this.record.deepSet(this.path, x, this.options);\n };\n return RecordDeepLink;\n}(Link));\nfunction getLinksCache(record) {\n return record._links || (record._links = new record.Attributes({}));\n}\nfunction cacheLink(links, record, key) {\n var cached = links[key], value = record[key];\n return cached && cached.value === value ? cached\n : links[key] = new RecordLink(record, key, value);\n}\n/***********************************\n * Collection\n */\nRecord.Collection.mixins({\n // Boolean link to the record's presence in the collection\n linkContains: function (record) {\n return new CollectionLink(this, record);\n },\n // Link to collection's property\n linkAt: function (prop) {\n var _this = this;\n return Link.value(this[prop], function (x) { return _this[prop] = x; });\n }\n});\n/**\n * Boolean link to presence of NestedType's record in collection.\n * Strict evaluation of value, no error.\n * Safe implementation of _changeToken.\n */\nvar CollectionLink = (function (_super) {\n __extends(CollectionLink, _super);\n function CollectionLink(collection, record) {\n var _this = _super.call(this, Boolean(collection._byId[record.cid])) || this;\n _this.collection = collection;\n _this.record = record;\n return _this;\n }\n CollectionLink.prototype.set = function (x) {\n this.collection.toggle(this.record, x);\n };\n return CollectionLink;\n}(Link));\n//# sourceMappingURL=link.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/link.js\n// module id = 17\n// module chunks = 0","var ArrayProto = Array.prototype, ObjectProto = Object.prototype;\nexport function helpers(value) {\n if (value && typeof value === 'object') {\n switch (Object.getPrototypeOf(value)) {\n case ArrayProto: return arrayHelpers;\n case ObjectProto: return objectHelpers;\n }\n }\n return dummyHelpers;\n}\n// Do nothing for types other than Array and plain Object.\nvar dummyHelpers = {\n clone: function (value) { return value; },\n map: function (link, fun) { return []; },\n remove: function (value) { return value; }\n};\n// `map` and `clone` for plain JS objects\nexport var objectHelpers = {\n // Map through the link to object\n map: function (link, iterator) {\n var mapped = [];\n for (var key in link.value) {\n var element = iterator(link.at(key), key);\n element === void 0 || (mapped.push(element));\n }\n return mapped;\n },\n remove: function (object, key) {\n delete object[key];\n return object;\n },\n // Shallow clone plain JS object\n clone: function (object) {\n var cloned = {};\n for (var key in object) {\n cloned[key] = object[key];\n }\n return cloned;\n }\n};\n// `map` and `clone` helpers for arrays.\nexport var arrayHelpers = {\n // Shallow clone array\n clone: function (array) {\n return array.slice();\n },\n remove: function (array, i) {\n array.splice(i, 1);\n return array;\n },\n // Map through the link to array\n map: function (link, iterator) {\n var length = link.value.length, mapped = Array(length);\n for (var i = 0, j = 0; i < length; i++) {\n var y = iterator(link.at(i), i);\n y === void 0 || (mapped[j++] = y);\n }\n mapped.length === j || (mapped.length = j);\n return mapped;\n }\n};\n//# sourceMappingURL=helpers.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/valuelink/helpers.js\n// module id = 18\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * Advanced React links for purely functional two-way data binding\n *\n * MIT License, (c) 2016 Vlad Balin, Volicon.\n */\nimport { helpers, arrayHelpers } from './helpers';\n// Main Link class. All links must extend it.\nvar Link = (function () {\n // create \n function Link(value) {\n this.value = value;\n }\n // Create custom link to arbitrary value\n Link.value = function (value, set) {\n return new CustomLink(value, set);\n };\n Object.defineProperty(Link.prototype, \"validationError\", {\n // DEPRECATED: Old error holder for backward compatibility with Volicon code base\n get: function () { return this.error; },\n enumerable: true,\n configurable: true\n });\n Link.prototype.onChange = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n handler(x);\n _this.set(x);\n });\n };\n Object.defineProperty(Link.prototype, \"props\", {\n // \n get: function () {\n var _this = this;\n return { value: this.value, onChange: function (e) { return _this.set(e.target.value); } };\n },\n enumerable: true,\n configurable: true\n });\n // DEPRECATED: Old React method for backward compatibility\n Link.prototype.requestChange = function (x) {\n this.set(x);\n };\n // Immediately update the link value using given transform function.\n Link.prototype.update = function (transform, e) {\n var next = transform(this.clone(), e);\n next === void 0 || this.set(next);\n };\n // Create new link which applies transform function on set.\n Link.prototype.pipe = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n var next = handler(x, _this.value);\n next === void 0 || _this.set(next);\n });\n };\n // Create UI event handler function which will update the link with a given transform function.\n Link.prototype.action = function (transform) {\n var _this = this;\n return function (e) { return _this.update(transform, e); };\n };\n Link.prototype.equals = function (truthyValue) {\n return new EqualsLink(this, truthyValue);\n };\n Link.prototype.enabled = function (defaultValue) {\n return new EnabledLink(this, defaultValue || \"\");\n };\n // Array-only links methods\n Link.prototype.contains = function (element) {\n return new ContainsLink(this, element);\n };\n Link.prototype.push = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.push.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.unshift = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.unshift.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.splice = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.splice.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.map = function (iterator) {\n return helpers(this.value).map(this, iterator);\n };\n Link.prototype.removeAt = function (key) {\n var value = this.value, _ = helpers(value);\n this.set(_.remove(_.clone(value), key));\n };\n Link.prototype.at = function (key) {\n return new LinkAt(this, key);\n };\n Link.prototype.clone = function () {\n var value = this.value;\n return helpers(value).clone(value);\n };\n Link.prototype.pick = function () {\n var links = {};\n for (var i = 0; i < arguments.length; i++) {\n var key = arguments[i];\n links[key] = new LinkAt(this, key);\n }\n return links;\n };\n /**\n * Validate link with validness predicate and optional custom error object. Can be chained.\n */\n Link.prototype.check = function (whenValid, error) {\n if (!this.error && !whenValid(this.value)) {\n this.error = error || whenValid.error || defaultError;\n }\n return this;\n };\n return Link;\n}());\nexport { Link };\nvar CustomLink = (function (_super) {\n __extends(CustomLink, _super);\n function CustomLink(value, set) {\n var _this = _super.call(this, value) || this;\n _this.set = set;\n return _this;\n }\n CustomLink.prototype.set = function (x) { };\n return CustomLink;\n}(Link));\nexport { CustomLink };\nvar CloneLink = (function (_super) {\n __extends(CloneLink, _super);\n function CloneLink(parent, set) {\n var _this = _super.call(this, parent.value) || this;\n _this.set = set;\n var error = parent.error;\n if (error)\n _this.error = error;\n return _this;\n }\n CloneLink.prototype.set = function (x) { };\n return CloneLink;\n}(Link));\nexport { CloneLink };\nvar EqualsLink = (function (_super) {\n __extends(EqualsLink, _super);\n function EqualsLink(parent, truthyValue) {\n var _this = _super.call(this, parent.value === truthyValue) || this;\n _this.parent = parent;\n _this.truthyValue = truthyValue;\n return _this;\n }\n EqualsLink.prototype.set = function (x) {\n this.parent.set(x ? this.truthyValue : null);\n };\n return EqualsLink;\n}(Link));\nexport { EqualsLink };\nvar EnabledLink = (function (_super) {\n __extends(EnabledLink, _super);\n function EnabledLink(parent, defaultValue) {\n var _this = _super.call(this, parent.value != null) || this;\n _this.parent = parent;\n _this.defaultValue = defaultValue;\n return _this;\n }\n EnabledLink.prototype.set = function (x) {\n this.parent.set(x ? this.defaultValue : null);\n };\n return EnabledLink;\n}(Link));\nexport { EnabledLink };\nvar ContainsLink = (function (_super) {\n __extends(ContainsLink, _super);\n function ContainsLink(parent, element) {\n var _this = _super.call(this, parent.value.indexOf(element) >= 0) || this;\n _this.parent = parent;\n _this.element = element;\n return _this;\n }\n ContainsLink.prototype.set = function (x) {\n var _this = this;\n var next = Boolean(x);\n if (this.value !== next) {\n var arr = this.parent.value, nextValue = x ? arr.concat(this.element) : arr.filter(function (el) { return el !== _this.element; });\n this.parent.set(nextValue);\n }\n };\n return ContainsLink;\n}(Link));\nexport { ContainsLink };\nvar defaultError = 'Invalid value';\n/**\n * Link to array or object element enclosed in parent link.\n * Performs purely functional update of the parent, shallow copying its value on `set`.\n */\nvar LinkAt = (function (_super) {\n __extends(LinkAt, _super);\n function LinkAt(parent, key) {\n var _this = _super.call(this, parent.value[key]) || this;\n _this.parent = parent;\n _this.key = key;\n return _this;\n }\n LinkAt.prototype.remove = function () {\n this.parent.removeAt(this.key);\n };\n // Set new element value to parent array or object, performing purely functional update.\n LinkAt.prototype.set = function (x) {\n var _this = this;\n if (this.value !== x) {\n this.parent.update(function (value) {\n value[_this.key] = x;\n return value;\n });\n }\n };\n ;\n return LinkAt;\n}(Link));\nexport { LinkAt };\n//# sourceMappingURL=link.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/valuelink/link.js\n// module id = 19\n// module chunks = 0","\"use strict\";\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/fbjs/lib/emptyFunction.js\n// module id = 20\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (process.env.NODE_ENV !== 'production') {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/fbjs/lib/invariant.js\n// module id = 21\n// module chunks = 0","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n'use strict';\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\nvar invariant = require('fbjs/lib/invariant');\n\nmodule.exports = function() {\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n function shim() {\n invariant(\n false,\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim\n };\n\n ReactPropTypes.checkPropTypes = emptyFunction;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/prop-types/factoryWithThrowingShims.js\n// module id = 22\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///dist/index.min.js","webpack:///webpack/bootstrap ba6be5a29f458ec49d69","webpack:///external {\"commonjs\":\"nestedtypes\",\"commonjs2\":\"nestedtypes\",\"amd\":\"nestedtypes\",\"root\":\"Nested\"}","webpack:///./lib/react-mvx/index.js","webpack:///./lib/react-mvx/define/typeSpecs.js","webpack:///external {\"commonjs\":\"react\",\"commonjs2\":\"react\",\"amd\":\"react\",\"root\":\"React\"}","webpack:///./~/prop-types/index.js","webpack:///external {\"commonjs\":\"react-dom\",\"commonjs2\":\"react-dom\",\"amd\":\"react-dom\",\"root\":\"ReactDOM\"}","webpack:///./lib/react-mvx/define/index.js","webpack:///./lib/react-mvx/define/state.js","webpack:///./lib/component-view.js","webpack:///./lib/createClass.js","webpack:///./lib/view-element.js","webpack:///./lib/index.js","webpack:///./lib/react-mvx/component.js","webpack:///./lib/react-mvx/define/common.js","webpack:///./lib/react-mvx/define/context.js","webpack:///./lib/react-mvx/define/props.js","webpack:///./lib/react-mvx/define/pureRender.js","webpack:///./lib/react-mvx/define/store.js","webpack:///./lib/react-mvx/link.js","webpack:///./lib/react-mvx/valuelink/helpers.js","webpack:///./lib/react-mvx/valuelink/link.js","webpack:///./~/fbjs/lib/emptyFunction.js","webpack:///./~/fbjs/lib/invariant.js","webpack:///./~/prop-types/factoryWithThrowingShims.js"],"names":["root","factory","exports","module","require","define","amd","this","__WEBPACK_EXTERNAL_MODULE_0__","__WEBPACK_EXTERNAL_MODULE_3__","__WEBPACK_EXTERNAL_MODULE_5__","modules","__webpack_require__","moduleId","installedModules","i","l","call","m","c","value","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","__webpack_exports__","assignToState","__WEBPACK_IMPORTED_MODULE_0_react__","__WEBPACK_IMPORTED_MODULE_1_type_r__","__WEBPACK_IMPORTED_MODULE_2__define__","__WEBPACK_IMPORTED_MODULE_3__link__","__WEBPACK_IMPORTED_MODULE_4__component__","ReactMVx","create","default","mixins","Node","Element","Link","Component","key","prop","state","assignFrom","_a","collectSpecs","spec","attributes","length","mixin","mixinAttrs","assign","specAttrs","compileSpecs","props","defaults","watchers","changeHandlers","propTypes","modelProto","forEachAttr","_attributes","type","options","translateType","isRequired","_onChange","toLocalWatcher","changeEvents","handlers","changeEvents_1","push","next","prev","component","stopListening","listenTo","_changeEventName","asyncUpdate","convert","ref","Type","T","_translateType","Number","integer","__WEBPACK_IMPORTED_MODULE_0_prop_types__","String","Boolean","Array","Function","process","baseProto","__WEBPACK_IMPORTED_MODULE_0__store__","__WEBPACK_IMPORTED_MODULE_1__state__","__WEBPACK_IMPORTED_MODULE_2__context__","__WEBPACK_IMPORTED_MODULE_4__props__","__WEBPACK_IMPORTED_MODULE_3__common__","__WEBPACK_IMPORTED_MODULE_5__typeSpecs__","__WEBPACK_IMPORTED_MODULE_0__typeSpecs__","State","BaseModel","StateMixin","UpdateOnNestedChangesMixin","componentWillMount","__keepState","_owner","_ownerKey","context","_nestedStore","getStore","_archetypeStore","_defaultStore","componentWillUnmount","_preventDispose","dispose","_onChildrenChange","componentDidMount","use","View","setElement","ComponentView","extend","reactClass","element","initialize","unmountComponent","apply","arguments","prevState","resize","window","Page","forceResize","render","__WEBPACK_IMPORTED_MODULE_2_type_r__","fastAssign","__WEBPACK_IMPORTED_MODULE_1_react_dom___default","a","el","mountComponent","trigger","keepModel","unmountComponentAtNode","__WEBPACK_IMPORTED_MODULE_1_react_dom__","createClass","statics","a_spec","__rest","methods","Subclass","__WEBPACK_IMPORTED_MODULE_0__react_mvx__","__assign","constructor","_i","methods_1","method","bind","Proto","dontAutobind","indexOf","t","e","getOwnPropertySymbols","__extends","extendStatics","setPrototypeOf","__proto__","b","__","notEqual","BackboneView","_super","_this","saveRef","shouldComponentUpdate","hasUnsavedChanges","view","createElement","className","_mountView","componentDidUpdate","_dispose","appendChild","off","innerHTML","useView","BaseView","__WEBPACK_IMPORTED_MODULE_5__component_view__","__WEBPACK_IMPORTED_MODULE_2_type_r___default","__WEBPACK_IMPORTED_MODULE_3_prop_types__","__WEBPACK_IMPORTED_MODULE_4__view_element__","__WEBPACK_IMPORTED_MODULE_6__createClass__","NestedReact","subview","protoProps","staticProps","RecordProto","getLink","linkAt","deepLink","linkPath","CollectionProto","Collection","hasLink","linkContains","BackboneViewProps","findDOMNode","$el","$","sel","find","defineProperties","__decorate","decorators","target","desc","r","getOwnPropertyDescriptor","Reflect","decorate","reactMixinRules","componentWillReceiveProps","componentWillUpdate","store","childContext","getChildContext","linkAll","staticsDefinition","getBaseClass","getChangedStatics","combinedDefinition","definition","getDefaultProps","contextTypes","childContextTypes","protoDefinition","defaultProps","x","_disposed","compile","CommonMixin","returnFalse","forceUpdate","__WEBPACK_IMPORTED_MODULE_0_type_r__","transaction","fun","isRoot","_b","_context","_c","_childContext","pureRender","_props","_listenToPropsArray","_listenToPropsHash","allProps","_e","defaults_1","unshift","WatchersMixin","_watchers","ChangeHandlersMixin","_changeHandlers","__WEBPACK_IMPORTED_MODULE_1__pureRender__","handlePropsChanges","name_1","handler","name_2","name_3","createPureRenderMixin","ctorBody","isChangedBody","propExpr","ChangeTokens","join","isChanged","_changeTokens","nextProps","ExternalStoreMixin","Store","InternalStoreMixin","__WEBPACK_IMPORTED_MODULE_2__state__","ExposeStoreMixin","getLinksCache","record","_links","Attributes","cacheLink","links","cached","RecordLink","__WEBPACK_IMPORTED_MODULE_1__valuelink_link__","mixTo","path","RecordDeepLink","attr","set","_error","getValidationError","deepGet","deepValidationError","_changeToken","deepSet","CollectionLink","collection","_byId","cid","toggle","helpers","getPrototypeOf","ArrayProto","arrayHelpers","ObjectProto","objectHelpers","dummyHelpers","clone","map","link","remove","iterator","mapped","at","cloned","array","slice","splice","j","y","__WEBPACK_IMPORTED_MODULE_0__helpers__","CustomLink","error","onChange","CloneLink","requestChange","update","transform","pipe","action","equals","truthyValue","EqualsLink","enabled","defaultValue","EnabledLink","contains","ContainsLink","removeAt","_","LinkAt","pick","check","whenValid","defaultError","parent","arr","nextValue","concat","filter","makeEmptyFunction","arg","emptyFunction","thatReturns","thatReturnsFalse","thatReturnsTrue","thatReturnsNull","thatReturnsThis","thatReturnsArgument","invariant","condition","format","f","validateFormat","undefined","Error","args","argIndex","replace","framesToPop","shim","getShim","ReactPropTypes","bool","func","number","string","symbol","any","arrayOf","instanceOf","node","objectOf","oneOf","oneOfType","shape","checkPropTypes","PropTypes"],"mappings":"CAAA,SAAAA,EAAAC,GACA,gBAAAC,UAAA,gBAAAC,QACAA,OAAAD,QAAAD,EAAAG,QAAA,eAAAA,QAAA,SAAAA,QAAA,cACA,kBAAAC,gBAAAC,IACAD,QAAA,mCAAAJ,GACA,gBAAAC,SACAA,QAAA,MAAAD,EAAAG,QAAA,eAAAA,QAAA,SAAAA,QAAA,cAEAJ,EAAA,MAAAC,EAAAD,EAAA,OAAAA,EAAA,MAAAA,EAAA,WACCO,KAAA,SAAAC,EAAAC,EAAAC,GACD,MCAgB,UAAUC,GCN1B,QAAAC,GAAAC,GAGA,GAAAC,EAAAD,GACA,MAAAC,GAAAD,GAAAX,OAGA,IAAAC,GAAAW,EAAAD,IACAE,EAAAF,EACAG,GAAA,EACAd,WAUA,OANAS,GAAAE,GAAAI,KAAAd,EAAAD,QAAAC,IAAAD,QAAAU,GAGAT,EAAAa,GAAA,EAGAb,EAAAD,QAvBA,GAAAY,KA+DA,OAnCAF,GAAAM,EAAAP,EAGAC,EAAAO,EAAAL,EAGAF,EAAAG,EAAA,SAAAK,GAA2C,MAAAA,IAG3CR,EAAAS,EAAA,SAAAnB,EAAAoB,EAAAC,GACAX,EAAAY,EAAAtB,EAAAoB,IACAG,OAAAC,eAAAxB,EAAAoB,GACAK,cAAA,EACAC,YAAA,EACAC,IAAAN,KAMAX,EAAAkB,EAAA,SAAA3B,GACA,GAAAoB,GAAApB,KAAA4B,WACA,WAA2B,MAAA5B,GAAA,SAC3B,WAAiC,MAAAA,GAEjC,OADAS,GAAAS,EAAAE,EAAA,IAAAA,GACAA,GAIAX,EAAAY,EAAA,SAAAQ,EAAAC,GAAsD,MAAAR,QAAAS,UAAAC,eAAAlB,KAAAe,EAAAC,IAGtDrB,EAAAwB,EAAA,GAGAxB,IAAAyB,EAAA,MDgBM,SAAUlC,EAAQD,GEhFxBC,EAAAD,QAAAM,GFsFM,SAAUL,EAAQmC,EAAqB1B,GAE7C,YAC+BA,GAAoBS,EAAEiB,EAAqB,IAAK,WAAa,MAAOC,IAC9E,IAAIC,GAAsC5B,EAAoB,GAE1D6B,GAD8C7B,EAAoBkB,EAAEU,GAC7B5B,EAAoB,IAE3D8B,GAD+C9B,EAAoBkB,EAAEW,GAC7B7B,EAAoB,IAC5D+B,EAAsC/B,EAAoB,IAC1DgC,EAA2ChC,EAAoB,GACpDA,GAAoBY,EAAEiB,EAAsC,WAAW7B,EAAoBS,EAAEiB,EAAqB,IAAK,WAAa,MAAOG,GAA6C,SACxL7B,EAAoBY,EAAEiB,EAAsC,WAAW7B,EAAoBS,EAAEiB,EAAqB,IAAK,WAAa,MAAOG,GAA6C,SAC3L7B,EAAoBS,EAAEiB,EAAqB,IAAK,WAAa,MAAOI,GAAyC,IAC7G9B,EAAoBS,EAAEiB,EAAqB,IAAK,WAAa,MAAOI,GAAyC,IAC7G9B,EAAoBS,EAAEiB,EAAqB,IAAK,WAAa,MAAOK,GAAuC,IAC3G/B,EAAoBS,EAAEiB,EAAqB,IAAK,WAAa,MAAOM,GAA4C,GGhGjJ,IAAAC,GAAApB,OAAAqB,OAAAN,EAEAK,GAAAE,QAAAF,EAEAA,EAAAxC,OAAAoC,EAAA,OACAI,EAAAG,OAAAP,EAAA,OACAI,EAAAI,KAAAP,EAAA,EAAAtB,MAAA,MACAyB,EAAAK,QAAAR,EAAA,EAAAtB,MAAA,MACAyB,EAAAM,KAAAR,EAAA,EACAE,EAAAO,UAAAR,EAAA,CACA,IAAAL,GAAAM,EAAAN,cAAA,SAAAc,GACA,gBAAAC,GACA/C,KAAAgD,MAAAC,YAAAC,KAAsCA,EAAAJ,GAAAC,eAAAX,GAAA,EAAAW,EAAAlC,MAAAkC,EAAAG,GACtC,IAAAA,IAGAnB,GAAA,KH6GM,SAAUnC,EAAQmC,EAAqB1B,GAE7C,YInIA,SAAA8C,GAAAC,EAAArC,GAGA,OAFAsC,GAAA,KAEA7C,EAAA4C,EAAAX,OAAAa,OAAA,EAAwC9C,GAAA,EAAQA,IAAA,CAChD,GAAA+C,GAAAH,EAAAX,OAAAjC,GAAAgD,EAAAD,EAAAxC,EACAyC,KACAH,UACAnB,EAAA,MAAAuB,OAAAJ,EAAAG,IAIA,GAAAE,GAAAN,EAAArC,EASA,OARA2C,KACAL,EACAnB,EAAA,MAAAuB,OAAAJ,EAAAK,GAGAL,EAAAK,GAGAL,EAEA,QAAAM,GAAAC,GACA,GAGAC,GAAAC,EAAAC,EAHAC,KAEAC,EAAA/B,EAAA,OAAA2B,SAAAD,GAAAjC,SAkCA,OAhCAsC,GAAAC,YAAAD,EAAAE,YAAA,SAAAf,EAAArC,GAEA,UAAAA,EAAA,CACA,GAAAF,GAAAuC,EAAAvC,MAAAuD,EAAAhB,EAAAgB,KAAAC,EAAAjB,EAAAiB,OAaA,IAXAL,EAAAjD,GAAAuD,EAAAF,EAAAC,EAAAE,YACAF,EAAAG,YACAV,UACAA,EAAA/C,GAAA0D,EAAAJ,EAAAG,YAGAH,EAAAN,gBAAAM,EAAAN,eAAAT,SACAS,UACAA,EAAAhD,GAAAsD,EAAAN,gBAGAM,EAAAK,aAAA,CACAX,SACA,IAAAY,GAAAZ,EAAAhD,KAAAgD,EAAAhD,OAAA6D,EAAA,gBAAAP,GAAAK,aAAAL,EAAAK,aAAA,IACAC,GAAAE,KAAA,SAAAC,EAAAC,EAAAC,GACAD,GAAAC,EAAAC,cAAAF,GACAD,GAAAE,EAAAE,SAAAJ,EAAAF,GAAAE,EAAAK,iBAAAH,EAAAI,mBAIA,KAAAvE,IAEAgD,UACAA,EAAA9C,GAAAqC,EAAAiC,QAAAxE,QAIYmD,YAAAH,WAAAC,WAAAC,kBAEZ,QAAAU,GAAAa,GACA,wBAAAA,KAAA,SAAAzE,EAAAE,GACAf,KAAAsF,IAAAtF,KAAAsF,GAAAzE,EAAAE,IAeA,QAAAuD,GAAAiB,EAAAhB,GACA,GAAAiB,GAAAC,EAAAF,EACA,OAAAhB,GAAAiB,EAAAjB,WAAAiB,EAEA,QAAAC,GAAAF,GACA,OAAAA,GACA,IAAAG,QACA,IAAAA,QAAAC,QACA,MAAAC,GAAA,MACA,KAAAC,QACA,MAAAD,GAAA,MACA,KAAAE,SACA,MAAAF,GAAA,IACA,KAAAG,OACA,MAAAH,GAAA,KACA,KAAAI,UACA,MAAAJ,GAAA,IACA,KAAA1E,QACA,MAAA0E,GAAA,MACA,KAAAlD,GACA,MAAAkD,GAAA,IACA,KAAAjD,GACA,MAAAiD,GAAA,OACA,aACA,UACA,MAAAA,GAAA,GACA,SACA,MAAAA,GAAA,WAAAL,IJ2BiCxD,EAAuB,EAAIoB,EAC3BpB,EAAuB,EAAI4B,EAC7BtD,EAAoBS,EAAEiB,EAAqB,IAAK,WAAa,MAAOW,KACpErC,EAAoBS,EAAEiB,EAAqB,IAAK,WAAa,MAAOY,IAC9E,IAAIiD,GAA2CvF,EAAoB,GAE/D6B,GADmD7B,EAAoBkB,EAAEqE,GAClCvF,EAAoB,IIxEpFqC,GJyEwErC,EAAoBkB,EAAEW,GIzE9F,WACA,QAAAQ,MAEA,MAAAA,OAGAC,EAAA,WACA,QAAAA,MAEA,MAAAA,OJmLM,SAAU/C,EAAQD,GKhQxBC,EAAAD,QAAAO,GLsQM,SAAUN,EAAQD,EAASU,GM1OjCT,EAAAD,QAAAU,EAAA,ON8QM,SAAUT,EAAQD,GO1SxBC,EAAAD,QAAAQ,GPgTM,SAAUP,EAAQmC,EAAqB1B,GAE7C,YQ7SA,SAAA4F,GAAA7C,EAAA8C,GASA,WARA,KAAAA,IAA+BA,MAE/B9C,EAAAX,SAAAW,EAAAX,WACApC,EAAAG,EAAA2F,EAAA,GAAA/C,EAAA8C,GACA7F,EAAAG,EAAA4F,EAAA,GAAAhD,EAAA8C,GACA7F,EAAAG,EAAA6F,EAAA,GAAAjD,EAAA8C,GACA7F,EAAAG,EAAA8F,EAAA,GAAAlD,EAAA8C,GACA7F,EAAAG,EAAA+F,EAAA,GAAAnD,EAAA8C,GACA9C,ERqSiCrB,EAAuB,EAAIkE,CACvC,IAAIE,GAAuC9F,EAAoB,IAC3D+F,EAAuC/F,EAAoB,GAC3DgG,EAAyChG,EAAoB,IAC7DkG,EAAwClG,EAAoB,IAC5DiG,EAAuCjG,EAAoB,IAC3DmG,EAA2CnG,EAAoB,EACvDA,GAAoBS,EAAEiB,EAAqB,IAAK,WAAa,MAAOyE,GAA4C,IAChHnG,EAAoBS,EAAEiB,EAAqB,IAAK,WAAa,MAAOyE,GAA4C,KAuB3I,SAAU5G,EAAQmC,EAAqB1B,GAE7C,YS/UA,SAAA4F,GAAA7C,EAAA8C,GAEA,GAAA7C,GAAAhD,EAAAG,EAAAiG,EAAA,GAAArD,EAAA,QACA,IAAAC,GAAA6C,EAAAQ,MAAA,CACA,GAAAC,GAAAT,EAAAQ,OAAAxE,EAAA,MACAkB,GAAAsD,MAAArD,EAAA,kBAAAA,KAAAsD,EAAA9C,SAAAR,GAAAsD,EACAvD,EAAAX,OAAAoC,KAAA+B,GACAxD,EAAAX,OAAAoC,KAAAgC,SACAzD,GAAAJ,YACAI,GAAAC,YTuUiCtB,EAAuB,EAAIkE,EAC7B5F,EAAoBS,EAAEiB,EAAqB,IAAK,WAAa,MAAO6E,KACpEvG,EAAoBS,EAAEiB,EAAqB,IAAK,WAAa,MAAO8E,IAC9E,IAAIJ,GAA2CpG,EAAoB,GSxVxF6B,EAAA7B,EAAA,GAiBAuG,GAjBAvG,EAAAkB,EAAAW,IAmBA4E,mBAAA,WAEA,GAAA9D,GAAAhD,KAAAgD,MAAAhD,KAAA4D,MAAAmD,aAAA,GAAA/G,MAAA0G,KAEA1D,GAAAgE,OAAAhH,KACAgD,EAAAiE,UAAA,SAEAC,SACAC,aAAAjF,EAAA,OAGAkF,SAAA,WAGA,GAAAF,GAAAlE,CACA,QAAAkE,EAAAlH,KAAAkH,YAAAG,kBACArE,EAAAhD,KAAAgD,UAAAsE,eAEAC,qBAAA,WACA,GAAAvE,GAAAhD,KAAAgD,KACAA,GAAAgE,OAAAhE,EAAAiE,cAAA,GACAjH,KAAAwH,iBAAAxE,EAAAyE,UACAzH,KAAAgD,UAAA,MAGA6D,GACAa,kBAAA,aACAC,kBAAA,WACA3H,KAAA0H,kBAAA1H,KAAAoF,eTkWM,SAAUxF,EAAQmC,EAAqB1B,GAE7C,YU/YA,SAAAuH,GAAAC,GACA,GAAAJ,GAAAI,EAAAlG,UAAA8F,SAAA,aAA2DK,EAAAD,EAAAlG,UAAAmG,WAC3DC,EAAAF,EAAAG,QACAC,WAAA,KACArE,SACAsE,QAAA,KACAC,WAAA,SAAAvE,GAEA5D,KAAAqE,QAAAT,OAEAkE,WAAA,WAEA,MADA9H,MAAAoI,kBAAA,GACAN,EAAAO,MAAArI,KAAAsI,YAGAtD,UAAA,KACAuD,UAAA,KACAC,OAAA,WACAC,OAAAC,KAAAC,eAEAC,OAAA,WACA,GAAAvE,GAAArE,KAAAuI,UAAAM,EAAA,MAAAC,YAA6D/B,YAAA/G,KAAAuI,WAA8BvI,KAAAqE,SAAArE,KAAAqE,QAAA6D,EAAAjG,EAAA,cAAAjC,KAAAiI,WAAA5D,GAAAW,EAAA+D,EAAAC,EAAAJ,OAAAV,EAAAlI,KAAAiJ,GAC3FjJ,MAAAgF,WAAAhF,KAAAkJ,eAAAlE,IAEAkE,eAAA,SAAAlE,GACAhF,KAAAgF,YACAhF,KAAAuI,UAAA,KACAvD,EAAAmE,SAAAnJ,KAAAkF,SAAAF,EAAA,iBACAhF,KAAAmJ,QAAAd,MAAArI,KAAAsI,cAGAF,iBAAA,SAAAgB,GACA,GAAApE,GAAAhF,KAAAgF,SACAA,KACAhF,KAAAuI,UAAAvD,EAAAhC,MACAgC,EAAAmE,SACAnJ,KAAAiF,cAAAD,GAEAA,EAAAwC,gBAAA1B,QAAAsD,GACAL,EAAAC,EAAAK,uBAAArJ,KAAAiJ,IACAjJ,KAAAgF,UAAA,OAGAyC,QAAA,WAEA,MADAzH,MAAAoI,mBACAX,EAAAY,MAAArI,KAAAsI,aASA,OANApH,QAAAC,eAAA4G,EAAApG,UAAA,SACAL,IAAA,WAEA,MADAtB,MAAAgF,WAAAhF,KAAA4I,SACA5I,KAAAgF,WAAAhF,KAAAgF,UAAAhC,SAGA+E,EV0ViChG,EAAuB,EAAI6F,CACvC,IAAI3F,GAAsC5B,EAAoB,GAE1DiJ,GAD8CjJ,EAAoBkB,EAAEU,GAC1B5B,EAAoB,IAC9D0I,EAAkD1I,EAAoBkB,EAAE+H,GACxET,EAAuCxI,EAAoB,EACZA,GAAoBkB,EAAEsH,EUvZ9FJ,QAAAC,OAAAD,OAAAC,MAA+BC,YAAA,gBVwdzB,SAAU/I,EAAQmC,EAAqB1B,GAE7C,YWlcA,SAAAkJ,GAAArG,GACA,GAAAsG,GAAAtG,EAAAsG,QAAAC,EAAAC,EAAAxG,GAAA,YAEAyG,KACAC,EAAAC,EAAA,EAAA7B,OAAA8B,GAEAC,YAAA,WACAF,EAAA,EAAAxB,MAAArI,UAAAsI,UACA,QAAA0B,GAAA,EAAAC,EAAAN,EAAiDK,EAAAC,EAAA3G,OAAuB0G,IAAA,CACxE,GAAAE,GAAAD,EAAAD,EACAhK,MAAAkK,GAAAlK,KAAAkK,GAAAC,KAAAnK,SAEWyJ,GAAAD,GAEXY,EAAAR,EAAAjI,SACA,QAAAmB,KAAAsH,GACAA,EAAAxI,eAAAkB,KAAA,IAAAuH,EAAAC,QAAAxH,IAAA,kBAAAsH,GAAAtH,IACA6G,EAAA9E,KAAA/B,EAGA,OAAA8G,GX+aiC7H,EAAuB,EAAIwH,CW9d5D,IAAAM,GAAAxJ,EAAA,GAAAyJ,EAAA9J,WAAA8J,UAAA5I,OAAAuC,QAAA,SAAA8G,GACA,OAAAzI,GAAAtB,EAAA,EAAAe,EAAA+G,UAAAhF,OAA4C9C,EAAAe,EAAOf,IAAA,CACnDsB,EAAAwG,UAAA9H,EACA,QAAAqB,KAAAC,GAAAZ,OAAAS,UAAAC,eAAAlB,KAAAoB,EAAAD,KACA0I,EAAA1I,GAAAC,EAAAD,IAEA,MAAA0I,IAEAb,EAAA1J,WAAA0J,QAAA,SAAA5H,EAAA0I,GACA,GAAAD,KACA,QAAA1I,KAAAC,GAAAZ,OAAAS,UAAAC,eAAAlB,KAAAoB,EAAAD,IAAA2I,EAAAF,QAAAzI,GAAA,IACA0I,EAAA1I,GAAAC,EAAAD,GACA,UAAAC,GAAA,kBAAAZ,QAAAuJ,sBACA,OAAAjK,GAAA,EAAAqB,EAAAX,OAAAuJ,sBAAA3I,GAA4DtB,EAAAqB,EAAAyB,OAAc9C,IAAAgK,EAAAF,QAAAzI,EAAArB,IAAA,IAC1E+J,EAAA1I,EAAArB,IAAAsB,EAAAD,EAAArB,IACA,OAAA+J,IAGAF,GACA,8BACA,6FACA,kEACA,+CX+fM,SAAUzK,EAAQmC,EAAqB1B,GAE7C,YACqB,IAAIwJ,GAA2CxJ,EAAoB,GYxhBxF6B,EAAA7B,EAAA,GAAAqK,GAAArK,EAAAkB,EAAAW,GAAAlC,WAAA0K,WAAA,WACA,GAAAC,GAAAzJ,OAAA0J,iBACUC,uBAAgB9E,QAAA,SAAAjF,EAAAgK,GAAsChK,EAAA+J,UAAAC,IAChE,SAAAhK,EAAAgK,GAAyB,OAAAjJ,KAAAiJ,KAAAlJ,eAAAC,KAAAf,EAAAe,GAAAiJ,EAAAjJ,IACzB,iBAAAf,EAAAgK,GAEA,QAAAC,KAAuB/K,KAAA+J,YAAAjJ,EADvB6J,EAAA7J,EAAAgK,GAEAhK,EAAAa,UAAA,OAAAmJ,EAAA5J,OAAAqB,OAAAuI,IAAAC,EAAApJ,UAAAmJ,EAAAnJ,UAAA,GAAAoJ,SAKAC,EAAA9I,EAAA,MAAA8I,SACAC,EAAA,SAAAC,GAEA,QAAAD,KACA,GAAAE,GAAA,OAAAD,KAAA7C,MAAArI,KAAAsI,YAAAtI,IAIA,OAHAmL,GAAAC,QAAA,SAAAlD,GACAiD,EAAA1L,KAAAyI,GAEAiD,EA8CA,MApDAT,GAAAO,EAAAC,GAQAD,EAAAtJ,UAAA0J,sBAAA,SAAAvG,GACA,GAAAlB,GAAA5D,KAAA4D,KACA,OAAAkB,GAAA+C,OAAAjE,EAAAiE,MAAAmD,EAAAlG,EAAAT,QAAAT,EAAAS,UAEA4G,EAAAtJ,UAAA2J,kBAAA,WACA,GAAAC,GAAAvL,KAAAuL,IACA,OAAAA,KAAA,kBAAAA,GAAAD,kBAAAC,EAAAD,oBAAAC,EAAAD,oBAEAL,EAAAtJ,UAAAiH,OAAA,WACA,MAAAiB,GAAA,EAAA2B,cAAA,OACAlG,IAAAtF,KAAAoL,QACAK,UAAAzL,KAAA4D,MAAA6H,aAGAR,EAAAtJ,UAAAgG,kBAAA,WACA3H,KAAA0L,cAEAT,EAAAtJ,UAAAgK,mBAAA,WACA3L,KAAA4L,WACA5L,KAAA0L,cAEAT,EAAAtJ,UAAA4F,qBAAA,WACAvH,KAAA4L,YAEAX,EAAAtJ,UAAA+J,WAAA,WACA,GAAAzC,GAAAjJ,KAAAP,KAAAoC,EAAA7B,KAAA4D,MACA2H,EAAAvL,KAAAuL,KAAA1J,EAAAwC,QAAA,GAAAxC,GAAAgG,KAAAhG,EAAAwC,SAAA,GAAAxC,GAAAgG,IACAoB,GAAA4C,YAAAN,EAAAtC,IACAsC,EAAA3C,UAEAqC,EAAAtJ,UAAAiK,SAAA,WACA,GAAAL,GAAAvL,KAAAuL,IACAA,KACAA,EAAA9D,QACA8D,EAAA9D,WAGA8D,EAAAtG,gBACAsG,EAAAO,OAEA9L,KAAAP,KAAAsM,UAAA,GACA/L,KAAAuL,KAAA,OAGAN,GACCpB,EAAA,EAAAhH,UACDd,GAAA,KZgiBM,SAAUnC,EAAQmC,EAAqB1B,GAE7C,YanlBA,SAAA2L,GAAAnE,GACAoE,EAAA5L,EAAAG,EAAA0L,EAAA,GAAArE,GbmlBA3G,OAAOC,eAAeY,EAAqB,cAAgBlB,OAAO,IACjCkB,EAA6B,QAAIiK,CAC7C,IAAInC,GAA2CxJ,EAAoB,EACzCA,GAAoBS,EAAEiB,EAAqB,SAAU,WAAa,MAAO8H,GAA4C,IACrHxJ,EAAoBS,EAAEiB,EAAqB,SAAU,WAAa,MAAO8H,GAA4C,IACrHxJ,EAAoBS,EAAEiB,EAAqB,OAAQ,WAAa,MAAO8H,GAA4C,IACnHxJ,EAAoBS,EAAEiB,EAAqB,UAAW,WAAa,MAAO8H,GAA4C,IACtHxJ,EAAoBS,EAAEiB,EAAqB,OAAQ,WAAa,MAAO8H,GAA4C,IACnHxJ,EAAoBS,EAAEiB,EAAqB,YAAa,WAAa,MAAO8H,GAA4C,IACxHxJ,EAAoBS,EAAEiB,EAAqB,gBAAiB,WAAa,MAAO8H,GAA4C,GACtJ,IAAIP,GAA0CjJ,EAAoB,GAC9D0I,EAAkD1I,EAAoBkB,EAAE+H,GACxET,EAAuCxI,EAAoB,GAC3D8L,EAA+C9L,EAAoBkB,EAAEsH,GACrEuD,EAA2C/L,EAAoB,GAE/DgM,GADmDhM,EAAoBkB,EAAE6K,GAC3B/L,EAAoB,IAC1DA,GAAoBS,EAAEiB,EAAqB,UAAW,WAAa,MAAOsK,GAA+C,GACrI,IAAIH,GAAgD7L,EAAoB,GACpEiM,EAA6CjM,EAAoB,EACnDA,GAAoBS,EAAEiB,EAAqB,YAAa,WAAa,MAAOqK,Ka3nBnH/L,EAAAS,EAAAiB,EAAA,+BAAAuK,GAAA,GAEA,IAAAC,GAAArL,OAAAqB,OAAAsH,EAAA,Eb8nB6B9H,GAA6B,QAAI,EatnB9DwK,EAAAC,QAAAH,EAAA,EAIAE,EAAAhD,YAAA+C,EAAA,EACApL,OAAAC,eAAAoL,EAAA,aAAiD1L,MAAAuL,GAEjD,IAAAH,GAKAnM,EAAAyM,EAAA1J,UAAA/C,MACAyM,GAAA1J,UAAA/C,OAAA,SAAA2M,EAAAC,GAEA,MADA1M,MAAA6H,KAAAoE,EAAAjE,QAAiCC,WAAAjI,OACjCF,EAAAY,KAAAV,KAAAyM,EAAAC,GAGA,IAAAC,GAAA9D,EAAA,OAAAlH,SACAgL,GAAAC,QAAAD,EAAAE,OACAF,EAAAG,SAAAH,EAAAI,QACA,IAAAC,GAAAnE,EAAA,OAAAoE,WAAAtL,SACAqL,GAAAE,QAAAF,EAAAG,aACAnB,EAAAnD,EAAA,KAEA,IAAAuE,IACAnE,IAAS3H,IAAA,WAAmB,MAAAyH,GAAAC,EAAAqE,YAAArN,QAC5BsN,KAAUhM,IAAA,WAAmB,MAAA6K,GAAAnD,EAAAuE,EAAAvN,KAAAiJ,MAC7BsE,GAAQ1M,MAAA,SAAA2M,GAAwB,MAAAxN,MAAAsN,IAAAG,KAAAD,KAEhCtM,QAAAwM,iBAAAnB,EAAA1J,UAAAlB,UAAAyL,IbkoBM,SAAUxN,EAAQmC,EAAqB1B,GAE7C,YAC+BA,GAAoBS,EAAEiB,EAAqB,IAAK,WAAa,MAAOc,IAC9E,IAAIZ,GAAsC5B,EAAoB,GAE1D6B,GAD8C7B,EAAoBkB,EAAEU,GAC7B5B,EAAoB,IchrBpF8B,GdirBwE9B,EAAoBkB,EAAEW,GcjrB9F7B,EAAA,IAGAqK,EAAA1K,WAAA0K,WAAA,WACA,GAAAC,GAAAzJ,OAAA0J,iBACUC,uBAAgB9E,QAAA,SAAAjF,EAAAgK,GAAsChK,EAAA+J,UAAAC,IAChE,SAAAhK,EAAAgK,GAAyB,OAAAjJ,KAAAiJ,KAAAlJ,eAAAC,KAAAf,EAAAe,GAAAiJ,EAAAjJ,IACzB,iBAAAf,EAAAgK,GAEA,QAAAC,KAAuB/K,KAAA+J,YAAAjJ,EADvB6J,EAAA7J,EAAAgK,GAEAhK,EAAAa,UAAA,OAAAmJ,EAAA5J,OAAAqB,OAAAuI,IAAAC,EAAApJ,UAAAmJ,EAAAnJ,UAAA,GAAAoJ,QAGA4C,EAAA3N,WAAA2N,YAAA,SAAAC,EAAAC,EAAA/K,EAAAgL,GACA,GAAAhN,GAAAF,EAAA0H,UAAAhF,OAAAyK,EAAAnN,EAAA,EAAAiN,EAAA,OAAAC,IAAA5M,OAAA8M,yBAAAH,EAAA/K,GAAAgL,CACA,oBAAAG,UAAA,kBAAAA,SAAAC,SAAAH,EAAAE,QAAAC,SAAAN,EAAAC,EAAA/K,EAAAgL,OACA,QAAAtN,GAAAoN,EAAAtK,OAAA,EAA4C9C,GAAA,EAAQA,KAAAM,EAAA8M,EAAApN,MAAAuN,GAAAnN,EAAA,EAAAE,EAAAiN,GAAAnN,EAAA,EAAAE,EAAA+M,EAAA/K,EAAAiL,GAAAjN,EAAA+M,EAAA/K,KAAAiL,EACpD,OAAAnN,GAAA,GAAAmN,GAAA7M,OAAAC,eAAA0M,EAAA/K,EAAAiL,MAEArE,EAAA1J,WAAA0J,QAAA,SAAA5H,EAAA0I,GACA,GAAAD,KACA,QAAA1I,KAAAC,GAAAZ,OAAAS,UAAAC,eAAAlB,KAAAoB,EAAAD,IAAA2I,EAAAF,QAAAzI,GAAA,IACA0I,EAAA1I,GAAAC,EAAAD,GACA,UAAAC,GAAA,kBAAAZ,QAAAuJ,sBACA,OAAAjK,GAAA,EAAAqB,EAAAX,OAAAuJ,sBAAA3I,GAA4DtB,EAAAqB,EAAAyB,OAAc9C,IAAAgK,EAAAF,QAAAzI,EAAArB,IAAA,IAC1E+J,EAAA1I,EAAArB,IAAAsB,EAAAD,EAAArB,IACA,OAAA+J,IAKA4D,GACArH,mBAAA,UACAa,kBAAA,UACAyG,0BAAA,UACA/C,sBAAA,OACAgD,oBAAA,UACA1C,mBAAA,UACApE,qBAAA,WACAvE,MAAA,QACAsL,MAAA,QACA1K,MAAA,QACAsD,QAAA,QACAqH,aAAA,QACAC,gBAAA,iBAEA3L,EAAA,SAAAqI,GAEA,QAAArI,KACA,cAAAqI,KAAA7C,MAAArI,KAAAsI,YAAAtI,KA6BA,MA/BA0K,GAAA7H,EAAAqI,GAIArI,EAAAlB,UAAAkL,OAAA,SAAA/J,GAEA,MAAA9C,MAAAgD,MAAA6J,OAAA/J,IAEAD,EAAAlB,UAAA8M,QAAA,WAEA,MAAAzO,MAAAgD,MAAAyL,QAAApG,MAAArI,KAAAsI,YAEAzF,EAAA/C,OAAA,SAAA2M,EAAAC,GACA,GAAAgC,IAAAxM,EAAA,MAAAyM,aAAA3O,MAAAkC,EAAA,MAAA0M,kBAAA5O,KAAA,gEAAA6O,EAAA3M,EAAA,MAAAuB,OAAAiL,EAAAjC,OACAqC,EAAAzO,EAAAG,EAAA2B,EAAA,GAAA0M,EAAA7O,KAAA2B,WACAoN,EAAAD,EAAAC,gBAAA/K,EAAA8K,EAAA9K,UAAAgL,EAAAF,EAAAE,aAAAC,EAAAH,EAAAG,kBAAAC,EAAAxF,EAAAoF,GAAA,kEAUA,OATAC,KACA/O,KAAAmP,aAAAL,EAAAC,mBACA/K,IACAhE,KAAAgE,aACAgL,IACAhP,KAAAgP,gBACAC,IACAjP,KAAAiP,qBACA/M,EAAA,QAAApC,OAAAY,KAAAV,KAAAkP,EAAAxC,GACA1M,MAEA6C,EAAAlB,UAAAK,cAAA,SAAAoN,EAAAtM,GACA9C,KAAAgD,MAAAC,YAAAC,KAAsCA,EAAAJ,GAAAsM,EAAAlM,GACtC,IAAAA,IAEAL,GACCZ,EAAA,UACDY,GAAA8K,GACAzL,EAAA,WACA7B,EAAAG,EAAA0B,EAAA,YAAAiM,IACAtL,GAIA3B,OAAAC,eAAA0B,EAAAlB,UAAA,aACAd,MAAA,WACA,OAAAb,KAAAqP,cd0rBM,SAAUzP,EAAQmC,EAAqB1B,GAE7C,YejxBA,SAAAiP,GAAAlM,EAAA8C,GAEA9C,EAAAX,OAAAoC,KAAA0K,GAEA,QAAAnK,KACApF,KAAAqL,wBAAAmE,GAAAxP,KAAAqP,WAAArP,KAAAyP,cAEA,QAAAD,KAAwB,Sf2wBSzN,EAAuB,EAAIuN,CetxB5D,IAAAI,GAAArP,EAAA,GAeAkP,GAfAlP,EAAAkB,EAAAmO,GAeAA,EAAA,MAAAjM,QACA8D,qBAAA,WAEAvH,KAAA8L,MACA9L,KAAAiF,gBAEAjF,KAAAqP,WAAA,GAGAjK,cAQAuK,YAAA,SAAAC,GACA,GAAAvE,GAAArL,KAAAqL,sBAAAwE,EAAAxE,IAAAmE,CACAK,KACA7P,KAAAqL,sBAAAmE,GAEAI,EAAA5P,KAAA4D,MAAA5D,KAAAgD,OACA6M,IACA7P,KAAAqL,wBACArL,KAAAoF,iBAGCsK,EAAA,Uf+xBK,SAAU9P,EAAQmC,EAAqB1B,GAE7C,YgBn0BA,SAAA4F,GAAA7C,EAAAF,GACA,GAAA4M,GAAA5M,EAAA6M,eAAA,KAAAD,KAAuDA,EAAAE,EAAA9M,EAAA+M,oBAAA,KAAAD,KAAgEA,EAEvH9I,EAAA7G,EAAAG,EAAAiG,EAAA,GAAArD,EAAA,UACA8D,KACA9D,EAAA2M,SAAAjG,KAAmCiG,EAAA7I,GACnC9D,EAAA4L,aAAA3O,EAAAG,EAAAiG,EAAA,GAAAS,GAAAlD,gBACAZ,GAAA8D,QAGA,IAAAqH,GAAAlO,EAAAG,EAAAiG,EAAA,GAAArD,EAAA,eACAmL,KACAnL,EAAA6M,cAAAnG,KAAwCmG,EAAA1B,GACxCnL,EAAA6L,kBAAA5O,EAAAG,EAAAiG,EAAA,GAAA8H,GAAAvK,gBACAZ,GAAAmL,chBszBiCxM,EAAuB,EAAIkE,CgB70B5D,IAAAQ,GAAApG,EAAA,GAAAyJ,EAAA9J,WAAA8J,UAAA5I,OAAAuC,QAAA,SAAA8G,GACA,OAAAzI,GAAAtB,EAAA,EAAAe,EAAA+G,UAAAhF,OAA4C9C,EAAAe,EAAOf,IAAA,CACnDsB,EAAAwG,UAAA9H,EACA,QAAAqB,KAAAC,GAAAZ,OAAAS,UAAAC,eAAAlB,KAAAoB,EAAAD,KACA0I,EAAA1I,GAAAC,EAAAD,IAEA,MAAA0I,KhBu2BM,SAAU3K,EAAQmC,EAAqB1B,GAE7C,YiBh2BA,SAAA4F,GAAA7C,EAAAF,GACA,GAAAgN,GAAAhN,EAAAgN,WAAAJ,EAAA5M,EAAAiN,aAAA,KAAAL,KAA+EA,EAE/ElM,GAF+EV,EAAAkN,oBAAAlN,EAAAmN,mBAE/EhQ,EAAAG,EAAAiG,EAAA,GAAArD,EAAA,SACA,IAAAQ,EAAA,CACA,GAAA0M,GAAAlN,EAAA+M,OAAArG,KAAgDqG,EAAAvM,GAChD2M,EAAAlQ,EAAAG,EAAAiG,EAAA,GAAA6J,GAAAtM,EAAAuM,EAAAvM,UAAAwM,EAAAD,EAAA1M,SAAAC,EAAAyM,EAAAzM,SAAAC,EAAAwM,EAAAxM,cACAX,GAAAY,YACAwM,IACApN,EAAA2L,gBAAA,WAAgD,MAAAyB,KAChD1M,IACAV,EAAAX,OAAAgO,QAAAC,GACAtN,EAAAuN,UAAA7M,GAEAC,IACAX,EAAAX,OAAAgO,QAAAG,GACAxN,EAAAyN,gBAAA9M,SAEAX,GAAAQ,MAGAR,EAAA+M,SAAA/M,EAAA8M,gBACA9M,EAAAX,OAAAoC,KAAAxE,EAAAG,EAAAsQ,EAAA,GAAA1N,EAAA+M,SAkBA,QAAAY,GAAA/L,EAAAD,EAAAD,GACA,GAAA+L,GAAA7L,EAAA6L,eACA,QAAAG,KAAAH,GACA,GAAA9L,EAAAiM,KAAAlM,EAAAkM,GACA,OAAAhH,GAAA,EAAA9G,EAAA2N,EAAAG,GAA0DhH,EAAA9G,EAAAI,OAAgB0G,IAAA,CAC1E,GAAAiH,GAAA/N,EAAA8G,EACAiH,GAAAnM,EAAAkM,GAAAjM,EAAAiM,GAAAhM,IjBmzBiCjD,EAAuB,EAAIkE,CACvC,IAAIQ,GAA2CpG,EAAoB,GiBj3BxFyQ,EAAAzQ,EAAA,IAKAyJ,EAAA9J,WAAA8J,UAAA5I,OAAAuC,QAAA,SAAA8G,GACA,OAAAzI,GAAAtB,EAAA,EAAAe,EAAA+G,UAAAhF,OAA4C9C,EAAAe,EAAOf,IAAA,CACnDsB,EAAAwG,UAAA9H,EACA,QAAAqB,KAAAC,GAAAZ,OAAAS,UAAAC,eAAAlB,KAAAoB,EAAAD,KACA0I,EAAA1I,GAAAC,EAAAD,IAEA,MAAA0I,IAiCAqG,GACAjJ,kBAAA,WACAoJ,EAAA/Q,QAAmCA,KAAA4D,QAEnC+H,mBAAA,SAAA5G,GACAgM,EAAA/Q,KAAA+E,EAAA/E,KAAA4D,QAEA2D,qBAAA,WACAwJ,EAAA/Q,UAAA4D,YAkBA8M,GACAtC,0BAAA,SAAAtJ,GACA,GAAA5B,GAAAlD,KAAA2Q,EAAAzN,EAAAyN,UAAA/M,EAAAV,EAAAU,KACA,QAAAsN,KAAAP,GACA7L,EAAAoM,KAAAtN,EAAAsN,IACAP,EAAAO,GAAAxQ,KAAAV,KAAA8E,EAAAoM,OAIApK,mBAAA,WACA,GAAA5D,GAAAlD,KAAA2Q,EAAAzN,EAAAyN,UAAA/M,EAAAV,EAAAU,KACA,QAAAuN,KAAAR,GACAA,EAAAQ,GAAAzQ,KAAAV,KAAA4D,EAAAuN,SjB23BM,SAAUvR,EAAQmC,EAAqB1B,GAE7C,YkB/8BA,SAAA+Q,GAAAxN,GACA,GAAAyN,IAAA,wCAA2BC,GAAA,iDAC3B,QAAAN,KAAApN,GAAA,CACA,GAAA2N,GAAA,aAAAP,EAAA,4BACAK,GAAAxM,KAAA,QAAAmM,EAAA,KAAAO,GACAD,EAAAzM,KAAA,KAAAmM,EAAA,SAAAO,EAAA,KAEA,GAAAC,GAAA,GAAAxL,UAAA,QAAAqL,EAAAI,KAAA,MAA8DC,EAAA,GAAA1L,UAAA,YAAAsL,EAAAG,KAAA,MAE9D,OADAD,GAAA7P,UAAA,MAEAgQ,cAAA,KACAtG,sBAAA,SAAAuG,GACA,MAAAF,GAAA1R,KAAA2R,cAAAC,EAAA5R,KAAAgD,QAEA2E,kBAAA,WACA3H,KAAA2R,cAAA,GAAAH,GAAAxR,KAAA4D,MAAA5D,KAAAgD,QAEA2I,mBAAA,WACA3L,KAAA2R,cAAA,GAAAH,GAAAxR,KAAA4D,MAAA5D,KAAAgD,SlB87BiCjB,EAAuB,EAAIqP,GA4BtD,SAAUxR,EAAQmC,EAAqB1B,GAE7C,YmB3+BA,SAAA4F,GAAA7C,EAAA8C,GACA,GAAAoI,GAAAjO,EAAAG,EAAAiG,EAAA,GAAArD,EAAA,QACAkL,WACAlL,GAAAkL,MACAA,YAAApM,GAAA,OAEAkB,EAAAkL,QACAlL,EAAAX,OAAAoC,KAAAgN,KAGAzO,EAAA0O,MAAAxD,EACAlL,EAAAX,OAAAoC,KAAAkN,GACA3O,EAAAX,OAAAoC,KAAAmN,EAAA,IAEA5O,EAAAX,OAAAoC,KAAAoN,InB89BiClQ,EAAuB,EAAIkE,CACvC,IAAIQ,GAA2CpG,EAAoB,GAC/D6B,EAAuC7B,EAAoB,GAE3D2R,GAD+C3R,EAAoBkB,EAAEW,GAC9B7B,EAAoB,ImB59BpF4R,GACA1D,cACApH,aAAAjF,EAAA,OAEAsM,gBAAA,WACA,OAAgBrH,aAAAnH,KAAAsO,QAEhBlH,SAAA,WACA,MAAApH,MAAAsO,OAGAhN,IAAA,SAAAwB,GAEA,GAAAwL,GAAA0D,EAAA,EAAA5K,SAAA1G,KAAAV,KAAA8C,EACA,OAAAwL,MAAAhN,IAAAwB,KAOA+O,GACAlK,kBAAA,WAEA3H,KAAAkF,SAAAlF,KAAAsO,MAAA,SAAAtO,KAAAoF,eAGA2M,GACAjL,mBAAA,WACA,GAAAwH,GAAAtO,KAAAsO,MAAA,GAAAtO,MAAA8R,KACAxD,GAAAtH,OAAAhH,KACAsO,EAAArH,UAAA,SAEAM,qBAAA,WACAvH,KAAAsO,MAAArH,UAAAjH,KAAAsO,MAAAtH,WAAA,GACAhH,KAAAsO,MAAA7G,UACAzH,KAAAsO,UAAA,MnB2/BM,SAAU1O,EAAQmC,EAAqB1B,GAE7C,YoBz8BA,SAAA6R,GAAAC,GACA,MAAAA,GAAAC,SAAAD,EAAAC,OAAA,GAAAD,GAAAE,gBAEA,QAAAC,GAAAC,EAAAJ,EAAArP,GACA,GAAA0P,GAAAD,EAAAzP,GAAAjC,EAAAsR,EAAArP,EACA,OAAA0P,MAAA3R,UAAA2R,EACAD,EAAAzP,GAAA,GAAA2P,GAAAN,EAAArP,EAAAjC,GpBo8BqB,GAAI6O,GAAuCrP,EAAoB,GoBzjCpFqS,GpB0jCwErS,EAAoBkB,EAAEmO,GoB1jC9FrP,EAAA,KAIAqK,EAAA1K,WAAA0K,WAAA,WACA,GAAAC,GAAAzJ,OAAA0J,iBACUC,uBAAgB9E,QAAA,SAAAjF,EAAAgK,GAAsChK,EAAA+J,UAAAC,IAChE,SAAAhK,EAAAgK,GAAyB,OAAAjJ,KAAAiJ,KAAAlJ,eAAAC,KAAAf,EAAAe,GAAAiJ,EAAAjJ,IACzB,iBAAAf,EAAAgK,GAEA,QAAAC,KAAuB/K,KAAA+J,YAAAjJ,EADvB6J,EAAA7J,EAAAgK,GAEAhK,EAAAa,UAAA,OAAAmJ,EAAA5J,OAAAqB,OAAAuI,IAAAC,EAAApJ,UAAAmJ,EAAAnJ,UAAA,GAAAoJ,OAKAhJ,GAAA,EAAA2Q,EAAA,EACAhD,EAAA,QAAAiD,MAAAD,EAAA,GAIAhD,EAAA,OAAAjN,QAEAoK,OAAA,SAAA/J,GACA,MAAAwP,GAAAJ,EAAAlS,WAAA8C,IAGAiK,SAAA,SAAA6F,EAAAvO,GACA,UAAAwO,GAAA7S,KAAA4S,EAAAvO,IAGAoK,QAAA,WACA,GAAA8D,GAAAL,EAAAlS,KACA,IAAAsI,UAAAhF,OACA,OAAA9C,GAAA,EAA2BA,EAAA8H,UAAAhF,OAAsB9C,IACjD8R,EAAAC,EAAAvS,KAAAsI,UAAA9H,QAGA,CACA,GAAA6C,GAAArD,KAAAqD,UACA,QAAAP,KAAAO,OACA,KAAAA,EAAAP,IAAAwP,EAAAC,EAAAvS,KAAA8C,GAGA,MAAAyP,KAQA,IAAAE,GAAA,SAAAvH,GAEA,QAAAuH,GAAAN,EAAAW,EAAAjS,GACA,GAAAsK,GAAAD,EAAAxK,KAAAV,KAAAa,IAAAb,IAGA,OAFAmL,GAAAgH,SACAhH,EAAA2H,OACA3H,EAiBA,MAtBAT,GAAA+H,EAAAvH,GAOAuH,EAAA9Q,UAAAoR,IAAA,SAAA3D,GACApP,KAAAmS,OAAAnS,KAAA8S,MAAA1D,GAEAlO,OAAAC,eAAAsR,EAAA9Q,UAAA,SACAL,IAAA,WACA,gBAAAtB,KAAAgT,OACAhT,KAAAmS,OAAAc,mBAAAjT,KAAA8S,MACA9S,KAAAgT,QAEAD,IAAA,SAAA3D,GACApP,KAAAgT,OAAA5D,GAEA/N,YAAA,EACAD,cAAA,IAEAqR,GACCC,EAAA,GACDG,EAAA,SAAA3H,GAEA,QAAA2H,GAAAV,EAAAS,EAAAvO,GACA,GAAA8G,GAAAD,EAAAxK,KAAAV,KAAAmS,EAAAe,QAAAN,KAAA5S,IAIA,OAHAmL,GAAAgH,SACAhH,EAAAyH,OACAzH,EAAA9G,UACA8G,EAyBA,MA/BAT,GAAAmI,EAAA3H,GAQAhK,OAAAC,eAAA0R,EAAAlR,UAAA,SACAL,IAAA,WAIA,WAHA,KAAAtB,KAAAgT,SACAhT,KAAAgT,OAAAhT,KAAAmS,OAAAgB,oBAAAnT,KAAA4S,OAAA,MAEA5S,KAAAgT,QAEAD,IAAA,SAAA3D,GACApP,KAAAgT,OAAA5D,GAEA/N,YAAA,EACAD,cAAA,IAEAF,OAAAC,eAAA0R,EAAAlR,UAAA,gBACAL,IAAA,WACA,MAAAtB,MAAAmS,OAAAiB,cAEA/R,YAAA,EACAD,cAAA,IAEAyR,EAAAlR,UAAAoR,IAAA,SAAA3D,GACApP,KAAAmS,OAAAkB,QAAArT,KAAA4S,KAAAxD,EAAApP,KAAAqE,UAEAwO,GACCH,EAAA,EAYDhD,GAAA,OAAAzC,WAAAxK,QAEA0K,aAAA,SAAAgF,GACA,UAAAmB,GAAAtT,KAAAmS,IAGAtF,OAAA,SAAA9J,GACA,GAAAoI,GAAAnL,IACA,OAAA0S,GAAA,EAAA7R,MAAAb,KAAA+C,GAAA,SAAAqM,GAAoD,MAAAjE,GAAApI,GAAAqM,MAQpD,IAAAkE,GAAA,SAAApI,GAEA,QAAAoI,GAAAC,EAAApB,GACA,GAAAhH,GAAAD,EAAAxK,KAAAV,KAAA8F,QAAAyN,EAAAC,MAAArB,EAAAsB,QAAAzT,IAGA,OAFAmL,GAAAoI,aACApI,EAAAgH,SACAhH,EAKA,MAVAT,GAAA4I,EAAApI,GAOAoI,EAAA3R,UAAAoR,IAAA,SAAA3D,GACApP,KAAAuT,WAAAG,OAAA1T,KAAAmS,OAAA/C,IAEAkE,GACCZ,EAAA,IpBikCK,SAAU9S,EAAQmC,EAAqB1B,GAE7C,YqBxtCA,SAAAsT,GAAA9S,GACA,GAAAA,GAAA,gBAAAA,GACA,OAAAK,OAAA0S,eAAA/S,IACA,IAAAgT,GAAA,MAAAC,EACA,KAAAC,GAAA,MAAAC,GAGA,MAAAC,GrBktCiClS,EAAuB,EAAI4R,EqB1tC5DtT,EAAAS,EAAAiB,EAAA,qBAAA+R,IAAA,IAAAD,GAAA9N,MAAApE,UAAAoS,EAAA7S,OAAAS,UAWAsS,GACAC,MAAA,SAAArT,GAA6B,MAAAA,IAC7BsT,IAAA,SAAAC,EAAAxE,GAA+B,UAC/ByE,OAAA,SAAAxT,GAA8B,MAAAA,KAG9BmT,GAEAG,IAAA,SAAAC,EAAAE,GACA,GAAAC,KACA,QAAAzR,KAAAsR,GAAAvT,MAAA,CACA,GAAAqH,GAAAoM,EAAAF,EAAAI,GAAA1R,UACA,KAAAoF,GAAAqM,EAAA1P,KAAAqD,GAEA,MAAAqM,IAEAF,OAAA,SAAA5S,EAAAqB,GAEA,aADArB,GAAAqB,GACArB,GAGAyS,MAAA,SAAAzS,GACA,GAAAgT,KACA,QAAA3R,KAAArB,GACAgT,EAAA3R,GAAArB,EAAAqB,EAEA,OAAA2R,KAIAX,GAEAI,MAAA,SAAAQ,GACA,MAAAA,GAAAC,SAEAN,OAAA,SAAAK,EAAAlU,GAEA,MADAkU,GAAAE,OAAApU,EAAA,GACAkU,GAGAP,IAAA,SAAAC,EAAAE,GAEA,OADAhR,GAAA8Q,EAAAvT,MAAAyC,OAAAiR,EAAAxO,MAAAzC,GACA9C,EAAA,EAAAqU,EAAA,EAA8BrU,EAAA8C,EAAY9C,IAAA,CAC1C,GAAAsU,GAAAR,EAAAF,EAAAI,GAAAhU,UACA,KAAAsU,IAAAP,EAAAM,KAAAC,GAGA,MADAP,GAAAjR,SAAAuR,IAAAN,EAAAjR,OAAAuR,GACAN,KrBouCM,SAAU3U,EAAQmC,EAAqB1B,GAE7C,YAC+BA,GAAoBS,EAAEiB,EAAqB,IAAK,WAAa,MAAOa,IsBjyCnG,IAAAmS,GAAA1U,EAAA,IAAAqK,EAAA1K,WAAA0K,WAAA,WACA,GAAAC,GAAAzJ,OAAA0J,iBACUC,uBAAgB9E,QAAA,SAAAjF,EAAAgK,GAAsChK,EAAA+J,UAAAC,IAChE,SAAAhK,EAAAgK,GAAyB,OAAAjJ,KAAAiJ,KAAAlJ,eAAAC,KAAAf,EAAAe,GAAAiJ,EAAAjJ,IACzB,iBAAAf,EAAAgK,GAEA,QAAAC,KAAuB/K,KAAA+J,YAAAjJ,EADvB6J,EAAA7J,EAAAgK,GAEAhK,EAAAa,UAAA,OAAAmJ,EAAA5J,OAAAqB,OAAAuI,IAAAC,EAAApJ,UAAAmJ,EAAAnJ,UAAA,GAAAoJ,QAUAnI,EAAA,WAEA,QAAAA,GAAA/B,GACAb,KAAAa,QA0GA,MAvGA+B,GAAA/B,MAAA,SAAAA,EAAAkS,GACA,UAAAiC,GAAAnU,EAAAkS,IAEA7R,OAAAC,eAAAyB,EAAAjB,UAAA,mBAEAL,IAAA,WAA0B,MAAAtB,MAAAiV,OAC1B5T,YAAA,EACAD,cAAA,IAEAwB,EAAAjB,UAAAuT,SAAA,SAAAjE,GACA,GAAA9F,GAAAnL,IACA,WAAAmV,GAAAnV,KAAA,SAAAoP,GACA6B,EAAA7B,GACAjE,EAAA4H,IAAA3D,MAGAlO,OAAAC,eAAAyB,EAAAjB,UAAA,SAEAL,IAAA,WACA,GAAA6J,GAAAnL,IACA,QAAoBa,MAAAb,KAAAa,MAAAqU,SAAA,SAAA1K,GAA4C,MAAAW,GAAA4H,IAAAvI,EAAAqD,OAAAhN,UAEhEQ,YAAA,EACAD,cAAA,IAGAwB,EAAAjB,UAAAyT,cAAA,SAAAhG,GACApP,KAAA+S,IAAA3D,IAGAxM,EAAAjB,UAAA0T,OAAA,SAAAC,EAAA9K,GACA,GAAA1F,GAAAwQ,EAAAtV,KAAAkU,QAAA1J,OACA,KAAA1F,GAAA9E,KAAA+S,IAAAjO,IAGAlC,EAAAjB,UAAA4T,KAAA,SAAAtE,GACA,GAAA9F,GAAAnL,IACA,WAAAmV,GAAAnV,KAAA,SAAAoP,GACA,GAAAtK,GAAAmM,EAAA7B,EAAAjE,EAAAtK,WACA,KAAAiE,GAAAqG,EAAA4H,IAAAjO,MAIAlC,EAAAjB,UAAA6T,OAAA,SAAAF,GACA,GAAAnK,GAAAnL,IACA,iBAAAwK,GAA6B,MAAAW,GAAAkK,OAAAC,EAAA9K,KAE7B5H,EAAAjB,UAAA8T,OAAA,SAAAC,GACA,UAAAC,GAAA3V,KAAA0V,IAEA9S,EAAAjB,UAAAiU,QAAA,SAAAC,GACA,UAAAC,GAAA9V,KAAA6V,GAAA,KAGAjT,EAAAjB,UAAAoU,SAAA,SAAA7N,GACA,UAAA8N,GAAAhW,KAAAkI,IAEAtF,EAAAjB,UAAAkD,KAAA,WACA,GAAA6P,GAAAK,EAAA,EAAAb,MAAAlU,KAAAa,MACAkF,OAAApE,UAAAkD,KAAAwD,MAAAqM,EAAApM,WACAtI,KAAA+S,IAAA2B,IAEA9R,EAAAjB,UAAA8O,QAAA,WACA,GAAAiE,GAAAK,EAAA,EAAAb,MAAAlU,KAAAa,MACAkF,OAAApE,UAAA8O,QAAApI,MAAAqM,EAAApM,WACAtI,KAAA+S,IAAA2B,IAEA9R,EAAAjB,UAAAiT,OAAA,WACA,GAAAF,GAAAK,EAAA,EAAAb,MAAAlU,KAAAa,MACAkF,OAAApE,UAAAiT,OAAAvM,MAAAqM,EAAApM,WACAtI,KAAA+S,IAAA2B,IAEA9R,EAAAjB,UAAAwS,IAAA,SAAAG,GACA,MAAAjU,GAAAG,EAAAuU,EAAA,GAAA/U,KAAAa,OAAAsT,IAAAnU,KAAAsU,IAEA1R,EAAAjB,UAAAsU,SAAA,SAAAnT,GACA,GAAAjC,GAAAb,KAAAa,MAAAqV,EAAA7V,EAAAG,EAAAuU,EAAA,GAAAlU,EACAb,MAAA+S,IAAAmD,EAAA7B,OAAA6B,EAAAhC,MAAArT,GAAAiC,KAEAF,EAAAjB,UAAA6S,GAAA,SAAA1R,GACA,UAAAqT,GAAAnW,KAAA8C,IAEAF,EAAAjB,UAAAuS,MAAA,WACA,GAAArT,GAAAb,KAAAa,KACA,OAAAR,GAAAG,EAAAuU,EAAA,GAAAlU,GAAAqT,MAAArT,IAEA+B,EAAAjB,UAAAyU,KAAA,WAEA,OADA7D,MACA/R,EAAA,EAAuBA,EAAA8H,UAAAhF,OAAsB9C,IAAA,CAC7C,GAAAsC,GAAAwF,UAAA9H,EACA+R,GAAAzP,GAAA,GAAAqT,GAAAnW,KAAA8C,GAEA,MAAAyP,IAKA3P,EAAAjB,UAAA0U,MAAA,SAAAC,EAAArB,GAIA,MAHAjV,MAAAiV,OAAAqB,EAAAtW,KAAAa,SACAb,KAAAiV,SAAAqB,EAAArB,OAAAsB,GAEAvW,MAEA4C,KAGAoS,EAAA,SAAA9J,GAEA,QAAA8J,GAAAnU,EAAAkS,GACA,GAAA5H,GAAAD,EAAAxK,KAAAV,KAAAa,IAAAb,IAEA,OADAmL,GAAA4H,MACA5H,EAGA,MAPAT,GAAAsK,EAAA9J,GAMA8J,EAAArT,UAAAoR,IAAA,SAAA3D,KACA4F,GACCpS,GAEDuS,EAAA,SAAAjK,GAEA,QAAAiK,GAAAqB,EAAAzD,GACA,GAAA5H,GAAAD,EAAAxK,KAAAV,KAAAwW,EAAA3V,QAAAb,IACAmL,GAAA4H,KACA,IAAAkC,GAAAuB,EAAAvB,KAGA,OAFAA,KACA9J,EAAA8J,SACA9J,EAGA,MAVAT,GAAAyK,EAAAjK,GASAiK,EAAAxT,UAAAoR,IAAA,SAAA3D,KACA+F,GACCvS,GAED+S,EAAA,SAAAzK,GAEA,QAAAyK,GAAAa,EAAAd,GACA,GAAAvK,GAAAD,EAAAxK,KAAAV,KAAAwW,EAAA3V,QAAA6U,IAAA1V,IAGA,OAFAmL,GAAAqL,SACArL,EAAAuK,cACAvK,EAKA,MAVAT,GAAAiL,EAAAzK,GAOAyK,EAAAhU,UAAAoR,IAAA,SAAA3D,GACApP,KAAAwW,OAAAzD,IAAA3D,EAAApP,KAAA0V,YAAA,OAEAC,GACC/S,GAEDkT,EAAA,SAAA5K,GAEA,QAAA4K,GAAAU,EAAAX,GACA,GAAA1K,GAAAD,EAAAxK,KAAAV,KAAA,MAAAwW,EAAA3V,QAAAb,IAGA,OAFAmL,GAAAqL,SACArL,EAAA0K,eACA1K,EAKA,MAVAT,GAAAoL,EAAA5K,GAOA4K,EAAAnU,UAAAoR,IAAA,SAAA3D,GACApP,KAAAwW,OAAAzD,IAAA3D,EAAApP,KAAA6V,aAAA,OAEAC,GACClT,GAEDoT,EAAA,SAAA9K,GAEA,QAAA8K,GAAAQ,EAAAtO,GACA,GAAAiD,GAAAD,EAAAxK,KAAAV,KAAAwW,EAAA3V,MAAAyJ,QAAApC,IAAA,IAAAlI,IAGA,OAFAmL,GAAAqL,SACArL,EAAAjD,UACAiD,EAUA,MAfAT,GAAAsL,EAAA9K,GAOA8K,EAAArU,UAAAoR,IAAA,SAAA3D,GACA,GAAAjE,GAAAnL,KACA8E,EAAAgB,QAAAsJ,EACA,IAAApP,KAAAa,QAAAiE,EAAA,CACA,GAAA2R,GAAAzW,KAAAwW,OAAA3V,MAAA6V,EAAAtH,EAAAqH,EAAAE,OAAA3W,KAAAkI,SAAAuO,EAAAG,OAAA,SAAA3N,GAA8G,MAAAA,KAAAkC,EAAAjD,SAC9GlI,MAAAwW,OAAAzD,IAAA2D,KAGAV,GACCpT,GAED2T,EAAA,gBAKAJ,EAAA,SAAAjL,GAEA,QAAAiL,GAAAK,EAAA1T,GACA,GAAAqI,GAAAD,EAAAxK,KAAAV,KAAAwW,EAAA3V,MAAAiC,KAAA9C,IAGA,OAFAmL,GAAAqL,SACArL,EAAArI,MACAqI,EAgBA,MArBAT,GAAAyL,EAAAjL,GAOAiL,EAAAxU,UAAA0S,OAAA,WACArU,KAAAwW,OAAAP,SAAAjW,KAAA8C,MAGAqT,EAAAxU,UAAAoR,IAAA,SAAA3D,GACA,GAAAjE,GAAAnL,IACAA,MAAAa,QAAAuO,GACApP,KAAAwW,OAAAnB,OAAA,SAAAxU,GAEA,MADAA,GAAAsK,EAAArI,KAAAsM,EACAvO,KAKAsV,GACCvT,ItB+yCK,SAAUhD,EAAQD,EAASU,GAEjC,YuBzgDA,SAAAwW,GAAAC,GACA,kBACA,MAAAA,IASA,GAAAC,GAAA,YAEAA,GAAAC,YAAAH,EACAE,EAAAE,iBAAAJ,GAAA,GACAE,EAAAG,gBAAAL,GAAA,GACAE,EAAAI,gBAAAN,EAAA,MACAE,EAAAK,gBAAA,WACA,MAAApX,OAEA+W,EAAAM,oBAAA,SAAAP,GACA,MAAAA,IAGAlX,EAAAD,QAAAoX,GvB2hDM,SAAUnX,EAAQD,EAASU,GAEjC,YwBjiDA,SAAAiX,GAAAC,EAAAC,EAAAxO,EAAA8B,EAAAlK,EAAAE,EAAA0J,EAAAiN,GAGA,GAFAC,EAAAF,IAEAD,EAAA,CACA,GAAAtC,EACA,QAAA0C,KAAAH,EACAvC,EAAA,GAAA2C,OAAA,qIACK,CACL,GAAAC,IAAA7O,EAAA8B,EAAAlK,EAAAE,EAAA0J,EAAAiN,GACAK,EAAA,CACA7C,GAAA,GAAA2C,OAAAJ,EAAAO,QAAA,iBACA,MAAAF,GAAAC,QAEA7C,EAAAlU,KAAA,sBAIA,KADAkU,GAAA+C,YAAA,EACA/C,GA3BA,GAAAyC,GAAA,SAAAF,IA+BA5X,GAAAD,QAAA2X,GxBukDM,SAAU1X,EAAQD,EAASU,GAEjC,YyBpnDA,IAAA0W,GAAA1W,EAAA,IACAiX,EAAAjX,EAAA,GAEAT,GAAAD,QAAA,WAGA,QAAAsY,KACAX,GACA,EACA,mLAMA,QAAAY,KACA,MAAAD,GAFAA,EAAA1T,WAAA0T,CAIA,IAAAE,IACAzD,MAAAuD,EACAG,KAAAH,EACAI,KAAAJ,EACAK,OAAAL,EACAxW,OAAAwW,EACAM,OAAAN,EACAO,OAAAP,EAEAQ,IAAAR,EACAS,QAAAR,EACAhQ,QAAA+P,EACAU,WAAAT,EACAU,KAAAX,EACAY,SAAAX,EACAY,MAAAZ,EACAa,UAAAb,EACAc,MAAAd,EAMA,OAHAC,GAAAc,eAAAlC,EACAoB,EAAAe,UAAAf,EAEAA","file":"./dist/index.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"nestedtypes\"), require(\"react\"), require(\"react-dom\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"nestedtypes\", \"react\", \"react-dom\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"React\"] = factory(require(\"nestedtypes\"), require(\"react\"), require(\"react-dom\"));\n\telse\n\t\troot[\"React\"] = factory(root[\"Nested\"], root[\"React\"], root[\"ReactDOM\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_3__, __WEBPACK_EXTERNAL_MODULE_5__) {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"nestedtypes\"), require(\"react\"), require(\"react-dom\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"nestedtypes\", \"react\", \"react-dom\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"React\"] = factory(require(\"nestedtypes\"), require(\"react\"), require(\"react-dom\"));\n\telse\n\t\troot[\"React\"] = factory(root[\"Nested\"], root[\"React\"], root[\"ReactDOM\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_3__, __WEBPACK_EXTERNAL_MODULE_5__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\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// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\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, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\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 = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 11);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_0__;\n\n/***/ }),\n/* 1 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"h\", function() { return assignToState; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__define__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__link__ = __webpack_require__(18);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__component__ = __webpack_require__(12);\n/* harmony reexport (binding) */ if(__webpack_require__.o(__WEBPACK_IMPORTED_MODULE_1_type_r__, \"define\")) __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_1_type_r__[\"define\"]; });\n/* harmony reexport (binding) */ if(__webpack_require__.o(__WEBPACK_IMPORTED_MODULE_1_type_r__, \"mixins\")) __webpack_require__.d(__webpack_exports__, \"c\", function() { return __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixins\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return __WEBPACK_IMPORTED_MODULE_2__define__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return __WEBPACK_IMPORTED_MODULE_2__define__[\"b\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return __WEBPACK_IMPORTED_MODULE_3__link__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"g\", function() { return __WEBPACK_IMPORTED_MODULE_4__component__[\"a\"]; });\n\n\n\n\n\n// extend React namespace\nvar ReactMVx = Object.create(__WEBPACK_IMPORTED_MODULE_0_react__);\n// Make it compatible with ES6 module format.\nReactMVx.default = ReactMVx;\n// listenToProps, listenToState, model, attributes, Model\nReactMVx.define = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"define\"];\nReactMVx.mixins = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixins\"];\nReactMVx.Node = __WEBPACK_IMPORTED_MODULE_2__define__[\"a\" /* Node */].value(null);\nReactMVx.Element = __WEBPACK_IMPORTED_MODULE_2__define__[\"b\" /* Element */].value(null);\nReactMVx.Link = __WEBPACK_IMPORTED_MODULE_3__link__[\"a\" /* default */];\nReactMVx.Component = __WEBPACK_IMPORTED_MODULE_4__component__[\"a\" /* Component */];\nvar assignToState = ReactMVx.assignToState = function (key) {\n return function (prop) {\n this.state.assignFrom((_a = {}, _a[key] = prop && prop instanceof __WEBPACK_IMPORTED_MODULE_3__link__[\"a\" /* default */] ? prop.value : prop, _a));\n var _a;\n };\n};\n/* harmony default export */ __webpack_exports__[\"a\"] = (ReactMVx);\n\n//# sourceMappingURL=index.js.map\n\n/***/ }),\n/* 2 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = collectSpecs;\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = compileSpecs;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Node; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return Element; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n\n\nfunction collectSpecs(spec, name) {\n var attributes = null;\n // Scan through local mixin, and gather specs. Refactor it later, it's not good. At all.\n for (var i = spec.mixins.length - 1; i >= 0; i--) {\n var mixin = spec.mixins[i], mixinAttrs = mixin[name];\n if (mixinAttrs) {\n attributes || (attributes = {});\n __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].assign(attributes, mixinAttrs);\n }\n }\n // Merge it with local data.\n var specAttrs = spec[name];\n if (specAttrs) {\n if (attributes) {\n __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].assign(attributes, specAttrs);\n }\n else {\n attributes = specAttrs;\n }\n }\n return attributes;\n}\nfunction compileSpecs(props) {\n var propTypes = {}, \n // Create NestedTypes model definition to process props spec.\n modelProto = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"Record\"].defaults(props).prototype;\n var defaults, watchers, changeHandlers;\n modelProto.forEachAttr(modelProto._attributes, function (spec, name) {\n // Skip auto-generated `id` attribute.\n if (name !== 'id') {\n var value = spec.value, type = spec.type, options = spec.options;\n // Translate props type to the propTypes guard.\n propTypes[name] = translateType(type, options.isRequired);\n if (options._onChange) {\n watchers || (watchers = {});\n watchers[name] = toLocalWatcher(options._onChange);\n }\n // Handle listening to event maps...\n if (options.changeHandlers && options.changeHandlers.length) {\n changeHandlers || (changeHandlers = {});\n changeHandlers[name] = options.changeHandlers;\n }\n // Handle listening to props changes...\n if (options.changeEvents) {\n changeHandlers || (changeHandlers = {});\n var handlers = changeHandlers[name] || (changeHandlers[name] = []), changeEvents_1 = typeof options.changeEvents === 'string' ? options.changeEvents : null;\n handlers.push(function (next, prev, component) {\n prev && component.stopListening(prev);\n next && component.listenTo(next, changeEvents_1 || next._changeEventName, component.asyncUpdate);\n });\n }\n // If default value is explicitly provided...\n if (value !== void 0) {\n //...append it to getDefaultProps function.\n defaults || (defaults = {});\n defaults[name] = spec.convert(value);\n }\n }\n });\n return { propTypes: propTypes, defaults: defaults, watchers: watchers, changeHandlers: changeHandlers };\n}\nfunction toLocalWatcher(ref) {\n return typeof ref === 'function' ? ref : function (value, name) {\n this[ref] && this[ref](value, name);\n };\n}\nvar Node = (function () {\n function Node() {\n }\n return Node;\n}());\n\nvar Element = (function () {\n function Element() {\n }\n return Element;\n}());\n\nfunction translateType(Type, isRequired) {\n var T = _translateType(Type);\n return isRequired ? T.isRequired : T;\n}\nfunction _translateType(Type) {\n switch (Type) {\n case Number:\n case Number.integer:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"number\"];\n case String:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"string\"];\n case Boolean:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"bool\"];\n case Array:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"array\"];\n case Function:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"func\"];\n case Object:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"object\"];\n case Node:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"node\"];\n case Element:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"element\"];\n case void 0:\n case null:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"any\"];\n default:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"instanceOf\"](Type);\n }\n}\n//# sourceMappingURL=typeSpecs.js.map\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_3__;\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\nif (false) {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = __webpack_require__(23)();\n}\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_5__;\n\n/***/ }),\n/* 6 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = process;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__store__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__state__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__context__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__common__ = __webpack_require__(13);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__props__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__typeSpecs__ = __webpack_require__(2);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_5__typeSpecs__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_5__typeSpecs__[\"b\"]; });\n\n\n\n\n\nfunction process(spec, baseProto) {\n if (baseProto === void 0) { baseProto = {}; }\n // Initialize mixins placeholder...\n spec.mixins || (spec.mixins = []);\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__store__[\"a\" /* default */])(spec, baseProto);\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__state__[\"a\" /* default */])(spec, baseProto);\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__context__[\"a\" /* default */])(spec, baseProto);\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__props__[\"a\" /* default */])(spec, baseProto);\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__common__[\"a\" /* default */])(spec, baseProto);\n return spec;\n}\n;\n\n//# sourceMappingURL=index.js.map\n\n/***/ }),\n/* 7 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = process;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return StateMixin; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return UpdateOnNestedChangesMixin; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n/*****************\n * State\n */\n\n\nfunction process(spec, baseProto) {\n // process state spec...\n var attributes = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* collectSpecs */])(spec, 'state');\n if (attributes || baseProto.State) {\n var BaseModel = baseProto.State || __WEBPACK_IMPORTED_MODULE_1_type_r__[\"Record\"];\n spec.State = attributes ? (typeof attributes === 'function' ? attributes : BaseModel.defaults(attributes)) : BaseModel;\n spec.mixins.push(StateMixin);\n spec.mixins.push(UpdateOnNestedChangesMixin);\n delete spec.state;\n delete spec.attributes;\n }\n}\nvar StateMixin = {\n //state : null,\n componentWillMount: function () {\n // props.__keepState is used to workaround issues in Backbone intergation layer\n var state = this.state = this.props.__keepState || new this.State();\n // Take ownership on state...\n state._owner = this;\n state._ownerKey = 'state';\n },\n context: {\n _nestedStore: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"Store\"]\n },\n // reference global store to fix model's store locator\n getStore: function () {\n // Attempt to get the store from the context first. Then - fallback to the state's default store.\n // TBD: Need to figure out a good way of managing local stores.\n var context, state;\n return ((context = this.context) && context._archetypeStore) ||\n ((state = this.state) && state._defaultStore);\n },\n componentWillUnmount: function () {\n var state = this.state;\n state._owner = state._ownerKey = void 0;\n this._preventDispose /* hack for component-view to preserve the state */ || state.dispose();\n this.state = void 0;\n }\n};\nvar UpdateOnNestedChangesMixin = {\n _onChildrenChange: function () { },\n componentDidMount: function () {\n this._onChildrenChange = this.asyncUpdate;\n }\n};\n//# sourceMappingURL=state.js.map\n\n/***/ }),\n/* 8 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = use;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__);\n\n\n\nwindow.Page || (window.Page = { forceResize: function () { } });\nfunction use(View) {\n var dispose = View.prototype.dispose || function () { }, setElement = View.prototype.setElement;\n var ComponentView = View.extend({\n reactClass: null,\n props: {},\n element: null,\n initialize: function (props) {\n // memorise arguments to pass to React\n this.options = props || {};\n },\n setElement: function () {\n this.unmountComponent(true);\n return setElement.apply(this, arguments);\n },\n // cached instance of react component...\n component: null,\n prevState: null,\n resize: function () {\n window.Page.forceResize();\n },\n render: function () {\n var options = this.prevState ? __WEBPACK_IMPORTED_MODULE_2_type_r__[\"tools\"].fastAssign({ __keepState: this.prevState }, this.options) : this.options, element = __WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"](this.reactClass, options), component = __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.render(element, this.el);\n this.component || this.mountComponent(component);\n },\n mountComponent: function (component) {\n this.component = component;\n this.prevState = null;\n component.trigger && this.listenTo(component, 'all', function () {\n this.trigger.apply(this, arguments);\n });\n },\n unmountComponent: function (keepModel) {\n var component = this.component;\n if (component) {\n this.prevState = component.state;\n if (component.trigger) {\n this.stopListening(component);\n }\n component._preventDispose = Boolean(keepModel);\n __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.unmountComponentAtNode(this.el);\n this.component = null;\n }\n },\n dispose: function () {\n this.unmountComponent();\n return dispose.apply(this, arguments);\n }\n });\n Object.defineProperty(ComponentView.prototype, 'model', {\n get: function () {\n this.component || this.render();\n return this.component && this.component.state;\n }\n });\n return ComponentView;\n}\n//# sourceMappingURL=component-view.js.map\n\n/***/ }),\n/* 9 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = createClass;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1);\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\n\nvar dontAutobind = [\n 'State', 'Store', 'constructor',\n 'componentWillMount', 'componentDidMount', 'componentWillReceiveProps', 'shouldComponentUpdate',\n 'componentWillUpdate', 'componentDidUpdate', 'componentWillUnmount',\n 'render', 'getDefaultProps', 'getChildContext'\n];\n/**\n * ES5 components definition factory\n */\nfunction createClass(_a) {\n var statics = _a.statics, a_spec = __rest(_a, [\"statics\"]);\n // Gather all methods to pin them to `this` later.\n var methods = [];\n var Subclass = __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"g\" /* Component */].extend(__assign({ \n // Override constructor to autobind all the methods...\n constructor: function () {\n __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"g\" /* Component */].apply(this, this.arguments);\n for (var _i = 0, methods_1 = methods; _i < methods_1.length; _i++) {\n var method = methods_1[_i];\n this[method] = this[method].bind(this);\n }\n } }, a_spec), statics);\n // Need to bind methods from mixins as well, so populate it here.\n var Proto = Subclass.prototype;\n for (var key in Proto) {\n if (Proto.hasOwnProperty(key) && dontAutobind.indexOf(key) === -1 && typeof Proto[key] === 'function') {\n methods.push(key);\n }\n }\n return Subclass;\n}\n//# sourceMappingURL=createClass.js.map\n\n/***/ }),\n/* 10 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\nvar notEqual = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].notEqual;\nvar BackboneView = (function (_super) {\n __extends(BackboneView, _super);\n function BackboneView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.saveRef = function (element) {\n _this.root = element;\n };\n return _this;\n }\n BackboneView.prototype.shouldComponentUpdate = function (next) {\n var props = this.props;\n return next.View !== props.View || notEqual(next.options, props.options);\n };\n BackboneView.prototype.hasUnsavedChanges = function () {\n var view = this.view;\n return view && (typeof view.hasUnsavedChanges === 'function' ? view.hasUnsavedChanges() : view.hasUnsavedChanges);\n };\n BackboneView.prototype.render = function () {\n return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\" /* default */].createElement('div', {\n ref: this.saveRef,\n className: this.props.className\n });\n };\n BackboneView.prototype.componentDidMount = function () {\n this._mountView();\n };\n BackboneView.prototype.componentDidUpdate = function () {\n this._dispose();\n this._mountView();\n };\n BackboneView.prototype.componentWillUnmount = function () {\n this._dispose();\n };\n BackboneView.prototype._mountView = function () {\n var el = this.root, p = this.props;\n var view = this.view = p.options ? new p.View(p.options) : new p.View();\n el.appendChild(view.el);\n view.render();\n };\n BackboneView.prototype._dispose = function () {\n var view = this.view;\n if (view) {\n if (view.dispose) {\n view.dispose();\n }\n else {\n view.stopListening();\n view.off();\n }\n this.root.innerHTML = \"\";\n this.view = null;\n }\n };\n return BackboneView;\n}(__WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\" /* default */].Component));\n/* harmony default export */ __webpack_exports__[\"a\"] = (BackboneView);\n//# sourceMappingURL=view-element.js.map\n\n/***/ }),\n/* 11 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (immutable) */ __webpack_exports__[\"useView\"] = useView;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1);\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"define\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"b\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"mixins\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"c\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Node\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"d\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Element\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"e\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Link\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"f\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Component\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"g\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"assignToState\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"h\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__view_element__ = __webpack_require__(10);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"subview\", function() { return __WEBPACK_IMPORTED_MODULE_4__view_element__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__component_view__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__createClass__ = __webpack_require__(9);\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"PropTypes\", function() { return __WEBPACK_IMPORTED_MODULE_3_prop_types__; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"createClass\", function() { return __WEBPACK_IMPORTED_MODULE_6__createClass__[\"a\"]; });\n// Re-export react-mvx\n\nvar NestedReact = Object.create(__WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\" /* default */]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (NestedReact);\n\n// NestedReact backward compatibility layer\n\n\n\n\nNestedReact.subview = __WEBPACK_IMPORTED_MODULE_4__view_element__[\"a\" /* default */];\n\n\n\nNestedReact.createClass = __WEBPACK_IMPORTED_MODULE_6__createClass__[\"a\" /* default */];\nObject.defineProperty(NestedReact, 'PropTypes', { value: __WEBPACK_IMPORTED_MODULE_3_prop_types__ });\n\nvar BaseView;\n// export hook to override base View class used...\nfunction useView(View) {\n BaseView = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__component_view__[\"a\" /* default */])(View);\n}\nvar define = NestedReact.Component.define;\nNestedReact.Component.define = function (protoProps, staticProps) {\n this.View = BaseView.extend({ reactClass: this });\n return define.call(this, protoProps, staticProps);\n};\n// Deprecated API for backward compatibility\nvar RecordProto = __WEBPACK_IMPORTED_MODULE_2_type_r__[\"Record\"].prototype;\nRecordProto.getLink = RecordProto.linkAt;\nRecordProto.deepLink = RecordProto.linkPath;\nvar CollectionProto = __WEBPACK_IMPORTED_MODULE_2_type_r__[\"Record\"].Collection.prototype;\nCollectionProto.hasLink = CollectionProto.linkContains;\nuseView(__WEBPACK_IMPORTED_MODULE_2_type_r__[\"View\"]);\n// Extend react components to have backbone-style jquery accessors\nvar BackboneViewProps = {\n el: { get: function () { return __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.findDOMNode(this); } },\n $el: { get: function () { return __WEBPACK_IMPORTED_MODULE_2_type_r___default.a.$(this.el); } },\n $: { value: function (sel) { return this.$el.find(sel); } }\n};\nObject.defineProperties(NestedReact.Component.prototype, BackboneViewProps);\n//# sourceMappingURL=index.js.map\n\n/***/ }),\n/* 12 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Component; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__define__ = __webpack_require__(6);\n/**\n * React components\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\n\n\n\nvar reactMixinRules = {\n componentWillMount: 'reverse',\n componentDidMount: 'reverse',\n componentWillReceiveProps: 'reverse',\n shouldComponentUpdate: 'some',\n componentWillUpdate: 'reverse',\n componentDidUpdate: 'reverse',\n componentWillUnmount: 'sequence',\n state: 'merge',\n store: 'merge',\n props: 'merge',\n context: 'merge',\n childContext: 'merge',\n getChildContext: 'mergeSequence'\n};\nvar Component = (function (_super) {\n __extends(Component, _super);\n function Component() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Component.prototype.linkAt = function (key) {\n // Quick and dirty hack to suppres type error - refactor later.\n return this.state.linkAt(key);\n };\n Component.prototype.linkAll = function () {\n // Quick and dirty hack to suppres type error - refactor later.\n return this.state.linkAll.apply(this, arguments);\n };\n Component.define = function (protoProps, staticProps) {\n var BaseClass = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].getBaseClass(this), staticsDefinition = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].getChangedStatics(this, 'state', 'store', 'props', 'context', 'childContext', 'pureRender'), combinedDefinition = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].assign(staticsDefinition, protoProps || {});\n var definition = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__define__[\"c\" /* default */])(combinedDefinition, this.prototype);\n var getDefaultProps = definition.getDefaultProps, propTypes = definition.propTypes, contextTypes = definition.contextTypes, childContextTypes = definition.childContextTypes, protoDefinition = __rest(definition, [\"getDefaultProps\", \"propTypes\", \"contextTypes\", \"childContextTypes\"]);\n if (getDefaultProps)\n this.defaultProps = definition.getDefaultProps();\n if (propTypes)\n this.propTypes = propTypes;\n if (contextTypes)\n this.contextTypes = contextTypes;\n if (childContextTypes)\n this.childContextTypes = childContextTypes;\n __WEBPACK_IMPORTED_MODULE_1_type_r__[\"Mixable\"].define.call(this, protoDefinition, staticProps);\n return this;\n };\n Component.prototype.assignToState = function (x, key) {\n this.state.assignFrom((_a = {}, _a[key] = x, _a));\n var _a;\n };\n return Component;\n}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]));\nComponent = __decorate([\n __WEBPACK_IMPORTED_MODULE_1_type_r__[\"extendable\"],\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"])(reactMixinRules)\n], Component);\n\n// Looks like React guys _really_ want to deprecated it. But no way.\n// We will work around their attempt.\nObject.defineProperty(Component.prototype, 'isMounted', {\n value: function isMounted() {\n return !this._disposed;\n }\n});\n//# sourceMappingURL=component.js.map\n\n/***/ }),\n/* 13 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = compile;\n/* unused harmony export asyncUpdate */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__);\n/**\n * attach async event processing and transactional support.\n */\n\nfunction compile(spec, baseProto) {\n // Attach common mixin\n spec.mixins.push(CommonMixin);\n}\nfunction asyncUpdate() {\n this.shouldComponentUpdate === returnFalse || this._disposed || this.forceUpdate();\n}\nfunction returnFalse() { return false; }\n/**\n * Mixin which is attached to all components.\n */\nvar CommonMixin = __WEBPACK_IMPORTED_MODULE_0_type_r__[\"tools\"].assign({\n componentWillUnmount: function () {\n // Prevent memory leaks when working with events.\n this.off();\n this.stopListening();\n // Mark component as disposed.\n this._disposed = true;\n },\n // Safe version of the forceUpdate suitable for asynchronous callbacks.\n asyncUpdate: asyncUpdate,\n /**\n * Performs transactional update for both props and state.\n * Suppress updates during the transaction, and force update aftewards.\n * Wrapping the sequence of changes in a transactions guarantees that\n * React component will be updated _after_ all the changes to the\n * both props and local state are applied.\n */\n transaction: function (fun) {\n var shouldComponentUpdate = this.shouldComponentUpdate, isRoot = shouldComponentUpdate !== returnFalse;\n if (isRoot) {\n this.shouldComponentUpdate = returnFalse;\n }\n fun(this.props, this.state);\n if (isRoot) {\n this.shouldComponentUpdate = shouldComponentUpdate;\n this.asyncUpdate();\n }\n }\n}, __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Events\"]);\n//# sourceMappingURL=common.js.map\n\n/***/ }),\n/* 14 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = process;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(2);\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\n\nfunction process(spec, _a) {\n var _b = _a._context, _context = _b === void 0 ? {} : _b, _c = _a._childContext, _childContext = _c === void 0 ? {} : _c;\n // process context specs...\n var context = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* collectSpecs */])(spec, 'context');\n if (context) {\n spec._context = __assign({}, _context, context);\n spec.contextTypes = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"d\" /* compileSpecs */])(context).propTypes;\n delete spec.context;\n }\n // and child context specs...\n var childContext = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* collectSpecs */])(spec, 'childContext');\n if (childContext) {\n spec._childContext = __assign({}, _childContext, childContext);\n spec.childContextTypes = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"d\" /* compileSpecs */])(childContext).propTypes;\n delete spec.childContext;\n }\n}\n//# sourceMappingURL=context.js.map\n\n/***/ }),\n/* 15 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = process;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__pureRender__ = __webpack_require__(16);\n/**\n * Handle props specification and everything which is related:\n * - local listening to props changes\n * - pure render mixin\n */\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\n\n\nfunction process(spec, _a) {\n var pureRender = _a.pureRender, _b = _a._props, _props = _b === void 0 ? {} : _b, _c = _a._listenToPropsArray, _listenToPropsArray = _c === void 0 ? [] : _c, _d = _a._listenToPropsHash, _listenToPropsHash = _d === void 0 ? {} : _d;\n // process props spec...\n var props = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* collectSpecs */])(spec, 'props');\n if (props) {\n var allProps = spec._props = __assign({}, _props, props);\n var _e = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"d\" /* compileSpecs */])(allProps), propTypes = _e.propTypes, defaults_1 = _e.defaults, watchers = _e.watchers, changeHandlers = _e.changeHandlers;\n spec.propTypes = propTypes;\n if (defaults_1)\n spec.getDefaultProps = function () { return defaults_1; };\n if (watchers) {\n spec.mixins.unshift(WatchersMixin);\n spec._watchers = watchers;\n }\n if (changeHandlers) {\n spec.mixins.unshift(ChangeHandlersMixin);\n spec._changeHandlers = changeHandlers;\n }\n delete spec.props;\n }\n // compile pure render mixin\n if (spec._props && (spec.pureRender || pureRender)) {\n spec.mixins.push(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__pureRender__[\"a\" /* default */])(spec._props));\n }\n}\n/**\n * ChangeHandlers are fired in sequence upon props replacement.\n * Fires _after_ UI is updated. Used for managing events subscriptions.\n */\nvar ChangeHandlersMixin = {\n componentDidMount: function () {\n handlePropsChanges(this, {}, this.props);\n },\n componentDidUpdate: function (prev) {\n handlePropsChanges(this, prev, this.props);\n },\n componentWillUnmount: function () {\n handlePropsChanges(this, this.props, {});\n }\n};\nfunction handlePropsChanges(component, prev, next) {\n var _changeHandlers = component._changeHandlers;\n for (var name_1 in _changeHandlers) {\n if (prev[name_1] !== next[name_1]) {\n for (var _i = 0, _a = _changeHandlers[name_1]; _i < _a.length; _i++) {\n var handler = _a[_i];\n handler(next[name_1], prev[name_1], component);\n }\n }\n }\n}\n/**\n * Watchers works on props replacement and fires _before_ any change will be applied and UI is updated.\n * Fired in componentWillMount as well, which makes it a nice way to sync state from props.\n */\nvar WatchersMixin = {\n componentWillReceiveProps: function (next) {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_2 in _watchers) {\n if (next[name_2] !== props[name_2]) {\n _watchers[name_2].call(this, next[name_2], name_2);\n }\n }\n },\n componentWillMount: function () {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_3 in _watchers) {\n _watchers[name_3].call(this, props[name_3], name_3);\n }\n }\n};\n//# sourceMappingURL=props.js.map\n\n/***/ }),\n/* 16 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = createPureRenderMixin;\nfunction createPureRenderMixin(props) {\n var ctorBody = ['var v; this._s = s && s._changeToken'], isChangedBody = ['var v; return ( s && s._changeToken !== t._s )'];\n for (var name_1 in props) {\n var propExpr = \"( ( v = p.\" + name_1 + \") && v._changeToken ) || v\";\n ctorBody.push(\"this.\" + name_1 + \"= \" + propExpr);\n isChangedBody.push(\"t.\" + name_1 + \" !== (\" + propExpr + \")\");\n }\n var ChangeTokens = new Function('p', 's', ctorBody.join(';')), isChanged = new Function('t', 'p', 's', isChangedBody.join('||'));\n ChangeTokens.prototype = null;\n return {\n _changeTokens: null,\n shouldComponentUpdate: function (nextProps) {\n return isChanged(this._changeTokens, nextProps, this.state);\n },\n componentDidMount: function () {\n this._changeTokens = new ChangeTokens(this.props, this.state);\n },\n componentDidUpdate: function () {\n this._changeTokens = new ChangeTokens(this.props, this.state);\n }\n };\n}\n;\n//# sourceMappingURL=pureRender.js.map\n\n/***/ }),\n/* 17 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = process;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__state__ = __webpack_require__(7);\n\n\n\nfunction process(spec, baseProto) {\n var store = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* collectSpecs */])(spec, 'store');\n if (store) {\n delete spec.store;\n if (store instanceof __WEBPACK_IMPORTED_MODULE_1_type_r__[\"Store\"]) {\n // Direct reference to an existing store. Put it to the prototype.\n spec.store = store;\n spec.mixins.push(ExternalStoreMixin);\n }\n else {\n spec.Store = store;\n spec.mixins.push(InternalStoreMixin);\n spec.mixins.push(__WEBPACK_IMPORTED_MODULE_2__state__[\"b\" /* UpdateOnNestedChangesMixin */]);\n }\n spec.mixins.push(ExposeStoreMixin);\n }\n}\n/**\n * Attached whenever the store declaration of any form is present in the component.\n */\nvar ExposeStoreMixin = {\n childContext: {\n _nestedStore: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"Store\"]\n },\n getChildContext: function () {\n return { _nestedStore: this.store };\n },\n getStore: function () {\n return this.store;\n },\n // Will be called by the store when the lookup will fail.\n get: function (key) {\n // Ask upper store.\n var store = __WEBPACK_IMPORTED_MODULE_2__state__[\"c\" /* StateMixin */].getStore.call(this, key);\n return store && store.get(key);\n }\n};\n/**\n * External store must just track the changes and trigger render.\n * TBD: don't use it yet.\n */\nvar ExternalStoreMixin = {\n componentDidMount: function () {\n // Start UI updates on state changes.\n this.listenTo(this.store, 'change', this.asyncUpdate);\n }\n};\nvar InternalStoreMixin = {\n componentWillMount: function () {\n var store = this.store = new this.Store();\n store._owner = this;\n store._ownerKey = 'store';\n },\n componentWillUnmount: function () {\n this.store._ownerKey = this.store._owner = void 0;\n this.store.dispose();\n this.store = void 0;\n }\n};\n//# sourceMappingURL=store.js.map\n\n/***/ }),\n/* 18 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__valuelink_link__ = __webpack_require__(20);\n/**\n * Import ValueLink library\n * Define value links binding mixins to the Record and Collection\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]);\n__WEBPACK_IMPORTED_MODULE_0_type_r__[\"Mixable\"].mixTo(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]);\n/**\n * Record\n */\n__WEBPACK_IMPORTED_MODULE_0_type_r__[\"Record\"].mixins({\n // Link to the record's attribute by its key.\n linkAt: function (key) {\n return cacheLink(getLinksCache(this), this, key);\n },\n // Link to the attribute of the record's tree by symbolic path.\n linkPath: function (path, options) {\n return new RecordDeepLink(this, path, options);\n },\n // Link all (or listed) attributes and return links cache.\n linkAll: function () {\n var links = getLinksCache(this);\n if (arguments.length) {\n for (var i = 0; i < arguments.length; i++) {\n cacheLink(links, this, arguments[i]);\n }\n }\n else {\n var attributes = this.attributes;\n for (var key in attributes) {\n attributes[key] === void 0 || cacheLink(links, this, key);\n }\n }\n return links;\n }\n});\n/**\n * Link to Type-R's record attribute.\n * Strict evaluation of value, lazy evaluation of validation error.\n * Links are cached in the records\n */\nvar RecordLink = (function (_super) {\n __extends(RecordLink, _super);\n function RecordLink(record, attr, value) {\n var _this = _super.call(this, value) || this;\n _this.record = record;\n _this.attr = attr;\n return _this;\n }\n RecordLink.prototype.set = function (x) {\n this.record[this.attr] = x;\n };\n Object.defineProperty(RecordLink.prototype, \"error\", {\n get: function () {\n return this._error === void 0 ?\n this.record.getValidationError(this.attr) :\n this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n return RecordLink;\n}(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]));\nvar RecordDeepLink = (function (_super) {\n __extends(RecordDeepLink, _super);\n function RecordDeepLink(record, path, options) {\n var _this = _super.call(this, record.deepGet(path)) || this;\n _this.record = record;\n _this.path = path;\n _this.options = options;\n return _this;\n }\n Object.defineProperty(RecordDeepLink.prototype, \"error\", {\n get: function () {\n if (this._error === void 0) {\n this._error = this.record.deepValidationError(this.path) || null;\n }\n return this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(RecordDeepLink.prototype, \"_changeToken\", {\n get: function () {\n return this.record._changeToken;\n },\n enumerable: true,\n configurable: true\n });\n RecordDeepLink.prototype.set = function (x) {\n this.record.deepSet(this.path, x, this.options);\n };\n return RecordDeepLink;\n}(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]));\nfunction getLinksCache(record) {\n return record._links || (record._links = new record.Attributes({}));\n}\nfunction cacheLink(links, record, key) {\n var cached = links[key], value = record[key];\n return cached && cached.value === value ? cached\n : links[key] = new RecordLink(record, key, value);\n}\n/***********************************\n * Collection\n */\n__WEBPACK_IMPORTED_MODULE_0_type_r__[\"Record\"].Collection.mixins({\n // Boolean link to the record's presence in the collection\n linkContains: function (record) {\n return new CollectionLink(this, record);\n },\n // Link to collection's property\n linkAt: function (prop) {\n var _this = this;\n return __WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */].value(this[prop], function (x) { return _this[prop] = x; });\n }\n});\n/**\n * Boolean link to presence of NestedType's record in collection.\n * Strict evaluation of value, no error.\n * Safe implementation of _changeToken.\n */\nvar CollectionLink = (function (_super) {\n __extends(CollectionLink, _super);\n function CollectionLink(collection, record) {\n var _this = _super.call(this, Boolean(collection._byId[record.cid])) || this;\n _this.collection = collection;\n _this.record = record;\n return _this;\n }\n CollectionLink.prototype.set = function (x) {\n this.collection.toggle(this.record, x);\n };\n return CollectionLink;\n}(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]));\n//# sourceMappingURL=link.js.map\n\n/***/ }),\n/* 19 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = helpers;\n/* unused harmony export objectHelpers */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return arrayHelpers; });\nvar ArrayProto = Array.prototype, ObjectProto = Object.prototype;\nfunction helpers(value) {\n if (value && typeof value === 'object') {\n switch (Object.getPrototypeOf(value)) {\n case ArrayProto: return arrayHelpers;\n case ObjectProto: return objectHelpers;\n }\n }\n return dummyHelpers;\n}\n// Do nothing for types other than Array and plain Object.\nvar dummyHelpers = {\n clone: function (value) { return value; },\n map: function (link, fun) { return []; },\n remove: function (value) { return value; }\n};\n// `map` and `clone` for plain JS objects\nvar objectHelpers = {\n // Map through the link to object\n map: function (link, iterator) {\n var mapped = [];\n for (var key in link.value) {\n var element = iterator(link.at(key), key);\n element === void 0 || (mapped.push(element));\n }\n return mapped;\n },\n remove: function (object, key) {\n delete object[key];\n return object;\n },\n // Shallow clone plain JS object\n clone: function (object) {\n var cloned = {};\n for (var key in object) {\n cloned[key] = object[key];\n }\n return cloned;\n }\n};\n// `map` and `clone` helpers for arrays.\nvar arrayHelpers = {\n // Shallow clone array\n clone: function (array) {\n return array.slice();\n },\n remove: function (array, i) {\n array.splice(i, 1);\n return array;\n },\n // Map through the link to array\n map: function (link, iterator) {\n var length = link.value.length, mapped = Array(length);\n for (var i = 0, j = 0; i < length; i++) {\n var y = iterator(link.at(i), i);\n y === void 0 || (mapped[j++] = y);\n }\n mapped.length === j || (mapped.length = j);\n return mapped;\n }\n};\n//# sourceMappingURL=helpers.js.map\n\n/***/ }),\n/* 20 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Link; });\n/* unused harmony export CustomLink */\n/* unused harmony export CloneLink */\n/* unused harmony export EqualsLink */\n/* unused harmony export EnabledLink */\n/* unused harmony export ContainsLink */\n/* unused harmony export LinkAt */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__helpers__ = __webpack_require__(19);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * Advanced React links for purely functional two-way data binding\n *\n * MIT License, (c) 2016 Vlad Balin, Volicon.\n */\n\n// Main Link class. All links must extend it.\nvar Link = (function () {\n // create \n function Link(value) {\n this.value = value;\n }\n // Create custom link to arbitrary value\n Link.value = function (value, set) {\n return new CustomLink(value, set);\n };\n Object.defineProperty(Link.prototype, \"validationError\", {\n // DEPRECATED: Old error holder for backward compatibility with Volicon code base\n get: function () { return this.error; },\n enumerable: true,\n configurable: true\n });\n Link.prototype.onChange = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n handler(x);\n _this.set(x);\n });\n };\n Object.defineProperty(Link.prototype, \"props\", {\n // \n get: function () {\n var _this = this;\n return { value: this.value, onChange: function (e) { return _this.set(e.target.value); } };\n },\n enumerable: true,\n configurable: true\n });\n // DEPRECATED: Old React method for backward compatibility\n Link.prototype.requestChange = function (x) {\n this.set(x);\n };\n // Immediately update the link value using given transform function.\n Link.prototype.update = function (transform, e) {\n var next = transform(this.clone(), e);\n next === void 0 || this.set(next);\n };\n // Create new link which applies transform function on set.\n Link.prototype.pipe = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n var next = handler(x, _this.value);\n next === void 0 || _this.set(next);\n });\n };\n // Create UI event handler function which will update the link with a given transform function.\n Link.prototype.action = function (transform) {\n var _this = this;\n return function (e) { return _this.update(transform, e); };\n };\n Link.prototype.equals = function (truthyValue) {\n return new EqualsLink(this, truthyValue);\n };\n Link.prototype.enabled = function (defaultValue) {\n return new EnabledLink(this, defaultValue || \"\");\n };\n // Array-only links methods\n Link.prototype.contains = function (element) {\n return new ContainsLink(this, element);\n };\n Link.prototype.push = function () {\n var array = __WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* arrayHelpers */].clone(this.value);\n Array.prototype.push.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.unshift = function () {\n var array = __WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* arrayHelpers */].clone(this.value);\n Array.prototype.unshift.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.splice = function () {\n var array = __WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* arrayHelpers */].clone(this.value);\n Array.prototype.splice.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.map = function (iterator) {\n return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* helpers */])(this.value).map(this, iterator);\n };\n Link.prototype.removeAt = function (key) {\n var value = this.value, _ = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* helpers */])(value);\n this.set(_.remove(_.clone(value), key));\n };\n Link.prototype.at = function (key) {\n return new LinkAt(this, key);\n };\n Link.prototype.clone = function () {\n var value = this.value;\n return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* helpers */])(value).clone(value);\n };\n Link.prototype.pick = function () {\n var links = {};\n for (var i = 0; i < arguments.length; i++) {\n var key = arguments[i];\n links[key] = new LinkAt(this, key);\n }\n return links;\n };\n /**\n * Validate link with validness predicate and optional custom error object. Can be chained.\n */\n Link.prototype.check = function (whenValid, error) {\n if (!this.error && !whenValid(this.value)) {\n this.error = error || whenValid.error || defaultError;\n }\n return this;\n };\n return Link;\n}());\n\nvar CustomLink = (function (_super) {\n __extends(CustomLink, _super);\n function CustomLink(value, set) {\n var _this = _super.call(this, value) || this;\n _this.set = set;\n return _this;\n }\n CustomLink.prototype.set = function (x) { };\n return CustomLink;\n}(Link));\n\nvar CloneLink = (function (_super) {\n __extends(CloneLink, _super);\n function CloneLink(parent, set) {\n var _this = _super.call(this, parent.value) || this;\n _this.set = set;\n var error = parent.error;\n if (error)\n _this.error = error;\n return _this;\n }\n CloneLink.prototype.set = function (x) { };\n return CloneLink;\n}(Link));\n\nvar EqualsLink = (function (_super) {\n __extends(EqualsLink, _super);\n function EqualsLink(parent, truthyValue) {\n var _this = _super.call(this, parent.value === truthyValue) || this;\n _this.parent = parent;\n _this.truthyValue = truthyValue;\n return _this;\n }\n EqualsLink.prototype.set = function (x) {\n this.parent.set(x ? this.truthyValue : null);\n };\n return EqualsLink;\n}(Link));\n\nvar EnabledLink = (function (_super) {\n __extends(EnabledLink, _super);\n function EnabledLink(parent, defaultValue) {\n var _this = _super.call(this, parent.value != null) || this;\n _this.parent = parent;\n _this.defaultValue = defaultValue;\n return _this;\n }\n EnabledLink.prototype.set = function (x) {\n this.parent.set(x ? this.defaultValue : null);\n };\n return EnabledLink;\n}(Link));\n\nvar ContainsLink = (function (_super) {\n __extends(ContainsLink, _super);\n function ContainsLink(parent, element) {\n var _this = _super.call(this, parent.value.indexOf(element) >= 0) || this;\n _this.parent = parent;\n _this.element = element;\n return _this;\n }\n ContainsLink.prototype.set = function (x) {\n var _this = this;\n var next = Boolean(x);\n if (this.value !== next) {\n var arr = this.parent.value, nextValue = x ? arr.concat(this.element) : arr.filter(function (el) { return el !== _this.element; });\n this.parent.set(nextValue);\n }\n };\n return ContainsLink;\n}(Link));\n\nvar defaultError = 'Invalid value';\n/**\n * Link to array or object element enclosed in parent link.\n * Performs purely functional update of the parent, shallow copying its value on `set`.\n */\nvar LinkAt = (function (_super) {\n __extends(LinkAt, _super);\n function LinkAt(parent, key) {\n var _this = _super.call(this, parent.value[key]) || this;\n _this.parent = parent;\n _this.key = key;\n return _this;\n }\n LinkAt.prototype.remove = function () {\n this.parent.removeAt(this.key);\n };\n // Set new element value to parent array or object, performing purely functional update.\n LinkAt.prototype.set = function (x) {\n var _this = this;\n if (this.value !== x) {\n this.parent.update(function (value) {\n value[_this.key] = x;\n return value;\n });\n }\n };\n ;\n return LinkAt;\n}(Link));\n\n//# sourceMappingURL=link.js.map\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (false) {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n\n\nvar emptyFunction = __webpack_require__(21);\nvar invariant = __webpack_require__(22);\n\nmodule.exports = function() {\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n function shim() {\n invariant(\n false,\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim\n };\n\n ReactPropTypes.checkPropTypes = emptyFunction;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n/***/ })\n/******/ ]);\n});\n\n\n// WEBPACK FOOTER //\n// dist/index.min.js"," \t// The module cache\n \tvar installedModules = {};\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// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\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, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\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 = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 11);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap ba6be5a29f458ec49d69","module.exports = __WEBPACK_EXTERNAL_MODULE_0__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"commonjs\":\"nestedtypes\",\"commonjs2\":\"nestedtypes\",\"amd\":\"nestedtypes\",\"root\":\"Nested\"}\n// module id = 0\n// module chunks = 0","import * as React from 'react';\nimport { define, mixins } from 'type-r';\nimport { Node, Element } from './define';\nimport Link from './link';\nimport { Component } from './component';\n// extend React namespace\nvar ReactMVx = Object.create(React);\n// Make it compatible with ES6 module format.\nReactMVx.default = ReactMVx;\n// listenToProps, listenToState, model, attributes, Model\nReactMVx.define = define;\nReactMVx.mixins = mixins;\nReactMVx.Node = Node.value(null);\nReactMVx.Element = Element.value(null);\nReactMVx.Link = Link;\nReactMVx.Component = Component;\nvar assignToState = ReactMVx.assignToState = function (key) {\n return function (prop) {\n this.state.assignFrom((_a = {}, _a[key] = prop && prop instanceof Link ? prop.value : prop, _a));\n var _a;\n };\n};\nexport default ReactMVx;\nexport { define, mixins, Node, Element, Link, Component, assignToState };\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/index.js\n// module id = 1\n// module chunks = 0","import * as PropTypes from 'prop-types';\nimport { Record, tools } from 'type-r';\nexport function collectSpecs(spec, name) {\n var attributes = null;\n // Scan through local mixin, and gather specs. Refactor it later, it's not good. At all.\n for (var i = spec.mixins.length - 1; i >= 0; i--) {\n var mixin = spec.mixins[i], mixinAttrs = mixin[name];\n if (mixinAttrs) {\n attributes || (attributes = {});\n tools.assign(attributes, mixinAttrs);\n }\n }\n // Merge it with local data.\n var specAttrs = spec[name];\n if (specAttrs) {\n if (attributes) {\n tools.assign(attributes, specAttrs);\n }\n else {\n attributes = specAttrs;\n }\n }\n return attributes;\n}\nexport function compileSpecs(props) {\n var propTypes = {}, \n // Create NestedTypes model definition to process props spec.\n modelProto = Record.defaults(props).prototype;\n var defaults, watchers, changeHandlers;\n modelProto.forEachAttr(modelProto._attributes, function (spec, name) {\n // Skip auto-generated `id` attribute.\n if (name !== 'id') {\n var value = spec.value, type = spec.type, options = spec.options;\n // Translate props type to the propTypes guard.\n propTypes[name] = translateType(type, options.isRequired);\n if (options._onChange) {\n watchers || (watchers = {});\n watchers[name] = toLocalWatcher(options._onChange);\n }\n // Handle listening to event maps...\n if (options.changeHandlers && options.changeHandlers.length) {\n changeHandlers || (changeHandlers = {});\n changeHandlers[name] = options.changeHandlers;\n }\n // Handle listening to props changes...\n if (options.changeEvents) {\n changeHandlers || (changeHandlers = {});\n var handlers = changeHandlers[name] || (changeHandlers[name] = []), changeEvents_1 = typeof options.changeEvents === 'string' ? options.changeEvents : null;\n handlers.push(function (next, prev, component) {\n prev && component.stopListening(prev);\n next && component.listenTo(next, changeEvents_1 || next._changeEventName, component.asyncUpdate);\n });\n }\n // If default value is explicitly provided...\n if (value !== void 0) {\n //...append it to getDefaultProps function.\n defaults || (defaults = {});\n defaults[name] = spec.convert(value);\n }\n }\n });\n return { propTypes: propTypes, defaults: defaults, watchers: watchers, changeHandlers: changeHandlers };\n}\nfunction toLocalWatcher(ref) {\n return typeof ref === 'function' ? ref : function (value, name) {\n this[ref] && this[ref](value, name);\n };\n}\nvar Node = (function () {\n function Node() {\n }\n return Node;\n}());\nexport { Node };\nvar Element = (function () {\n function Element() {\n }\n return Element;\n}());\nexport { Element };\nfunction translateType(Type, isRequired) {\n var T = _translateType(Type);\n return isRequired ? T.isRequired : T;\n}\nfunction _translateType(Type) {\n switch (Type) {\n case Number:\n case Number.integer:\n return PropTypes.number;\n case String:\n return PropTypes.string;\n case Boolean:\n return PropTypes.bool;\n case Array:\n return PropTypes.array;\n case Function:\n return PropTypes.func;\n case Object:\n return PropTypes.object;\n case Node:\n return PropTypes.node;\n case Element:\n return PropTypes.element;\n case void 0:\n case null:\n return PropTypes.any;\n default:\n return PropTypes.instanceOf(Type);\n }\n}\n//# sourceMappingURL=typeSpecs.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/typeSpecs.js\n// module id = 2\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_3__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"commonjs\":\"react\",\"commonjs2\":\"react\",\"amd\":\"react\",\"root\":\"React\"}\n// module id = 3\n// module chunks = 0","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/prop-types/index.js\n// module id = 4\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_5__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"commonjs\":\"react-dom\",\"commonjs2\":\"react-dom\",\"amd\":\"react-dom\",\"root\":\"ReactDOM\"}\n// module id = 5\n// module chunks = 0","import processStore from './store';\nimport processState from './state';\nimport processContext from './context';\nimport processCommons from './common';\nimport processProps from './props';\nexport default function process(spec, baseProto) {\n if (baseProto === void 0) { baseProto = {}; }\n // Initialize mixins placeholder...\n spec.mixins || (spec.mixins = []);\n processStore(spec, baseProto);\n processState(spec, baseProto);\n processContext(spec, baseProto);\n processProps(spec, baseProto);\n processCommons(spec, baseProto);\n return spec;\n}\n;\nexport { Node, Element } from './typeSpecs';\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/index.js\n// module id = 6\n// module chunks = 0","/*****************\n * State\n */\nimport { collectSpecs } from './typeSpecs';\nimport { Record, Store } from 'type-r';\nexport default function process(spec, baseProto) {\n // process state spec...\n var attributes = collectSpecs(spec, 'state');\n if (attributes || baseProto.State) {\n var BaseModel = baseProto.State || Record;\n spec.State = attributes ? (typeof attributes === 'function' ? attributes : BaseModel.defaults(attributes)) : BaseModel;\n spec.mixins.push(StateMixin);\n spec.mixins.push(UpdateOnNestedChangesMixin);\n delete spec.state;\n delete spec.attributes;\n }\n}\nexport var StateMixin = {\n //state : null,\n componentWillMount: function () {\n // props.__keepState is used to workaround issues in Backbone intergation layer\n var state = this.state = this.props.__keepState || new this.State();\n // Take ownership on state...\n state._owner = this;\n state._ownerKey = 'state';\n },\n context: {\n _nestedStore: Store\n },\n // reference global store to fix model's store locator\n getStore: function () {\n // Attempt to get the store from the context first. Then - fallback to the state's default store.\n // TBD: Need to figure out a good way of managing local stores.\n var context, state;\n return ((context = this.context) && context._archetypeStore) ||\n ((state = this.state) && state._defaultStore);\n },\n componentWillUnmount: function () {\n var state = this.state;\n state._owner = state._ownerKey = void 0;\n this._preventDispose /* hack for component-view to preserve the state */ || state.dispose();\n this.state = void 0;\n }\n};\nexport var UpdateOnNestedChangesMixin = {\n _onChildrenChange: function () { },\n componentDidMount: function () {\n this._onChildrenChange = this.asyncUpdate;\n }\n};\n//# sourceMappingURL=state.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/state.js\n// module id = 7\n// module chunks = 0","import * as React from 'react';\nimport ReactDOM from 'react-dom';\nimport { tools } from 'type-r';\nwindow.Page || (window.Page = { forceResize: function () { } });\nexport default function use(View) {\n var dispose = View.prototype.dispose || function () { }, setElement = View.prototype.setElement;\n var ComponentView = View.extend({\n reactClass: null,\n props: {},\n element: null,\n initialize: function (props) {\n // memorise arguments to pass to React\n this.options = props || {};\n },\n setElement: function () {\n this.unmountComponent(true);\n return setElement.apply(this, arguments);\n },\n // cached instance of react component...\n component: null,\n prevState: null,\n resize: function () {\n window.Page.forceResize();\n },\n render: function () {\n var options = this.prevState ? tools.fastAssign({ __keepState: this.prevState }, this.options) : this.options, element = React.createElement(this.reactClass, options), component = ReactDOM.render(element, this.el);\n this.component || this.mountComponent(component);\n },\n mountComponent: function (component) {\n this.component = component;\n this.prevState = null;\n component.trigger && this.listenTo(component, 'all', function () {\n this.trigger.apply(this, arguments);\n });\n },\n unmountComponent: function (keepModel) {\n var component = this.component;\n if (component) {\n this.prevState = component.state;\n if (component.trigger) {\n this.stopListening(component);\n }\n component._preventDispose = Boolean(keepModel);\n ReactDOM.unmountComponentAtNode(this.el);\n this.component = null;\n }\n },\n dispose: function () {\n this.unmountComponent();\n return dispose.apply(this, arguments);\n }\n });\n Object.defineProperty(ComponentView.prototype, 'model', {\n get: function () {\n this.component || this.render();\n return this.component && this.component.state;\n }\n });\n return ComponentView;\n}\n//# sourceMappingURL=component-view.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/component-view.js\n// module id = 8\n// module chunks = 0","var __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\nimport { Component } from './react-mvx';\nvar dontAutobind = [\n 'State', 'Store', 'constructor',\n 'componentWillMount', 'componentDidMount', 'componentWillReceiveProps', 'shouldComponentUpdate',\n 'componentWillUpdate', 'componentDidUpdate', 'componentWillUnmount',\n 'render', 'getDefaultProps', 'getChildContext'\n];\n/**\n * ES5 components definition factory\n */\nexport default function createClass(_a) {\n var statics = _a.statics, a_spec = __rest(_a, [\"statics\"]);\n // Gather all methods to pin them to `this` later.\n var methods = [];\n var Subclass = Component.extend(__assign({ \n // Override constructor to autobind all the methods...\n constructor: function () {\n Component.apply(this, this.arguments);\n for (var _i = 0, methods_1 = methods; _i < methods_1.length; _i++) {\n var method = methods_1[_i];\n this[method] = this[method].bind(this);\n }\n } }, a_spec), statics);\n // Need to bind methods from mixins as well, so populate it here.\n var Proto = Subclass.prototype;\n for (var key in Proto) {\n if (Proto.hasOwnProperty(key) && dontAutobind.indexOf(key) === -1 && typeof Proto[key] === 'function') {\n methods.push(key);\n }\n }\n return Subclass;\n}\n//# sourceMappingURL=createClass.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/createClass.js\n// module id = 9\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport React from './react-mvx';\nimport { tools } from 'type-r';\nvar notEqual = tools.notEqual;\nvar BackboneView = (function (_super) {\n __extends(BackboneView, _super);\n function BackboneView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.saveRef = function (element) {\n _this.root = element;\n };\n return _this;\n }\n BackboneView.prototype.shouldComponentUpdate = function (next) {\n var props = this.props;\n return next.View !== props.View || notEqual(next.options, props.options);\n };\n BackboneView.prototype.hasUnsavedChanges = function () {\n var view = this.view;\n return view && (typeof view.hasUnsavedChanges === 'function' ? view.hasUnsavedChanges() : view.hasUnsavedChanges);\n };\n BackboneView.prototype.render = function () {\n return React.createElement('div', {\n ref: this.saveRef,\n className: this.props.className\n });\n };\n BackboneView.prototype.componentDidMount = function () {\n this._mountView();\n };\n BackboneView.prototype.componentDidUpdate = function () {\n this._dispose();\n this._mountView();\n };\n BackboneView.prototype.componentWillUnmount = function () {\n this._dispose();\n };\n BackboneView.prototype._mountView = function () {\n var el = this.root, p = this.props;\n var view = this.view = p.options ? new p.View(p.options) : new p.View();\n el.appendChild(view.el);\n view.render();\n };\n BackboneView.prototype._dispose = function () {\n var view = this.view;\n if (view) {\n if (view.dispose) {\n view.dispose();\n }\n else {\n view.stopListening();\n view.off();\n }\n this.root.innerHTML = \"\";\n this.view = null;\n }\n };\n return BackboneView;\n}(React.Component));\nexport default BackboneView;\n//# sourceMappingURL=view-element.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/view-element.js\n// module id = 10\n// module chunks = 0","// Re-export react-mvx\nimport ReactMVx from './react-mvx';\nvar NestedReact = Object.create(ReactMVx);\nexport default NestedReact;\nexport * from './react-mvx';\n// NestedReact backward compatibility layer\nimport ReactDOM from 'react-dom';\nimport Nested, { View, Record } from 'type-r';\nimport * as PropTypes from 'prop-types';\nimport subview from './view-element';\nNestedReact.subview = subview;\nexport { subview };\nimport use from './component-view';\nimport createClass from './createClass';\nNestedReact.createClass = createClass;\nObject.defineProperty(NestedReact, 'PropTypes', { value: PropTypes });\nexport { PropTypes, createClass };\nvar BaseView;\n// export hook to override base View class used...\nexport function useView(View) {\n BaseView = use(View);\n}\nvar define = NestedReact.Component.define;\nNestedReact.Component.define = function (protoProps, staticProps) {\n this.View = BaseView.extend({ reactClass: this });\n return define.call(this, protoProps, staticProps);\n};\n// Deprecated API for backward compatibility\nvar RecordProto = Record.prototype;\nRecordProto.getLink = RecordProto.linkAt;\nRecordProto.deepLink = RecordProto.linkPath;\nvar CollectionProto = Record.Collection.prototype;\nCollectionProto.hasLink = CollectionProto.linkContains;\nuseView(View);\n// Extend react components to have backbone-style jquery accessors\nvar BackboneViewProps = {\n el: { get: function () { return ReactDOM.findDOMNode(this); } },\n $el: { get: function () { return Nested.$(this.el); } },\n $: { value: function (sel) { return this.$el.find(sel); } }\n};\nObject.defineProperties(NestedReact.Component.prototype, BackboneViewProps);\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/index.js\n// module id = 11\n// module chunks = 0","/**\n * React components\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\nimport * as React from 'react';\nimport { extendable, mixinRules, tools, Mixable } from 'type-r';\nimport processSpec from './define';\nvar reactMixinRules = {\n componentWillMount: 'reverse',\n componentDidMount: 'reverse',\n componentWillReceiveProps: 'reverse',\n shouldComponentUpdate: 'some',\n componentWillUpdate: 'reverse',\n componentDidUpdate: 'reverse',\n componentWillUnmount: 'sequence',\n state: 'merge',\n store: 'merge',\n props: 'merge',\n context: 'merge',\n childContext: 'merge',\n getChildContext: 'mergeSequence'\n};\nvar Component = (function (_super) {\n __extends(Component, _super);\n function Component() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Component.prototype.linkAt = function (key) {\n // Quick and dirty hack to suppres type error - refactor later.\n return this.state.linkAt(key);\n };\n Component.prototype.linkAll = function () {\n // Quick and dirty hack to suppres type error - refactor later.\n return this.state.linkAll.apply(this, arguments);\n };\n Component.define = function (protoProps, staticProps) {\n var BaseClass = tools.getBaseClass(this), staticsDefinition = tools.getChangedStatics(this, 'state', 'store', 'props', 'context', 'childContext', 'pureRender'), combinedDefinition = tools.assign(staticsDefinition, protoProps || {});\n var definition = processSpec(combinedDefinition, this.prototype);\n var getDefaultProps = definition.getDefaultProps, propTypes = definition.propTypes, contextTypes = definition.contextTypes, childContextTypes = definition.childContextTypes, protoDefinition = __rest(definition, [\"getDefaultProps\", \"propTypes\", \"contextTypes\", \"childContextTypes\"]);\n if (getDefaultProps)\n this.defaultProps = definition.getDefaultProps();\n if (propTypes)\n this.propTypes = propTypes;\n if (contextTypes)\n this.contextTypes = contextTypes;\n if (childContextTypes)\n this.childContextTypes = childContextTypes;\n Mixable.define.call(this, protoDefinition, staticProps);\n return this;\n };\n Component.prototype.assignToState = function (x, key) {\n this.state.assignFrom((_a = {}, _a[key] = x, _a));\n var _a;\n };\n return Component;\n}(React.Component));\nComponent = __decorate([\n extendable,\n mixinRules(reactMixinRules)\n], Component);\nexport { Component };\n// Looks like React guys _really_ want to deprecated it. But no way.\n// We will work around their attempt.\nObject.defineProperty(Component.prototype, 'isMounted', {\n value: function isMounted() {\n return !this._disposed;\n }\n});\n//# sourceMappingURL=component.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/component.js\n// module id = 12\n// module chunks = 0","/**\n * attach async event processing and transactional support.\n */\nimport { tools, Events } from 'type-r';\nexport default function compile(spec, baseProto) {\n // Attach common mixin\n spec.mixins.push(CommonMixin);\n}\nexport function asyncUpdate() {\n this.shouldComponentUpdate === returnFalse || this._disposed || this.forceUpdate();\n}\nfunction returnFalse() { return false; }\n/**\n * Mixin which is attached to all components.\n */\nvar CommonMixin = tools.assign({\n componentWillUnmount: function () {\n // Prevent memory leaks when working with events.\n this.off();\n this.stopListening();\n // Mark component as disposed.\n this._disposed = true;\n },\n // Safe version of the forceUpdate suitable for asynchronous callbacks.\n asyncUpdate: asyncUpdate,\n /**\n * Performs transactional update for both props and state.\n * Suppress updates during the transaction, and force update aftewards.\n * Wrapping the sequence of changes in a transactions guarantees that\n * React component will be updated _after_ all the changes to the\n * both props and local state are applied.\n */\n transaction: function (fun) {\n var shouldComponentUpdate = this.shouldComponentUpdate, isRoot = shouldComponentUpdate !== returnFalse;\n if (isRoot) {\n this.shouldComponentUpdate = returnFalse;\n }\n fun(this.props, this.state);\n if (isRoot) {\n this.shouldComponentUpdate = shouldComponentUpdate;\n this.asyncUpdate();\n }\n }\n}, Events);\n//# sourceMappingURL=common.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/common.js\n// module id = 13\n// module chunks = 0","var __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nimport { compileSpecs, collectSpecs } from './typeSpecs';\nexport default function process(spec, _a) {\n var _b = _a._context, _context = _b === void 0 ? {} : _b, _c = _a._childContext, _childContext = _c === void 0 ? {} : _c;\n // process context specs...\n var context = collectSpecs(spec, 'context');\n if (context) {\n spec._context = __assign({}, _context, context);\n spec.contextTypes = compileSpecs(context).propTypes;\n delete spec.context;\n }\n // and child context specs...\n var childContext = collectSpecs(spec, 'childContext');\n if (childContext) {\n spec._childContext = __assign({}, _childContext, childContext);\n spec.childContextTypes = compileSpecs(childContext).propTypes;\n delete spec.childContext;\n }\n}\n//# sourceMappingURL=context.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/context.js\n// module id = 14\n// module chunks = 0","/**\n * Handle props specification and everything which is related:\n * - local listening to props changes\n * - pure render mixin\n */\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nimport { collectSpecs, compileSpecs } from './typeSpecs';\nimport createPureRenderMixin from './pureRender';\nexport default function process(spec, _a) {\n var pureRender = _a.pureRender, _b = _a._props, _props = _b === void 0 ? {} : _b, _c = _a._listenToPropsArray, _listenToPropsArray = _c === void 0 ? [] : _c, _d = _a._listenToPropsHash, _listenToPropsHash = _d === void 0 ? {} : _d;\n // process props spec...\n var props = collectSpecs(spec, 'props');\n if (props) {\n var allProps = spec._props = __assign({}, _props, props);\n var _e = compileSpecs(allProps), propTypes = _e.propTypes, defaults_1 = _e.defaults, watchers = _e.watchers, changeHandlers = _e.changeHandlers;\n spec.propTypes = propTypes;\n if (defaults_1)\n spec.getDefaultProps = function () { return defaults_1; };\n if (watchers) {\n spec.mixins.unshift(WatchersMixin);\n spec._watchers = watchers;\n }\n if (changeHandlers) {\n spec.mixins.unshift(ChangeHandlersMixin);\n spec._changeHandlers = changeHandlers;\n }\n delete spec.props;\n }\n // compile pure render mixin\n if (spec._props && (spec.pureRender || pureRender)) {\n spec.mixins.push(createPureRenderMixin(spec._props));\n }\n}\n/**\n * ChangeHandlers are fired in sequence upon props replacement.\n * Fires _after_ UI is updated. Used for managing events subscriptions.\n */\nvar ChangeHandlersMixin = {\n componentDidMount: function () {\n handlePropsChanges(this, {}, this.props);\n },\n componentDidUpdate: function (prev) {\n handlePropsChanges(this, prev, this.props);\n },\n componentWillUnmount: function () {\n handlePropsChanges(this, this.props, {});\n }\n};\nfunction handlePropsChanges(component, prev, next) {\n var _changeHandlers = component._changeHandlers;\n for (var name_1 in _changeHandlers) {\n if (prev[name_1] !== next[name_1]) {\n for (var _i = 0, _a = _changeHandlers[name_1]; _i < _a.length; _i++) {\n var handler = _a[_i];\n handler(next[name_1], prev[name_1], component);\n }\n }\n }\n}\n/**\n * Watchers works on props replacement and fires _before_ any change will be applied and UI is updated.\n * Fired in componentWillMount as well, which makes it a nice way to sync state from props.\n */\nvar WatchersMixin = {\n componentWillReceiveProps: function (next) {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_2 in _watchers) {\n if (next[name_2] !== props[name_2]) {\n _watchers[name_2].call(this, next[name_2], name_2);\n }\n }\n },\n componentWillMount: function () {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_3 in _watchers) {\n _watchers[name_3].call(this, props[name_3], name_3);\n }\n }\n};\n//# sourceMappingURL=props.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/props.js\n// module id = 15\n// module chunks = 0","export default function createPureRenderMixin(props) {\n var ctorBody = ['var v; this._s = s && s._changeToken'], isChangedBody = ['var v; return ( s && s._changeToken !== t._s )'];\n for (var name_1 in props) {\n var propExpr = \"( ( v = p.\" + name_1 + \") && v._changeToken ) || v\";\n ctorBody.push(\"this.\" + name_1 + \"= \" + propExpr);\n isChangedBody.push(\"t.\" + name_1 + \" !== (\" + propExpr + \")\");\n }\n var ChangeTokens = new Function('p', 's', ctorBody.join(';')), isChanged = new Function('t', 'p', 's', isChangedBody.join('||'));\n ChangeTokens.prototype = null;\n return {\n _changeTokens: null,\n shouldComponentUpdate: function (nextProps) {\n return isChanged(this._changeTokens, nextProps, this.state);\n },\n componentDidMount: function () {\n this._changeTokens = new ChangeTokens(this.props, this.state);\n },\n componentDidUpdate: function () {\n this._changeTokens = new ChangeTokens(this.props, this.state);\n }\n };\n}\n;\n//# sourceMappingURL=pureRender.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/pureRender.js\n// module id = 16\n// module chunks = 0","import { collectSpecs } from './typeSpecs';\nimport { Store } from 'type-r';\nimport { StateMixin, UpdateOnNestedChangesMixin } from './state';\nexport default function process(spec, baseProto) {\n var store = collectSpecs(spec, 'store');\n if (store) {\n delete spec.store;\n if (store instanceof Store) {\n // Direct reference to an existing store. Put it to the prototype.\n spec.store = store;\n spec.mixins.push(ExternalStoreMixin);\n }\n else {\n spec.Store = store;\n spec.mixins.push(InternalStoreMixin);\n spec.mixins.push(UpdateOnNestedChangesMixin);\n }\n spec.mixins.push(ExposeStoreMixin);\n }\n}\n/**\n * Attached whenever the store declaration of any form is present in the component.\n */\nvar ExposeStoreMixin = {\n childContext: {\n _nestedStore: Store\n },\n getChildContext: function () {\n return { _nestedStore: this.store };\n },\n getStore: function () {\n return this.store;\n },\n // Will be called by the store when the lookup will fail.\n get: function (key) {\n // Ask upper store.\n var store = StateMixin.getStore.call(this, key);\n return store && store.get(key);\n }\n};\n/**\n * External store must just track the changes and trigger render.\n * TBD: don't use it yet.\n */\nvar ExternalStoreMixin = {\n componentDidMount: function () {\n // Start UI updates on state changes.\n this.listenTo(this.store, 'change', this.asyncUpdate);\n }\n};\nvar InternalStoreMixin = {\n componentWillMount: function () {\n var store = this.store = new this.Store();\n store._owner = this;\n store._ownerKey = 'store';\n },\n componentWillUnmount: function () {\n this.store._ownerKey = this.store._owner = void 0;\n this.store.dispose();\n this.store = void 0;\n }\n};\n//# sourceMappingURL=store.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/store.js\n// module id = 17\n// module chunks = 0","/**\n * Import ValueLink library\n * Define value links binding mixins to the Record and Collection\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { Mixable, Record } from 'type-r';\nimport { Link } from './valuelink/link';\nexport default Link;\nMixable.mixTo(Link);\n/**\n * Record\n */\nRecord.mixins({\n // Link to the record's attribute by its key.\n linkAt: function (key) {\n return cacheLink(getLinksCache(this), this, key);\n },\n // Link to the attribute of the record's tree by symbolic path.\n linkPath: function (path, options) {\n return new RecordDeepLink(this, path, options);\n },\n // Link all (or listed) attributes and return links cache.\n linkAll: function () {\n var links = getLinksCache(this);\n if (arguments.length) {\n for (var i = 0; i < arguments.length; i++) {\n cacheLink(links, this, arguments[i]);\n }\n }\n else {\n var attributes = this.attributes;\n for (var key in attributes) {\n attributes[key] === void 0 || cacheLink(links, this, key);\n }\n }\n return links;\n }\n});\n/**\n * Link to Type-R's record attribute.\n * Strict evaluation of value, lazy evaluation of validation error.\n * Links are cached in the records\n */\nvar RecordLink = (function (_super) {\n __extends(RecordLink, _super);\n function RecordLink(record, attr, value) {\n var _this = _super.call(this, value) || this;\n _this.record = record;\n _this.attr = attr;\n return _this;\n }\n RecordLink.prototype.set = function (x) {\n this.record[this.attr] = x;\n };\n Object.defineProperty(RecordLink.prototype, \"error\", {\n get: function () {\n return this._error === void 0 ?\n this.record.getValidationError(this.attr) :\n this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n return RecordLink;\n}(Link));\nvar RecordDeepLink = (function (_super) {\n __extends(RecordDeepLink, _super);\n function RecordDeepLink(record, path, options) {\n var _this = _super.call(this, record.deepGet(path)) || this;\n _this.record = record;\n _this.path = path;\n _this.options = options;\n return _this;\n }\n Object.defineProperty(RecordDeepLink.prototype, \"error\", {\n get: function () {\n if (this._error === void 0) {\n this._error = this.record.deepValidationError(this.path) || null;\n }\n return this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(RecordDeepLink.prototype, \"_changeToken\", {\n get: function () {\n return this.record._changeToken;\n },\n enumerable: true,\n configurable: true\n });\n RecordDeepLink.prototype.set = function (x) {\n this.record.deepSet(this.path, x, this.options);\n };\n return RecordDeepLink;\n}(Link));\nfunction getLinksCache(record) {\n return record._links || (record._links = new record.Attributes({}));\n}\nfunction cacheLink(links, record, key) {\n var cached = links[key], value = record[key];\n return cached && cached.value === value ? cached\n : links[key] = new RecordLink(record, key, value);\n}\n/***********************************\n * Collection\n */\nRecord.Collection.mixins({\n // Boolean link to the record's presence in the collection\n linkContains: function (record) {\n return new CollectionLink(this, record);\n },\n // Link to collection's property\n linkAt: function (prop) {\n var _this = this;\n return Link.value(this[prop], function (x) { return _this[prop] = x; });\n }\n});\n/**\n * Boolean link to presence of NestedType's record in collection.\n * Strict evaluation of value, no error.\n * Safe implementation of _changeToken.\n */\nvar CollectionLink = (function (_super) {\n __extends(CollectionLink, _super);\n function CollectionLink(collection, record) {\n var _this = _super.call(this, Boolean(collection._byId[record.cid])) || this;\n _this.collection = collection;\n _this.record = record;\n return _this;\n }\n CollectionLink.prototype.set = function (x) {\n this.collection.toggle(this.record, x);\n };\n return CollectionLink;\n}(Link));\n//# sourceMappingURL=link.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/link.js\n// module id = 18\n// module chunks = 0","var ArrayProto = Array.prototype, ObjectProto = Object.prototype;\nexport function helpers(value) {\n if (value && typeof value === 'object') {\n switch (Object.getPrototypeOf(value)) {\n case ArrayProto: return arrayHelpers;\n case ObjectProto: return objectHelpers;\n }\n }\n return dummyHelpers;\n}\n// Do nothing for types other than Array and plain Object.\nvar dummyHelpers = {\n clone: function (value) { return value; },\n map: function (link, fun) { return []; },\n remove: function (value) { return value; }\n};\n// `map` and `clone` for plain JS objects\nexport var objectHelpers = {\n // Map through the link to object\n map: function (link, iterator) {\n var mapped = [];\n for (var key in link.value) {\n var element = iterator(link.at(key), key);\n element === void 0 || (mapped.push(element));\n }\n return mapped;\n },\n remove: function (object, key) {\n delete object[key];\n return object;\n },\n // Shallow clone plain JS object\n clone: function (object) {\n var cloned = {};\n for (var key in object) {\n cloned[key] = object[key];\n }\n return cloned;\n }\n};\n// `map` and `clone` helpers for arrays.\nexport var arrayHelpers = {\n // Shallow clone array\n clone: function (array) {\n return array.slice();\n },\n remove: function (array, i) {\n array.splice(i, 1);\n return array;\n },\n // Map through the link to array\n map: function (link, iterator) {\n var length = link.value.length, mapped = Array(length);\n for (var i = 0, j = 0; i < length; i++) {\n var y = iterator(link.at(i), i);\n y === void 0 || (mapped[j++] = y);\n }\n mapped.length === j || (mapped.length = j);\n return mapped;\n }\n};\n//# sourceMappingURL=helpers.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/valuelink/helpers.js\n// module id = 19\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * Advanced React links for purely functional two-way data binding\n *\n * MIT License, (c) 2016 Vlad Balin, Volicon.\n */\nimport { helpers, arrayHelpers } from './helpers';\n// Main Link class. All links must extend it.\nvar Link = (function () {\n // create \n function Link(value) {\n this.value = value;\n }\n // Create custom link to arbitrary value\n Link.value = function (value, set) {\n return new CustomLink(value, set);\n };\n Object.defineProperty(Link.prototype, \"validationError\", {\n // DEPRECATED: Old error holder for backward compatibility with Volicon code base\n get: function () { return this.error; },\n enumerable: true,\n configurable: true\n });\n Link.prototype.onChange = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n handler(x);\n _this.set(x);\n });\n };\n Object.defineProperty(Link.prototype, \"props\", {\n // \n get: function () {\n var _this = this;\n return { value: this.value, onChange: function (e) { return _this.set(e.target.value); } };\n },\n enumerable: true,\n configurable: true\n });\n // DEPRECATED: Old React method for backward compatibility\n Link.prototype.requestChange = function (x) {\n this.set(x);\n };\n // Immediately update the link value using given transform function.\n Link.prototype.update = function (transform, e) {\n var next = transform(this.clone(), e);\n next === void 0 || this.set(next);\n };\n // Create new link which applies transform function on set.\n Link.prototype.pipe = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n var next = handler(x, _this.value);\n next === void 0 || _this.set(next);\n });\n };\n // Create UI event handler function which will update the link with a given transform function.\n Link.prototype.action = function (transform) {\n var _this = this;\n return function (e) { return _this.update(transform, e); };\n };\n Link.prototype.equals = function (truthyValue) {\n return new EqualsLink(this, truthyValue);\n };\n Link.prototype.enabled = function (defaultValue) {\n return new EnabledLink(this, defaultValue || \"\");\n };\n // Array-only links methods\n Link.prototype.contains = function (element) {\n return new ContainsLink(this, element);\n };\n Link.prototype.push = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.push.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.unshift = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.unshift.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.splice = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.splice.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.map = function (iterator) {\n return helpers(this.value).map(this, iterator);\n };\n Link.prototype.removeAt = function (key) {\n var value = this.value, _ = helpers(value);\n this.set(_.remove(_.clone(value), key));\n };\n Link.prototype.at = function (key) {\n return new LinkAt(this, key);\n };\n Link.prototype.clone = function () {\n var value = this.value;\n return helpers(value).clone(value);\n };\n Link.prototype.pick = function () {\n var links = {};\n for (var i = 0; i < arguments.length; i++) {\n var key = arguments[i];\n links[key] = new LinkAt(this, key);\n }\n return links;\n };\n /**\n * Validate link with validness predicate and optional custom error object. Can be chained.\n */\n Link.prototype.check = function (whenValid, error) {\n if (!this.error && !whenValid(this.value)) {\n this.error = error || whenValid.error || defaultError;\n }\n return this;\n };\n return Link;\n}());\nexport { Link };\nvar CustomLink = (function (_super) {\n __extends(CustomLink, _super);\n function CustomLink(value, set) {\n var _this = _super.call(this, value) || this;\n _this.set = set;\n return _this;\n }\n CustomLink.prototype.set = function (x) { };\n return CustomLink;\n}(Link));\nexport { CustomLink };\nvar CloneLink = (function (_super) {\n __extends(CloneLink, _super);\n function CloneLink(parent, set) {\n var _this = _super.call(this, parent.value) || this;\n _this.set = set;\n var error = parent.error;\n if (error)\n _this.error = error;\n return _this;\n }\n CloneLink.prototype.set = function (x) { };\n return CloneLink;\n}(Link));\nexport { CloneLink };\nvar EqualsLink = (function (_super) {\n __extends(EqualsLink, _super);\n function EqualsLink(parent, truthyValue) {\n var _this = _super.call(this, parent.value === truthyValue) || this;\n _this.parent = parent;\n _this.truthyValue = truthyValue;\n return _this;\n }\n EqualsLink.prototype.set = function (x) {\n this.parent.set(x ? this.truthyValue : null);\n };\n return EqualsLink;\n}(Link));\nexport { EqualsLink };\nvar EnabledLink = (function (_super) {\n __extends(EnabledLink, _super);\n function EnabledLink(parent, defaultValue) {\n var _this = _super.call(this, parent.value != null) || this;\n _this.parent = parent;\n _this.defaultValue = defaultValue;\n return _this;\n }\n EnabledLink.prototype.set = function (x) {\n this.parent.set(x ? this.defaultValue : null);\n };\n return EnabledLink;\n}(Link));\nexport { EnabledLink };\nvar ContainsLink = (function (_super) {\n __extends(ContainsLink, _super);\n function ContainsLink(parent, element) {\n var _this = _super.call(this, parent.value.indexOf(element) >= 0) || this;\n _this.parent = parent;\n _this.element = element;\n return _this;\n }\n ContainsLink.prototype.set = function (x) {\n var _this = this;\n var next = Boolean(x);\n if (this.value !== next) {\n var arr = this.parent.value, nextValue = x ? arr.concat(this.element) : arr.filter(function (el) { return el !== _this.element; });\n this.parent.set(nextValue);\n }\n };\n return ContainsLink;\n}(Link));\nexport { ContainsLink };\nvar defaultError = 'Invalid value';\n/**\n * Link to array or object element enclosed in parent link.\n * Performs purely functional update of the parent, shallow copying its value on `set`.\n */\nvar LinkAt = (function (_super) {\n __extends(LinkAt, _super);\n function LinkAt(parent, key) {\n var _this = _super.call(this, parent.value[key]) || this;\n _this.parent = parent;\n _this.key = key;\n return _this;\n }\n LinkAt.prototype.remove = function () {\n this.parent.removeAt(this.key);\n };\n // Set new element value to parent array or object, performing purely functional update.\n LinkAt.prototype.set = function (x) {\n var _this = this;\n if (this.value !== x) {\n this.parent.update(function (value) {\n value[_this.key] = x;\n return value;\n });\n }\n };\n ;\n return LinkAt;\n}(Link));\nexport { LinkAt };\n//# sourceMappingURL=link.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/valuelink/link.js\n// module id = 20\n// module chunks = 0","\"use strict\";\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/fbjs/lib/emptyFunction.js\n// module id = 21\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (process.env.NODE_ENV !== 'production') {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/fbjs/lib/invariant.js\n// module id = 22\n// module chunks = 0","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n'use strict';\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\nvar invariant = require('fbjs/lib/invariant');\n\nmodule.exports = function() {\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n function shim() {\n invariant(\n false,\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim\n };\n\n ReactPropTypes.checkPropTypes = emptyFunction;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/prop-types/factoryWithThrowingShims.js\n// module id = 23\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file diff --git a/lib/createClass.d.ts b/lib/createClass.d.ts new file mode 100644 index 0000000..3ac7e37 --- /dev/null +++ b/lib/createClass.d.ts @@ -0,0 +1,5 @@ +/// +/** + * ES5 components definition factory + */ +export default function createClass({statics, ...a_spec}: React.ComponentSpec): React.ClassicComponentClass

; diff --git a/lib/createClass.js b/lib/createClass.js new file mode 100644 index 0000000..0cda160 --- /dev/null +++ b/lib/createClass.js @@ -0,0 +1,50 @@ +var __assign = (this && this.__assign) || Object.assign || function(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; +}; +var __rest = (this && this.__rest) || function (s, e) { + var t = {}; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) + t[p] = s[p]; + if (s != null && typeof Object.getOwnPropertySymbols === "function") + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) + t[p[i]] = s[p[i]]; + return t; +}; +import { Component } from './react-mvx'; +var dontAutobind = [ + 'State', 'Store', 'constructor', + 'componentWillMount', 'componentDidMount', 'componentWillReceiveProps', 'shouldComponentUpdate', + 'componentWillUpdate', 'componentDidUpdate', 'componentWillUnmount', + 'render', 'getDefaultProps', 'getChildContext' +]; +/** + * ES5 components definition factory + */ +export default function createClass(_a) { + var statics = _a.statics, a_spec = __rest(_a, ["statics"]); + // Gather all methods to pin them to `this` later. + var methods = []; + var Subclass = Component.extend(__assign({ + // Override constructor to autobind all the methods... + constructor: function () { + Component.apply(this, this.arguments); + for (var _i = 0, methods_1 = methods; _i < methods_1.length; _i++) { + var method = methods_1[_i]; + this[method] = this[method].bind(this); + } + } }, a_spec), statics); + // Need to bind methods from mixins as well, so populate it here. + var Proto = Subclass.prototype; + for (var key in Proto) { + if (Proto.hasOwnProperty(key) && dontAutobind.indexOf(key) === -1 && typeof Proto[key] === 'function') { + methods.push(key); + } + } + return Subclass; +} +//# sourceMappingURL=createClass.js.map \ No newline at end of file diff --git a/lib/createClass.js.map b/lib/createClass.js.map new file mode 100644 index 0000000..afc063c --- /dev/null +++ b/lib/createClass.js.map @@ -0,0 +1 @@ +{"version":3,"file":"createClass.js","sourceRoot":"","sources":["../src/createClass.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,IAAM,YAAY,GAAG;IACjB,OAAO,EAAE,OAAO,EAAE,aAAa;IAC/B,oBAAoB,EAAC,mBAAmB,EAAC,2BAA2B,EAAC,uBAAuB;IAC5F,qBAAqB,EAAC,oBAAoB,EAAC,sBAAsB;IACjE,QAAQ,EAAE,iBAAiB,EAAE,iBAAiB;CACjD,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,OAAO,sBAA8B,EAAkD;IAAhD,IAAA,oBAAO,EAAE,gCAAS;IAC5D,kDAAkD;IAClD,IAAM,OAAO,GAAG,EAAE,CAAC;IAEnB,IAAM,QAAQ,GAAS,SAAS,CAAC,MAAM;QACnC,sDAAsD;QACtD,WAAW;YACP,SAAS,CAAC,KAAK,CAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAE,CAAC;YAExC,GAAG,CAAA,CAAgB,UAAO,EAAP,mBAAO,EAAP,qBAAO,EAAP,IAAO;gBAArB,IAAI,MAAM,gBAAA;gBACX,IAAI,CAAE,MAAM,CAAE,GAAG,IAAI,CAAE,MAAM,CAAE,CAAC,IAAI,CAAE,IAAI,CAAE,CAAC;aAChD;QACL,CAAC,IACE,MAAM,GACV,OAAO,CAAE,CAAC;IAEb,iEAAiE;IACjE,IAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC;IACjC,GAAG,CAAA,CAAE,IAAI,GAAG,IAAI,KAAM,CAAC,CAAA,CAAC;QACpB,EAAE,CAAA,CAAE,KAAK,CAAC,cAAc,CAAE,GAAG,CAAE,IAAI,YAAY,CAAC,OAAO,CAAE,GAAG,CAAE,KAAK,CAAC,CAAC,IAAI,OAAO,KAAK,CAAE,GAAG,CAAE,KAAK,UAAW,CAAC,CAAA,CAAC;YAC1G,OAAO,CAAC,IAAI,CAAE,GAAG,CAAE,CAAC;QACxB,CAAC;IACL,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC;AACpB,CAAC"} \ No newline at end of file diff --git a/lib/index.d.ts b/lib/index.d.ts index 69f4651..36fcad0 100644 --- a/lib/index.d.ts +++ b/lib/index.d.ts @@ -4,5 +4,6 @@ export * from './react-mvx'; import * as PropTypes from 'prop-types'; import subview from './view-element'; export { subview }; -export { PropTypes }; +import createClass from './createClass'; +export { PropTypes, createClass }; export declare function useView(View: any): void; diff --git a/lib/index.js b/lib/index.js index b45df4c..4c00a3d 100644 --- a/lib/index.js +++ b/lib/index.js @@ -11,7 +11,10 @@ import subview from './view-element'; NestedReact.subview = subview; export { subview }; import use from './component-view'; -export { PropTypes }; +import createClass from './createClass'; +NestedReact.createClass = createClass; +Object.defineProperty(NestedReact, 'PropTypes', { value: PropTypes }); +export { PropTypes, createClass }; var BaseView; // export hook to override base View class used... export function useView(View) { @@ -22,8 +25,6 @@ NestedReact.Component.define = function (protoProps, staticProps) { this.View = BaseView.extend({ reactClass: this }); return define.call(this, protoProps, staticProps); }; -function defineBackboneProxy(Component) { -} // Deprecated API for backward compatibility var RecordProto = Record.prototype; RecordProto.getLink = RecordProto.linkAt; diff --git a/lib/index.js.map b/lib/index.js.map index 3cce146..bd7132a 100644 --- a/lib/index.js.map +++ b/lib/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,sBAAsB;AACtB,OAAO,QAAQ,MAAM,aAAa,CAAA;AAClC,IAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAE,QAAQ,CAAE,CAAC;AAC9C,eAAe,WAAW,CAAC;AAC3B,cAAc,aAAa,CAAA;AAE3B,2CAA2C;AAC3C,OAAO,QAAQ,MAAM,WAAW,CAAA;AAChC,OAAO,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,KAAK,SAAS,MAAM,YAAY,CAAA;AAEvC,OAAO,OAAO,MAAM,gBAAgB,CAAA;AACpC,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAE,CAAA;AAElB,OAAO,GAAG,MAAM,kBAAkB,CAAA;AAElC,OAAO,EAAE,SAAS,EAAE,CAAC;AAErB,IAAI,QAAQ,CAAC;AAEb,kDAAkD;AAClD,MAAM,kBAAmB,IAAI;IACzB,QAAQ,GAAG,GAAG,CAAE,IAAI,CAAE,CAAC;AAC3B,CAAC;AAEO,IAAA,qCAAM,CAA2B;AAEzC,WAAW,CAAC,SAAS,CAAC,MAAM,GAAG,UAAU,UAAU,EAAE,WAAW;IAC5D,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAE,EAAE,UAAU,EAAG,IAAI,EAAE,CAAE,CAAC;IAErD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAE,IAAI,EAAE,UAAU,EAAE,WAAW,CAAE,CAAC;AACxD,CAAC,CAAA;AAED,6BAA8B,SAAS;AAEvC,CAAC;AAED,4CAA4C;AAC5C,IAAM,WAAW,GAAS,MAAM,CAAC,SAAS,CAAC;AAC3C,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC;AACzC,WAAW,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;AAE5C,IAAM,eAAe,GAAS,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC;AAC1D,eAAe,CAAC,OAAO,GAAG,eAAe,CAAC,YAAY,CAAC;AAEvD,OAAO,CAAE,IAAI,CAAE,CAAC;AAEhB,kEAAkE;AAClE,IAAM,iBAAiB,GAAG;IACtB,EAAE,EAAI,EAAE,GAAG,EAAG,cAAY,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAE,IAAI,CAAE,CAAA,CAAC,CAAC,EAAE;IACjE,GAAG,EAAG,EAAE,GAAG,EAAG,cAAY,MAAM,CAAC,MAAM,CAAC,CAAC,CAAE,IAAI,CAAC,EAAE,CAAE,CAAA,CAAC,CAAC,EAAE;IACxD,CAAC,EAAK,EAAE,KAAK,EAAG,UAAU,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAE,GAAG,CAAE,CAAA,CAAC,CAAC,EAAE;CACnE,CAAC;AAEF,MAAM,CAAC,gBAAgB,CAAE,WAAW,CAAC,SAAS,CAAC,SAAS,EAAE,iBAAiB,CAAE,CAAC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,sBAAsB;AACtB,OAAO,QAAQ,MAAM,aAAa,CAAA;AAClC,IAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAE,QAAQ,CAAE,CAAC;AAC9C,eAAe,WAAW,CAAC;AAC3B,cAAc,aAAa,CAAA;AAE3B,2CAA2C;AAC3C,OAAO,QAAQ,MAAM,WAAW,CAAA;AAChC,OAAO,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,KAAK,SAAS,MAAM,YAAY,CAAA;AAEvC,OAAO,OAAO,MAAM,gBAAgB,CAAA;AACpC,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAE,CAAA;AAElB,OAAO,GAAG,MAAM,kBAAkB,CAAA;AAClC,OAAO,WAAW,MAAM,eAAe,CAAA;AAEvC,WAAW,CAAC,WAAW,GAAG,WAAW,CAAC;AACtC,MAAM,CAAC,cAAc,CAAE,WAAW,EAAE,WAAW,EAAE,EAAE,KAAK,EAAG,SAAS,EAAE,CAAE,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;AAElC,IAAI,QAAQ,CAAC;AAEb,kDAAkD;AAClD,MAAM,kBAAmB,IAAI;IACzB,QAAQ,GAAG,GAAG,CAAE,IAAI,CAAE,CAAC;AAC3B,CAAC;AAEO,IAAA,qCAAM,CAA2B;AAEzC,WAAW,CAAC,SAAS,CAAC,MAAM,GAAG,UAAU,UAAU,EAAE,WAAW;IAC5D,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAE,EAAE,UAAU,EAAG,IAAI,EAAE,CAAE,CAAC;IAErD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAE,IAAI,EAAE,UAAU,EAAE,WAAW,CAAE,CAAC;AACxD,CAAC,CAAA;AAED,4CAA4C;AAC5C,IAAM,WAAW,GAAS,MAAM,CAAC,SAAS,CAAC;AAC3C,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC;AACzC,WAAW,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;AAE5C,IAAM,eAAe,GAAS,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC;AAC1D,eAAe,CAAC,OAAO,GAAG,eAAe,CAAC,YAAY,CAAC;AAEvD,OAAO,CAAE,IAAI,CAAE,CAAC;AAEhB,kEAAkE;AAClE,IAAM,iBAAiB,GAAG;IACtB,EAAE,EAAI,EAAE,GAAG,EAAG,cAAY,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAE,IAAI,CAAE,CAAA,CAAC,CAAC,EAAE;IACjE,GAAG,EAAG,EAAE,GAAG,EAAG,cAAY,MAAM,CAAC,MAAM,CAAC,CAAC,CAAE,IAAI,CAAC,EAAE,CAAE,CAAA,CAAC,CAAC,EAAE;IACxD,CAAC,EAAK,EAAE,KAAK,EAAG,UAAU,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAE,GAAG,CAAE,CAAA,CAAC,CAAC,EAAE;CACnE,CAAC;AAEF,MAAM,CAAC,gBAAgB,CAAE,WAAW,CAAC,SAAS,CAAC,SAAS,EAAE,iBAAiB,CAAE,CAAC"} \ No newline at end of file diff --git a/lib/react-mvx/component.d.ts b/lib/react-mvx/component.d.ts index 35945af..ff69e26 100644 --- a/lib/react-mvx/component.d.ts +++ b/lib/react-mvx/component.d.ts @@ -10,7 +10,6 @@ export declare class Component

extends React.Component { static state?: TypeSpecs | typeof Record; static store?: TypeSpecs | typeof Store; static props?: TypeSpecs; - static autobind?: string; static context?: TypeSpecs; static childContext?: TypeSpecs; static pureRender?: boolean; @@ -30,7 +29,3 @@ export declare class Component

extends React.Component { assignToState(x: any, key: any): void; isMounted: () => boolean; } -/** - * ES5 components definition factory - */ -export declare function createClass({statics, ...a_spec}: React.ComponentSpec): React.ClassicComponentClass

; diff --git a/lib/react-mvx/component.js b/lib/react-mvx/component.js index c7d9711..caad6e3 100644 --- a/lib/react-mvx/component.js +++ b/lib/react-mvx/component.js @@ -11,14 +11,6 @@ var __extends = (this && this.__extends) || (function () { d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); -var __assign = (this && this.__assign) || Object.assign || function(t) { - for (var s, i = 1, n = arguments.length; i < n; i++) { - s = arguments[i]; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) - t[p] = s[p]; - } - return t; -}; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); @@ -66,7 +58,7 @@ var Component = (function (_super) { return this.state.linkAll.apply(this, arguments); }; Component.define = function (protoProps, staticProps) { - var BaseClass = tools.getBaseClass(this), staticsDefinition = tools.getChangedStatics(this, 'state', 'store', 'props', 'autobind', 'context', 'childContext', 'pureRender'), combinedDefinition = tools.assign(staticsDefinition, protoProps || {}); + var BaseClass = tools.getBaseClass(this), staticsDefinition = tools.getChangedStatics(this, 'state', 'store', 'props', 'context', 'childContext', 'pureRender'), combinedDefinition = tools.assign(staticsDefinition, protoProps || {}); var definition = processSpec(combinedDefinition, this.prototype); var getDefaultProps = definition.getDefaultProps, propTypes = definition.propTypes, contextTypes = definition.contextTypes, childContextTypes = definition.childContextTypes, protoDefinition = __rest(definition, ["getDefaultProps", "propTypes", "contextTypes", "childContextTypes"]); if (getDefaultProps) @@ -98,30 +90,4 @@ Object.defineProperty(Component.prototype, 'isMounted', { return !this._disposed; } }); -var dontAutobind = ['state', 'store']; -/** - * ES5 components definition factory - */ -export function createClass(_a) { - var statics = _a.statics, a_spec = __rest(_a, ["statics"]); - // Gather all methods to pin them to `this` later. - var methods = []; - var Subclass = Component.extend(__assign({ - // Override constructor to autobind all the methods... - constructor: function () { - Component.apply(this, this.arguments); - for (var _i = 0, methods_1 = methods; _i < methods_1.length; _i++) { - var method = methods_1[_i]; - this[method] = this[method].bind(this); - } - } }, a_spec), statics); - // Need to bind methods from mixins as well, so populate it here. - var Proto = Subclass.prototype; - for (var key in Proto) { - if (Proto.hasOwnProperty(key) && dontAutobind.indexOf(key) === -1 && typeof Proto[key] === 'function') { - methods.push(key); - } - } - return Subclass; -} //# sourceMappingURL=component.js.map \ No newline at end of file diff --git a/lib/react-mvx/component.js.map b/lib/react-mvx/component.js.map index b71e2c3..08ab78e 100644 --- a/lib/react-mvx/component.js.map +++ b/lib/react-mvx/component.js.map @@ -1 +1 @@ -{"version":3,"file":"component.js","sourceRoot":"","sources":["../../src/react-mvx/component.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"component.js","sourceRoot":"","sources":["../../src/react-mvx/component.ts"],"names":[],"mappings":"AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAiB,UAAU,EAAc,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAE1F,OAAO,WAA0B,MAAM,UAAU,CAAA;AAEjD,IAAM,eAAe,GAAS;IAC1B,kBAAkB,EAAU,SAAS;IACrC,iBAAiB,EAAW,SAAS;IACrC,yBAAyB,EAAG,SAAS;IACrC,qBAAqB,EAAO,MAAM;IAClC,mBAAmB,EAAS,SAAS;IACrC,kBAAkB,EAAU,SAAS;IACrC,oBAAoB,EAAQ,UAAU;IACtC,KAAK,EAAuB,OAAO;IACnC,KAAK,EAAuB,OAAO;IACnC,KAAK,EAAuB,OAAO;IACnC,OAAO,EAAqB,OAAO;IACnC,YAAY,EAAgB,OAAO;IACnC,eAAe,EAAa,eAAe;CAC9C,CAAC;AAIF,IAAa,SAAS;IAAY,6BAA0B;IAA5D;;IAsDA,CAAC;IAtCG,0BAAM,GAAN,UAAQ,GAAY;QAChB,+DAA+D;QAC/D,MAAM,CAAO,IAAI,CAAC,KAAM,CAAC,MAAM,CAAE,GAAG,CAAE,CAAC;IAC3C,CAAC;IAGD,2BAAO,GAAP;QACI,+DAA+D;QAC/D,MAAM,CAAO,IAAI,CAAC,KAAM,CAAC,OAAO,CAAC,KAAK,CAAE,IAAI,EAAE,SAAS,CAAE,CAAC;IAC9D,CAAC;IAEM,gBAAM,GAAb,UAAe,UAAU,EAAE,WAAW;QAClC,IAAI,SAAS,GAAY,KAAK,CAAC,YAAY,CAAE,IAAI,CAAE,EAC/C,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,YAAY,CAAE,EACvH,kBAAkB,GAAG,KAAK,CAAC,MAAM,CAAE,iBAAiB,EAAE,UAAU,IAAI,EAAE,CAAE,CAAC;QAE7E,IAAI,UAAU,GAAG,WAAW,CAAE,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAE,CAAC;QAE3D,IAAA,4CAAe,EAAE,gCAAS,EAAE,sCAAY,EAAE,gDAAiB,EAAE,2GAAkB,CAAgB;QAEvG,EAAE,CAAA,CAAE,eAAgB,CAAC;YAAC,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,eAAe,EAAE,CAAC;QACvE,EAAE,CAAA,CAAE,SAAU,CAAC;YAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3C,EAAE,CAAA,CAAE,YAAa,CAAC;YAAC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACpD,EAAE,CAAA,CAAE,iBAAkB,CAAC;YAAC,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAEnE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAE,IAAI,EAAE,eAAe,EAAE,WAAW,CAAE,CAAC;QAE1D,MAAM,CAAC,IAAI,CAAC;IAChB,CAAC;IAKD,iCAAa,GAAb,UAAe,CAAC,EAAE,GAAG;QACjB,IAAI,CAAC,KAAK,CAAC,UAAU,WAAG,GAAE,GAAG,IAAK,CAAC,MAAG,CAAC;;IAC3C,CAAC;IAGL,gBAAC;AAAD,CAAC,AAtDD,CAAkC,KAAK,CAAC,SAAS,GAsDhD;AAtDY,SAAS;IAFrB,UAAU;IACV,UAAU,CAAE,eAAe,CAAE;GACjB,SAAS,CAsDrB;SAtDY,SAAS;AAwDtB,oEAAoE;AACpE,qCAAqC;AACrC,MAAM,CAAC,cAAc,CAAE,SAAS,CAAC,SAAS,EAAE,WAAW,EAAE;IACrD,KAAK,EAAG;QACJ,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;IAC3B,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/lib/react-mvx/define/common.d.ts b/lib/react-mvx/define/common.d.ts index dc6f89c..499bb64 100644 --- a/lib/react-mvx/define/common.d.ts +++ b/lib/react-mvx/define/common.d.ts @@ -1,4 +1,2 @@ -export default function compile(spec: any, {_autobind}: { - _autobind?: undefined[]; -}): void; +export default function compile(spec: any, baseProto: any): void; export declare function asyncUpdate(): void; diff --git a/lib/react-mvx/define/common.js b/lib/react-mvx/define/common.js index e92c65c..c0df4fb 100644 --- a/lib/react-mvx/define/common.js +++ b/lib/react-mvx/define/common.js @@ -1,29 +1,11 @@ /** - * Process `autobind` specs, attach async event processing and transactional support. + * attach async event processing and transactional support. */ import { tools, Events } from 'type-r'; -export default function compile(spec, _a) { - var _b = _a._autobind, _autobind = _b === void 0 ? [] : _b; - // Attach autobind mixin... - if (spec.autobind) { - spec._autobind = spec.autobind.split(/\s+/).concat(_autobind); - spec.mixins.push(AutobindMixin); - delete spec.autobind; - } +export default function compile(spec, baseProto) { // Attach common mixin spec.mixins.push(CommonMixin); } -/*** - * Autobinding - */ -var AutobindMixin = { - componentWillMount: function () { - for (var _i = 0, _a = this._autobind; _i < _a.length; _i++) { - var name_1 = _a[_i]; - this[name_1] = this[name_1].bind(this); - } - } -}; export function asyncUpdate() { this.shouldComponentUpdate === returnFalse || this._disposed || this.forceUpdate(); } diff --git a/lib/react-mvx/define/common.js.map b/lib/react-mvx/define/common.js.map index 98134e2..5c738aa 100644 --- a/lib/react-mvx/define/common.js.map +++ b/lib/react-mvx/define/common.js.map @@ -1 +1 @@ -{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/react-mvx/define/common.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAEtC,MAAM,CAAC,OAAO,kBAAmB,IAAI,EAAE,EAAkB;QAAhB,iBAAc,EAAd,mCAAc;IACnD,2BAA2B;IAC3B,EAAE,CAAA,CAAE,IAAI,CAAC,QAAS,CAAC,CAAA,CAAC;QAChB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAE,KAAK,CAAE,CAAC,MAAM,CAAE,SAAS,CAAE,CAAC;QAClE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAE,aAAa,CAAE,CAAC;QAClC,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,sBAAsB;IACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAE,WAAW,CAAE,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,IAAM,aAAa,GAAG;IAClB,kBAAkB;QACd,GAAG,CAAA,CAAc,UAAc,EAAd,KAAA,IAAI,CAAC,SAAS,EAAd,cAAc,EAAd,IAAc;YAA1B,IAAI,MAAI,SAAA;YACT,IAAI,CAAE,MAAI,CAAE,GAAG,IAAI,CAAE,MAAI,CAAE,CAAC,IAAI,CAAE,IAAI,CAAE,CAAC;SAC5C;IACL,CAAC;CACJ,CAAC;AAEF,MAAM;IACF,IAAI,CAAC,qBAAqB,KAAK,WAAW,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;AACvF,CAAC;AAED,yBAAwB,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AAEvC;;GAEG;AACH,IAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAE;IAC9B,oBAAoB;QAChB,iDAAiD;QACjD,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,8BAA8B;QAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,uEAAuE;IACvE,WAAW,EAAG,WAAW;IAEzB;;;;;;OAMG;IACH,WAAW,YAAE,GAAG;QACZ,IAAI,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,EAClD,MAAM,GAAG,qBAAqB,KAAK,WAAW,CAAC;QAEnD,EAAE,CAAA,CAAE,MAAO,CAAC,CAAA,CAAC;YACT,IAAI,CAAC,qBAAqB,GAAG,WAAW,CAAC;QAC7C,CAAC;QAED,GAAG,CAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAE,CAAC;QAE9B,EAAE,CAAA,CAAE,MAAO,CAAC,CAAA,CAAC;YACT,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;YACnD,IAAI,CAAC,WAAW,EAAE,CAAC;QACvB,CAAC;IACL,CAAC;CACJ,EAAE,MAAM,CAAE,CAAC"} \ No newline at end of file +{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/react-mvx/define/common.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAEtC,MAAM,CAAC,OAAO,kBAAmB,IAAI,EAAE,SAAS;IAC5C,sBAAsB;IACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAE,WAAW,CAAE,CAAC;AACpC,CAAC;AAED,MAAM;IACF,IAAI,CAAC,qBAAqB,KAAK,WAAW,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;AACvF,CAAC;AAED,yBAAwB,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AAEvC;;GAEG;AACH,IAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAE;IAC9B,oBAAoB;QAChB,iDAAiD;QACjD,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,8BAA8B;QAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,uEAAuE;IACvE,WAAW,EAAG,WAAW;IAEzB;;;;;;OAMG;IACH,WAAW,YAAE,GAAG;QACZ,IAAI,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,EAClD,MAAM,GAAG,qBAAqB,KAAK,WAAW,CAAC;QAEnD,EAAE,CAAA,CAAE,MAAO,CAAC,CAAA,CAAC;YACT,IAAI,CAAC,qBAAqB,GAAG,WAAW,CAAC;QAC7C,CAAC;QAED,GAAG,CAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAE,CAAC;QAE9B,EAAE,CAAA,CAAE,MAAO,CAAC,CAAA,CAAC;YACT,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;YACnD,IAAI,CAAC,WAAW,EAAE,CAAC;QACvB,CAAC;IACL,CAAC;CACJ,EAAE,MAAM,CAAE,CAAC"} \ No newline at end of file diff --git a/lib/react-mvx/index.d.ts b/lib/react-mvx/index.d.ts index cfb0fac..54055ac 100644 --- a/lib/react-mvx/index.d.ts +++ b/lib/react-mvx/index.d.ts @@ -3,13 +3,12 @@ import * as React from 'react'; import { define, mixins, mixinRules, ChainableAttributeSpec } from 'type-r'; import { Node, Element } from './define'; import Link from './link'; -import { Component, createClass } from './component'; +import { Component } from './component'; interface ReactMVx { default: ReactMVx; define: typeof define; mixins: typeof mixins; mixinRules: typeof mixinRules; - createClass: typeof createClass; Component: typeof Component; Link: typeof Link; Node: ChainableAttributeSpec; @@ -19,4 +18,4 @@ interface ReactMVx { declare const ReactMVx: ReactMVx & typeof React; declare const assignToState: (key: string) => (prop: any) => void; export default ReactMVx; -export { createClass, define, mixins, Node, Element, Link, Component, assignToState }; +export { define, mixins, Node, Element, Link, Component, assignToState }; diff --git a/lib/react-mvx/index.js b/lib/react-mvx/index.js index b9c23f5..46abe45 100644 --- a/lib/react-mvx/index.js +++ b/lib/react-mvx/index.js @@ -2,13 +2,12 @@ import * as React from 'react'; import { define, mixins } from 'type-r'; import { Node, Element } from './define'; import Link from './link'; -import { Component, createClass } from './component'; +import { Component } from './component'; // extend React namespace var ReactMVx = Object.create(React); // Make it compatible with ES6 module format. ReactMVx.default = ReactMVx; // listenToProps, listenToState, model, attributes, Model -ReactMVx.createClass = createClass; ReactMVx.define = define; ReactMVx.mixins = mixins; ReactMVx.Node = Node.value(null); @@ -22,5 +21,5 @@ var assignToState = ReactMVx.assignToState = function (key) { }; }; export default ReactMVx; -export { createClass, define, mixins, Node, Element, Link, Component, assignToState }; +export { define, mixins, Node, Element, Link, Component, assignToState }; //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/lib/react-mvx/index.js.map b/lib/react-mvx/index.js.map index 96a754e..51b4819 100644 --- a/lib/react-mvx/index.js.map +++ b/lib/react-mvx/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react-mvx/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,MAAM,EAAiB,MAAM,EAAsC,MAAM,QAAQ,CAAA;AAC1F,OAAoB,EAAE,IAAI,EAAE,OAAO,EAAa,MAAM,UAAU,CAAA;AAChE,OAAO,IAAI,MAAM,QAAQ,CAAA;AACzB,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAwBpD,yBAAyB;AACzB,IAAM,QAAQ,GAA6B,MAAM,CAAC,MAAM,CAAE,KAAK,CAAE,CAAC;AAElE,6CAA6C;AAC7C,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC;AAC5B,yDAAyD;AACzD,QAAQ,CAAC,WAAW,GAAG,WAAW,CAAC;AACnC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;AACzB,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;AAEzB,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAE,IAAI,CAAE,CAAC;AACnC,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAE,IAAI,CAAE,CAAC;AACzC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;AAErB,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC;AAC/B,IAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,GAAG,UAAA,GAAG;IAC9C,MAAM,CAAC,UAAU,IAAI;QACjB,IAAI,CAAC,KAAK,CAAC,UAAU,WAAG,GAAE,GAAG,IAAK,IAAI,IAAI,IAAI,YAAY,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,MAAG,CAAC;;IAC1F,CAAC,CAAA;AACL,CAAC,CAAA;AAED,eAAe,QAAQ,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,CAAA"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react-mvx/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,MAAM,EAAiB,MAAM,EAAsC,MAAM,QAAQ,CAAA;AAC1F,OAAoB,EAAE,IAAI,EAAE,OAAO,EAAa,MAAM,UAAU,CAAA;AAChE,OAAO,IAAI,MAAM,QAAQ,CAAA;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAuBvC,yBAAyB;AACzB,IAAM,QAAQ,GAA6B,MAAM,CAAC,MAAM,CAAE,KAAK,CAAE,CAAC;AAElE,6CAA6C;AAC7C,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC;AAC5B,yDAAyD;AACzD,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;AACzB,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;AAEzB,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAE,IAAI,CAAE,CAAC;AACnC,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAE,IAAI,CAAE,CAAC;AACzC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;AAErB,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC;AAC/B,IAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,GAAG,UAAA,GAAG;IAC9C,MAAM,CAAC,UAAU,IAAI;QACjB,IAAI,CAAC,KAAK,CAAC,UAAU,WAAG,GAAE,GAAG,IAAK,IAAI,IAAI,IAAI,YAAY,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,MAAG,CAAC;;IAC1F,CAAC,CAAA;AACL,CAAC,CAAA;AAED,eAAe,QAAQ,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,CAAA"} \ No newline at end of file diff --git a/src/createClass.ts b/src/createClass.ts new file mode 100644 index 0000000..e67a9f1 --- /dev/null +++ b/src/createClass.ts @@ -0,0 +1,38 @@ +import { Component } from './react-mvx' + +const dontAutobind = [ + 'State', 'Store', 'constructor', + 'componentWillMount','componentDidMount','componentWillReceiveProps','shouldComponentUpdate', + 'componentWillUpdate','componentDidUpdate','componentWillUnmount', + 'render', 'getDefaultProps', 'getChildContext' +]; + +/** + * ES5 components definition factory + */ +export default function createClass< P, S>( { statics, ...a_spec } : React.ComponentSpec ) : React.ClassicComponentClass

{ + // Gather all methods to pin them to `this` later. + const methods = []; + + const Subclass : any = Component.extend({ + // Override constructor to autobind all the methods... + constructor(){ + Component.apply( this, this.arguments ); + + for( let method of methods ){ + this[ method ] = this[ method ].bind( this ); + } + }, + ...a_spec + }, statics ); + + // Need to bind methods from mixins as well, so populate it here. + const Proto = Subclass.prototype; + for( let key in Proto ){ + if( Proto.hasOwnProperty( key ) && dontAutobind.indexOf( key ) === -1 && typeof Proto[ key ] === 'function' ){ + methods.push( key ); + } + } + + return Subclass; +} \ No newline at end of file diff --git a/src/index.ts b/src/index.ts index c1c882b..b6b02e5 100644 --- a/src/index.ts +++ b/src/index.ts @@ -14,8 +14,11 @@ NestedReact.subview = subview; export { subview } import use from './component-view' +import createClass from './createClass' -export { PropTypes }; +NestedReact.createClass = createClass; +Object.defineProperty( NestedReact, 'PropTypes', { value : PropTypes } ); +export { PropTypes, createClass }; let BaseView; @@ -32,10 +35,6 @@ NestedReact.Component.define = function( protoProps, staticProps ){ return define.call( this, protoProps, staticProps ); } -function defineBackboneProxy( Component ){ - -} - // Deprecated API for backward compatibility const RecordProto : any = Record.prototype; RecordProto.getLink = RecordProto.linkAt; diff --git a/src/react-mvx/component.ts b/src/react-mvx/component.ts index 85cc73c..4c4aab9 100644 --- a/src/react-mvx/component.ts +++ b/src/react-mvx/component.ts @@ -29,7 +29,6 @@ export class Component

extends React.Component { static state? : TypeSpecs | typeof Record static store? : TypeSpecs | typeof Store static props? : TypeSpecs - static autobind? : string static context? : TypeSpecs static childContext? : TypeSpecs static pureRender? : boolean @@ -55,7 +54,7 @@ export class Component

extends React.Component { static define( protoProps, staticProps ){ var BaseClass = tools.getBaseClass( this ), - staticsDefinition = tools.getChangedStatics( this, 'state', 'store', 'props', 'autobind', 'context', 'childContext', 'pureRender' ), + staticsDefinition = tools.getChangedStatics( this, 'state', 'store', 'props', 'context', 'childContext', 'pureRender' ), combinedDefinition = tools.assign( staticsDefinition, protoProps || {} ); var definition = processSpec( combinedDefinition, this.prototype ); @@ -88,36 +87,4 @@ Object.defineProperty( Component.prototype, 'isMounted', { value : function isMounted(){ return !this._disposed; } -}) - -const dontAutobind = [ 'state', 'store' ]; - -/** - * ES5 components definition factory - */ -export function createClass< P, S>( { statics, ...a_spec } : React.ComponentSpec ) : React.ClassicComponentClass

{ - // Gather all methods to pin them to `this` later. - const methods = []; - - const Subclass : any = Component.extend({ - // Override constructor to autobind all the methods... - constructor(){ - Component.apply( this, this.arguments ); - - for( let method of methods ){ - this[ method ] = this[ method ].bind( this ); - } - }, - ...a_spec - }, statics ); - - // Need to bind methods from mixins as well, so populate it here. - const Proto = Subclass.prototype; - for( let key in Proto ){ - if( Proto.hasOwnProperty( key ) && dontAutobind.indexOf( key ) === -1 && typeof Proto[ key ] === 'function' ){ - methods.push( key ); - } - } - - return Subclass; -} \ No newline at end of file +}) \ No newline at end of file diff --git a/src/react-mvx/define/common.ts b/src/react-mvx/define/common.ts index 79a45be..5d6292d 100644 --- a/src/react-mvx/define/common.ts +++ b/src/react-mvx/define/common.ts @@ -1,32 +1,14 @@ /** - * Process `autobind` specs, attach async event processing and transactional support. + * attach async event processing and transactional support. */ import { tools, Events } from 'type-r' -export default function compile( spec, { _autobind = [] } ){ - // Attach autobind mixin... - if( spec.autobind ){ - spec._autobind = spec.autobind.split( /\s+/ ).concat( _autobind ); - spec.mixins.push( AutobindMixin ); - delete spec.autobind; - } - +export default function compile( spec, baseProto ){ // Attach common mixin spec.mixins.push( CommonMixin ); } -/*** - * Autobinding - */ -const AutobindMixin = { - componentWillMount(){ - for( let name of this._autobind ){ - this[ name ] = this[ name ].bind( this ); - } - } -}; - export function asyncUpdate(){ this.shouldComponentUpdate === returnFalse || this._disposed || this.forceUpdate(); } diff --git a/src/react-mvx/index.ts b/src/react-mvx/index.ts index c852b6e..c655e39 100644 --- a/src/react-mvx/index.ts +++ b/src/react-mvx/index.ts @@ -2,7 +2,7 @@ import * as React from 'react' import { define, Record, Store, mixins, mixinRules, ChainableAttributeSpec } from 'type-r' import processSpec, { Node, Element, TypeSpecs } from './define' import Link from './link' -import { Component, createClass } from './component' +import { Component } from './component' interface ReactMVx { // It's ES6 module @@ -14,7 +14,6 @@ interface ReactMVx { mixinRules : typeof mixinRules // Overriden components - createClass : typeof createClass Component : typeof Component // additional ReactMVx types @@ -32,7 +31,6 @@ const ReactMVx : ReactMVx & typeof React = Object.create( React ); // Make it compatible with ES6 module format. ReactMVx.default = ReactMVx; // listenToProps, listenToState, model, attributes, Model -ReactMVx.createClass = createClass; ReactMVx.define = define; ReactMVx.mixins = mixins; @@ -48,4 +46,4 @@ const assignToState = ReactMVx.assignToState = key => { } export default ReactMVx; -export { createClass, define, mixins, Node, Element, Link, Component, assignToState } +export { define, mixins, Node, Element, Link, Component, assignToState } diff --git a/submodules/React-MVx b/submodules/React-MVx index 0782d17..714f03b 160000 --- a/submodules/React-MVx +++ b/submodules/React-MVx @@ -1 +1 @@ -Subproject commit 0782d17038e3c05e9840f49537edeb62eb987b53 +Subproject commit 714f03bba858c1287a6d6e01e6c9297627699117 From 56a13c57c29675b67d61ceab52e67e0ecf00e14e Mon Sep 17 00:00:00 2001 From: Vlad Balin Date: Tue, 9 May 2017 19:12:12 -0400 Subject: [PATCH 02/25] npm version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index cf961b1..120a373 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "nestedreact", - "version": "1.0.1-rc92", + "version": "1.0.1-rc93", "main": "dist/index.js", "lib": "lib/index.js", "description": "Advanced models, state management, and data binding solution for React", From 3afa1b8bd2206e2e5f767727acca9ecd71a18b6e Mon Sep 17 00:00:00 2001 From: Vlad Balin Date: Tue, 9 May 2017 19:12:38 -0400 Subject: [PATCH 03/25] update --- submodules/React-MVx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/React-MVx b/submodules/React-MVx index 714f03b..2af7b1e 160000 --- a/submodules/React-MVx +++ b/submodules/React-MVx @@ -1 +1 @@ -Subproject commit 714f03bba858c1287a6d6e01e6c9297627699117 +Subproject commit 2af7b1e6795640466f6d8fed5b7b0a42d77e5c81 From 8768769db40347bf39954d0fa88bfcc7697c594e Mon Sep 17 00:00:00 2001 From: Vlad Balin Date: Wed, 10 May 2017 12:02:54 -0400 Subject: [PATCH 04/25] stores hotfix --- dist/index.js | 2 +- dist/index.min.js | 2 +- dist/index.min.js.map | 2 +- lib/react-mvx/define/state.js | 2 +- lib/react-mvx/define/state.js.map | 2 +- src/react-mvx/define/state.ts | 2 +- submodules/React-MVx | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/dist/index.js b/dist/index.js index 094610d..51fca09 100644 --- a/dist/index.js +++ b/dist/index.js @@ -379,7 +379,7 @@ var StateMixin = { // Attempt to get the store from the context first. Then - fallback to the state's default store. // TBD: Need to figure out a good way of managing local stores. var context, state; - return ((context = this.context) && context._archetypeStore) || + return ((context = this.context) && context._nestedStore) || ((state = this.state) && state._defaultStore); }, componentWillUnmount: function () { diff --git a/dist/index.min.js b/dist/index.min.js index 85d69de..94e0783 100644 --- a/dist/index.min.js +++ b/dist/index.min.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("nestedtypes"),require("react"),require("react-dom")):"function"==typeof define&&define.amd?define(["nestedtypes","react","react-dom"],e):"object"==typeof exports?exports.React=e(require("nestedtypes"),require("react"),require("react-dom")):t.React=e(t.Nested,t.React,t.ReactDOM)}(this,function(t,e,n){return function(t){function e(o){if(n[o])return n[o].exports;var r=n[o]={i:o,l:!1,exports:{}};return t[o].call(r.exports,r,r.exports,e),r.l=!0,r.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,o){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:o})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=11)}([function(e,n){e.exports=t},function(t,e,n){"use strict";n.d(e,"h",function(){return c});var o=n(3),r=(n.n(o),n(0)),i=(n.n(r),n(6)),s=n(18),u=n(12);n.o(r,"define")&&n.d(e,"b",function(){return r.define}),n.o(r,"mixins")&&n.d(e,"c",function(){return r.mixins}),n.d(e,"d",function(){return i.a}),n.d(e,"e",function(){return i.b}),n.d(e,"f",function(){return s.a}),n.d(e,"g",function(){return u.a});var a=Object.create(o);a.default=a,a.define=r.define,a.mixins=r.mixins,a.Node=i.a.value(null),a.Element=i.b.value(null),a.Link=s.a,a.Component=u.a;var c=a.assignToState=function(t){return function(e){this.state.assignFrom((n={},n[t]=e&&e instanceof s.a?e.value:e,n));var n}};e.a=a},function(t,e,n){"use strict";function o(t,e){for(var n=null,o=t.mixins.length-1;o>=0;o--){var r=t.mixins[o],i=r[e];i&&(n||(n={}),c.tools.assign(n,i))}var s=t[e];return s&&(n?c.tools.assign(n,s):n=s),n}function r(t){var e,n,o,r={},u=c.Record.defaults(t).prototype;return u.forEachAttr(u._attributes,function(t,u){if("id"!==u){var a=t.value,c=t.type,p=t.options;if(r[u]=s(c,p.isRequired),p._onChange&&(n||(n={}),n[u]=i(p._onChange)),p.changeHandlers&&p.changeHandlers.length&&(o||(o={}),o[u]=p.changeHandlers),p.changeEvents){o||(o={});var f=o[u]||(o[u]=[]),l="string"==typeof p.changeEvents?p.changeEvents:null;f.push(function(t,e,n){e&&n.stopListening(e),t&&n.listenTo(t,l||t._changeEventName,n.asyncUpdate)})}void 0!==a&&(e||(e={}),e[u]=t.convert(a))}}),{propTypes:r,defaults:e,watchers:n,changeHandlers:o}}function i(t){return"function"==typeof t?t:function(e,n){this[t]&&this[t](e,n)}}function s(t,e){var n=u(t);return e?n.isRequired:n}function u(t){switch(t){case Number:case Number.integer:return a.number;case String:return a.string;case Boolean:return a.bool;case Array:return a.array;case Function:return a.func;case Object:return a.object;case p:return a.node;case f:return a.element;case void 0:case null:return a.any;default:return a.instanceOf(t)}}e.c=o,e.d=r,n.d(e,"a",function(){return p}),n.d(e,"b",function(){return f});var a=n(4),c=(n.n(a),n(0)),p=(n.n(c),function(){function t(){}return t}()),f=function(){function t(){}return t}()},function(t,n){t.exports=e},function(t,e,n){t.exports=n(23)()},function(t,e){t.exports=n},function(t,e,n){"use strict";function o(t,e){return void 0===e&&(e={}),t.mixins||(t.mixins=[]),n.i(r.a)(t,e),n.i(i.a)(t,e),n.i(s.a)(t,e),n.i(a.a)(t,e),n.i(u.a)(t,e),t}e.c=o;var r=n(17),i=n(7),s=n(14),u=n(13),a=n(15),c=n(2);n.d(e,"a",function(){return c.a}),n.d(e,"b",function(){return c.b})},function(t,e,n){"use strict";function o(t,e){var o=n.i(r.c)(t,"state");if(o||e.State){var a=e.State||i.Record;t.State=o?"function"==typeof o?o:a.defaults(o):a,t.mixins.push(s),t.mixins.push(u),delete t.state,delete t.attributes}}e.a=o,n.d(e,"c",function(){return s}),n.d(e,"b",function(){return u});var r=n(2),i=n(0),s=(n.n(i),{componentWillMount:function(){var t=this.state=this.props.__keepState||new this.State;t._owner=this,t._ownerKey="state"},context:{_nestedStore:i.Store},getStore:function(){var t,e;return(t=this.context)&&t._archetypeStore||(e=this.state)&&e._defaultStore},componentWillUnmount:function(){var t=this.state;t._owner=t._ownerKey=void 0,this._preventDispose||t.dispose(),this.state=void 0}}),u={_onChildrenChange:function(){},componentDidMount:function(){this._onChildrenChange=this.asyncUpdate}}},function(t,e,n){"use strict";function o(t){var e=t.prototype.dispose||function(){},n=t.prototype.setElement,o=t.extend({reactClass:null,props:{},element:null,initialize:function(t){this.options=t||{}},setElement:function(){return this.unmountComponent(!0),n.apply(this,arguments)},component:null,prevState:null,resize:function(){window.Page.forceResize()},render:function(){var t=this.prevState?u.tools.fastAssign({__keepState:this.prevState},this.options):this.options,e=r.createElement(this.reactClass,t),n=s.a.render(e,this.el);this.component||this.mountComponent(n)},mountComponent:function(t){this.component=t,this.prevState=null,t.trigger&&this.listenTo(t,"all",function(){this.trigger.apply(this,arguments)})},unmountComponent:function(t){var e=this.component;e&&(this.prevState=e.state,e.trigger&&this.stopListening(e),e._preventDispose=Boolean(t),s.a.unmountComponentAtNode(this.el),this.component=null)},dispose:function(){return this.unmountComponent(),e.apply(this,arguments)}});return Object.defineProperty(o.prototype,"model",{get:function(){return this.component||this.render(),this.component&&this.component.state}}),o}e.a=o;var r=n(3),i=(n.n(r),n(5)),s=n.n(i),u=n(0);n.n(u);window.Page||(window.Page={forceResize:function(){}})},function(t,e,n){"use strict";function o(t){var e=t.statics,n=s(t,["statics"]),o=[],a=r.g.extend(i({constructor:function(){r.g.apply(this,this.arguments);for(var t=0,e=o;t=0;u--)(r=t[u])&&(s=(i<3?r(s):i>3?r(e,n,s):r(e,n))||s);return i>3&&s&&Object.defineProperty(e,n,s),s},a=this&&this.__rest||function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols)for(var r=0,o=Object.getOwnPropertySymbols(t);r=0)||this;return o.parent=e,o.element=n,o}return r(e,t),e.prototype.set=function(t){var e=this,n=Boolean(t);if(this.value!==n){var o=this.parent.value,r=t?o.concat(this.element):o.filter(function(t){return t!==e.element});this.parent.set(r)}},e}(i),f="Invalid value",l=function(t){function e(e,n){var o=t.call(this,e.value[n])||this;return o.parent=e,o.key=n,o}return r(e,t),e.prototype.remove=function(){this.parent.removeAt(this.key)},e.prototype.set=function(t){var e=this;this.value!==t&&this.parent.update(function(n){return n[e.key]=t,n})},e}(i)},function(t,e,n){"use strict";function o(t){return function(){return t}}var r=function(){};r.thatReturns=o,r.thatReturnsFalse=o(!1),r.thatReturnsTrue=o(!0),r.thatReturnsNull=o(null),r.thatReturnsThis=function(){return this},r.thatReturnsArgument=function(t){return t},t.exports=r},function(t,e,n){"use strict";function o(t,e,n,o,i,s,u,a){if(r(e),!t){var c;if(void 0===e)c=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var p=[n,o,i,s,u,a],f=0;c=new Error(e.replace(/%s/g,function(){return p[f++]})),c.name="Invariant Violation"}throw c.framesToPop=1,c}}var r=function(t){};t.exports=o},function(t,e,n){"use strict";var o=n(21),r=n(22);t.exports=function(){function t(){r(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function e(){return t}t.isRequired=t;var n={array:t,bool:t,func:t,number:t,object:t,string:t,symbol:t,any:t,arrayOf:e,element:t,instanceOf:e,node:t,objectOf:e,oneOf:e,oneOfType:e,shape:e};return n.checkPropTypes=o,n.PropTypes=n,n}}])}); +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("nestedtypes"),require("react"),require("react-dom")):"function"==typeof define&&define.amd?define(["nestedtypes","react","react-dom"],e):"object"==typeof exports?exports.React=e(require("nestedtypes"),require("react"),require("react-dom")):t.React=e(t.Nested,t.React,t.ReactDOM)}(this,function(t,e,n){return function(t){function e(o){if(n[o])return n[o].exports;var r=n[o]={i:o,l:!1,exports:{}};return t[o].call(r.exports,r,r.exports,e),r.l=!0,r.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,o){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:o})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=11)}([function(e,n){e.exports=t},function(t,e,n){"use strict";n.d(e,"h",function(){return c});var o=n(3),r=(n.n(o),n(0)),i=(n.n(r),n(6)),s=n(18),u=n(12);n.o(r,"define")&&n.d(e,"b",function(){return r.define}),n.o(r,"mixins")&&n.d(e,"c",function(){return r.mixins}),n.d(e,"d",function(){return i.a}),n.d(e,"e",function(){return i.b}),n.d(e,"f",function(){return s.a}),n.d(e,"g",function(){return u.a});var a=Object.create(o);a.default=a,a.define=r.define,a.mixins=r.mixins,a.Node=i.a.value(null),a.Element=i.b.value(null),a.Link=s.a,a.Component=u.a;var c=a.assignToState=function(t){return function(e){this.state.assignFrom((n={},n[t]=e&&e instanceof s.a?e.value:e,n));var n}};e.a=a},function(t,e,n){"use strict";function o(t,e){for(var n=null,o=t.mixins.length-1;o>=0;o--){var r=t.mixins[o],i=r[e];i&&(n||(n={}),c.tools.assign(n,i))}var s=t[e];return s&&(n?c.tools.assign(n,s):n=s),n}function r(t){var e,n,o,r={},u=c.Record.defaults(t).prototype;return u.forEachAttr(u._attributes,function(t,u){if("id"!==u){var a=t.value,c=t.type,p=t.options;if(r[u]=s(c,p.isRequired),p._onChange&&(n||(n={}),n[u]=i(p._onChange)),p.changeHandlers&&p.changeHandlers.length&&(o||(o={}),o[u]=p.changeHandlers),p.changeEvents){o||(o={});var f=o[u]||(o[u]=[]),l="string"==typeof p.changeEvents?p.changeEvents:null;f.push(function(t,e,n){e&&n.stopListening(e),t&&n.listenTo(t,l||t._changeEventName,n.asyncUpdate)})}void 0!==a&&(e||(e={}),e[u]=t.convert(a))}}),{propTypes:r,defaults:e,watchers:n,changeHandlers:o}}function i(t){return"function"==typeof t?t:function(e,n){this[t]&&this[t](e,n)}}function s(t,e){var n=u(t);return e?n.isRequired:n}function u(t){switch(t){case Number:case Number.integer:return a.number;case String:return a.string;case Boolean:return a.bool;case Array:return a.array;case Function:return a.func;case Object:return a.object;case p:return a.node;case f:return a.element;case void 0:case null:return a.any;default:return a.instanceOf(t)}}e.c=o,e.d=r,n.d(e,"a",function(){return p}),n.d(e,"b",function(){return f});var a=n(4),c=(n.n(a),n(0)),p=(n.n(c),function(){function t(){}return t}()),f=function(){function t(){}return t}()},function(t,n){t.exports=e},function(t,e,n){t.exports=n(23)()},function(t,e){t.exports=n},function(t,e,n){"use strict";function o(t,e){return void 0===e&&(e={}),t.mixins||(t.mixins=[]),n.i(r.a)(t,e),n.i(i.a)(t,e),n.i(s.a)(t,e),n.i(a.a)(t,e),n.i(u.a)(t,e),t}e.c=o;var r=n(17),i=n(7),s=n(14),u=n(13),a=n(15),c=n(2);n.d(e,"a",function(){return c.a}),n.d(e,"b",function(){return c.b})},function(t,e,n){"use strict";function o(t,e){var o=n.i(r.c)(t,"state");if(o||e.State){var a=e.State||i.Record;t.State=o?"function"==typeof o?o:a.defaults(o):a,t.mixins.push(s),t.mixins.push(u),delete t.state,delete t.attributes}}e.a=o,n.d(e,"c",function(){return s}),n.d(e,"b",function(){return u});var r=n(2),i=n(0),s=(n.n(i),{componentWillMount:function(){var t=this.state=this.props.__keepState||new this.State;t._owner=this,t._ownerKey="state"},context:{_nestedStore:i.Store},getStore:function(){var t,e;return(t=this.context)&&t._nestedStore||(e=this.state)&&e._defaultStore},componentWillUnmount:function(){var t=this.state;t._owner=t._ownerKey=void 0,this._preventDispose||t.dispose(),this.state=void 0}}),u={_onChildrenChange:function(){},componentDidMount:function(){this._onChildrenChange=this.asyncUpdate}}},function(t,e,n){"use strict";function o(t){var e=t.prototype.dispose||function(){},n=t.prototype.setElement,o=t.extend({reactClass:null,props:{},element:null,initialize:function(t){this.options=t||{}},setElement:function(){return this.unmountComponent(!0),n.apply(this,arguments)},component:null,prevState:null,resize:function(){window.Page.forceResize()},render:function(){var t=this.prevState?u.tools.fastAssign({__keepState:this.prevState},this.options):this.options,e=r.createElement(this.reactClass,t),n=s.a.render(e,this.el);this.component||this.mountComponent(n)},mountComponent:function(t){this.component=t,this.prevState=null,t.trigger&&this.listenTo(t,"all",function(){this.trigger.apply(this,arguments)})},unmountComponent:function(t){var e=this.component;e&&(this.prevState=e.state,e.trigger&&this.stopListening(e),e._preventDispose=Boolean(t),s.a.unmountComponentAtNode(this.el),this.component=null)},dispose:function(){return this.unmountComponent(),e.apply(this,arguments)}});return Object.defineProperty(o.prototype,"model",{get:function(){return this.component||this.render(),this.component&&this.component.state}}),o}e.a=o;var r=n(3),i=(n.n(r),n(5)),s=n.n(i),u=n(0);n.n(u);window.Page||(window.Page={forceResize:function(){}})},function(t,e,n){"use strict";function o(t){var e=t.statics,n=s(t,["statics"]),o=[],a=r.g.extend(i({constructor:function(){r.g.apply(this,this.arguments);for(var t=0,e=o;t=0;u--)(r=t[u])&&(s=(i<3?r(s):i>3?r(e,n,s):r(e,n))||s);return i>3&&s&&Object.defineProperty(e,n,s),s},a=this&&this.__rest||function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols)for(var r=0,o=Object.getOwnPropertySymbols(t);r=0)||this;return o.parent=e,o.element=n,o}return r(e,t),e.prototype.set=function(t){var e=this,n=Boolean(t);if(this.value!==n){var o=this.parent.value,r=t?o.concat(this.element):o.filter(function(t){return t!==e.element});this.parent.set(r)}},e}(i),f="Invalid value",l=function(t){function e(e,n){var o=t.call(this,e.value[n])||this;return o.parent=e,o.key=n,o}return r(e,t),e.prototype.remove=function(){this.parent.removeAt(this.key)},e.prototype.set=function(t){var e=this;this.value!==t&&this.parent.update(function(n){return n[e.key]=t,n})},e}(i)},function(t,e,n){"use strict";function o(t){return function(){return t}}var r=function(){};r.thatReturns=o,r.thatReturnsFalse=o(!1),r.thatReturnsTrue=o(!0),r.thatReturnsNull=o(null),r.thatReturnsThis=function(){return this},r.thatReturnsArgument=function(t){return t},t.exports=r},function(t,e,n){"use strict";function o(t,e,n,o,i,s,u,a){if(r(e),!t){var c;if(void 0===e)c=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var p=[n,o,i,s,u,a],f=0;c=new Error(e.replace(/%s/g,function(){return p[f++]})),c.name="Invariant Violation"}throw c.framesToPop=1,c}}var r=function(t){};t.exports=o},function(t,e,n){"use strict";var o=n(21),r=n(22);t.exports=function(){function t(){r(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function e(){return t}t.isRequired=t;var n={array:t,bool:t,func:t,number:t,object:t,string:t,symbol:t,any:t,arrayOf:e,element:t,instanceOf:e,node:t,objectOf:e,oneOf:e,oneOfType:e,shape:e};return n.checkPropTypes=o,n.PropTypes=n,n}}])}); //# sourceMappingURL=index.min.js.map \ No newline at end of file diff --git a/dist/index.min.js.map b/dist/index.min.js.map index 1f18fe1..548809b 100644 --- a/dist/index.min.js.map +++ b/dist/index.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///dist/index.min.js","webpack:///webpack/bootstrap ba6be5a29f458ec49d69","webpack:///external {\"commonjs\":\"nestedtypes\",\"commonjs2\":\"nestedtypes\",\"amd\":\"nestedtypes\",\"root\":\"Nested\"}","webpack:///./lib/react-mvx/index.js","webpack:///./lib/react-mvx/define/typeSpecs.js","webpack:///external {\"commonjs\":\"react\",\"commonjs2\":\"react\",\"amd\":\"react\",\"root\":\"React\"}","webpack:///./~/prop-types/index.js","webpack:///external {\"commonjs\":\"react-dom\",\"commonjs2\":\"react-dom\",\"amd\":\"react-dom\",\"root\":\"ReactDOM\"}","webpack:///./lib/react-mvx/define/index.js","webpack:///./lib/react-mvx/define/state.js","webpack:///./lib/component-view.js","webpack:///./lib/createClass.js","webpack:///./lib/view-element.js","webpack:///./lib/index.js","webpack:///./lib/react-mvx/component.js","webpack:///./lib/react-mvx/define/common.js","webpack:///./lib/react-mvx/define/context.js","webpack:///./lib/react-mvx/define/props.js","webpack:///./lib/react-mvx/define/pureRender.js","webpack:///./lib/react-mvx/define/store.js","webpack:///./lib/react-mvx/link.js","webpack:///./lib/react-mvx/valuelink/helpers.js","webpack:///./lib/react-mvx/valuelink/link.js","webpack:///./~/fbjs/lib/emptyFunction.js","webpack:///./~/fbjs/lib/invariant.js","webpack:///./~/prop-types/factoryWithThrowingShims.js"],"names":["root","factory","exports","module","require","define","amd","this","__WEBPACK_EXTERNAL_MODULE_0__","__WEBPACK_EXTERNAL_MODULE_3__","__WEBPACK_EXTERNAL_MODULE_5__","modules","__webpack_require__","moduleId","installedModules","i","l","call","m","c","value","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","__webpack_exports__","assignToState","__WEBPACK_IMPORTED_MODULE_0_react__","__WEBPACK_IMPORTED_MODULE_1_type_r__","__WEBPACK_IMPORTED_MODULE_2__define__","__WEBPACK_IMPORTED_MODULE_3__link__","__WEBPACK_IMPORTED_MODULE_4__component__","ReactMVx","create","default","mixins","Node","Element","Link","Component","key","prop","state","assignFrom","_a","collectSpecs","spec","attributes","length","mixin","mixinAttrs","assign","specAttrs","compileSpecs","props","defaults","watchers","changeHandlers","propTypes","modelProto","forEachAttr","_attributes","type","options","translateType","isRequired","_onChange","toLocalWatcher","changeEvents","handlers","changeEvents_1","push","next","prev","component","stopListening","listenTo","_changeEventName","asyncUpdate","convert","ref","Type","T","_translateType","Number","integer","__WEBPACK_IMPORTED_MODULE_0_prop_types__","String","Boolean","Array","Function","process","baseProto","__WEBPACK_IMPORTED_MODULE_0__store__","__WEBPACK_IMPORTED_MODULE_1__state__","__WEBPACK_IMPORTED_MODULE_2__context__","__WEBPACK_IMPORTED_MODULE_4__props__","__WEBPACK_IMPORTED_MODULE_3__common__","__WEBPACK_IMPORTED_MODULE_5__typeSpecs__","__WEBPACK_IMPORTED_MODULE_0__typeSpecs__","State","BaseModel","StateMixin","UpdateOnNestedChangesMixin","componentWillMount","__keepState","_owner","_ownerKey","context","_nestedStore","getStore","_archetypeStore","_defaultStore","componentWillUnmount","_preventDispose","dispose","_onChildrenChange","componentDidMount","use","View","setElement","ComponentView","extend","reactClass","element","initialize","unmountComponent","apply","arguments","prevState","resize","window","Page","forceResize","render","__WEBPACK_IMPORTED_MODULE_2_type_r__","fastAssign","__WEBPACK_IMPORTED_MODULE_1_react_dom___default","a","el","mountComponent","trigger","keepModel","unmountComponentAtNode","__WEBPACK_IMPORTED_MODULE_1_react_dom__","createClass","statics","a_spec","__rest","methods","Subclass","__WEBPACK_IMPORTED_MODULE_0__react_mvx__","__assign","constructor","_i","methods_1","method","bind","Proto","dontAutobind","indexOf","t","e","getOwnPropertySymbols","__extends","extendStatics","setPrototypeOf","__proto__","b","__","notEqual","BackboneView","_super","_this","saveRef","shouldComponentUpdate","hasUnsavedChanges","view","createElement","className","_mountView","componentDidUpdate","_dispose","appendChild","off","innerHTML","useView","BaseView","__WEBPACK_IMPORTED_MODULE_5__component_view__","__WEBPACK_IMPORTED_MODULE_2_type_r___default","__WEBPACK_IMPORTED_MODULE_3_prop_types__","__WEBPACK_IMPORTED_MODULE_4__view_element__","__WEBPACK_IMPORTED_MODULE_6__createClass__","NestedReact","subview","protoProps","staticProps","RecordProto","getLink","linkAt","deepLink","linkPath","CollectionProto","Collection","hasLink","linkContains","BackboneViewProps","findDOMNode","$el","$","sel","find","defineProperties","__decorate","decorators","target","desc","r","getOwnPropertyDescriptor","Reflect","decorate","reactMixinRules","componentWillReceiveProps","componentWillUpdate","store","childContext","getChildContext","linkAll","staticsDefinition","getBaseClass","getChangedStatics","combinedDefinition","definition","getDefaultProps","contextTypes","childContextTypes","protoDefinition","defaultProps","x","_disposed","compile","CommonMixin","returnFalse","forceUpdate","__WEBPACK_IMPORTED_MODULE_0_type_r__","transaction","fun","isRoot","_b","_context","_c","_childContext","pureRender","_props","_listenToPropsArray","_listenToPropsHash","allProps","_e","defaults_1","unshift","WatchersMixin","_watchers","ChangeHandlersMixin","_changeHandlers","__WEBPACK_IMPORTED_MODULE_1__pureRender__","handlePropsChanges","name_1","handler","name_2","name_3","createPureRenderMixin","ctorBody","isChangedBody","propExpr","ChangeTokens","join","isChanged","_changeTokens","nextProps","ExternalStoreMixin","Store","InternalStoreMixin","__WEBPACK_IMPORTED_MODULE_2__state__","ExposeStoreMixin","getLinksCache","record","_links","Attributes","cacheLink","links","cached","RecordLink","__WEBPACK_IMPORTED_MODULE_1__valuelink_link__","mixTo","path","RecordDeepLink","attr","set","_error","getValidationError","deepGet","deepValidationError","_changeToken","deepSet","CollectionLink","collection","_byId","cid","toggle","helpers","getPrototypeOf","ArrayProto","arrayHelpers","ObjectProto","objectHelpers","dummyHelpers","clone","map","link","remove","iterator","mapped","at","cloned","array","slice","splice","j","y","__WEBPACK_IMPORTED_MODULE_0__helpers__","CustomLink","error","onChange","CloneLink","requestChange","update","transform","pipe","action","equals","truthyValue","EqualsLink","enabled","defaultValue","EnabledLink","contains","ContainsLink","removeAt","_","LinkAt","pick","check","whenValid","defaultError","parent","arr","nextValue","concat","filter","makeEmptyFunction","arg","emptyFunction","thatReturns","thatReturnsFalse","thatReturnsTrue","thatReturnsNull","thatReturnsThis","thatReturnsArgument","invariant","condition","format","f","validateFormat","undefined","Error","args","argIndex","replace","framesToPop","shim","getShim","ReactPropTypes","bool","func","number","string","symbol","any","arrayOf","instanceOf","node","objectOf","oneOf","oneOfType","shape","checkPropTypes","PropTypes"],"mappings":"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","file":"./dist/index.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"nestedtypes\"), require(\"react\"), require(\"react-dom\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"nestedtypes\", \"react\", \"react-dom\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"React\"] = factory(require(\"nestedtypes\"), require(\"react\"), require(\"react-dom\"));\n\telse\n\t\troot[\"React\"] = factory(root[\"Nested\"], root[\"React\"], root[\"ReactDOM\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_3__, __WEBPACK_EXTERNAL_MODULE_5__) {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"nestedtypes\"), require(\"react\"), require(\"react-dom\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"nestedtypes\", \"react\", \"react-dom\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"React\"] = factory(require(\"nestedtypes\"), require(\"react\"), require(\"react-dom\"));\n\telse\n\t\troot[\"React\"] = factory(root[\"Nested\"], root[\"React\"], root[\"ReactDOM\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_3__, __WEBPACK_EXTERNAL_MODULE_5__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\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// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\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, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\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 = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 11);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_0__;\n\n/***/ }),\n/* 1 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"h\", function() { return assignToState; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__define__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__link__ = __webpack_require__(18);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__component__ = __webpack_require__(12);\n/* harmony reexport (binding) */ if(__webpack_require__.o(__WEBPACK_IMPORTED_MODULE_1_type_r__, \"define\")) __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_1_type_r__[\"define\"]; });\n/* harmony reexport (binding) */ if(__webpack_require__.o(__WEBPACK_IMPORTED_MODULE_1_type_r__, \"mixins\")) __webpack_require__.d(__webpack_exports__, \"c\", function() { return __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixins\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return __WEBPACK_IMPORTED_MODULE_2__define__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return __WEBPACK_IMPORTED_MODULE_2__define__[\"b\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return __WEBPACK_IMPORTED_MODULE_3__link__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"g\", function() { return __WEBPACK_IMPORTED_MODULE_4__component__[\"a\"]; });\n\n\n\n\n\n// extend React namespace\nvar ReactMVx = Object.create(__WEBPACK_IMPORTED_MODULE_0_react__);\n// Make it compatible with ES6 module format.\nReactMVx.default = ReactMVx;\n// listenToProps, listenToState, model, attributes, Model\nReactMVx.define = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"define\"];\nReactMVx.mixins = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixins\"];\nReactMVx.Node = __WEBPACK_IMPORTED_MODULE_2__define__[\"a\" /* Node */].value(null);\nReactMVx.Element = __WEBPACK_IMPORTED_MODULE_2__define__[\"b\" /* Element */].value(null);\nReactMVx.Link = __WEBPACK_IMPORTED_MODULE_3__link__[\"a\" /* default */];\nReactMVx.Component = __WEBPACK_IMPORTED_MODULE_4__component__[\"a\" /* Component */];\nvar assignToState = ReactMVx.assignToState = function (key) {\n return function (prop) {\n this.state.assignFrom((_a = {}, _a[key] = prop && prop instanceof __WEBPACK_IMPORTED_MODULE_3__link__[\"a\" /* default */] ? prop.value : prop, _a));\n var _a;\n };\n};\n/* harmony default export */ __webpack_exports__[\"a\"] = (ReactMVx);\n\n//# sourceMappingURL=index.js.map\n\n/***/ }),\n/* 2 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = collectSpecs;\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = compileSpecs;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Node; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return Element; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n\n\nfunction collectSpecs(spec, name) {\n var attributes = null;\n // Scan through local mixin, and gather specs. Refactor it later, it's not good. At all.\n for (var i = spec.mixins.length - 1; i >= 0; i--) {\n var mixin = spec.mixins[i], mixinAttrs = mixin[name];\n if (mixinAttrs) {\n attributes || (attributes = {});\n __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].assign(attributes, mixinAttrs);\n }\n }\n // Merge it with local data.\n var specAttrs = spec[name];\n if (specAttrs) {\n if (attributes) {\n __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].assign(attributes, specAttrs);\n }\n else {\n attributes = specAttrs;\n }\n }\n return attributes;\n}\nfunction compileSpecs(props) {\n var propTypes = {}, \n // Create NestedTypes model definition to process props spec.\n modelProto = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"Record\"].defaults(props).prototype;\n var defaults, watchers, changeHandlers;\n modelProto.forEachAttr(modelProto._attributes, function (spec, name) {\n // Skip auto-generated `id` attribute.\n if (name !== 'id') {\n var value = spec.value, type = spec.type, options = spec.options;\n // Translate props type to the propTypes guard.\n propTypes[name] = translateType(type, options.isRequired);\n if (options._onChange) {\n watchers || (watchers = {});\n watchers[name] = toLocalWatcher(options._onChange);\n }\n // Handle listening to event maps...\n if (options.changeHandlers && options.changeHandlers.length) {\n changeHandlers || (changeHandlers = {});\n changeHandlers[name] = options.changeHandlers;\n }\n // Handle listening to props changes...\n if (options.changeEvents) {\n changeHandlers || (changeHandlers = {});\n var handlers = changeHandlers[name] || (changeHandlers[name] = []), changeEvents_1 = typeof options.changeEvents === 'string' ? options.changeEvents : null;\n handlers.push(function (next, prev, component) {\n prev && component.stopListening(prev);\n next && component.listenTo(next, changeEvents_1 || next._changeEventName, component.asyncUpdate);\n });\n }\n // If default value is explicitly provided...\n if (value !== void 0) {\n //...append it to getDefaultProps function.\n defaults || (defaults = {});\n defaults[name] = spec.convert(value);\n }\n }\n });\n return { propTypes: propTypes, defaults: defaults, watchers: watchers, changeHandlers: changeHandlers };\n}\nfunction toLocalWatcher(ref) {\n return typeof ref === 'function' ? ref : function (value, name) {\n this[ref] && this[ref](value, name);\n };\n}\nvar Node = (function () {\n function Node() {\n }\n return Node;\n}());\n\nvar Element = (function () {\n function Element() {\n }\n return Element;\n}());\n\nfunction translateType(Type, isRequired) {\n var T = _translateType(Type);\n return isRequired ? T.isRequired : T;\n}\nfunction _translateType(Type) {\n switch (Type) {\n case Number:\n case Number.integer:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"number\"];\n case String:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"string\"];\n case Boolean:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"bool\"];\n case Array:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"array\"];\n case Function:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"func\"];\n case Object:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"object\"];\n case Node:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"node\"];\n case Element:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"element\"];\n case void 0:\n case null:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"any\"];\n default:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"instanceOf\"](Type);\n }\n}\n//# sourceMappingURL=typeSpecs.js.map\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_3__;\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\nif (false) {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = __webpack_require__(23)();\n}\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_5__;\n\n/***/ }),\n/* 6 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = process;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__store__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__state__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__context__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__common__ = __webpack_require__(13);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__props__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__typeSpecs__ = __webpack_require__(2);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_5__typeSpecs__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_5__typeSpecs__[\"b\"]; });\n\n\n\n\n\nfunction process(spec, baseProto) {\n if (baseProto === void 0) { baseProto = {}; }\n // Initialize mixins placeholder...\n spec.mixins || (spec.mixins = []);\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__store__[\"a\" /* default */])(spec, baseProto);\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__state__[\"a\" /* default */])(spec, baseProto);\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__context__[\"a\" /* default */])(spec, baseProto);\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__props__[\"a\" /* default */])(spec, baseProto);\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__common__[\"a\" /* default */])(spec, baseProto);\n return spec;\n}\n;\n\n//# sourceMappingURL=index.js.map\n\n/***/ }),\n/* 7 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = process;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return StateMixin; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return UpdateOnNestedChangesMixin; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n/*****************\n * State\n */\n\n\nfunction process(spec, baseProto) {\n // process state spec...\n var attributes = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* collectSpecs */])(spec, 'state');\n if (attributes || baseProto.State) {\n var BaseModel = baseProto.State || __WEBPACK_IMPORTED_MODULE_1_type_r__[\"Record\"];\n spec.State = attributes ? (typeof attributes === 'function' ? attributes : BaseModel.defaults(attributes)) : BaseModel;\n spec.mixins.push(StateMixin);\n spec.mixins.push(UpdateOnNestedChangesMixin);\n delete spec.state;\n delete spec.attributes;\n }\n}\nvar StateMixin = {\n //state : null,\n componentWillMount: function () {\n // props.__keepState is used to workaround issues in Backbone intergation layer\n var state = this.state = this.props.__keepState || new this.State();\n // Take ownership on state...\n state._owner = this;\n state._ownerKey = 'state';\n },\n context: {\n _nestedStore: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"Store\"]\n },\n // reference global store to fix model's store locator\n getStore: function () {\n // Attempt to get the store from the context first. Then - fallback to the state's default store.\n // TBD: Need to figure out a good way of managing local stores.\n var context, state;\n return ((context = this.context) && context._archetypeStore) ||\n ((state = this.state) && state._defaultStore);\n },\n componentWillUnmount: function () {\n var state = this.state;\n state._owner = state._ownerKey = void 0;\n this._preventDispose /* hack for component-view to preserve the state */ || state.dispose();\n this.state = void 0;\n }\n};\nvar UpdateOnNestedChangesMixin = {\n _onChildrenChange: function () { },\n componentDidMount: function () {\n this._onChildrenChange = this.asyncUpdate;\n }\n};\n//# sourceMappingURL=state.js.map\n\n/***/ }),\n/* 8 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = use;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__);\n\n\n\nwindow.Page || (window.Page = { forceResize: function () { } });\nfunction use(View) {\n var dispose = View.prototype.dispose || function () { }, setElement = View.prototype.setElement;\n var ComponentView = View.extend({\n reactClass: null,\n props: {},\n element: null,\n initialize: function (props) {\n // memorise arguments to pass to React\n this.options = props || {};\n },\n setElement: function () {\n this.unmountComponent(true);\n return setElement.apply(this, arguments);\n },\n // cached instance of react component...\n component: null,\n prevState: null,\n resize: function () {\n window.Page.forceResize();\n },\n render: function () {\n var options = this.prevState ? __WEBPACK_IMPORTED_MODULE_2_type_r__[\"tools\"].fastAssign({ __keepState: this.prevState }, this.options) : this.options, element = __WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"](this.reactClass, options), component = __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.render(element, this.el);\n this.component || this.mountComponent(component);\n },\n mountComponent: function (component) {\n this.component = component;\n this.prevState = null;\n component.trigger && this.listenTo(component, 'all', function () {\n this.trigger.apply(this, arguments);\n });\n },\n unmountComponent: function (keepModel) {\n var component = this.component;\n if (component) {\n this.prevState = component.state;\n if (component.trigger) {\n this.stopListening(component);\n }\n component._preventDispose = Boolean(keepModel);\n __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.unmountComponentAtNode(this.el);\n this.component = null;\n }\n },\n dispose: function () {\n this.unmountComponent();\n return dispose.apply(this, arguments);\n }\n });\n Object.defineProperty(ComponentView.prototype, 'model', {\n get: function () {\n this.component || this.render();\n return this.component && this.component.state;\n }\n });\n return ComponentView;\n}\n//# sourceMappingURL=component-view.js.map\n\n/***/ }),\n/* 9 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = createClass;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1);\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\n\nvar dontAutobind = [\n 'State', 'Store', 'constructor',\n 'componentWillMount', 'componentDidMount', 'componentWillReceiveProps', 'shouldComponentUpdate',\n 'componentWillUpdate', 'componentDidUpdate', 'componentWillUnmount',\n 'render', 'getDefaultProps', 'getChildContext'\n];\n/**\n * ES5 components definition factory\n */\nfunction createClass(_a) {\n var statics = _a.statics, a_spec = __rest(_a, [\"statics\"]);\n // Gather all methods to pin them to `this` later.\n var methods = [];\n var Subclass = __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"g\" /* Component */].extend(__assign({ \n // Override constructor to autobind all the methods...\n constructor: function () {\n __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"g\" /* Component */].apply(this, this.arguments);\n for (var _i = 0, methods_1 = methods; _i < methods_1.length; _i++) {\n var method = methods_1[_i];\n this[method] = this[method].bind(this);\n }\n } }, a_spec), statics);\n // Need to bind methods from mixins as well, so populate it here.\n var Proto = Subclass.prototype;\n for (var key in Proto) {\n if (Proto.hasOwnProperty(key) && dontAutobind.indexOf(key) === -1 && typeof Proto[key] === 'function') {\n methods.push(key);\n }\n }\n return Subclass;\n}\n//# sourceMappingURL=createClass.js.map\n\n/***/ }),\n/* 10 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\nvar notEqual = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].notEqual;\nvar BackboneView = (function (_super) {\n __extends(BackboneView, _super);\n function BackboneView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.saveRef = function (element) {\n _this.root = element;\n };\n return _this;\n }\n BackboneView.prototype.shouldComponentUpdate = function (next) {\n var props = this.props;\n return next.View !== props.View || notEqual(next.options, props.options);\n };\n BackboneView.prototype.hasUnsavedChanges = function () {\n var view = this.view;\n return view && (typeof view.hasUnsavedChanges === 'function' ? view.hasUnsavedChanges() : view.hasUnsavedChanges);\n };\n BackboneView.prototype.render = function () {\n return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\" /* default */].createElement('div', {\n ref: this.saveRef,\n className: this.props.className\n });\n };\n BackboneView.prototype.componentDidMount = function () {\n this._mountView();\n };\n BackboneView.prototype.componentDidUpdate = function () {\n this._dispose();\n this._mountView();\n };\n BackboneView.prototype.componentWillUnmount = function () {\n this._dispose();\n };\n BackboneView.prototype._mountView = function () {\n var el = this.root, p = this.props;\n var view = this.view = p.options ? new p.View(p.options) : new p.View();\n el.appendChild(view.el);\n view.render();\n };\n BackboneView.prototype._dispose = function () {\n var view = this.view;\n if (view) {\n if (view.dispose) {\n view.dispose();\n }\n else {\n view.stopListening();\n view.off();\n }\n this.root.innerHTML = \"\";\n this.view = null;\n }\n };\n return BackboneView;\n}(__WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\" /* default */].Component));\n/* harmony default export */ __webpack_exports__[\"a\"] = (BackboneView);\n//# sourceMappingURL=view-element.js.map\n\n/***/ }),\n/* 11 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (immutable) */ __webpack_exports__[\"useView\"] = useView;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1);\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"define\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"b\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"mixins\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"c\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Node\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"d\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Element\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"e\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Link\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"f\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Component\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"g\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"assignToState\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"h\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__view_element__ = __webpack_require__(10);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"subview\", function() { return __WEBPACK_IMPORTED_MODULE_4__view_element__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__component_view__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__createClass__ = __webpack_require__(9);\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"PropTypes\", function() { return __WEBPACK_IMPORTED_MODULE_3_prop_types__; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"createClass\", function() { return __WEBPACK_IMPORTED_MODULE_6__createClass__[\"a\"]; });\n// Re-export react-mvx\n\nvar NestedReact = Object.create(__WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\" /* default */]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (NestedReact);\n\n// NestedReact backward compatibility layer\n\n\n\n\nNestedReact.subview = __WEBPACK_IMPORTED_MODULE_4__view_element__[\"a\" /* default */];\n\n\n\nNestedReact.createClass = __WEBPACK_IMPORTED_MODULE_6__createClass__[\"a\" /* default */];\nObject.defineProperty(NestedReact, 'PropTypes', { value: __WEBPACK_IMPORTED_MODULE_3_prop_types__ });\n\nvar BaseView;\n// export hook to override base View class used...\nfunction useView(View) {\n BaseView = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__component_view__[\"a\" /* default */])(View);\n}\nvar define = NestedReact.Component.define;\nNestedReact.Component.define = function (protoProps, staticProps) {\n this.View = BaseView.extend({ reactClass: this });\n return define.call(this, protoProps, staticProps);\n};\n// Deprecated API for backward compatibility\nvar RecordProto = __WEBPACK_IMPORTED_MODULE_2_type_r__[\"Record\"].prototype;\nRecordProto.getLink = RecordProto.linkAt;\nRecordProto.deepLink = RecordProto.linkPath;\nvar CollectionProto = __WEBPACK_IMPORTED_MODULE_2_type_r__[\"Record\"].Collection.prototype;\nCollectionProto.hasLink = CollectionProto.linkContains;\nuseView(__WEBPACK_IMPORTED_MODULE_2_type_r__[\"View\"]);\n// Extend react components to have backbone-style jquery accessors\nvar BackboneViewProps = {\n el: { get: function () { return __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.findDOMNode(this); } },\n $el: { get: function () { return __WEBPACK_IMPORTED_MODULE_2_type_r___default.a.$(this.el); } },\n $: { value: function (sel) { return this.$el.find(sel); } }\n};\nObject.defineProperties(NestedReact.Component.prototype, BackboneViewProps);\n//# sourceMappingURL=index.js.map\n\n/***/ }),\n/* 12 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Component; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__define__ = __webpack_require__(6);\n/**\n * React components\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\n\n\n\nvar reactMixinRules = {\n componentWillMount: 'reverse',\n componentDidMount: 'reverse',\n componentWillReceiveProps: 'reverse',\n shouldComponentUpdate: 'some',\n componentWillUpdate: 'reverse',\n componentDidUpdate: 'reverse',\n componentWillUnmount: 'sequence',\n state: 'merge',\n store: 'merge',\n props: 'merge',\n context: 'merge',\n childContext: 'merge',\n getChildContext: 'mergeSequence'\n};\nvar Component = (function (_super) {\n __extends(Component, _super);\n function Component() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Component.prototype.linkAt = function (key) {\n // Quick and dirty hack to suppres type error - refactor later.\n return this.state.linkAt(key);\n };\n Component.prototype.linkAll = function () {\n // Quick and dirty hack to suppres type error - refactor later.\n return this.state.linkAll.apply(this, arguments);\n };\n Component.define = function (protoProps, staticProps) {\n var BaseClass = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].getBaseClass(this), staticsDefinition = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].getChangedStatics(this, 'state', 'store', 'props', 'context', 'childContext', 'pureRender'), combinedDefinition = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].assign(staticsDefinition, protoProps || {});\n var definition = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__define__[\"c\" /* default */])(combinedDefinition, this.prototype);\n var getDefaultProps = definition.getDefaultProps, propTypes = definition.propTypes, contextTypes = definition.contextTypes, childContextTypes = definition.childContextTypes, protoDefinition = __rest(definition, [\"getDefaultProps\", \"propTypes\", \"contextTypes\", \"childContextTypes\"]);\n if (getDefaultProps)\n this.defaultProps = definition.getDefaultProps();\n if (propTypes)\n this.propTypes = propTypes;\n if (contextTypes)\n this.contextTypes = contextTypes;\n if (childContextTypes)\n this.childContextTypes = childContextTypes;\n __WEBPACK_IMPORTED_MODULE_1_type_r__[\"Mixable\"].define.call(this, protoDefinition, staticProps);\n return this;\n };\n Component.prototype.assignToState = function (x, key) {\n this.state.assignFrom((_a = {}, _a[key] = x, _a));\n var _a;\n };\n return Component;\n}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]));\nComponent = __decorate([\n __WEBPACK_IMPORTED_MODULE_1_type_r__[\"extendable\"],\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"])(reactMixinRules)\n], Component);\n\n// Looks like React guys _really_ want to deprecated it. But no way.\n// We will work around their attempt.\nObject.defineProperty(Component.prototype, 'isMounted', {\n value: function isMounted() {\n return !this._disposed;\n }\n});\n//# sourceMappingURL=component.js.map\n\n/***/ }),\n/* 13 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = compile;\n/* unused harmony export asyncUpdate */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__);\n/**\n * attach async event processing and transactional support.\n */\n\nfunction compile(spec, baseProto) {\n // Attach common mixin\n spec.mixins.push(CommonMixin);\n}\nfunction asyncUpdate() {\n this.shouldComponentUpdate === returnFalse || this._disposed || this.forceUpdate();\n}\nfunction returnFalse() { return false; }\n/**\n * Mixin which is attached to all components.\n */\nvar CommonMixin = __WEBPACK_IMPORTED_MODULE_0_type_r__[\"tools\"].assign({\n componentWillUnmount: function () {\n // Prevent memory leaks when working with events.\n this.off();\n this.stopListening();\n // Mark component as disposed.\n this._disposed = true;\n },\n // Safe version of the forceUpdate suitable for asynchronous callbacks.\n asyncUpdate: asyncUpdate,\n /**\n * Performs transactional update for both props and state.\n * Suppress updates during the transaction, and force update aftewards.\n * Wrapping the sequence of changes in a transactions guarantees that\n * React component will be updated _after_ all the changes to the\n * both props and local state are applied.\n */\n transaction: function (fun) {\n var shouldComponentUpdate = this.shouldComponentUpdate, isRoot = shouldComponentUpdate !== returnFalse;\n if (isRoot) {\n this.shouldComponentUpdate = returnFalse;\n }\n fun(this.props, this.state);\n if (isRoot) {\n this.shouldComponentUpdate = shouldComponentUpdate;\n this.asyncUpdate();\n }\n }\n}, __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Events\"]);\n//# sourceMappingURL=common.js.map\n\n/***/ }),\n/* 14 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = process;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(2);\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\n\nfunction process(spec, _a) {\n var _b = _a._context, _context = _b === void 0 ? {} : _b, _c = _a._childContext, _childContext = _c === void 0 ? {} : _c;\n // process context specs...\n var context = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* collectSpecs */])(spec, 'context');\n if (context) {\n spec._context = __assign({}, _context, context);\n spec.contextTypes = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"d\" /* compileSpecs */])(context).propTypes;\n delete spec.context;\n }\n // and child context specs...\n var childContext = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* collectSpecs */])(spec, 'childContext');\n if (childContext) {\n spec._childContext = __assign({}, _childContext, childContext);\n spec.childContextTypes = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"d\" /* compileSpecs */])(childContext).propTypes;\n delete spec.childContext;\n }\n}\n//# sourceMappingURL=context.js.map\n\n/***/ }),\n/* 15 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = process;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__pureRender__ = __webpack_require__(16);\n/**\n * Handle props specification and everything which is related:\n * - local listening to props changes\n * - pure render mixin\n */\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\n\n\nfunction process(spec, _a) {\n var pureRender = _a.pureRender, _b = _a._props, _props = _b === void 0 ? {} : _b, _c = _a._listenToPropsArray, _listenToPropsArray = _c === void 0 ? [] : _c, _d = _a._listenToPropsHash, _listenToPropsHash = _d === void 0 ? {} : _d;\n // process props spec...\n var props = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* collectSpecs */])(spec, 'props');\n if (props) {\n var allProps = spec._props = __assign({}, _props, props);\n var _e = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"d\" /* compileSpecs */])(allProps), propTypes = _e.propTypes, defaults_1 = _e.defaults, watchers = _e.watchers, changeHandlers = _e.changeHandlers;\n spec.propTypes = propTypes;\n if (defaults_1)\n spec.getDefaultProps = function () { return defaults_1; };\n if (watchers) {\n spec.mixins.unshift(WatchersMixin);\n spec._watchers = watchers;\n }\n if (changeHandlers) {\n spec.mixins.unshift(ChangeHandlersMixin);\n spec._changeHandlers = changeHandlers;\n }\n delete spec.props;\n }\n // compile pure render mixin\n if (spec._props && (spec.pureRender || pureRender)) {\n spec.mixins.push(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__pureRender__[\"a\" /* default */])(spec._props));\n }\n}\n/**\n * ChangeHandlers are fired in sequence upon props replacement.\n * Fires _after_ UI is updated. Used for managing events subscriptions.\n */\nvar ChangeHandlersMixin = {\n componentDidMount: function () {\n handlePropsChanges(this, {}, this.props);\n },\n componentDidUpdate: function (prev) {\n handlePropsChanges(this, prev, this.props);\n },\n componentWillUnmount: function () {\n handlePropsChanges(this, this.props, {});\n }\n};\nfunction handlePropsChanges(component, prev, next) {\n var _changeHandlers = component._changeHandlers;\n for (var name_1 in _changeHandlers) {\n if (prev[name_1] !== next[name_1]) {\n for (var _i = 0, _a = _changeHandlers[name_1]; _i < _a.length; _i++) {\n var handler = _a[_i];\n handler(next[name_1], prev[name_1], component);\n }\n }\n }\n}\n/**\n * Watchers works on props replacement and fires _before_ any change will be applied and UI is updated.\n * Fired in componentWillMount as well, which makes it a nice way to sync state from props.\n */\nvar WatchersMixin = {\n componentWillReceiveProps: function (next) {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_2 in _watchers) {\n if (next[name_2] !== props[name_2]) {\n _watchers[name_2].call(this, next[name_2], name_2);\n }\n }\n },\n componentWillMount: function () {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_3 in _watchers) {\n _watchers[name_3].call(this, props[name_3], name_3);\n }\n }\n};\n//# sourceMappingURL=props.js.map\n\n/***/ }),\n/* 16 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = createPureRenderMixin;\nfunction createPureRenderMixin(props) {\n var ctorBody = ['var v; this._s = s && s._changeToken'], isChangedBody = ['var v; return ( s && s._changeToken !== t._s )'];\n for (var name_1 in props) {\n var propExpr = \"( ( v = p.\" + name_1 + \") && v._changeToken ) || v\";\n ctorBody.push(\"this.\" + name_1 + \"= \" + propExpr);\n isChangedBody.push(\"t.\" + name_1 + \" !== (\" + propExpr + \")\");\n }\n var ChangeTokens = new Function('p', 's', ctorBody.join(';')), isChanged = new Function('t', 'p', 's', isChangedBody.join('||'));\n ChangeTokens.prototype = null;\n return {\n _changeTokens: null,\n shouldComponentUpdate: function (nextProps) {\n return isChanged(this._changeTokens, nextProps, this.state);\n },\n componentDidMount: function () {\n this._changeTokens = new ChangeTokens(this.props, this.state);\n },\n componentDidUpdate: function () {\n this._changeTokens = new ChangeTokens(this.props, this.state);\n }\n };\n}\n;\n//# sourceMappingURL=pureRender.js.map\n\n/***/ }),\n/* 17 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = process;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__state__ = __webpack_require__(7);\n\n\n\nfunction process(spec, baseProto) {\n var store = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* collectSpecs */])(spec, 'store');\n if (store) {\n delete spec.store;\n if (store instanceof __WEBPACK_IMPORTED_MODULE_1_type_r__[\"Store\"]) {\n // Direct reference to an existing store. Put it to the prototype.\n spec.store = store;\n spec.mixins.push(ExternalStoreMixin);\n }\n else {\n spec.Store = store;\n spec.mixins.push(InternalStoreMixin);\n spec.mixins.push(__WEBPACK_IMPORTED_MODULE_2__state__[\"b\" /* UpdateOnNestedChangesMixin */]);\n }\n spec.mixins.push(ExposeStoreMixin);\n }\n}\n/**\n * Attached whenever the store declaration of any form is present in the component.\n */\nvar ExposeStoreMixin = {\n childContext: {\n _nestedStore: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"Store\"]\n },\n getChildContext: function () {\n return { _nestedStore: this.store };\n },\n getStore: function () {\n return this.store;\n },\n // Will be called by the store when the lookup will fail.\n get: function (key) {\n // Ask upper store.\n var store = __WEBPACK_IMPORTED_MODULE_2__state__[\"c\" /* StateMixin */].getStore.call(this, key);\n return store && store.get(key);\n }\n};\n/**\n * External store must just track the changes and trigger render.\n * TBD: don't use it yet.\n */\nvar ExternalStoreMixin = {\n componentDidMount: function () {\n // Start UI updates on state changes.\n this.listenTo(this.store, 'change', this.asyncUpdate);\n }\n};\nvar InternalStoreMixin = {\n componentWillMount: function () {\n var store = this.store = new this.Store();\n store._owner = this;\n store._ownerKey = 'store';\n },\n componentWillUnmount: function () {\n this.store._ownerKey = this.store._owner = void 0;\n this.store.dispose();\n this.store = void 0;\n }\n};\n//# sourceMappingURL=store.js.map\n\n/***/ }),\n/* 18 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__valuelink_link__ = __webpack_require__(20);\n/**\n * Import ValueLink library\n * Define value links binding mixins to the Record and Collection\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]);\n__WEBPACK_IMPORTED_MODULE_0_type_r__[\"Mixable\"].mixTo(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]);\n/**\n * Record\n */\n__WEBPACK_IMPORTED_MODULE_0_type_r__[\"Record\"].mixins({\n // Link to the record's attribute by its key.\n linkAt: function (key) {\n return cacheLink(getLinksCache(this), this, key);\n },\n // Link to the attribute of the record's tree by symbolic path.\n linkPath: function (path, options) {\n return new RecordDeepLink(this, path, options);\n },\n // Link all (or listed) attributes and return links cache.\n linkAll: function () {\n var links = getLinksCache(this);\n if (arguments.length) {\n for (var i = 0; i < arguments.length; i++) {\n cacheLink(links, this, arguments[i]);\n }\n }\n else {\n var attributes = this.attributes;\n for (var key in attributes) {\n attributes[key] === void 0 || cacheLink(links, this, key);\n }\n }\n return links;\n }\n});\n/**\n * Link to Type-R's record attribute.\n * Strict evaluation of value, lazy evaluation of validation error.\n * Links are cached in the records\n */\nvar RecordLink = (function (_super) {\n __extends(RecordLink, _super);\n function RecordLink(record, attr, value) {\n var _this = _super.call(this, value) || this;\n _this.record = record;\n _this.attr = attr;\n return _this;\n }\n RecordLink.prototype.set = function (x) {\n this.record[this.attr] = x;\n };\n Object.defineProperty(RecordLink.prototype, \"error\", {\n get: function () {\n return this._error === void 0 ?\n this.record.getValidationError(this.attr) :\n this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n return RecordLink;\n}(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]));\nvar RecordDeepLink = (function (_super) {\n __extends(RecordDeepLink, _super);\n function RecordDeepLink(record, path, options) {\n var _this = _super.call(this, record.deepGet(path)) || this;\n _this.record = record;\n _this.path = path;\n _this.options = options;\n return _this;\n }\n Object.defineProperty(RecordDeepLink.prototype, \"error\", {\n get: function () {\n if (this._error === void 0) {\n this._error = this.record.deepValidationError(this.path) || null;\n }\n return this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(RecordDeepLink.prototype, \"_changeToken\", {\n get: function () {\n return this.record._changeToken;\n },\n enumerable: true,\n configurable: true\n });\n RecordDeepLink.prototype.set = function (x) {\n this.record.deepSet(this.path, x, this.options);\n };\n return RecordDeepLink;\n}(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]));\nfunction getLinksCache(record) {\n return record._links || (record._links = new record.Attributes({}));\n}\nfunction cacheLink(links, record, key) {\n var cached = links[key], value = record[key];\n return cached && cached.value === value ? cached\n : links[key] = new RecordLink(record, key, value);\n}\n/***********************************\n * Collection\n */\n__WEBPACK_IMPORTED_MODULE_0_type_r__[\"Record\"].Collection.mixins({\n // Boolean link to the record's presence in the collection\n linkContains: function (record) {\n return new CollectionLink(this, record);\n },\n // Link to collection's property\n linkAt: function (prop) {\n var _this = this;\n return __WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */].value(this[prop], function (x) { return _this[prop] = x; });\n }\n});\n/**\n * Boolean link to presence of NestedType's record in collection.\n * Strict evaluation of value, no error.\n * Safe implementation of _changeToken.\n */\nvar CollectionLink = (function (_super) {\n __extends(CollectionLink, _super);\n function CollectionLink(collection, record) {\n var _this = _super.call(this, Boolean(collection._byId[record.cid])) || this;\n _this.collection = collection;\n _this.record = record;\n return _this;\n }\n CollectionLink.prototype.set = function (x) {\n this.collection.toggle(this.record, x);\n };\n return CollectionLink;\n}(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]));\n//# sourceMappingURL=link.js.map\n\n/***/ }),\n/* 19 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = helpers;\n/* unused harmony export objectHelpers */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return arrayHelpers; });\nvar ArrayProto = Array.prototype, ObjectProto = Object.prototype;\nfunction helpers(value) {\n if (value && typeof value === 'object') {\n switch (Object.getPrototypeOf(value)) {\n case ArrayProto: return arrayHelpers;\n case ObjectProto: return objectHelpers;\n }\n }\n return dummyHelpers;\n}\n// Do nothing for types other than Array and plain Object.\nvar dummyHelpers = {\n clone: function (value) { return value; },\n map: function (link, fun) { return []; },\n remove: function (value) { return value; }\n};\n// `map` and `clone` for plain JS objects\nvar objectHelpers = {\n // Map through the link to object\n map: function (link, iterator) {\n var mapped = [];\n for (var key in link.value) {\n var element = iterator(link.at(key), key);\n element === void 0 || (mapped.push(element));\n }\n return mapped;\n },\n remove: function (object, key) {\n delete object[key];\n return object;\n },\n // Shallow clone plain JS object\n clone: function (object) {\n var cloned = {};\n for (var key in object) {\n cloned[key] = object[key];\n }\n return cloned;\n }\n};\n// `map` and `clone` helpers for arrays.\nvar arrayHelpers = {\n // Shallow clone array\n clone: function (array) {\n return array.slice();\n },\n remove: function (array, i) {\n array.splice(i, 1);\n return array;\n },\n // Map through the link to array\n map: function (link, iterator) {\n var length = link.value.length, mapped = Array(length);\n for (var i = 0, j = 0; i < length; i++) {\n var y = iterator(link.at(i), i);\n y === void 0 || (mapped[j++] = y);\n }\n mapped.length === j || (mapped.length = j);\n return mapped;\n }\n};\n//# sourceMappingURL=helpers.js.map\n\n/***/ }),\n/* 20 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Link; });\n/* unused harmony export CustomLink */\n/* unused harmony export CloneLink */\n/* unused harmony export EqualsLink */\n/* unused harmony export EnabledLink */\n/* unused harmony export ContainsLink */\n/* unused harmony export LinkAt */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__helpers__ = __webpack_require__(19);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * Advanced React links for purely functional two-way data binding\n *\n * MIT License, (c) 2016 Vlad Balin, Volicon.\n */\n\n// Main Link class. All links must extend it.\nvar Link = (function () {\n // create \n function Link(value) {\n this.value = value;\n }\n // Create custom link to arbitrary value\n Link.value = function (value, set) {\n return new CustomLink(value, set);\n };\n Object.defineProperty(Link.prototype, \"validationError\", {\n // DEPRECATED: Old error holder for backward compatibility with Volicon code base\n get: function () { return this.error; },\n enumerable: true,\n configurable: true\n });\n Link.prototype.onChange = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n handler(x);\n _this.set(x);\n });\n };\n Object.defineProperty(Link.prototype, \"props\", {\n // \n get: function () {\n var _this = this;\n return { value: this.value, onChange: function (e) { return _this.set(e.target.value); } };\n },\n enumerable: true,\n configurable: true\n });\n // DEPRECATED: Old React method for backward compatibility\n Link.prototype.requestChange = function (x) {\n this.set(x);\n };\n // Immediately update the link value using given transform function.\n Link.prototype.update = function (transform, e) {\n var next = transform(this.clone(), e);\n next === void 0 || this.set(next);\n };\n // Create new link which applies transform function on set.\n Link.prototype.pipe = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n var next = handler(x, _this.value);\n next === void 0 || _this.set(next);\n });\n };\n // Create UI event handler function which will update the link with a given transform function.\n Link.prototype.action = function (transform) {\n var _this = this;\n return function (e) { return _this.update(transform, e); };\n };\n Link.prototype.equals = function (truthyValue) {\n return new EqualsLink(this, truthyValue);\n };\n Link.prototype.enabled = function (defaultValue) {\n return new EnabledLink(this, defaultValue || \"\");\n };\n // Array-only links methods\n Link.prototype.contains = function (element) {\n return new ContainsLink(this, element);\n };\n Link.prototype.push = function () {\n var array = __WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* arrayHelpers */].clone(this.value);\n Array.prototype.push.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.unshift = function () {\n var array = __WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* arrayHelpers */].clone(this.value);\n Array.prototype.unshift.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.splice = function () {\n var array = __WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* arrayHelpers */].clone(this.value);\n Array.prototype.splice.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.map = function (iterator) {\n return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* helpers */])(this.value).map(this, iterator);\n };\n Link.prototype.removeAt = function (key) {\n var value = this.value, _ = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* helpers */])(value);\n this.set(_.remove(_.clone(value), key));\n };\n Link.prototype.at = function (key) {\n return new LinkAt(this, key);\n };\n Link.prototype.clone = function () {\n var value = this.value;\n return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* helpers */])(value).clone(value);\n };\n Link.prototype.pick = function () {\n var links = {};\n for (var i = 0; i < arguments.length; i++) {\n var key = arguments[i];\n links[key] = new LinkAt(this, key);\n }\n return links;\n };\n /**\n * Validate link with validness predicate and optional custom error object. Can be chained.\n */\n Link.prototype.check = function (whenValid, error) {\n if (!this.error && !whenValid(this.value)) {\n this.error = error || whenValid.error || defaultError;\n }\n return this;\n };\n return Link;\n}());\n\nvar CustomLink = (function (_super) {\n __extends(CustomLink, _super);\n function CustomLink(value, set) {\n var _this = _super.call(this, value) || this;\n _this.set = set;\n return _this;\n }\n CustomLink.prototype.set = function (x) { };\n return CustomLink;\n}(Link));\n\nvar CloneLink = (function (_super) {\n __extends(CloneLink, _super);\n function CloneLink(parent, set) {\n var _this = _super.call(this, parent.value) || this;\n _this.set = set;\n var error = parent.error;\n if (error)\n _this.error = error;\n return _this;\n }\n CloneLink.prototype.set = function (x) { };\n return CloneLink;\n}(Link));\n\nvar EqualsLink = (function (_super) {\n __extends(EqualsLink, _super);\n function EqualsLink(parent, truthyValue) {\n var _this = _super.call(this, parent.value === truthyValue) || this;\n _this.parent = parent;\n _this.truthyValue = truthyValue;\n return _this;\n }\n EqualsLink.prototype.set = function (x) {\n this.parent.set(x ? this.truthyValue : null);\n };\n return EqualsLink;\n}(Link));\n\nvar EnabledLink = (function (_super) {\n __extends(EnabledLink, _super);\n function EnabledLink(parent, defaultValue) {\n var _this = _super.call(this, parent.value != null) || this;\n _this.parent = parent;\n _this.defaultValue = defaultValue;\n return _this;\n }\n EnabledLink.prototype.set = function (x) {\n this.parent.set(x ? this.defaultValue : null);\n };\n return EnabledLink;\n}(Link));\n\nvar ContainsLink = (function (_super) {\n __extends(ContainsLink, _super);\n function ContainsLink(parent, element) {\n var _this = _super.call(this, parent.value.indexOf(element) >= 0) || this;\n _this.parent = parent;\n _this.element = element;\n return _this;\n }\n ContainsLink.prototype.set = function (x) {\n var _this = this;\n var next = Boolean(x);\n if (this.value !== next) {\n var arr = this.parent.value, nextValue = x ? arr.concat(this.element) : arr.filter(function (el) { return el !== _this.element; });\n this.parent.set(nextValue);\n }\n };\n return ContainsLink;\n}(Link));\n\nvar defaultError = 'Invalid value';\n/**\n * Link to array or object element enclosed in parent link.\n * Performs purely functional update of the parent, shallow copying its value on `set`.\n */\nvar LinkAt = (function (_super) {\n __extends(LinkAt, _super);\n function LinkAt(parent, key) {\n var _this = _super.call(this, parent.value[key]) || this;\n _this.parent = parent;\n _this.key = key;\n return _this;\n }\n LinkAt.prototype.remove = function () {\n this.parent.removeAt(this.key);\n };\n // Set new element value to parent array or object, performing purely functional update.\n LinkAt.prototype.set = function (x) {\n var _this = this;\n if (this.value !== x) {\n this.parent.update(function (value) {\n value[_this.key] = x;\n return value;\n });\n }\n };\n ;\n return LinkAt;\n}(Link));\n\n//# sourceMappingURL=link.js.map\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (false) {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n\n\nvar emptyFunction = __webpack_require__(21);\nvar invariant = __webpack_require__(22);\n\nmodule.exports = function() {\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n function shim() {\n invariant(\n false,\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim\n };\n\n ReactPropTypes.checkPropTypes = emptyFunction;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n/***/ })\n/******/ ]);\n});\n\n\n// WEBPACK FOOTER //\n// dist/index.min.js"," \t// The module cache\n \tvar installedModules = {};\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// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\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, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\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 = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 11);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap ba6be5a29f458ec49d69","module.exports = __WEBPACK_EXTERNAL_MODULE_0__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"commonjs\":\"nestedtypes\",\"commonjs2\":\"nestedtypes\",\"amd\":\"nestedtypes\",\"root\":\"Nested\"}\n// module id = 0\n// module chunks = 0","import * as React from 'react';\nimport { define, mixins } from 'type-r';\nimport { Node, Element } from './define';\nimport Link from './link';\nimport { Component } from './component';\n// extend React namespace\nvar ReactMVx = Object.create(React);\n// Make it compatible with ES6 module format.\nReactMVx.default = ReactMVx;\n// listenToProps, listenToState, model, attributes, Model\nReactMVx.define = define;\nReactMVx.mixins = mixins;\nReactMVx.Node = Node.value(null);\nReactMVx.Element = Element.value(null);\nReactMVx.Link = Link;\nReactMVx.Component = Component;\nvar assignToState = ReactMVx.assignToState = function (key) {\n return function (prop) {\n this.state.assignFrom((_a = {}, _a[key] = prop && prop instanceof Link ? prop.value : prop, _a));\n var _a;\n };\n};\nexport default ReactMVx;\nexport { define, mixins, Node, Element, Link, Component, assignToState };\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/index.js\n// module id = 1\n// module chunks = 0","import * as PropTypes from 'prop-types';\nimport { Record, tools } from 'type-r';\nexport function collectSpecs(spec, name) {\n var attributes = null;\n // Scan through local mixin, and gather specs. Refactor it later, it's not good. At all.\n for (var i = spec.mixins.length - 1; i >= 0; i--) {\n var mixin = spec.mixins[i], mixinAttrs = mixin[name];\n if (mixinAttrs) {\n attributes || (attributes = {});\n tools.assign(attributes, mixinAttrs);\n }\n }\n // Merge it with local data.\n var specAttrs = spec[name];\n if (specAttrs) {\n if (attributes) {\n tools.assign(attributes, specAttrs);\n }\n else {\n attributes = specAttrs;\n }\n }\n return attributes;\n}\nexport function compileSpecs(props) {\n var propTypes = {}, \n // Create NestedTypes model definition to process props spec.\n modelProto = Record.defaults(props).prototype;\n var defaults, watchers, changeHandlers;\n modelProto.forEachAttr(modelProto._attributes, function (spec, name) {\n // Skip auto-generated `id` attribute.\n if (name !== 'id') {\n var value = spec.value, type = spec.type, options = spec.options;\n // Translate props type to the propTypes guard.\n propTypes[name] = translateType(type, options.isRequired);\n if (options._onChange) {\n watchers || (watchers = {});\n watchers[name] = toLocalWatcher(options._onChange);\n }\n // Handle listening to event maps...\n if (options.changeHandlers && options.changeHandlers.length) {\n changeHandlers || (changeHandlers = {});\n changeHandlers[name] = options.changeHandlers;\n }\n // Handle listening to props changes...\n if (options.changeEvents) {\n changeHandlers || (changeHandlers = {});\n var handlers = changeHandlers[name] || (changeHandlers[name] = []), changeEvents_1 = typeof options.changeEvents === 'string' ? options.changeEvents : null;\n handlers.push(function (next, prev, component) {\n prev && component.stopListening(prev);\n next && component.listenTo(next, changeEvents_1 || next._changeEventName, component.asyncUpdate);\n });\n }\n // If default value is explicitly provided...\n if (value !== void 0) {\n //...append it to getDefaultProps function.\n defaults || (defaults = {});\n defaults[name] = spec.convert(value);\n }\n }\n });\n return { propTypes: propTypes, defaults: defaults, watchers: watchers, changeHandlers: changeHandlers };\n}\nfunction toLocalWatcher(ref) {\n return typeof ref === 'function' ? ref : function (value, name) {\n this[ref] && this[ref](value, name);\n };\n}\nvar Node = (function () {\n function Node() {\n }\n return Node;\n}());\nexport { Node };\nvar Element = (function () {\n function Element() {\n }\n return Element;\n}());\nexport { Element };\nfunction translateType(Type, isRequired) {\n var T = _translateType(Type);\n return isRequired ? T.isRequired : T;\n}\nfunction _translateType(Type) {\n switch (Type) {\n case Number:\n case Number.integer:\n return PropTypes.number;\n case String:\n return PropTypes.string;\n case Boolean:\n return PropTypes.bool;\n case Array:\n return PropTypes.array;\n case Function:\n return PropTypes.func;\n case Object:\n return PropTypes.object;\n case Node:\n return PropTypes.node;\n case Element:\n return PropTypes.element;\n case void 0:\n case null:\n return PropTypes.any;\n default:\n return PropTypes.instanceOf(Type);\n }\n}\n//# sourceMappingURL=typeSpecs.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/typeSpecs.js\n// module id = 2\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_3__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"commonjs\":\"react\",\"commonjs2\":\"react\",\"amd\":\"react\",\"root\":\"React\"}\n// module id = 3\n// module chunks = 0","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/prop-types/index.js\n// module id = 4\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_5__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"commonjs\":\"react-dom\",\"commonjs2\":\"react-dom\",\"amd\":\"react-dom\",\"root\":\"ReactDOM\"}\n// module id = 5\n// module chunks = 0","import processStore from './store';\nimport processState from './state';\nimport processContext from './context';\nimport processCommons from './common';\nimport processProps from './props';\nexport default function process(spec, baseProto) {\n if (baseProto === void 0) { baseProto = {}; }\n // Initialize mixins placeholder...\n spec.mixins || (spec.mixins = []);\n processStore(spec, baseProto);\n processState(spec, baseProto);\n processContext(spec, baseProto);\n processProps(spec, baseProto);\n processCommons(spec, baseProto);\n return spec;\n}\n;\nexport { Node, Element } from './typeSpecs';\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/index.js\n// module id = 6\n// module chunks = 0","/*****************\n * State\n */\nimport { collectSpecs } from './typeSpecs';\nimport { Record, Store } from 'type-r';\nexport default function process(spec, baseProto) {\n // process state spec...\n var attributes = collectSpecs(spec, 'state');\n if (attributes || baseProto.State) {\n var BaseModel = baseProto.State || Record;\n spec.State = attributes ? (typeof attributes === 'function' ? attributes : BaseModel.defaults(attributes)) : BaseModel;\n spec.mixins.push(StateMixin);\n spec.mixins.push(UpdateOnNestedChangesMixin);\n delete spec.state;\n delete spec.attributes;\n }\n}\nexport var StateMixin = {\n //state : null,\n componentWillMount: function () {\n // props.__keepState is used to workaround issues in Backbone intergation layer\n var state = this.state = this.props.__keepState || new this.State();\n // Take ownership on state...\n state._owner = this;\n state._ownerKey = 'state';\n },\n context: {\n _nestedStore: Store\n },\n // reference global store to fix model's store locator\n getStore: function () {\n // Attempt to get the store from the context first. Then - fallback to the state's default store.\n // TBD: Need to figure out a good way of managing local stores.\n var context, state;\n return ((context = this.context) && context._archetypeStore) ||\n ((state = this.state) && state._defaultStore);\n },\n componentWillUnmount: function () {\n var state = this.state;\n state._owner = state._ownerKey = void 0;\n this._preventDispose /* hack for component-view to preserve the state */ || state.dispose();\n this.state = void 0;\n }\n};\nexport var UpdateOnNestedChangesMixin = {\n _onChildrenChange: function () { },\n componentDidMount: function () {\n this._onChildrenChange = this.asyncUpdate;\n }\n};\n//# sourceMappingURL=state.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/state.js\n// module id = 7\n// module chunks = 0","import * as React from 'react';\nimport ReactDOM from 'react-dom';\nimport { tools } from 'type-r';\nwindow.Page || (window.Page = { forceResize: function () { } });\nexport default function use(View) {\n var dispose = View.prototype.dispose || function () { }, setElement = View.prototype.setElement;\n var ComponentView = View.extend({\n reactClass: null,\n props: {},\n element: null,\n initialize: function (props) {\n // memorise arguments to pass to React\n this.options = props || {};\n },\n setElement: function () {\n this.unmountComponent(true);\n return setElement.apply(this, arguments);\n },\n // cached instance of react component...\n component: null,\n prevState: null,\n resize: function () {\n window.Page.forceResize();\n },\n render: function () {\n var options = this.prevState ? tools.fastAssign({ __keepState: this.prevState }, this.options) : this.options, element = React.createElement(this.reactClass, options), component = ReactDOM.render(element, this.el);\n this.component || this.mountComponent(component);\n },\n mountComponent: function (component) {\n this.component = component;\n this.prevState = null;\n component.trigger && this.listenTo(component, 'all', function () {\n this.trigger.apply(this, arguments);\n });\n },\n unmountComponent: function (keepModel) {\n var component = this.component;\n if (component) {\n this.prevState = component.state;\n if (component.trigger) {\n this.stopListening(component);\n }\n component._preventDispose = Boolean(keepModel);\n ReactDOM.unmountComponentAtNode(this.el);\n this.component = null;\n }\n },\n dispose: function () {\n this.unmountComponent();\n return dispose.apply(this, arguments);\n }\n });\n Object.defineProperty(ComponentView.prototype, 'model', {\n get: function () {\n this.component || this.render();\n return this.component && this.component.state;\n }\n });\n return ComponentView;\n}\n//# sourceMappingURL=component-view.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/component-view.js\n// module id = 8\n// module chunks = 0","var __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\nimport { Component } from './react-mvx';\nvar dontAutobind = [\n 'State', 'Store', 'constructor',\n 'componentWillMount', 'componentDidMount', 'componentWillReceiveProps', 'shouldComponentUpdate',\n 'componentWillUpdate', 'componentDidUpdate', 'componentWillUnmount',\n 'render', 'getDefaultProps', 'getChildContext'\n];\n/**\n * ES5 components definition factory\n */\nexport default function createClass(_a) {\n var statics = _a.statics, a_spec = __rest(_a, [\"statics\"]);\n // Gather all methods to pin them to `this` later.\n var methods = [];\n var Subclass = Component.extend(__assign({ \n // Override constructor to autobind all the methods...\n constructor: function () {\n Component.apply(this, this.arguments);\n for (var _i = 0, methods_1 = methods; _i < methods_1.length; _i++) {\n var method = methods_1[_i];\n this[method] = this[method].bind(this);\n }\n } }, a_spec), statics);\n // Need to bind methods from mixins as well, so populate it here.\n var Proto = Subclass.prototype;\n for (var key in Proto) {\n if (Proto.hasOwnProperty(key) && dontAutobind.indexOf(key) === -1 && typeof Proto[key] === 'function') {\n methods.push(key);\n }\n }\n return Subclass;\n}\n//# sourceMappingURL=createClass.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/createClass.js\n// module id = 9\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport React from './react-mvx';\nimport { tools } from 'type-r';\nvar notEqual = tools.notEqual;\nvar BackboneView = (function (_super) {\n __extends(BackboneView, _super);\n function BackboneView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.saveRef = function (element) {\n _this.root = element;\n };\n return _this;\n }\n BackboneView.prototype.shouldComponentUpdate = function (next) {\n var props = this.props;\n return next.View !== props.View || notEqual(next.options, props.options);\n };\n BackboneView.prototype.hasUnsavedChanges = function () {\n var view = this.view;\n return view && (typeof view.hasUnsavedChanges === 'function' ? view.hasUnsavedChanges() : view.hasUnsavedChanges);\n };\n BackboneView.prototype.render = function () {\n return React.createElement('div', {\n ref: this.saveRef,\n className: this.props.className\n });\n };\n BackboneView.prototype.componentDidMount = function () {\n this._mountView();\n };\n BackboneView.prototype.componentDidUpdate = function () {\n this._dispose();\n this._mountView();\n };\n BackboneView.prototype.componentWillUnmount = function () {\n this._dispose();\n };\n BackboneView.prototype._mountView = function () {\n var el = this.root, p = this.props;\n var view = this.view = p.options ? new p.View(p.options) : new p.View();\n el.appendChild(view.el);\n view.render();\n };\n BackboneView.prototype._dispose = function () {\n var view = this.view;\n if (view) {\n if (view.dispose) {\n view.dispose();\n }\n else {\n view.stopListening();\n view.off();\n }\n this.root.innerHTML = \"\";\n this.view = null;\n }\n };\n return BackboneView;\n}(React.Component));\nexport default BackboneView;\n//# sourceMappingURL=view-element.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/view-element.js\n// module id = 10\n// module chunks = 0","// Re-export react-mvx\nimport ReactMVx from './react-mvx';\nvar NestedReact = Object.create(ReactMVx);\nexport default NestedReact;\nexport * from './react-mvx';\n// NestedReact backward compatibility layer\nimport ReactDOM from 'react-dom';\nimport Nested, { View, Record } from 'type-r';\nimport * as PropTypes from 'prop-types';\nimport subview from './view-element';\nNestedReact.subview = subview;\nexport { subview };\nimport use from './component-view';\nimport createClass from './createClass';\nNestedReact.createClass = createClass;\nObject.defineProperty(NestedReact, 'PropTypes', { value: PropTypes });\nexport { PropTypes, createClass };\nvar BaseView;\n// export hook to override base View class used...\nexport function useView(View) {\n BaseView = use(View);\n}\nvar define = NestedReact.Component.define;\nNestedReact.Component.define = function (protoProps, staticProps) {\n this.View = BaseView.extend({ reactClass: this });\n return define.call(this, protoProps, staticProps);\n};\n// Deprecated API for backward compatibility\nvar RecordProto = Record.prototype;\nRecordProto.getLink = RecordProto.linkAt;\nRecordProto.deepLink = RecordProto.linkPath;\nvar CollectionProto = Record.Collection.prototype;\nCollectionProto.hasLink = CollectionProto.linkContains;\nuseView(View);\n// Extend react components to have backbone-style jquery accessors\nvar BackboneViewProps = {\n el: { get: function () { return ReactDOM.findDOMNode(this); } },\n $el: { get: function () { return Nested.$(this.el); } },\n $: { value: function (sel) { return this.$el.find(sel); } }\n};\nObject.defineProperties(NestedReact.Component.prototype, BackboneViewProps);\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/index.js\n// module id = 11\n// module chunks = 0","/**\n * React components\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\nimport * as React from 'react';\nimport { extendable, mixinRules, tools, Mixable } from 'type-r';\nimport processSpec from './define';\nvar reactMixinRules = {\n componentWillMount: 'reverse',\n componentDidMount: 'reverse',\n componentWillReceiveProps: 'reverse',\n shouldComponentUpdate: 'some',\n componentWillUpdate: 'reverse',\n componentDidUpdate: 'reverse',\n componentWillUnmount: 'sequence',\n state: 'merge',\n store: 'merge',\n props: 'merge',\n context: 'merge',\n childContext: 'merge',\n getChildContext: 'mergeSequence'\n};\nvar Component = (function (_super) {\n __extends(Component, _super);\n function Component() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Component.prototype.linkAt = function (key) {\n // Quick and dirty hack to suppres type error - refactor later.\n return this.state.linkAt(key);\n };\n Component.prototype.linkAll = function () {\n // Quick and dirty hack to suppres type error - refactor later.\n return this.state.linkAll.apply(this, arguments);\n };\n Component.define = function (protoProps, staticProps) {\n var BaseClass = tools.getBaseClass(this), staticsDefinition = tools.getChangedStatics(this, 'state', 'store', 'props', 'context', 'childContext', 'pureRender'), combinedDefinition = tools.assign(staticsDefinition, protoProps || {});\n var definition = processSpec(combinedDefinition, this.prototype);\n var getDefaultProps = definition.getDefaultProps, propTypes = definition.propTypes, contextTypes = definition.contextTypes, childContextTypes = definition.childContextTypes, protoDefinition = __rest(definition, [\"getDefaultProps\", \"propTypes\", \"contextTypes\", \"childContextTypes\"]);\n if (getDefaultProps)\n this.defaultProps = definition.getDefaultProps();\n if (propTypes)\n this.propTypes = propTypes;\n if (contextTypes)\n this.contextTypes = contextTypes;\n if (childContextTypes)\n this.childContextTypes = childContextTypes;\n Mixable.define.call(this, protoDefinition, staticProps);\n return this;\n };\n Component.prototype.assignToState = function (x, key) {\n this.state.assignFrom((_a = {}, _a[key] = x, _a));\n var _a;\n };\n return Component;\n}(React.Component));\nComponent = __decorate([\n extendable,\n mixinRules(reactMixinRules)\n], Component);\nexport { Component };\n// Looks like React guys _really_ want to deprecated it. But no way.\n// We will work around their attempt.\nObject.defineProperty(Component.prototype, 'isMounted', {\n value: function isMounted() {\n return !this._disposed;\n }\n});\n//# sourceMappingURL=component.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/component.js\n// module id = 12\n// module chunks = 0","/**\n * attach async event processing and transactional support.\n */\nimport { tools, Events } from 'type-r';\nexport default function compile(spec, baseProto) {\n // Attach common mixin\n spec.mixins.push(CommonMixin);\n}\nexport function asyncUpdate() {\n this.shouldComponentUpdate === returnFalse || this._disposed || this.forceUpdate();\n}\nfunction returnFalse() { return false; }\n/**\n * Mixin which is attached to all components.\n */\nvar CommonMixin = tools.assign({\n componentWillUnmount: function () {\n // Prevent memory leaks when working with events.\n this.off();\n this.stopListening();\n // Mark component as disposed.\n this._disposed = true;\n },\n // Safe version of the forceUpdate suitable for asynchronous callbacks.\n asyncUpdate: asyncUpdate,\n /**\n * Performs transactional update for both props and state.\n * Suppress updates during the transaction, and force update aftewards.\n * Wrapping the sequence of changes in a transactions guarantees that\n * React component will be updated _after_ all the changes to the\n * both props and local state are applied.\n */\n transaction: function (fun) {\n var shouldComponentUpdate = this.shouldComponentUpdate, isRoot = shouldComponentUpdate !== returnFalse;\n if (isRoot) {\n this.shouldComponentUpdate = returnFalse;\n }\n fun(this.props, this.state);\n if (isRoot) {\n this.shouldComponentUpdate = shouldComponentUpdate;\n this.asyncUpdate();\n }\n }\n}, Events);\n//# sourceMappingURL=common.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/common.js\n// module id = 13\n// module chunks = 0","var __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nimport { compileSpecs, collectSpecs } from './typeSpecs';\nexport default function process(spec, _a) {\n var _b = _a._context, _context = _b === void 0 ? {} : _b, _c = _a._childContext, _childContext = _c === void 0 ? {} : _c;\n // process context specs...\n var context = collectSpecs(spec, 'context');\n if (context) {\n spec._context = __assign({}, _context, context);\n spec.contextTypes = compileSpecs(context).propTypes;\n delete spec.context;\n }\n // and child context specs...\n var childContext = collectSpecs(spec, 'childContext');\n if (childContext) {\n spec._childContext = __assign({}, _childContext, childContext);\n spec.childContextTypes = compileSpecs(childContext).propTypes;\n delete spec.childContext;\n }\n}\n//# sourceMappingURL=context.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/context.js\n// module id = 14\n// module chunks = 0","/**\n * Handle props specification and everything which is related:\n * - local listening to props changes\n * - pure render mixin\n */\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nimport { collectSpecs, compileSpecs } from './typeSpecs';\nimport createPureRenderMixin from './pureRender';\nexport default function process(spec, _a) {\n var pureRender = _a.pureRender, _b = _a._props, _props = _b === void 0 ? {} : _b, _c = _a._listenToPropsArray, _listenToPropsArray = _c === void 0 ? [] : _c, _d = _a._listenToPropsHash, _listenToPropsHash = _d === void 0 ? {} : _d;\n // process props spec...\n var props = collectSpecs(spec, 'props');\n if (props) {\n var allProps = spec._props = __assign({}, _props, props);\n var _e = compileSpecs(allProps), propTypes = _e.propTypes, defaults_1 = _e.defaults, watchers = _e.watchers, changeHandlers = _e.changeHandlers;\n spec.propTypes = propTypes;\n if (defaults_1)\n spec.getDefaultProps = function () { return defaults_1; };\n if (watchers) {\n spec.mixins.unshift(WatchersMixin);\n spec._watchers = watchers;\n }\n if (changeHandlers) {\n spec.mixins.unshift(ChangeHandlersMixin);\n spec._changeHandlers = changeHandlers;\n }\n delete spec.props;\n }\n // compile pure render mixin\n if (spec._props && (spec.pureRender || pureRender)) {\n spec.mixins.push(createPureRenderMixin(spec._props));\n }\n}\n/**\n * ChangeHandlers are fired in sequence upon props replacement.\n * Fires _after_ UI is updated. Used for managing events subscriptions.\n */\nvar ChangeHandlersMixin = {\n componentDidMount: function () {\n handlePropsChanges(this, {}, this.props);\n },\n componentDidUpdate: function (prev) {\n handlePropsChanges(this, prev, this.props);\n },\n componentWillUnmount: function () {\n handlePropsChanges(this, this.props, {});\n }\n};\nfunction handlePropsChanges(component, prev, next) {\n var _changeHandlers = component._changeHandlers;\n for (var name_1 in _changeHandlers) {\n if (prev[name_1] !== next[name_1]) {\n for (var _i = 0, _a = _changeHandlers[name_1]; _i < _a.length; _i++) {\n var handler = _a[_i];\n handler(next[name_1], prev[name_1], component);\n }\n }\n }\n}\n/**\n * Watchers works on props replacement and fires _before_ any change will be applied and UI is updated.\n * Fired in componentWillMount as well, which makes it a nice way to sync state from props.\n */\nvar WatchersMixin = {\n componentWillReceiveProps: function (next) {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_2 in _watchers) {\n if (next[name_2] !== props[name_2]) {\n _watchers[name_2].call(this, next[name_2], name_2);\n }\n }\n },\n componentWillMount: function () {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_3 in _watchers) {\n _watchers[name_3].call(this, props[name_3], name_3);\n }\n }\n};\n//# sourceMappingURL=props.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/props.js\n// module id = 15\n// module chunks = 0","export default function createPureRenderMixin(props) {\n var ctorBody = ['var v; this._s = s && s._changeToken'], isChangedBody = ['var v; return ( s && s._changeToken !== t._s )'];\n for (var name_1 in props) {\n var propExpr = \"( ( v = p.\" + name_1 + \") && v._changeToken ) || v\";\n ctorBody.push(\"this.\" + name_1 + \"= \" + propExpr);\n isChangedBody.push(\"t.\" + name_1 + \" !== (\" + propExpr + \")\");\n }\n var ChangeTokens = new Function('p', 's', ctorBody.join(';')), isChanged = new Function('t', 'p', 's', isChangedBody.join('||'));\n ChangeTokens.prototype = null;\n return {\n _changeTokens: null,\n shouldComponentUpdate: function (nextProps) {\n return isChanged(this._changeTokens, nextProps, this.state);\n },\n componentDidMount: function () {\n this._changeTokens = new ChangeTokens(this.props, this.state);\n },\n componentDidUpdate: function () {\n this._changeTokens = new ChangeTokens(this.props, this.state);\n }\n };\n}\n;\n//# sourceMappingURL=pureRender.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/pureRender.js\n// module id = 16\n// module chunks = 0","import { collectSpecs } from './typeSpecs';\nimport { Store } from 'type-r';\nimport { StateMixin, UpdateOnNestedChangesMixin } from './state';\nexport default function process(spec, baseProto) {\n var store = collectSpecs(spec, 'store');\n if (store) {\n delete spec.store;\n if (store instanceof Store) {\n // Direct reference to an existing store. Put it to the prototype.\n spec.store = store;\n spec.mixins.push(ExternalStoreMixin);\n }\n else {\n spec.Store = store;\n spec.mixins.push(InternalStoreMixin);\n spec.mixins.push(UpdateOnNestedChangesMixin);\n }\n spec.mixins.push(ExposeStoreMixin);\n }\n}\n/**\n * Attached whenever the store declaration of any form is present in the component.\n */\nvar ExposeStoreMixin = {\n childContext: {\n _nestedStore: Store\n },\n getChildContext: function () {\n return { _nestedStore: this.store };\n },\n getStore: function () {\n return this.store;\n },\n // Will be called by the store when the lookup will fail.\n get: function (key) {\n // Ask upper store.\n var store = StateMixin.getStore.call(this, key);\n return store && store.get(key);\n }\n};\n/**\n * External store must just track the changes and trigger render.\n * TBD: don't use it yet.\n */\nvar ExternalStoreMixin = {\n componentDidMount: function () {\n // Start UI updates on state changes.\n this.listenTo(this.store, 'change', this.asyncUpdate);\n }\n};\nvar InternalStoreMixin = {\n componentWillMount: function () {\n var store = this.store = new this.Store();\n store._owner = this;\n store._ownerKey = 'store';\n },\n componentWillUnmount: function () {\n this.store._ownerKey = this.store._owner = void 0;\n this.store.dispose();\n this.store = void 0;\n }\n};\n//# sourceMappingURL=store.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/store.js\n// module id = 17\n// module chunks = 0","/**\n * Import ValueLink library\n * Define value links binding mixins to the Record and Collection\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { Mixable, Record } from 'type-r';\nimport { Link } from './valuelink/link';\nexport default Link;\nMixable.mixTo(Link);\n/**\n * Record\n */\nRecord.mixins({\n // Link to the record's attribute by its key.\n linkAt: function (key) {\n return cacheLink(getLinksCache(this), this, key);\n },\n // Link to the attribute of the record's tree by symbolic path.\n linkPath: function (path, options) {\n return new RecordDeepLink(this, path, options);\n },\n // Link all (or listed) attributes and return links cache.\n linkAll: function () {\n var links = getLinksCache(this);\n if (arguments.length) {\n for (var i = 0; i < arguments.length; i++) {\n cacheLink(links, this, arguments[i]);\n }\n }\n else {\n var attributes = this.attributes;\n for (var key in attributes) {\n attributes[key] === void 0 || cacheLink(links, this, key);\n }\n }\n return links;\n }\n});\n/**\n * Link to Type-R's record attribute.\n * Strict evaluation of value, lazy evaluation of validation error.\n * Links are cached in the records\n */\nvar RecordLink = (function (_super) {\n __extends(RecordLink, _super);\n function RecordLink(record, attr, value) {\n var _this = _super.call(this, value) || this;\n _this.record = record;\n _this.attr = attr;\n return _this;\n }\n RecordLink.prototype.set = function (x) {\n this.record[this.attr] = x;\n };\n Object.defineProperty(RecordLink.prototype, \"error\", {\n get: function () {\n return this._error === void 0 ?\n this.record.getValidationError(this.attr) :\n this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n return RecordLink;\n}(Link));\nvar RecordDeepLink = (function (_super) {\n __extends(RecordDeepLink, _super);\n function RecordDeepLink(record, path, options) {\n var _this = _super.call(this, record.deepGet(path)) || this;\n _this.record = record;\n _this.path = path;\n _this.options = options;\n return _this;\n }\n Object.defineProperty(RecordDeepLink.prototype, \"error\", {\n get: function () {\n if (this._error === void 0) {\n this._error = this.record.deepValidationError(this.path) || null;\n }\n return this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(RecordDeepLink.prototype, \"_changeToken\", {\n get: function () {\n return this.record._changeToken;\n },\n enumerable: true,\n configurable: true\n });\n RecordDeepLink.prototype.set = function (x) {\n this.record.deepSet(this.path, x, this.options);\n };\n return RecordDeepLink;\n}(Link));\nfunction getLinksCache(record) {\n return record._links || (record._links = new record.Attributes({}));\n}\nfunction cacheLink(links, record, key) {\n var cached = links[key], value = record[key];\n return cached && cached.value === value ? cached\n : links[key] = new RecordLink(record, key, value);\n}\n/***********************************\n * Collection\n */\nRecord.Collection.mixins({\n // Boolean link to the record's presence in the collection\n linkContains: function (record) {\n return new CollectionLink(this, record);\n },\n // Link to collection's property\n linkAt: function (prop) {\n var _this = this;\n return Link.value(this[prop], function (x) { return _this[prop] = x; });\n }\n});\n/**\n * Boolean link to presence of NestedType's record in collection.\n * Strict evaluation of value, no error.\n * Safe implementation of _changeToken.\n */\nvar CollectionLink = (function (_super) {\n __extends(CollectionLink, _super);\n function CollectionLink(collection, record) {\n var _this = _super.call(this, Boolean(collection._byId[record.cid])) || this;\n _this.collection = collection;\n _this.record = record;\n return _this;\n }\n CollectionLink.prototype.set = function (x) {\n this.collection.toggle(this.record, x);\n };\n return CollectionLink;\n}(Link));\n//# sourceMappingURL=link.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/link.js\n// module id = 18\n// module chunks = 0","var ArrayProto = Array.prototype, ObjectProto = Object.prototype;\nexport function helpers(value) {\n if (value && typeof value === 'object') {\n switch (Object.getPrototypeOf(value)) {\n case ArrayProto: return arrayHelpers;\n case ObjectProto: return objectHelpers;\n }\n }\n return dummyHelpers;\n}\n// Do nothing for types other than Array and plain Object.\nvar dummyHelpers = {\n clone: function (value) { return value; },\n map: function (link, fun) { return []; },\n remove: function (value) { return value; }\n};\n// `map` and `clone` for plain JS objects\nexport var objectHelpers = {\n // Map through the link to object\n map: function (link, iterator) {\n var mapped = [];\n for (var key in link.value) {\n var element = iterator(link.at(key), key);\n element === void 0 || (mapped.push(element));\n }\n return mapped;\n },\n remove: function (object, key) {\n delete object[key];\n return object;\n },\n // Shallow clone plain JS object\n clone: function (object) {\n var cloned = {};\n for (var key in object) {\n cloned[key] = object[key];\n }\n return cloned;\n }\n};\n// `map` and `clone` helpers for arrays.\nexport var arrayHelpers = {\n // Shallow clone array\n clone: function (array) {\n return array.slice();\n },\n remove: function (array, i) {\n array.splice(i, 1);\n return array;\n },\n // Map through the link to array\n map: function (link, iterator) {\n var length = link.value.length, mapped = Array(length);\n for (var i = 0, j = 0; i < length; i++) {\n var y = iterator(link.at(i), i);\n y === void 0 || (mapped[j++] = y);\n }\n mapped.length === j || (mapped.length = j);\n return mapped;\n }\n};\n//# sourceMappingURL=helpers.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/valuelink/helpers.js\n// module id = 19\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * Advanced React links for purely functional two-way data binding\n *\n * MIT License, (c) 2016 Vlad Balin, Volicon.\n */\nimport { helpers, arrayHelpers } from './helpers';\n// Main Link class. All links must extend it.\nvar Link = (function () {\n // create \n function Link(value) {\n this.value = value;\n }\n // Create custom link to arbitrary value\n Link.value = function (value, set) {\n return new CustomLink(value, set);\n };\n Object.defineProperty(Link.prototype, \"validationError\", {\n // DEPRECATED: Old error holder for backward compatibility with Volicon code base\n get: function () { return this.error; },\n enumerable: true,\n configurable: true\n });\n Link.prototype.onChange = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n handler(x);\n _this.set(x);\n });\n };\n Object.defineProperty(Link.prototype, \"props\", {\n // \n get: function () {\n var _this = this;\n return { value: this.value, onChange: function (e) { return _this.set(e.target.value); } };\n },\n enumerable: true,\n configurable: true\n });\n // DEPRECATED: Old React method for backward compatibility\n Link.prototype.requestChange = function (x) {\n this.set(x);\n };\n // Immediately update the link value using given transform function.\n Link.prototype.update = function (transform, e) {\n var next = transform(this.clone(), e);\n next === void 0 || this.set(next);\n };\n // Create new link which applies transform function on set.\n Link.prototype.pipe = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n var next = handler(x, _this.value);\n next === void 0 || _this.set(next);\n });\n };\n // Create UI event handler function which will update the link with a given transform function.\n Link.prototype.action = function (transform) {\n var _this = this;\n return function (e) { return _this.update(transform, e); };\n };\n Link.prototype.equals = function (truthyValue) {\n return new EqualsLink(this, truthyValue);\n };\n Link.prototype.enabled = function (defaultValue) {\n return new EnabledLink(this, defaultValue || \"\");\n };\n // Array-only links methods\n Link.prototype.contains = function (element) {\n return new ContainsLink(this, element);\n };\n Link.prototype.push = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.push.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.unshift = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.unshift.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.splice = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.splice.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.map = function (iterator) {\n return helpers(this.value).map(this, iterator);\n };\n Link.prototype.removeAt = function (key) {\n var value = this.value, _ = helpers(value);\n this.set(_.remove(_.clone(value), key));\n };\n Link.prototype.at = function (key) {\n return new LinkAt(this, key);\n };\n Link.prototype.clone = function () {\n var value = this.value;\n return helpers(value).clone(value);\n };\n Link.prototype.pick = function () {\n var links = {};\n for (var i = 0; i < arguments.length; i++) {\n var key = arguments[i];\n links[key] = new LinkAt(this, key);\n }\n return links;\n };\n /**\n * Validate link with validness predicate and optional custom error object. Can be chained.\n */\n Link.prototype.check = function (whenValid, error) {\n if (!this.error && !whenValid(this.value)) {\n this.error = error || whenValid.error || defaultError;\n }\n return this;\n };\n return Link;\n}());\nexport { Link };\nvar CustomLink = (function (_super) {\n __extends(CustomLink, _super);\n function CustomLink(value, set) {\n var _this = _super.call(this, value) || this;\n _this.set = set;\n return _this;\n }\n CustomLink.prototype.set = function (x) { };\n return CustomLink;\n}(Link));\nexport { CustomLink };\nvar CloneLink = (function (_super) {\n __extends(CloneLink, _super);\n function CloneLink(parent, set) {\n var _this = _super.call(this, parent.value) || this;\n _this.set = set;\n var error = parent.error;\n if (error)\n _this.error = error;\n return _this;\n }\n CloneLink.prototype.set = function (x) { };\n return CloneLink;\n}(Link));\nexport { CloneLink };\nvar EqualsLink = (function (_super) {\n __extends(EqualsLink, _super);\n function EqualsLink(parent, truthyValue) {\n var _this = _super.call(this, parent.value === truthyValue) || this;\n _this.parent = parent;\n _this.truthyValue = truthyValue;\n return _this;\n }\n EqualsLink.prototype.set = function (x) {\n this.parent.set(x ? this.truthyValue : null);\n };\n return EqualsLink;\n}(Link));\nexport { EqualsLink };\nvar EnabledLink = (function (_super) {\n __extends(EnabledLink, _super);\n function EnabledLink(parent, defaultValue) {\n var _this = _super.call(this, parent.value != null) || this;\n _this.parent = parent;\n _this.defaultValue = defaultValue;\n return _this;\n }\n EnabledLink.prototype.set = function (x) {\n this.parent.set(x ? this.defaultValue : null);\n };\n return EnabledLink;\n}(Link));\nexport { EnabledLink };\nvar ContainsLink = (function (_super) {\n __extends(ContainsLink, _super);\n function ContainsLink(parent, element) {\n var _this = _super.call(this, parent.value.indexOf(element) >= 0) || this;\n _this.parent = parent;\n _this.element = element;\n return _this;\n }\n ContainsLink.prototype.set = function (x) {\n var _this = this;\n var next = Boolean(x);\n if (this.value !== next) {\n var arr = this.parent.value, nextValue = x ? arr.concat(this.element) : arr.filter(function (el) { return el !== _this.element; });\n this.parent.set(nextValue);\n }\n };\n return ContainsLink;\n}(Link));\nexport { ContainsLink };\nvar defaultError = 'Invalid value';\n/**\n * Link to array or object element enclosed in parent link.\n * Performs purely functional update of the parent, shallow copying its value on `set`.\n */\nvar LinkAt = (function (_super) {\n __extends(LinkAt, _super);\n function LinkAt(parent, key) {\n var _this = _super.call(this, parent.value[key]) || this;\n _this.parent = parent;\n _this.key = key;\n return _this;\n }\n LinkAt.prototype.remove = function () {\n this.parent.removeAt(this.key);\n };\n // Set new element value to parent array or object, performing purely functional update.\n LinkAt.prototype.set = function (x) {\n var _this = this;\n if (this.value !== x) {\n this.parent.update(function (value) {\n value[_this.key] = x;\n return value;\n });\n }\n };\n ;\n return LinkAt;\n}(Link));\nexport { LinkAt };\n//# sourceMappingURL=link.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/valuelink/link.js\n// module id = 20\n// module chunks = 0","\"use strict\";\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/fbjs/lib/emptyFunction.js\n// module id = 21\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (process.env.NODE_ENV !== 'production') {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/fbjs/lib/invariant.js\n// module id = 22\n// module chunks = 0","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n'use strict';\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\nvar invariant = require('fbjs/lib/invariant');\n\nmodule.exports = function() {\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n function shim() {\n invariant(\n false,\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim\n };\n\n ReactPropTypes.checkPropTypes = emptyFunction;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/prop-types/factoryWithThrowingShims.js\n// module id = 23\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///dist/index.min.js","webpack:///webpack/bootstrap 7acc21a1886d20557cc3","webpack:///external {\"commonjs\":\"nestedtypes\",\"commonjs2\":\"nestedtypes\",\"amd\":\"nestedtypes\",\"root\":\"Nested\"}","webpack:///./lib/react-mvx/index.js","webpack:///./lib/react-mvx/define/typeSpecs.js","webpack:///external {\"commonjs\":\"react\",\"commonjs2\":\"react\",\"amd\":\"react\",\"root\":\"React\"}","webpack:///./~/prop-types/index.js","webpack:///external {\"commonjs\":\"react-dom\",\"commonjs2\":\"react-dom\",\"amd\":\"react-dom\",\"root\":\"ReactDOM\"}","webpack:///./lib/react-mvx/define/index.js","webpack:///./lib/react-mvx/define/state.js","webpack:///./lib/component-view.js","webpack:///./lib/createClass.js","webpack:///./lib/view-element.js","webpack:///./lib/index.js","webpack:///./lib/react-mvx/component.js","webpack:///./lib/react-mvx/define/common.js","webpack:///./lib/react-mvx/define/context.js","webpack:///./lib/react-mvx/define/props.js","webpack:///./lib/react-mvx/define/pureRender.js","webpack:///./lib/react-mvx/define/store.js","webpack:///./lib/react-mvx/link.js","webpack:///./lib/react-mvx/valuelink/helpers.js","webpack:///./lib/react-mvx/valuelink/link.js","webpack:///./~/fbjs/lib/emptyFunction.js","webpack:///./~/fbjs/lib/invariant.js","webpack:///./~/prop-types/factoryWithThrowingShims.js"],"names":["root","factory","exports","module","require","define","amd","this","__WEBPACK_EXTERNAL_MODULE_0__","__WEBPACK_EXTERNAL_MODULE_3__","__WEBPACK_EXTERNAL_MODULE_5__","modules","__webpack_require__","moduleId","installedModules","i","l","call","m","c","value","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","__webpack_exports__","assignToState","__WEBPACK_IMPORTED_MODULE_0_react__","__WEBPACK_IMPORTED_MODULE_1_type_r__","__WEBPACK_IMPORTED_MODULE_2__define__","__WEBPACK_IMPORTED_MODULE_3__link__","__WEBPACK_IMPORTED_MODULE_4__component__","ReactMVx","create","default","mixins","Node","Element","Link","Component","key","prop","state","assignFrom","_a","collectSpecs","spec","attributes","length","mixin","mixinAttrs","assign","specAttrs","compileSpecs","props","defaults","watchers","changeHandlers","propTypes","modelProto","forEachAttr","_attributes","type","options","translateType","isRequired","_onChange","toLocalWatcher","changeEvents","handlers","changeEvents_1","push","next","prev","component","stopListening","listenTo","_changeEventName","asyncUpdate","convert","ref","Type","T","_translateType","Number","integer","__WEBPACK_IMPORTED_MODULE_0_prop_types__","String","Boolean","Array","Function","process","baseProto","__WEBPACK_IMPORTED_MODULE_0__store__","__WEBPACK_IMPORTED_MODULE_1__state__","__WEBPACK_IMPORTED_MODULE_2__context__","__WEBPACK_IMPORTED_MODULE_4__props__","__WEBPACK_IMPORTED_MODULE_3__common__","__WEBPACK_IMPORTED_MODULE_5__typeSpecs__","__WEBPACK_IMPORTED_MODULE_0__typeSpecs__","State","BaseModel","StateMixin","UpdateOnNestedChangesMixin","componentWillMount","__keepState","_owner","_ownerKey","context","_nestedStore","getStore","_defaultStore","componentWillUnmount","_preventDispose","dispose","_onChildrenChange","componentDidMount","use","View","setElement","ComponentView","extend","reactClass","element","initialize","unmountComponent","apply","arguments","prevState","resize","window","Page","forceResize","render","__WEBPACK_IMPORTED_MODULE_2_type_r__","fastAssign","__WEBPACK_IMPORTED_MODULE_1_react_dom___default","a","el","mountComponent","trigger","keepModel","unmountComponentAtNode","__WEBPACK_IMPORTED_MODULE_1_react_dom__","createClass","statics","a_spec","__rest","methods","Subclass","__WEBPACK_IMPORTED_MODULE_0__react_mvx__","__assign","constructor","_i","methods_1","method","bind","Proto","dontAutobind","indexOf","t","e","getOwnPropertySymbols","__extends","extendStatics","setPrototypeOf","__proto__","b","__","notEqual","BackboneView","_super","_this","saveRef","shouldComponentUpdate","hasUnsavedChanges","view","createElement","className","_mountView","componentDidUpdate","_dispose","appendChild","off","innerHTML","useView","BaseView","__WEBPACK_IMPORTED_MODULE_5__component_view__","__WEBPACK_IMPORTED_MODULE_2_type_r___default","__WEBPACK_IMPORTED_MODULE_3_prop_types__","__WEBPACK_IMPORTED_MODULE_4__view_element__","__WEBPACK_IMPORTED_MODULE_6__createClass__","NestedReact","subview","protoProps","staticProps","RecordProto","getLink","linkAt","deepLink","linkPath","CollectionProto","Collection","hasLink","linkContains","BackboneViewProps","findDOMNode","$el","$","sel","find","defineProperties","__decorate","decorators","target","desc","r","getOwnPropertyDescriptor","Reflect","decorate","reactMixinRules","componentWillReceiveProps","componentWillUpdate","store","childContext","getChildContext","linkAll","staticsDefinition","getBaseClass","getChangedStatics","combinedDefinition","definition","getDefaultProps","contextTypes","childContextTypes","protoDefinition","defaultProps","x","_disposed","compile","CommonMixin","returnFalse","forceUpdate","__WEBPACK_IMPORTED_MODULE_0_type_r__","transaction","fun","isRoot","_b","_context","_c","_childContext","pureRender","_props","_listenToPropsArray","_listenToPropsHash","allProps","_e","defaults_1","unshift","WatchersMixin","_watchers","ChangeHandlersMixin","_changeHandlers","__WEBPACK_IMPORTED_MODULE_1__pureRender__","handlePropsChanges","name_1","handler","name_2","name_3","createPureRenderMixin","ctorBody","isChangedBody","propExpr","ChangeTokens","join","isChanged","_changeTokens","nextProps","ExternalStoreMixin","Store","InternalStoreMixin","__WEBPACK_IMPORTED_MODULE_2__state__","ExposeStoreMixin","getLinksCache","record","_links","Attributes","cacheLink","links","cached","RecordLink","__WEBPACK_IMPORTED_MODULE_1__valuelink_link__","mixTo","path","RecordDeepLink","attr","set","_error","getValidationError","deepGet","deepValidationError","_changeToken","deepSet","CollectionLink","collection","_byId","cid","toggle","helpers","getPrototypeOf","ArrayProto","arrayHelpers","ObjectProto","objectHelpers","dummyHelpers","clone","map","link","remove","iterator","mapped","at","cloned","array","slice","splice","j","y","__WEBPACK_IMPORTED_MODULE_0__helpers__","CustomLink","error","onChange","CloneLink","requestChange","update","transform","pipe","action","equals","truthyValue","EqualsLink","enabled","defaultValue","EnabledLink","contains","ContainsLink","removeAt","_","LinkAt","pick","check","whenValid","defaultError","parent","arr","nextValue","concat","filter","makeEmptyFunction","arg","emptyFunction","thatReturns","thatReturnsFalse","thatReturnsTrue","thatReturnsNull","thatReturnsThis","thatReturnsArgument","invariant","condition","format","f","validateFormat","undefined","Error","args","argIndex","replace","framesToPop","shim","getShim","ReactPropTypes","bool","func","number","string","symbol","any","arrayOf","instanceOf","node","objectOf","oneOf","oneOfType","shape","checkPropTypes","PropTypes"],"mappings":"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","file":"./dist/index.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"nestedtypes\"), require(\"react\"), require(\"react-dom\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"nestedtypes\", \"react\", \"react-dom\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"React\"] = factory(require(\"nestedtypes\"), require(\"react\"), require(\"react-dom\"));\n\telse\n\t\troot[\"React\"] = factory(root[\"Nested\"], root[\"React\"], root[\"ReactDOM\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_3__, __WEBPACK_EXTERNAL_MODULE_5__) {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"nestedtypes\"), require(\"react\"), require(\"react-dom\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"nestedtypes\", \"react\", \"react-dom\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"React\"] = factory(require(\"nestedtypes\"), require(\"react\"), require(\"react-dom\"));\n\telse\n\t\troot[\"React\"] = factory(root[\"Nested\"], root[\"React\"], root[\"ReactDOM\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_3__, __WEBPACK_EXTERNAL_MODULE_5__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\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// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\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, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\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 = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 11);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_0__;\n\n/***/ }),\n/* 1 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"h\", function() { return assignToState; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__define__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__link__ = __webpack_require__(18);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__component__ = __webpack_require__(12);\n/* harmony reexport (binding) */ if(__webpack_require__.o(__WEBPACK_IMPORTED_MODULE_1_type_r__, \"define\")) __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_1_type_r__[\"define\"]; });\n/* harmony reexport (binding) */ if(__webpack_require__.o(__WEBPACK_IMPORTED_MODULE_1_type_r__, \"mixins\")) __webpack_require__.d(__webpack_exports__, \"c\", function() { return __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixins\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return __WEBPACK_IMPORTED_MODULE_2__define__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return __WEBPACK_IMPORTED_MODULE_2__define__[\"b\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return __WEBPACK_IMPORTED_MODULE_3__link__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"g\", function() { return __WEBPACK_IMPORTED_MODULE_4__component__[\"a\"]; });\n\n\n\n\n\n// extend React namespace\nvar ReactMVx = Object.create(__WEBPACK_IMPORTED_MODULE_0_react__);\n// Make it compatible with ES6 module format.\nReactMVx.default = ReactMVx;\n// listenToProps, listenToState, model, attributes, Model\nReactMVx.define = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"define\"];\nReactMVx.mixins = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixins\"];\nReactMVx.Node = __WEBPACK_IMPORTED_MODULE_2__define__[\"a\" /* Node */].value(null);\nReactMVx.Element = __WEBPACK_IMPORTED_MODULE_2__define__[\"b\" /* Element */].value(null);\nReactMVx.Link = __WEBPACK_IMPORTED_MODULE_3__link__[\"a\" /* default */];\nReactMVx.Component = __WEBPACK_IMPORTED_MODULE_4__component__[\"a\" /* Component */];\nvar assignToState = ReactMVx.assignToState = function (key) {\n return function (prop) {\n this.state.assignFrom((_a = {}, _a[key] = prop && prop instanceof __WEBPACK_IMPORTED_MODULE_3__link__[\"a\" /* default */] ? prop.value : prop, _a));\n var _a;\n };\n};\n/* harmony default export */ __webpack_exports__[\"a\"] = (ReactMVx);\n\n//# sourceMappingURL=index.js.map\n\n/***/ }),\n/* 2 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = collectSpecs;\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = compileSpecs;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Node; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return Element; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n\n\nfunction collectSpecs(spec, name) {\n var attributes = null;\n // Scan through local mixin, and gather specs. Refactor it later, it's not good. At all.\n for (var i = spec.mixins.length - 1; i >= 0; i--) {\n var mixin = spec.mixins[i], mixinAttrs = mixin[name];\n if (mixinAttrs) {\n attributes || (attributes = {});\n __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].assign(attributes, mixinAttrs);\n }\n }\n // Merge it with local data.\n var specAttrs = spec[name];\n if (specAttrs) {\n if (attributes) {\n __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].assign(attributes, specAttrs);\n }\n else {\n attributes = specAttrs;\n }\n }\n return attributes;\n}\nfunction compileSpecs(props) {\n var propTypes = {}, \n // Create NestedTypes model definition to process props spec.\n modelProto = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"Record\"].defaults(props).prototype;\n var defaults, watchers, changeHandlers;\n modelProto.forEachAttr(modelProto._attributes, function (spec, name) {\n // Skip auto-generated `id` attribute.\n if (name !== 'id') {\n var value = spec.value, type = spec.type, options = spec.options;\n // Translate props type to the propTypes guard.\n propTypes[name] = translateType(type, options.isRequired);\n if (options._onChange) {\n watchers || (watchers = {});\n watchers[name] = toLocalWatcher(options._onChange);\n }\n // Handle listening to event maps...\n if (options.changeHandlers && options.changeHandlers.length) {\n changeHandlers || (changeHandlers = {});\n changeHandlers[name] = options.changeHandlers;\n }\n // Handle listening to props changes...\n if (options.changeEvents) {\n changeHandlers || (changeHandlers = {});\n var handlers = changeHandlers[name] || (changeHandlers[name] = []), changeEvents_1 = typeof options.changeEvents === 'string' ? options.changeEvents : null;\n handlers.push(function (next, prev, component) {\n prev && component.stopListening(prev);\n next && component.listenTo(next, changeEvents_1 || next._changeEventName, component.asyncUpdate);\n });\n }\n // If default value is explicitly provided...\n if (value !== void 0) {\n //...append it to getDefaultProps function.\n defaults || (defaults = {});\n defaults[name] = spec.convert(value);\n }\n }\n });\n return { propTypes: propTypes, defaults: defaults, watchers: watchers, changeHandlers: changeHandlers };\n}\nfunction toLocalWatcher(ref) {\n return typeof ref === 'function' ? ref : function (value, name) {\n this[ref] && this[ref](value, name);\n };\n}\nvar Node = (function () {\n function Node() {\n }\n return Node;\n}());\n\nvar Element = (function () {\n function Element() {\n }\n return Element;\n}());\n\nfunction translateType(Type, isRequired) {\n var T = _translateType(Type);\n return isRequired ? T.isRequired : T;\n}\nfunction _translateType(Type) {\n switch (Type) {\n case Number:\n case Number.integer:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"number\"];\n case String:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"string\"];\n case Boolean:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"bool\"];\n case Array:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"array\"];\n case Function:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"func\"];\n case Object:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"object\"];\n case Node:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"node\"];\n case Element:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"element\"];\n case void 0:\n case null:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"any\"];\n default:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"instanceOf\"](Type);\n }\n}\n//# sourceMappingURL=typeSpecs.js.map\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_3__;\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\nif (false) {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = __webpack_require__(23)();\n}\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_5__;\n\n/***/ }),\n/* 6 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = process;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__store__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__state__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__context__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__common__ = __webpack_require__(13);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__props__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__typeSpecs__ = __webpack_require__(2);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_5__typeSpecs__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_5__typeSpecs__[\"b\"]; });\n\n\n\n\n\nfunction process(spec, baseProto) {\n if (baseProto === void 0) { baseProto = {}; }\n // Initialize mixins placeholder...\n spec.mixins || (spec.mixins = []);\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__store__[\"a\" /* default */])(spec, baseProto);\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__state__[\"a\" /* default */])(spec, baseProto);\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__context__[\"a\" /* default */])(spec, baseProto);\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__props__[\"a\" /* default */])(spec, baseProto);\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__common__[\"a\" /* default */])(spec, baseProto);\n return spec;\n}\n;\n\n//# sourceMappingURL=index.js.map\n\n/***/ }),\n/* 7 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = process;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return StateMixin; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return UpdateOnNestedChangesMixin; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n/*****************\n * State\n */\n\n\nfunction process(spec, baseProto) {\n // process state spec...\n var attributes = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* collectSpecs */])(spec, 'state');\n if (attributes || baseProto.State) {\n var BaseModel = baseProto.State || __WEBPACK_IMPORTED_MODULE_1_type_r__[\"Record\"];\n spec.State = attributes ? (typeof attributes === 'function' ? attributes : BaseModel.defaults(attributes)) : BaseModel;\n spec.mixins.push(StateMixin);\n spec.mixins.push(UpdateOnNestedChangesMixin);\n delete spec.state;\n delete spec.attributes;\n }\n}\nvar StateMixin = {\n //state : null,\n componentWillMount: function () {\n // props.__keepState is used to workaround issues in Backbone intergation layer\n var state = this.state = this.props.__keepState || new this.State();\n // Take ownership on state...\n state._owner = this;\n state._ownerKey = 'state';\n },\n context: {\n _nestedStore: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"Store\"]\n },\n // reference global store to fix model's store locator\n getStore: function () {\n // Attempt to get the store from the context first. Then - fallback to the state's default store.\n // TBD: Need to figure out a good way of managing local stores.\n var context, state;\n return ((context = this.context) && context._nestedStore) ||\n ((state = this.state) && state._defaultStore);\n },\n componentWillUnmount: function () {\n var state = this.state;\n state._owner = state._ownerKey = void 0;\n this._preventDispose /* hack for component-view to preserve the state */ || state.dispose();\n this.state = void 0;\n }\n};\nvar UpdateOnNestedChangesMixin = {\n _onChildrenChange: function () { },\n componentDidMount: function () {\n this._onChildrenChange = this.asyncUpdate;\n }\n};\n//# sourceMappingURL=state.js.map\n\n/***/ }),\n/* 8 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = use;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__);\n\n\n\nwindow.Page || (window.Page = { forceResize: function () { } });\nfunction use(View) {\n var dispose = View.prototype.dispose || function () { }, setElement = View.prototype.setElement;\n var ComponentView = View.extend({\n reactClass: null,\n props: {},\n element: null,\n initialize: function (props) {\n // memorise arguments to pass to React\n this.options = props || {};\n },\n setElement: function () {\n this.unmountComponent(true);\n return setElement.apply(this, arguments);\n },\n // cached instance of react component...\n component: null,\n prevState: null,\n resize: function () {\n window.Page.forceResize();\n },\n render: function () {\n var options = this.prevState ? __WEBPACK_IMPORTED_MODULE_2_type_r__[\"tools\"].fastAssign({ __keepState: this.prevState }, this.options) : this.options, element = __WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"](this.reactClass, options), component = __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.render(element, this.el);\n this.component || this.mountComponent(component);\n },\n mountComponent: function (component) {\n this.component = component;\n this.prevState = null;\n component.trigger && this.listenTo(component, 'all', function () {\n this.trigger.apply(this, arguments);\n });\n },\n unmountComponent: function (keepModel) {\n var component = this.component;\n if (component) {\n this.prevState = component.state;\n if (component.trigger) {\n this.stopListening(component);\n }\n component._preventDispose = Boolean(keepModel);\n __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.unmountComponentAtNode(this.el);\n this.component = null;\n }\n },\n dispose: function () {\n this.unmountComponent();\n return dispose.apply(this, arguments);\n }\n });\n Object.defineProperty(ComponentView.prototype, 'model', {\n get: function () {\n this.component || this.render();\n return this.component && this.component.state;\n }\n });\n return ComponentView;\n}\n//# sourceMappingURL=component-view.js.map\n\n/***/ }),\n/* 9 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = createClass;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1);\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\n\nvar dontAutobind = [\n 'State', 'Store', 'constructor',\n 'componentWillMount', 'componentDidMount', 'componentWillReceiveProps', 'shouldComponentUpdate',\n 'componentWillUpdate', 'componentDidUpdate', 'componentWillUnmount',\n 'render', 'getDefaultProps', 'getChildContext'\n];\n/**\n * ES5 components definition factory\n */\nfunction createClass(_a) {\n var statics = _a.statics, a_spec = __rest(_a, [\"statics\"]);\n // Gather all methods to pin them to `this` later.\n var methods = [];\n var Subclass = __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"g\" /* Component */].extend(__assign({ \n // Override constructor to autobind all the methods...\n constructor: function () {\n __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"g\" /* Component */].apply(this, this.arguments);\n for (var _i = 0, methods_1 = methods; _i < methods_1.length; _i++) {\n var method = methods_1[_i];\n this[method] = this[method].bind(this);\n }\n } }, a_spec), statics);\n // Need to bind methods from mixins as well, so populate it here.\n var Proto = Subclass.prototype;\n for (var key in Proto) {\n if (Proto.hasOwnProperty(key) && dontAutobind.indexOf(key) === -1 && typeof Proto[key] === 'function') {\n methods.push(key);\n }\n }\n return Subclass;\n}\n//# sourceMappingURL=createClass.js.map\n\n/***/ }),\n/* 10 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\nvar notEqual = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].notEqual;\nvar BackboneView = (function (_super) {\n __extends(BackboneView, _super);\n function BackboneView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.saveRef = function (element) {\n _this.root = element;\n };\n return _this;\n }\n BackboneView.prototype.shouldComponentUpdate = function (next) {\n var props = this.props;\n return next.View !== props.View || notEqual(next.options, props.options);\n };\n BackboneView.prototype.hasUnsavedChanges = function () {\n var view = this.view;\n return view && (typeof view.hasUnsavedChanges === 'function' ? view.hasUnsavedChanges() : view.hasUnsavedChanges);\n };\n BackboneView.prototype.render = function () {\n return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\" /* default */].createElement('div', {\n ref: this.saveRef,\n className: this.props.className\n });\n };\n BackboneView.prototype.componentDidMount = function () {\n this._mountView();\n };\n BackboneView.prototype.componentDidUpdate = function () {\n this._dispose();\n this._mountView();\n };\n BackboneView.prototype.componentWillUnmount = function () {\n this._dispose();\n };\n BackboneView.prototype._mountView = function () {\n var el = this.root, p = this.props;\n var view = this.view = p.options ? new p.View(p.options) : new p.View();\n el.appendChild(view.el);\n view.render();\n };\n BackboneView.prototype._dispose = function () {\n var view = this.view;\n if (view) {\n if (view.dispose) {\n view.dispose();\n }\n else {\n view.stopListening();\n view.off();\n }\n this.root.innerHTML = \"\";\n this.view = null;\n }\n };\n return BackboneView;\n}(__WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\" /* default */].Component));\n/* harmony default export */ __webpack_exports__[\"a\"] = (BackboneView);\n//# sourceMappingURL=view-element.js.map\n\n/***/ }),\n/* 11 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (immutable) */ __webpack_exports__[\"useView\"] = useView;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1);\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"define\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"b\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"mixins\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"c\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Node\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"d\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Element\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"e\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Link\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"f\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Component\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"g\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"assignToState\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"h\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__view_element__ = __webpack_require__(10);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"subview\", function() { return __WEBPACK_IMPORTED_MODULE_4__view_element__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__component_view__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__createClass__ = __webpack_require__(9);\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"PropTypes\", function() { return __WEBPACK_IMPORTED_MODULE_3_prop_types__; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"createClass\", function() { return __WEBPACK_IMPORTED_MODULE_6__createClass__[\"a\"]; });\n// Re-export react-mvx\n\nvar NestedReact = Object.create(__WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\" /* default */]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (NestedReact);\n\n// NestedReact backward compatibility layer\n\n\n\n\nNestedReact.subview = __WEBPACK_IMPORTED_MODULE_4__view_element__[\"a\" /* default */];\n\n\n\nNestedReact.createClass = __WEBPACK_IMPORTED_MODULE_6__createClass__[\"a\" /* default */];\nObject.defineProperty(NestedReact, 'PropTypes', { value: __WEBPACK_IMPORTED_MODULE_3_prop_types__ });\n\nvar BaseView;\n// export hook to override base View class used...\nfunction useView(View) {\n BaseView = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__component_view__[\"a\" /* default */])(View);\n}\nvar define = NestedReact.Component.define;\nNestedReact.Component.define = function (protoProps, staticProps) {\n this.View = BaseView.extend({ reactClass: this });\n return define.call(this, protoProps, staticProps);\n};\n// Deprecated API for backward compatibility\nvar RecordProto = __WEBPACK_IMPORTED_MODULE_2_type_r__[\"Record\"].prototype;\nRecordProto.getLink = RecordProto.linkAt;\nRecordProto.deepLink = RecordProto.linkPath;\nvar CollectionProto = __WEBPACK_IMPORTED_MODULE_2_type_r__[\"Record\"].Collection.prototype;\nCollectionProto.hasLink = CollectionProto.linkContains;\nuseView(__WEBPACK_IMPORTED_MODULE_2_type_r__[\"View\"]);\n// Extend react components to have backbone-style jquery accessors\nvar BackboneViewProps = {\n el: { get: function () { return __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.findDOMNode(this); } },\n $el: { get: function () { return __WEBPACK_IMPORTED_MODULE_2_type_r___default.a.$(this.el); } },\n $: { value: function (sel) { return this.$el.find(sel); } }\n};\nObject.defineProperties(NestedReact.Component.prototype, BackboneViewProps);\n//# sourceMappingURL=index.js.map\n\n/***/ }),\n/* 12 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Component; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__define__ = __webpack_require__(6);\n/**\n * React components\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\n\n\n\nvar reactMixinRules = {\n componentWillMount: 'reverse',\n componentDidMount: 'reverse',\n componentWillReceiveProps: 'reverse',\n shouldComponentUpdate: 'some',\n componentWillUpdate: 'reverse',\n componentDidUpdate: 'reverse',\n componentWillUnmount: 'sequence',\n state: 'merge',\n store: 'merge',\n props: 'merge',\n context: 'merge',\n childContext: 'merge',\n getChildContext: 'mergeSequence'\n};\nvar Component = (function (_super) {\n __extends(Component, _super);\n function Component() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Component.prototype.linkAt = function (key) {\n // Quick and dirty hack to suppres type error - refactor later.\n return this.state.linkAt(key);\n };\n Component.prototype.linkAll = function () {\n // Quick and dirty hack to suppres type error - refactor later.\n return this.state.linkAll.apply(this, arguments);\n };\n Component.define = function (protoProps, staticProps) {\n var BaseClass = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].getBaseClass(this), staticsDefinition = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].getChangedStatics(this, 'state', 'store', 'props', 'context', 'childContext', 'pureRender'), combinedDefinition = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].assign(staticsDefinition, protoProps || {});\n var definition = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__define__[\"c\" /* default */])(combinedDefinition, this.prototype);\n var getDefaultProps = definition.getDefaultProps, propTypes = definition.propTypes, contextTypes = definition.contextTypes, childContextTypes = definition.childContextTypes, protoDefinition = __rest(definition, [\"getDefaultProps\", \"propTypes\", \"contextTypes\", \"childContextTypes\"]);\n if (getDefaultProps)\n this.defaultProps = definition.getDefaultProps();\n if (propTypes)\n this.propTypes = propTypes;\n if (contextTypes)\n this.contextTypes = contextTypes;\n if (childContextTypes)\n this.childContextTypes = childContextTypes;\n __WEBPACK_IMPORTED_MODULE_1_type_r__[\"Mixable\"].define.call(this, protoDefinition, staticProps);\n return this;\n };\n Component.prototype.assignToState = function (x, key) {\n this.state.assignFrom((_a = {}, _a[key] = x, _a));\n var _a;\n };\n return Component;\n}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]));\nComponent = __decorate([\n __WEBPACK_IMPORTED_MODULE_1_type_r__[\"extendable\"],\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"])(reactMixinRules)\n], Component);\n\n// Looks like React guys _really_ want to deprecated it. But no way.\n// We will work around their attempt.\nObject.defineProperty(Component.prototype, 'isMounted', {\n value: function isMounted() {\n return !this._disposed;\n }\n});\n//# sourceMappingURL=component.js.map\n\n/***/ }),\n/* 13 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = compile;\n/* unused harmony export asyncUpdate */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__);\n/**\n * attach async event processing and transactional support.\n */\n\nfunction compile(spec, baseProto) {\n // Attach common mixin\n spec.mixins.push(CommonMixin);\n}\nfunction asyncUpdate() {\n this.shouldComponentUpdate === returnFalse || this._disposed || this.forceUpdate();\n}\nfunction returnFalse() { return false; }\n/**\n * Mixin which is attached to all components.\n */\nvar CommonMixin = __WEBPACK_IMPORTED_MODULE_0_type_r__[\"tools\"].assign({\n componentWillUnmount: function () {\n // Prevent memory leaks when working with events.\n this.off();\n this.stopListening();\n // Mark component as disposed.\n this._disposed = true;\n },\n // Safe version of the forceUpdate suitable for asynchronous callbacks.\n asyncUpdate: asyncUpdate,\n /**\n * Performs transactional update for both props and state.\n * Suppress updates during the transaction, and force update aftewards.\n * Wrapping the sequence of changes in a transactions guarantees that\n * React component will be updated _after_ all the changes to the\n * both props and local state are applied.\n */\n transaction: function (fun) {\n var shouldComponentUpdate = this.shouldComponentUpdate, isRoot = shouldComponentUpdate !== returnFalse;\n if (isRoot) {\n this.shouldComponentUpdate = returnFalse;\n }\n fun(this.props, this.state);\n if (isRoot) {\n this.shouldComponentUpdate = shouldComponentUpdate;\n this.asyncUpdate();\n }\n }\n}, __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Events\"]);\n//# sourceMappingURL=common.js.map\n\n/***/ }),\n/* 14 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = process;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(2);\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\n\nfunction process(spec, _a) {\n var _b = _a._context, _context = _b === void 0 ? {} : _b, _c = _a._childContext, _childContext = _c === void 0 ? {} : _c;\n // process context specs...\n var context = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* collectSpecs */])(spec, 'context');\n if (context) {\n spec._context = __assign({}, _context, context);\n spec.contextTypes = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"d\" /* compileSpecs */])(context).propTypes;\n delete spec.context;\n }\n // and child context specs...\n var childContext = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* collectSpecs */])(spec, 'childContext');\n if (childContext) {\n spec._childContext = __assign({}, _childContext, childContext);\n spec.childContextTypes = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"d\" /* compileSpecs */])(childContext).propTypes;\n delete spec.childContext;\n }\n}\n//# sourceMappingURL=context.js.map\n\n/***/ }),\n/* 15 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = process;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__pureRender__ = __webpack_require__(16);\n/**\n * Handle props specification and everything which is related:\n * - local listening to props changes\n * - pure render mixin\n */\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\n\n\nfunction process(spec, _a) {\n var pureRender = _a.pureRender, _b = _a._props, _props = _b === void 0 ? {} : _b, _c = _a._listenToPropsArray, _listenToPropsArray = _c === void 0 ? [] : _c, _d = _a._listenToPropsHash, _listenToPropsHash = _d === void 0 ? {} : _d;\n // process props spec...\n var props = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* collectSpecs */])(spec, 'props');\n if (props) {\n var allProps = spec._props = __assign({}, _props, props);\n var _e = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"d\" /* compileSpecs */])(allProps), propTypes = _e.propTypes, defaults_1 = _e.defaults, watchers = _e.watchers, changeHandlers = _e.changeHandlers;\n spec.propTypes = propTypes;\n if (defaults_1)\n spec.getDefaultProps = function () { return defaults_1; };\n if (watchers) {\n spec.mixins.unshift(WatchersMixin);\n spec._watchers = watchers;\n }\n if (changeHandlers) {\n spec.mixins.unshift(ChangeHandlersMixin);\n spec._changeHandlers = changeHandlers;\n }\n delete spec.props;\n }\n // compile pure render mixin\n if (spec._props && (spec.pureRender || pureRender)) {\n spec.mixins.push(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__pureRender__[\"a\" /* default */])(spec._props));\n }\n}\n/**\n * ChangeHandlers are fired in sequence upon props replacement.\n * Fires _after_ UI is updated. Used for managing events subscriptions.\n */\nvar ChangeHandlersMixin = {\n componentDidMount: function () {\n handlePropsChanges(this, {}, this.props);\n },\n componentDidUpdate: function (prev) {\n handlePropsChanges(this, prev, this.props);\n },\n componentWillUnmount: function () {\n handlePropsChanges(this, this.props, {});\n }\n};\nfunction handlePropsChanges(component, prev, next) {\n var _changeHandlers = component._changeHandlers;\n for (var name_1 in _changeHandlers) {\n if (prev[name_1] !== next[name_1]) {\n for (var _i = 0, _a = _changeHandlers[name_1]; _i < _a.length; _i++) {\n var handler = _a[_i];\n handler(next[name_1], prev[name_1], component);\n }\n }\n }\n}\n/**\n * Watchers works on props replacement and fires _before_ any change will be applied and UI is updated.\n * Fired in componentWillMount as well, which makes it a nice way to sync state from props.\n */\nvar WatchersMixin = {\n componentWillReceiveProps: function (next) {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_2 in _watchers) {\n if (next[name_2] !== props[name_2]) {\n _watchers[name_2].call(this, next[name_2], name_2);\n }\n }\n },\n componentWillMount: function () {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_3 in _watchers) {\n _watchers[name_3].call(this, props[name_3], name_3);\n }\n }\n};\n//# sourceMappingURL=props.js.map\n\n/***/ }),\n/* 16 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = createPureRenderMixin;\nfunction createPureRenderMixin(props) {\n var ctorBody = ['var v; this._s = s && s._changeToken'], isChangedBody = ['var v; return ( s && s._changeToken !== t._s )'];\n for (var name_1 in props) {\n var propExpr = \"( ( v = p.\" + name_1 + \") && v._changeToken ) || v\";\n ctorBody.push(\"this.\" + name_1 + \"= \" + propExpr);\n isChangedBody.push(\"t.\" + name_1 + \" !== (\" + propExpr + \")\");\n }\n var ChangeTokens = new Function('p', 's', ctorBody.join(';')), isChanged = new Function('t', 'p', 's', isChangedBody.join('||'));\n ChangeTokens.prototype = null;\n return {\n _changeTokens: null,\n shouldComponentUpdate: function (nextProps) {\n return isChanged(this._changeTokens, nextProps, this.state);\n },\n componentDidMount: function () {\n this._changeTokens = new ChangeTokens(this.props, this.state);\n },\n componentDidUpdate: function () {\n this._changeTokens = new ChangeTokens(this.props, this.state);\n }\n };\n}\n;\n//# sourceMappingURL=pureRender.js.map\n\n/***/ }),\n/* 17 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = process;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__state__ = __webpack_require__(7);\n\n\n\nfunction process(spec, baseProto) {\n var store = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* collectSpecs */])(spec, 'store');\n if (store) {\n delete spec.store;\n if (store instanceof __WEBPACK_IMPORTED_MODULE_1_type_r__[\"Store\"]) {\n // Direct reference to an existing store. Put it to the prototype.\n spec.store = store;\n spec.mixins.push(ExternalStoreMixin);\n }\n else {\n spec.Store = store;\n spec.mixins.push(InternalStoreMixin);\n spec.mixins.push(__WEBPACK_IMPORTED_MODULE_2__state__[\"b\" /* UpdateOnNestedChangesMixin */]);\n }\n spec.mixins.push(ExposeStoreMixin);\n }\n}\n/**\n * Attached whenever the store declaration of any form is present in the component.\n */\nvar ExposeStoreMixin = {\n childContext: {\n _nestedStore: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"Store\"]\n },\n getChildContext: function () {\n return { _nestedStore: this.store };\n },\n getStore: function () {\n return this.store;\n },\n // Will be called by the store when the lookup will fail.\n get: function (key) {\n // Ask upper store.\n var store = __WEBPACK_IMPORTED_MODULE_2__state__[\"c\" /* StateMixin */].getStore.call(this, key);\n return store && store.get(key);\n }\n};\n/**\n * External store must just track the changes and trigger render.\n * TBD: don't use it yet.\n */\nvar ExternalStoreMixin = {\n componentDidMount: function () {\n // Start UI updates on state changes.\n this.listenTo(this.store, 'change', this.asyncUpdate);\n }\n};\nvar InternalStoreMixin = {\n componentWillMount: function () {\n var store = this.store = new this.Store();\n store._owner = this;\n store._ownerKey = 'store';\n },\n componentWillUnmount: function () {\n this.store._ownerKey = this.store._owner = void 0;\n this.store.dispose();\n this.store = void 0;\n }\n};\n//# sourceMappingURL=store.js.map\n\n/***/ }),\n/* 18 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__valuelink_link__ = __webpack_require__(20);\n/**\n * Import ValueLink library\n * Define value links binding mixins to the Record and Collection\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]);\n__WEBPACK_IMPORTED_MODULE_0_type_r__[\"Mixable\"].mixTo(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]);\n/**\n * Record\n */\n__WEBPACK_IMPORTED_MODULE_0_type_r__[\"Record\"].mixins({\n // Link to the record's attribute by its key.\n linkAt: function (key) {\n return cacheLink(getLinksCache(this), this, key);\n },\n // Link to the attribute of the record's tree by symbolic path.\n linkPath: function (path, options) {\n return new RecordDeepLink(this, path, options);\n },\n // Link all (or listed) attributes and return links cache.\n linkAll: function () {\n var links = getLinksCache(this);\n if (arguments.length) {\n for (var i = 0; i < arguments.length; i++) {\n cacheLink(links, this, arguments[i]);\n }\n }\n else {\n var attributes = this.attributes;\n for (var key in attributes) {\n attributes[key] === void 0 || cacheLink(links, this, key);\n }\n }\n return links;\n }\n});\n/**\n * Link to Type-R's record attribute.\n * Strict evaluation of value, lazy evaluation of validation error.\n * Links are cached in the records\n */\nvar RecordLink = (function (_super) {\n __extends(RecordLink, _super);\n function RecordLink(record, attr, value) {\n var _this = _super.call(this, value) || this;\n _this.record = record;\n _this.attr = attr;\n return _this;\n }\n RecordLink.prototype.set = function (x) {\n this.record[this.attr] = x;\n };\n Object.defineProperty(RecordLink.prototype, \"error\", {\n get: function () {\n return this._error === void 0 ?\n this.record.getValidationError(this.attr) :\n this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n return RecordLink;\n}(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]));\nvar RecordDeepLink = (function (_super) {\n __extends(RecordDeepLink, _super);\n function RecordDeepLink(record, path, options) {\n var _this = _super.call(this, record.deepGet(path)) || this;\n _this.record = record;\n _this.path = path;\n _this.options = options;\n return _this;\n }\n Object.defineProperty(RecordDeepLink.prototype, \"error\", {\n get: function () {\n if (this._error === void 0) {\n this._error = this.record.deepValidationError(this.path) || null;\n }\n return this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(RecordDeepLink.prototype, \"_changeToken\", {\n get: function () {\n return this.record._changeToken;\n },\n enumerable: true,\n configurable: true\n });\n RecordDeepLink.prototype.set = function (x) {\n this.record.deepSet(this.path, x, this.options);\n };\n return RecordDeepLink;\n}(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]));\nfunction getLinksCache(record) {\n return record._links || (record._links = new record.Attributes({}));\n}\nfunction cacheLink(links, record, key) {\n var cached = links[key], value = record[key];\n return cached && cached.value === value ? cached\n : links[key] = new RecordLink(record, key, value);\n}\n/***********************************\n * Collection\n */\n__WEBPACK_IMPORTED_MODULE_0_type_r__[\"Record\"].Collection.mixins({\n // Boolean link to the record's presence in the collection\n linkContains: function (record) {\n return new CollectionLink(this, record);\n },\n // Link to collection's property\n linkAt: function (prop) {\n var _this = this;\n return __WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */].value(this[prop], function (x) { return _this[prop] = x; });\n }\n});\n/**\n * Boolean link to presence of NestedType's record in collection.\n * Strict evaluation of value, no error.\n * Safe implementation of _changeToken.\n */\nvar CollectionLink = (function (_super) {\n __extends(CollectionLink, _super);\n function CollectionLink(collection, record) {\n var _this = _super.call(this, Boolean(collection._byId[record.cid])) || this;\n _this.collection = collection;\n _this.record = record;\n return _this;\n }\n CollectionLink.prototype.set = function (x) {\n this.collection.toggle(this.record, x);\n };\n return CollectionLink;\n}(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]));\n//# sourceMappingURL=link.js.map\n\n/***/ }),\n/* 19 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = helpers;\n/* unused harmony export objectHelpers */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return arrayHelpers; });\nvar ArrayProto = Array.prototype, ObjectProto = Object.prototype;\nfunction helpers(value) {\n if (value && typeof value === 'object') {\n switch (Object.getPrototypeOf(value)) {\n case ArrayProto: return arrayHelpers;\n case ObjectProto: return objectHelpers;\n }\n }\n return dummyHelpers;\n}\n// Do nothing for types other than Array and plain Object.\nvar dummyHelpers = {\n clone: function (value) { return value; },\n map: function (link, fun) { return []; },\n remove: function (value) { return value; }\n};\n// `map` and `clone` for plain JS objects\nvar objectHelpers = {\n // Map through the link to object\n map: function (link, iterator) {\n var mapped = [];\n for (var key in link.value) {\n var element = iterator(link.at(key), key);\n element === void 0 || (mapped.push(element));\n }\n return mapped;\n },\n remove: function (object, key) {\n delete object[key];\n return object;\n },\n // Shallow clone plain JS object\n clone: function (object) {\n var cloned = {};\n for (var key in object) {\n cloned[key] = object[key];\n }\n return cloned;\n }\n};\n// `map` and `clone` helpers for arrays.\nvar arrayHelpers = {\n // Shallow clone array\n clone: function (array) {\n return array.slice();\n },\n remove: function (array, i) {\n array.splice(i, 1);\n return array;\n },\n // Map through the link to array\n map: function (link, iterator) {\n var length = link.value.length, mapped = Array(length);\n for (var i = 0, j = 0; i < length; i++) {\n var y = iterator(link.at(i), i);\n y === void 0 || (mapped[j++] = y);\n }\n mapped.length === j || (mapped.length = j);\n return mapped;\n }\n};\n//# sourceMappingURL=helpers.js.map\n\n/***/ }),\n/* 20 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Link; });\n/* unused harmony export CustomLink */\n/* unused harmony export CloneLink */\n/* unused harmony export EqualsLink */\n/* unused harmony export EnabledLink */\n/* unused harmony export ContainsLink */\n/* unused harmony export LinkAt */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__helpers__ = __webpack_require__(19);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * Advanced React links for purely functional two-way data binding\n *\n * MIT License, (c) 2016 Vlad Balin, Volicon.\n */\n\n// Main Link class. All links must extend it.\nvar Link = (function () {\n // create \n function Link(value) {\n this.value = value;\n }\n // Create custom link to arbitrary value\n Link.value = function (value, set) {\n return new CustomLink(value, set);\n };\n Object.defineProperty(Link.prototype, \"validationError\", {\n // DEPRECATED: Old error holder for backward compatibility with Volicon code base\n get: function () { return this.error; },\n enumerable: true,\n configurable: true\n });\n Link.prototype.onChange = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n handler(x);\n _this.set(x);\n });\n };\n Object.defineProperty(Link.prototype, \"props\", {\n // \n get: function () {\n var _this = this;\n return { value: this.value, onChange: function (e) { return _this.set(e.target.value); } };\n },\n enumerable: true,\n configurable: true\n });\n // DEPRECATED: Old React method for backward compatibility\n Link.prototype.requestChange = function (x) {\n this.set(x);\n };\n // Immediately update the link value using given transform function.\n Link.prototype.update = function (transform, e) {\n var next = transform(this.clone(), e);\n next === void 0 || this.set(next);\n };\n // Create new link which applies transform function on set.\n Link.prototype.pipe = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n var next = handler(x, _this.value);\n next === void 0 || _this.set(next);\n });\n };\n // Create UI event handler function which will update the link with a given transform function.\n Link.prototype.action = function (transform) {\n var _this = this;\n return function (e) { return _this.update(transform, e); };\n };\n Link.prototype.equals = function (truthyValue) {\n return new EqualsLink(this, truthyValue);\n };\n Link.prototype.enabled = function (defaultValue) {\n return new EnabledLink(this, defaultValue || \"\");\n };\n // Array-only links methods\n Link.prototype.contains = function (element) {\n return new ContainsLink(this, element);\n };\n Link.prototype.push = function () {\n var array = __WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* arrayHelpers */].clone(this.value);\n Array.prototype.push.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.unshift = function () {\n var array = __WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* arrayHelpers */].clone(this.value);\n Array.prototype.unshift.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.splice = function () {\n var array = __WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* arrayHelpers */].clone(this.value);\n Array.prototype.splice.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.map = function (iterator) {\n return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* helpers */])(this.value).map(this, iterator);\n };\n Link.prototype.removeAt = function (key) {\n var value = this.value, _ = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* helpers */])(value);\n this.set(_.remove(_.clone(value), key));\n };\n Link.prototype.at = function (key) {\n return new LinkAt(this, key);\n };\n Link.prototype.clone = function () {\n var value = this.value;\n return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* helpers */])(value).clone(value);\n };\n Link.prototype.pick = function () {\n var links = {};\n for (var i = 0; i < arguments.length; i++) {\n var key = arguments[i];\n links[key] = new LinkAt(this, key);\n }\n return links;\n };\n /**\n * Validate link with validness predicate and optional custom error object. Can be chained.\n */\n Link.prototype.check = function (whenValid, error) {\n if (!this.error && !whenValid(this.value)) {\n this.error = error || whenValid.error || defaultError;\n }\n return this;\n };\n return Link;\n}());\n\nvar CustomLink = (function (_super) {\n __extends(CustomLink, _super);\n function CustomLink(value, set) {\n var _this = _super.call(this, value) || this;\n _this.set = set;\n return _this;\n }\n CustomLink.prototype.set = function (x) { };\n return CustomLink;\n}(Link));\n\nvar CloneLink = (function (_super) {\n __extends(CloneLink, _super);\n function CloneLink(parent, set) {\n var _this = _super.call(this, parent.value) || this;\n _this.set = set;\n var error = parent.error;\n if (error)\n _this.error = error;\n return _this;\n }\n CloneLink.prototype.set = function (x) { };\n return CloneLink;\n}(Link));\n\nvar EqualsLink = (function (_super) {\n __extends(EqualsLink, _super);\n function EqualsLink(parent, truthyValue) {\n var _this = _super.call(this, parent.value === truthyValue) || this;\n _this.parent = parent;\n _this.truthyValue = truthyValue;\n return _this;\n }\n EqualsLink.prototype.set = function (x) {\n this.parent.set(x ? this.truthyValue : null);\n };\n return EqualsLink;\n}(Link));\n\nvar EnabledLink = (function (_super) {\n __extends(EnabledLink, _super);\n function EnabledLink(parent, defaultValue) {\n var _this = _super.call(this, parent.value != null) || this;\n _this.parent = parent;\n _this.defaultValue = defaultValue;\n return _this;\n }\n EnabledLink.prototype.set = function (x) {\n this.parent.set(x ? this.defaultValue : null);\n };\n return EnabledLink;\n}(Link));\n\nvar ContainsLink = (function (_super) {\n __extends(ContainsLink, _super);\n function ContainsLink(parent, element) {\n var _this = _super.call(this, parent.value.indexOf(element) >= 0) || this;\n _this.parent = parent;\n _this.element = element;\n return _this;\n }\n ContainsLink.prototype.set = function (x) {\n var _this = this;\n var next = Boolean(x);\n if (this.value !== next) {\n var arr = this.parent.value, nextValue = x ? arr.concat(this.element) : arr.filter(function (el) { return el !== _this.element; });\n this.parent.set(nextValue);\n }\n };\n return ContainsLink;\n}(Link));\n\nvar defaultError = 'Invalid value';\n/**\n * Link to array or object element enclosed in parent link.\n * Performs purely functional update of the parent, shallow copying its value on `set`.\n */\nvar LinkAt = (function (_super) {\n __extends(LinkAt, _super);\n function LinkAt(parent, key) {\n var _this = _super.call(this, parent.value[key]) || this;\n _this.parent = parent;\n _this.key = key;\n return _this;\n }\n LinkAt.prototype.remove = function () {\n this.parent.removeAt(this.key);\n };\n // Set new element value to parent array or object, performing purely functional update.\n LinkAt.prototype.set = function (x) {\n var _this = this;\n if (this.value !== x) {\n this.parent.update(function (value) {\n value[_this.key] = x;\n return value;\n });\n }\n };\n ;\n return LinkAt;\n}(Link));\n\n//# sourceMappingURL=link.js.map\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (false) {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n\n\nvar emptyFunction = __webpack_require__(21);\nvar invariant = __webpack_require__(22);\n\nmodule.exports = function() {\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n function shim() {\n invariant(\n false,\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim\n };\n\n ReactPropTypes.checkPropTypes = emptyFunction;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n/***/ })\n/******/ ]);\n});\n\n\n// WEBPACK FOOTER //\n// dist/index.min.js"," \t// The module cache\n \tvar installedModules = {};\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// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\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, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\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 = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 11);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 7acc21a1886d20557cc3","module.exports = __WEBPACK_EXTERNAL_MODULE_0__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"commonjs\":\"nestedtypes\",\"commonjs2\":\"nestedtypes\",\"amd\":\"nestedtypes\",\"root\":\"Nested\"}\n// module id = 0\n// module chunks = 0","import * as React from 'react';\nimport { define, mixins } from 'type-r';\nimport { Node, Element } from './define';\nimport Link from './link';\nimport { Component } from './component';\n// extend React namespace\nvar ReactMVx = Object.create(React);\n// Make it compatible with ES6 module format.\nReactMVx.default = ReactMVx;\n// listenToProps, listenToState, model, attributes, Model\nReactMVx.define = define;\nReactMVx.mixins = mixins;\nReactMVx.Node = Node.value(null);\nReactMVx.Element = Element.value(null);\nReactMVx.Link = Link;\nReactMVx.Component = Component;\nvar assignToState = ReactMVx.assignToState = function (key) {\n return function (prop) {\n this.state.assignFrom((_a = {}, _a[key] = prop && prop instanceof Link ? prop.value : prop, _a));\n var _a;\n };\n};\nexport default ReactMVx;\nexport { define, mixins, Node, Element, Link, Component, assignToState };\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/index.js\n// module id = 1\n// module chunks = 0","import * as PropTypes from 'prop-types';\nimport { Record, tools } from 'type-r';\nexport function collectSpecs(spec, name) {\n var attributes = null;\n // Scan through local mixin, and gather specs. Refactor it later, it's not good. At all.\n for (var i = spec.mixins.length - 1; i >= 0; i--) {\n var mixin = spec.mixins[i], mixinAttrs = mixin[name];\n if (mixinAttrs) {\n attributes || (attributes = {});\n tools.assign(attributes, mixinAttrs);\n }\n }\n // Merge it with local data.\n var specAttrs = spec[name];\n if (specAttrs) {\n if (attributes) {\n tools.assign(attributes, specAttrs);\n }\n else {\n attributes = specAttrs;\n }\n }\n return attributes;\n}\nexport function compileSpecs(props) {\n var propTypes = {}, \n // Create NestedTypes model definition to process props spec.\n modelProto = Record.defaults(props).prototype;\n var defaults, watchers, changeHandlers;\n modelProto.forEachAttr(modelProto._attributes, function (spec, name) {\n // Skip auto-generated `id` attribute.\n if (name !== 'id') {\n var value = spec.value, type = spec.type, options = spec.options;\n // Translate props type to the propTypes guard.\n propTypes[name] = translateType(type, options.isRequired);\n if (options._onChange) {\n watchers || (watchers = {});\n watchers[name] = toLocalWatcher(options._onChange);\n }\n // Handle listening to event maps...\n if (options.changeHandlers && options.changeHandlers.length) {\n changeHandlers || (changeHandlers = {});\n changeHandlers[name] = options.changeHandlers;\n }\n // Handle listening to props changes...\n if (options.changeEvents) {\n changeHandlers || (changeHandlers = {});\n var handlers = changeHandlers[name] || (changeHandlers[name] = []), changeEvents_1 = typeof options.changeEvents === 'string' ? options.changeEvents : null;\n handlers.push(function (next, prev, component) {\n prev && component.stopListening(prev);\n next && component.listenTo(next, changeEvents_1 || next._changeEventName, component.asyncUpdate);\n });\n }\n // If default value is explicitly provided...\n if (value !== void 0) {\n //...append it to getDefaultProps function.\n defaults || (defaults = {});\n defaults[name] = spec.convert(value);\n }\n }\n });\n return { propTypes: propTypes, defaults: defaults, watchers: watchers, changeHandlers: changeHandlers };\n}\nfunction toLocalWatcher(ref) {\n return typeof ref === 'function' ? ref : function (value, name) {\n this[ref] && this[ref](value, name);\n };\n}\nvar Node = (function () {\n function Node() {\n }\n return Node;\n}());\nexport { Node };\nvar Element = (function () {\n function Element() {\n }\n return Element;\n}());\nexport { Element };\nfunction translateType(Type, isRequired) {\n var T = _translateType(Type);\n return isRequired ? T.isRequired : T;\n}\nfunction _translateType(Type) {\n switch (Type) {\n case Number:\n case Number.integer:\n return PropTypes.number;\n case String:\n return PropTypes.string;\n case Boolean:\n return PropTypes.bool;\n case Array:\n return PropTypes.array;\n case Function:\n return PropTypes.func;\n case Object:\n return PropTypes.object;\n case Node:\n return PropTypes.node;\n case Element:\n return PropTypes.element;\n case void 0:\n case null:\n return PropTypes.any;\n default:\n return PropTypes.instanceOf(Type);\n }\n}\n//# sourceMappingURL=typeSpecs.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/typeSpecs.js\n// module id = 2\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_3__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"commonjs\":\"react\",\"commonjs2\":\"react\",\"amd\":\"react\",\"root\":\"React\"}\n// module id = 3\n// module chunks = 0","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/prop-types/index.js\n// module id = 4\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_5__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"commonjs\":\"react-dom\",\"commonjs2\":\"react-dom\",\"amd\":\"react-dom\",\"root\":\"ReactDOM\"}\n// module id = 5\n// module chunks = 0","import processStore from './store';\nimport processState from './state';\nimport processContext from './context';\nimport processCommons from './common';\nimport processProps from './props';\nexport default function process(spec, baseProto) {\n if (baseProto === void 0) { baseProto = {}; }\n // Initialize mixins placeholder...\n spec.mixins || (spec.mixins = []);\n processStore(spec, baseProto);\n processState(spec, baseProto);\n processContext(spec, baseProto);\n processProps(spec, baseProto);\n processCommons(spec, baseProto);\n return spec;\n}\n;\nexport { Node, Element } from './typeSpecs';\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/index.js\n// module id = 6\n// module chunks = 0","/*****************\n * State\n */\nimport { collectSpecs } from './typeSpecs';\nimport { Record, Store } from 'type-r';\nexport default function process(spec, baseProto) {\n // process state spec...\n var attributes = collectSpecs(spec, 'state');\n if (attributes || baseProto.State) {\n var BaseModel = baseProto.State || Record;\n spec.State = attributes ? (typeof attributes === 'function' ? attributes : BaseModel.defaults(attributes)) : BaseModel;\n spec.mixins.push(StateMixin);\n spec.mixins.push(UpdateOnNestedChangesMixin);\n delete spec.state;\n delete spec.attributes;\n }\n}\nexport var StateMixin = {\n //state : null,\n componentWillMount: function () {\n // props.__keepState is used to workaround issues in Backbone intergation layer\n var state = this.state = this.props.__keepState || new this.State();\n // Take ownership on state...\n state._owner = this;\n state._ownerKey = 'state';\n },\n context: {\n _nestedStore: Store\n },\n // reference global store to fix model's store locator\n getStore: function () {\n // Attempt to get the store from the context first. Then - fallback to the state's default store.\n // TBD: Need to figure out a good way of managing local stores.\n var context, state;\n return ((context = this.context) && context._nestedStore) ||\n ((state = this.state) && state._defaultStore);\n },\n componentWillUnmount: function () {\n var state = this.state;\n state._owner = state._ownerKey = void 0;\n this._preventDispose /* hack for component-view to preserve the state */ || state.dispose();\n this.state = void 0;\n }\n};\nexport var UpdateOnNestedChangesMixin = {\n _onChildrenChange: function () { },\n componentDidMount: function () {\n this._onChildrenChange = this.asyncUpdate;\n }\n};\n//# sourceMappingURL=state.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/state.js\n// module id = 7\n// module chunks = 0","import * as React from 'react';\nimport ReactDOM from 'react-dom';\nimport { tools } from 'type-r';\nwindow.Page || (window.Page = { forceResize: function () { } });\nexport default function use(View) {\n var dispose = View.prototype.dispose || function () { }, setElement = View.prototype.setElement;\n var ComponentView = View.extend({\n reactClass: null,\n props: {},\n element: null,\n initialize: function (props) {\n // memorise arguments to pass to React\n this.options = props || {};\n },\n setElement: function () {\n this.unmountComponent(true);\n return setElement.apply(this, arguments);\n },\n // cached instance of react component...\n component: null,\n prevState: null,\n resize: function () {\n window.Page.forceResize();\n },\n render: function () {\n var options = this.prevState ? tools.fastAssign({ __keepState: this.prevState }, this.options) : this.options, element = React.createElement(this.reactClass, options), component = ReactDOM.render(element, this.el);\n this.component || this.mountComponent(component);\n },\n mountComponent: function (component) {\n this.component = component;\n this.prevState = null;\n component.trigger && this.listenTo(component, 'all', function () {\n this.trigger.apply(this, arguments);\n });\n },\n unmountComponent: function (keepModel) {\n var component = this.component;\n if (component) {\n this.prevState = component.state;\n if (component.trigger) {\n this.stopListening(component);\n }\n component._preventDispose = Boolean(keepModel);\n ReactDOM.unmountComponentAtNode(this.el);\n this.component = null;\n }\n },\n dispose: function () {\n this.unmountComponent();\n return dispose.apply(this, arguments);\n }\n });\n Object.defineProperty(ComponentView.prototype, 'model', {\n get: function () {\n this.component || this.render();\n return this.component && this.component.state;\n }\n });\n return ComponentView;\n}\n//# sourceMappingURL=component-view.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/component-view.js\n// module id = 8\n// module chunks = 0","var __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\nimport { Component } from './react-mvx';\nvar dontAutobind = [\n 'State', 'Store', 'constructor',\n 'componentWillMount', 'componentDidMount', 'componentWillReceiveProps', 'shouldComponentUpdate',\n 'componentWillUpdate', 'componentDidUpdate', 'componentWillUnmount',\n 'render', 'getDefaultProps', 'getChildContext'\n];\n/**\n * ES5 components definition factory\n */\nexport default function createClass(_a) {\n var statics = _a.statics, a_spec = __rest(_a, [\"statics\"]);\n // Gather all methods to pin them to `this` later.\n var methods = [];\n var Subclass = Component.extend(__assign({ \n // Override constructor to autobind all the methods...\n constructor: function () {\n Component.apply(this, this.arguments);\n for (var _i = 0, methods_1 = methods; _i < methods_1.length; _i++) {\n var method = methods_1[_i];\n this[method] = this[method].bind(this);\n }\n } }, a_spec), statics);\n // Need to bind methods from mixins as well, so populate it here.\n var Proto = Subclass.prototype;\n for (var key in Proto) {\n if (Proto.hasOwnProperty(key) && dontAutobind.indexOf(key) === -1 && typeof Proto[key] === 'function') {\n methods.push(key);\n }\n }\n return Subclass;\n}\n//# sourceMappingURL=createClass.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/createClass.js\n// module id = 9\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport React from './react-mvx';\nimport { tools } from 'type-r';\nvar notEqual = tools.notEqual;\nvar BackboneView = (function (_super) {\n __extends(BackboneView, _super);\n function BackboneView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.saveRef = function (element) {\n _this.root = element;\n };\n return _this;\n }\n BackboneView.prototype.shouldComponentUpdate = function (next) {\n var props = this.props;\n return next.View !== props.View || notEqual(next.options, props.options);\n };\n BackboneView.prototype.hasUnsavedChanges = function () {\n var view = this.view;\n return view && (typeof view.hasUnsavedChanges === 'function' ? view.hasUnsavedChanges() : view.hasUnsavedChanges);\n };\n BackboneView.prototype.render = function () {\n return React.createElement('div', {\n ref: this.saveRef,\n className: this.props.className\n });\n };\n BackboneView.prototype.componentDidMount = function () {\n this._mountView();\n };\n BackboneView.prototype.componentDidUpdate = function () {\n this._dispose();\n this._mountView();\n };\n BackboneView.prototype.componentWillUnmount = function () {\n this._dispose();\n };\n BackboneView.prototype._mountView = function () {\n var el = this.root, p = this.props;\n var view = this.view = p.options ? new p.View(p.options) : new p.View();\n el.appendChild(view.el);\n view.render();\n };\n BackboneView.prototype._dispose = function () {\n var view = this.view;\n if (view) {\n if (view.dispose) {\n view.dispose();\n }\n else {\n view.stopListening();\n view.off();\n }\n this.root.innerHTML = \"\";\n this.view = null;\n }\n };\n return BackboneView;\n}(React.Component));\nexport default BackboneView;\n//# sourceMappingURL=view-element.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/view-element.js\n// module id = 10\n// module chunks = 0","// Re-export react-mvx\nimport ReactMVx from './react-mvx';\nvar NestedReact = Object.create(ReactMVx);\nexport default NestedReact;\nexport * from './react-mvx';\n// NestedReact backward compatibility layer\nimport ReactDOM from 'react-dom';\nimport Nested, { View, Record } from 'type-r';\nimport * as PropTypes from 'prop-types';\nimport subview from './view-element';\nNestedReact.subview = subview;\nexport { subview };\nimport use from './component-view';\nimport createClass from './createClass';\nNestedReact.createClass = createClass;\nObject.defineProperty(NestedReact, 'PropTypes', { value: PropTypes });\nexport { PropTypes, createClass };\nvar BaseView;\n// export hook to override base View class used...\nexport function useView(View) {\n BaseView = use(View);\n}\nvar define = NestedReact.Component.define;\nNestedReact.Component.define = function (protoProps, staticProps) {\n this.View = BaseView.extend({ reactClass: this });\n return define.call(this, protoProps, staticProps);\n};\n// Deprecated API for backward compatibility\nvar RecordProto = Record.prototype;\nRecordProto.getLink = RecordProto.linkAt;\nRecordProto.deepLink = RecordProto.linkPath;\nvar CollectionProto = Record.Collection.prototype;\nCollectionProto.hasLink = CollectionProto.linkContains;\nuseView(View);\n// Extend react components to have backbone-style jquery accessors\nvar BackboneViewProps = {\n el: { get: function () { return ReactDOM.findDOMNode(this); } },\n $el: { get: function () { return Nested.$(this.el); } },\n $: { value: function (sel) { return this.$el.find(sel); } }\n};\nObject.defineProperties(NestedReact.Component.prototype, BackboneViewProps);\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/index.js\n// module id = 11\n// module chunks = 0","/**\n * React components\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\nimport * as React from 'react';\nimport { extendable, mixinRules, tools, Mixable } from 'type-r';\nimport processSpec from './define';\nvar reactMixinRules = {\n componentWillMount: 'reverse',\n componentDidMount: 'reverse',\n componentWillReceiveProps: 'reverse',\n shouldComponentUpdate: 'some',\n componentWillUpdate: 'reverse',\n componentDidUpdate: 'reverse',\n componentWillUnmount: 'sequence',\n state: 'merge',\n store: 'merge',\n props: 'merge',\n context: 'merge',\n childContext: 'merge',\n getChildContext: 'mergeSequence'\n};\nvar Component = (function (_super) {\n __extends(Component, _super);\n function Component() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Component.prototype.linkAt = function (key) {\n // Quick and dirty hack to suppres type error - refactor later.\n return this.state.linkAt(key);\n };\n Component.prototype.linkAll = function () {\n // Quick and dirty hack to suppres type error - refactor later.\n return this.state.linkAll.apply(this, arguments);\n };\n Component.define = function (protoProps, staticProps) {\n var BaseClass = tools.getBaseClass(this), staticsDefinition = tools.getChangedStatics(this, 'state', 'store', 'props', 'context', 'childContext', 'pureRender'), combinedDefinition = tools.assign(staticsDefinition, protoProps || {});\n var definition = processSpec(combinedDefinition, this.prototype);\n var getDefaultProps = definition.getDefaultProps, propTypes = definition.propTypes, contextTypes = definition.contextTypes, childContextTypes = definition.childContextTypes, protoDefinition = __rest(definition, [\"getDefaultProps\", \"propTypes\", \"contextTypes\", \"childContextTypes\"]);\n if (getDefaultProps)\n this.defaultProps = definition.getDefaultProps();\n if (propTypes)\n this.propTypes = propTypes;\n if (contextTypes)\n this.contextTypes = contextTypes;\n if (childContextTypes)\n this.childContextTypes = childContextTypes;\n Mixable.define.call(this, protoDefinition, staticProps);\n return this;\n };\n Component.prototype.assignToState = function (x, key) {\n this.state.assignFrom((_a = {}, _a[key] = x, _a));\n var _a;\n };\n return Component;\n}(React.Component));\nComponent = __decorate([\n extendable,\n mixinRules(reactMixinRules)\n], Component);\nexport { Component };\n// Looks like React guys _really_ want to deprecated it. But no way.\n// We will work around their attempt.\nObject.defineProperty(Component.prototype, 'isMounted', {\n value: function isMounted() {\n return !this._disposed;\n }\n});\n//# sourceMappingURL=component.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/component.js\n// module id = 12\n// module chunks = 0","/**\n * attach async event processing and transactional support.\n */\nimport { tools, Events } from 'type-r';\nexport default function compile(spec, baseProto) {\n // Attach common mixin\n spec.mixins.push(CommonMixin);\n}\nexport function asyncUpdate() {\n this.shouldComponentUpdate === returnFalse || this._disposed || this.forceUpdate();\n}\nfunction returnFalse() { return false; }\n/**\n * Mixin which is attached to all components.\n */\nvar CommonMixin = tools.assign({\n componentWillUnmount: function () {\n // Prevent memory leaks when working with events.\n this.off();\n this.stopListening();\n // Mark component as disposed.\n this._disposed = true;\n },\n // Safe version of the forceUpdate suitable for asynchronous callbacks.\n asyncUpdate: asyncUpdate,\n /**\n * Performs transactional update for both props and state.\n * Suppress updates during the transaction, and force update aftewards.\n * Wrapping the sequence of changes in a transactions guarantees that\n * React component will be updated _after_ all the changes to the\n * both props and local state are applied.\n */\n transaction: function (fun) {\n var shouldComponentUpdate = this.shouldComponentUpdate, isRoot = shouldComponentUpdate !== returnFalse;\n if (isRoot) {\n this.shouldComponentUpdate = returnFalse;\n }\n fun(this.props, this.state);\n if (isRoot) {\n this.shouldComponentUpdate = shouldComponentUpdate;\n this.asyncUpdate();\n }\n }\n}, Events);\n//# sourceMappingURL=common.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/common.js\n// module id = 13\n// module chunks = 0","var __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nimport { compileSpecs, collectSpecs } from './typeSpecs';\nexport default function process(spec, _a) {\n var _b = _a._context, _context = _b === void 0 ? {} : _b, _c = _a._childContext, _childContext = _c === void 0 ? {} : _c;\n // process context specs...\n var context = collectSpecs(spec, 'context');\n if (context) {\n spec._context = __assign({}, _context, context);\n spec.contextTypes = compileSpecs(context).propTypes;\n delete spec.context;\n }\n // and child context specs...\n var childContext = collectSpecs(spec, 'childContext');\n if (childContext) {\n spec._childContext = __assign({}, _childContext, childContext);\n spec.childContextTypes = compileSpecs(childContext).propTypes;\n delete spec.childContext;\n }\n}\n//# sourceMappingURL=context.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/context.js\n// module id = 14\n// module chunks = 0","/**\n * Handle props specification and everything which is related:\n * - local listening to props changes\n * - pure render mixin\n */\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nimport { collectSpecs, compileSpecs } from './typeSpecs';\nimport createPureRenderMixin from './pureRender';\nexport default function process(spec, _a) {\n var pureRender = _a.pureRender, _b = _a._props, _props = _b === void 0 ? {} : _b, _c = _a._listenToPropsArray, _listenToPropsArray = _c === void 0 ? [] : _c, _d = _a._listenToPropsHash, _listenToPropsHash = _d === void 0 ? {} : _d;\n // process props spec...\n var props = collectSpecs(spec, 'props');\n if (props) {\n var allProps = spec._props = __assign({}, _props, props);\n var _e = compileSpecs(allProps), propTypes = _e.propTypes, defaults_1 = _e.defaults, watchers = _e.watchers, changeHandlers = _e.changeHandlers;\n spec.propTypes = propTypes;\n if (defaults_1)\n spec.getDefaultProps = function () { return defaults_1; };\n if (watchers) {\n spec.mixins.unshift(WatchersMixin);\n spec._watchers = watchers;\n }\n if (changeHandlers) {\n spec.mixins.unshift(ChangeHandlersMixin);\n spec._changeHandlers = changeHandlers;\n }\n delete spec.props;\n }\n // compile pure render mixin\n if (spec._props && (spec.pureRender || pureRender)) {\n spec.mixins.push(createPureRenderMixin(spec._props));\n }\n}\n/**\n * ChangeHandlers are fired in sequence upon props replacement.\n * Fires _after_ UI is updated. Used for managing events subscriptions.\n */\nvar ChangeHandlersMixin = {\n componentDidMount: function () {\n handlePropsChanges(this, {}, this.props);\n },\n componentDidUpdate: function (prev) {\n handlePropsChanges(this, prev, this.props);\n },\n componentWillUnmount: function () {\n handlePropsChanges(this, this.props, {});\n }\n};\nfunction handlePropsChanges(component, prev, next) {\n var _changeHandlers = component._changeHandlers;\n for (var name_1 in _changeHandlers) {\n if (prev[name_1] !== next[name_1]) {\n for (var _i = 0, _a = _changeHandlers[name_1]; _i < _a.length; _i++) {\n var handler = _a[_i];\n handler(next[name_1], prev[name_1], component);\n }\n }\n }\n}\n/**\n * Watchers works on props replacement and fires _before_ any change will be applied and UI is updated.\n * Fired in componentWillMount as well, which makes it a nice way to sync state from props.\n */\nvar WatchersMixin = {\n componentWillReceiveProps: function (next) {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_2 in _watchers) {\n if (next[name_2] !== props[name_2]) {\n _watchers[name_2].call(this, next[name_2], name_2);\n }\n }\n },\n componentWillMount: function () {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_3 in _watchers) {\n _watchers[name_3].call(this, props[name_3], name_3);\n }\n }\n};\n//# sourceMappingURL=props.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/props.js\n// module id = 15\n// module chunks = 0","export default function createPureRenderMixin(props) {\n var ctorBody = ['var v; this._s = s && s._changeToken'], isChangedBody = ['var v; return ( s && s._changeToken !== t._s )'];\n for (var name_1 in props) {\n var propExpr = \"( ( v = p.\" + name_1 + \") && v._changeToken ) || v\";\n ctorBody.push(\"this.\" + name_1 + \"= \" + propExpr);\n isChangedBody.push(\"t.\" + name_1 + \" !== (\" + propExpr + \")\");\n }\n var ChangeTokens = new Function('p', 's', ctorBody.join(';')), isChanged = new Function('t', 'p', 's', isChangedBody.join('||'));\n ChangeTokens.prototype = null;\n return {\n _changeTokens: null,\n shouldComponentUpdate: function (nextProps) {\n return isChanged(this._changeTokens, nextProps, this.state);\n },\n componentDidMount: function () {\n this._changeTokens = new ChangeTokens(this.props, this.state);\n },\n componentDidUpdate: function () {\n this._changeTokens = new ChangeTokens(this.props, this.state);\n }\n };\n}\n;\n//# sourceMappingURL=pureRender.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/pureRender.js\n// module id = 16\n// module chunks = 0","import { collectSpecs } from './typeSpecs';\nimport { Store } from 'type-r';\nimport { StateMixin, UpdateOnNestedChangesMixin } from './state';\nexport default function process(spec, baseProto) {\n var store = collectSpecs(spec, 'store');\n if (store) {\n delete spec.store;\n if (store instanceof Store) {\n // Direct reference to an existing store. Put it to the prototype.\n spec.store = store;\n spec.mixins.push(ExternalStoreMixin);\n }\n else {\n spec.Store = store;\n spec.mixins.push(InternalStoreMixin);\n spec.mixins.push(UpdateOnNestedChangesMixin);\n }\n spec.mixins.push(ExposeStoreMixin);\n }\n}\n/**\n * Attached whenever the store declaration of any form is present in the component.\n */\nvar ExposeStoreMixin = {\n childContext: {\n _nestedStore: Store\n },\n getChildContext: function () {\n return { _nestedStore: this.store };\n },\n getStore: function () {\n return this.store;\n },\n // Will be called by the store when the lookup will fail.\n get: function (key) {\n // Ask upper store.\n var store = StateMixin.getStore.call(this, key);\n return store && store.get(key);\n }\n};\n/**\n * External store must just track the changes and trigger render.\n * TBD: don't use it yet.\n */\nvar ExternalStoreMixin = {\n componentDidMount: function () {\n // Start UI updates on state changes.\n this.listenTo(this.store, 'change', this.asyncUpdate);\n }\n};\nvar InternalStoreMixin = {\n componentWillMount: function () {\n var store = this.store = new this.Store();\n store._owner = this;\n store._ownerKey = 'store';\n },\n componentWillUnmount: function () {\n this.store._ownerKey = this.store._owner = void 0;\n this.store.dispose();\n this.store = void 0;\n }\n};\n//# sourceMappingURL=store.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/store.js\n// module id = 17\n// module chunks = 0","/**\n * Import ValueLink library\n * Define value links binding mixins to the Record and Collection\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { Mixable, Record } from 'type-r';\nimport { Link } from './valuelink/link';\nexport default Link;\nMixable.mixTo(Link);\n/**\n * Record\n */\nRecord.mixins({\n // Link to the record's attribute by its key.\n linkAt: function (key) {\n return cacheLink(getLinksCache(this), this, key);\n },\n // Link to the attribute of the record's tree by symbolic path.\n linkPath: function (path, options) {\n return new RecordDeepLink(this, path, options);\n },\n // Link all (or listed) attributes and return links cache.\n linkAll: function () {\n var links = getLinksCache(this);\n if (arguments.length) {\n for (var i = 0; i < arguments.length; i++) {\n cacheLink(links, this, arguments[i]);\n }\n }\n else {\n var attributes = this.attributes;\n for (var key in attributes) {\n attributes[key] === void 0 || cacheLink(links, this, key);\n }\n }\n return links;\n }\n});\n/**\n * Link to Type-R's record attribute.\n * Strict evaluation of value, lazy evaluation of validation error.\n * Links are cached in the records\n */\nvar RecordLink = (function (_super) {\n __extends(RecordLink, _super);\n function RecordLink(record, attr, value) {\n var _this = _super.call(this, value) || this;\n _this.record = record;\n _this.attr = attr;\n return _this;\n }\n RecordLink.prototype.set = function (x) {\n this.record[this.attr] = x;\n };\n Object.defineProperty(RecordLink.prototype, \"error\", {\n get: function () {\n return this._error === void 0 ?\n this.record.getValidationError(this.attr) :\n this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n return RecordLink;\n}(Link));\nvar RecordDeepLink = (function (_super) {\n __extends(RecordDeepLink, _super);\n function RecordDeepLink(record, path, options) {\n var _this = _super.call(this, record.deepGet(path)) || this;\n _this.record = record;\n _this.path = path;\n _this.options = options;\n return _this;\n }\n Object.defineProperty(RecordDeepLink.prototype, \"error\", {\n get: function () {\n if (this._error === void 0) {\n this._error = this.record.deepValidationError(this.path) || null;\n }\n return this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(RecordDeepLink.prototype, \"_changeToken\", {\n get: function () {\n return this.record._changeToken;\n },\n enumerable: true,\n configurable: true\n });\n RecordDeepLink.prototype.set = function (x) {\n this.record.deepSet(this.path, x, this.options);\n };\n return RecordDeepLink;\n}(Link));\nfunction getLinksCache(record) {\n return record._links || (record._links = new record.Attributes({}));\n}\nfunction cacheLink(links, record, key) {\n var cached = links[key], value = record[key];\n return cached && cached.value === value ? cached\n : links[key] = new RecordLink(record, key, value);\n}\n/***********************************\n * Collection\n */\nRecord.Collection.mixins({\n // Boolean link to the record's presence in the collection\n linkContains: function (record) {\n return new CollectionLink(this, record);\n },\n // Link to collection's property\n linkAt: function (prop) {\n var _this = this;\n return Link.value(this[prop], function (x) { return _this[prop] = x; });\n }\n});\n/**\n * Boolean link to presence of NestedType's record in collection.\n * Strict evaluation of value, no error.\n * Safe implementation of _changeToken.\n */\nvar CollectionLink = (function (_super) {\n __extends(CollectionLink, _super);\n function CollectionLink(collection, record) {\n var _this = _super.call(this, Boolean(collection._byId[record.cid])) || this;\n _this.collection = collection;\n _this.record = record;\n return _this;\n }\n CollectionLink.prototype.set = function (x) {\n this.collection.toggle(this.record, x);\n };\n return CollectionLink;\n}(Link));\n//# sourceMappingURL=link.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/link.js\n// module id = 18\n// module chunks = 0","var ArrayProto = Array.prototype, ObjectProto = Object.prototype;\nexport function helpers(value) {\n if (value && typeof value === 'object') {\n switch (Object.getPrototypeOf(value)) {\n case ArrayProto: return arrayHelpers;\n case ObjectProto: return objectHelpers;\n }\n }\n return dummyHelpers;\n}\n// Do nothing for types other than Array and plain Object.\nvar dummyHelpers = {\n clone: function (value) { return value; },\n map: function (link, fun) { return []; },\n remove: function (value) { return value; }\n};\n// `map` and `clone` for plain JS objects\nexport var objectHelpers = {\n // Map through the link to object\n map: function (link, iterator) {\n var mapped = [];\n for (var key in link.value) {\n var element = iterator(link.at(key), key);\n element === void 0 || (mapped.push(element));\n }\n return mapped;\n },\n remove: function (object, key) {\n delete object[key];\n return object;\n },\n // Shallow clone plain JS object\n clone: function (object) {\n var cloned = {};\n for (var key in object) {\n cloned[key] = object[key];\n }\n return cloned;\n }\n};\n// `map` and `clone` helpers for arrays.\nexport var arrayHelpers = {\n // Shallow clone array\n clone: function (array) {\n return array.slice();\n },\n remove: function (array, i) {\n array.splice(i, 1);\n return array;\n },\n // Map through the link to array\n map: function (link, iterator) {\n var length = link.value.length, mapped = Array(length);\n for (var i = 0, j = 0; i < length; i++) {\n var y = iterator(link.at(i), i);\n y === void 0 || (mapped[j++] = y);\n }\n mapped.length === j || (mapped.length = j);\n return mapped;\n }\n};\n//# sourceMappingURL=helpers.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/valuelink/helpers.js\n// module id = 19\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * Advanced React links for purely functional two-way data binding\n *\n * MIT License, (c) 2016 Vlad Balin, Volicon.\n */\nimport { helpers, arrayHelpers } from './helpers';\n// Main Link class. All links must extend it.\nvar Link = (function () {\n // create \n function Link(value) {\n this.value = value;\n }\n // Create custom link to arbitrary value\n Link.value = function (value, set) {\n return new CustomLink(value, set);\n };\n Object.defineProperty(Link.prototype, \"validationError\", {\n // DEPRECATED: Old error holder for backward compatibility with Volicon code base\n get: function () { return this.error; },\n enumerable: true,\n configurable: true\n });\n Link.prototype.onChange = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n handler(x);\n _this.set(x);\n });\n };\n Object.defineProperty(Link.prototype, \"props\", {\n // \n get: function () {\n var _this = this;\n return { value: this.value, onChange: function (e) { return _this.set(e.target.value); } };\n },\n enumerable: true,\n configurable: true\n });\n // DEPRECATED: Old React method for backward compatibility\n Link.prototype.requestChange = function (x) {\n this.set(x);\n };\n // Immediately update the link value using given transform function.\n Link.prototype.update = function (transform, e) {\n var next = transform(this.clone(), e);\n next === void 0 || this.set(next);\n };\n // Create new link which applies transform function on set.\n Link.prototype.pipe = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n var next = handler(x, _this.value);\n next === void 0 || _this.set(next);\n });\n };\n // Create UI event handler function which will update the link with a given transform function.\n Link.prototype.action = function (transform) {\n var _this = this;\n return function (e) { return _this.update(transform, e); };\n };\n Link.prototype.equals = function (truthyValue) {\n return new EqualsLink(this, truthyValue);\n };\n Link.prototype.enabled = function (defaultValue) {\n return new EnabledLink(this, defaultValue || \"\");\n };\n // Array-only links methods\n Link.prototype.contains = function (element) {\n return new ContainsLink(this, element);\n };\n Link.prototype.push = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.push.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.unshift = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.unshift.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.splice = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.splice.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.map = function (iterator) {\n return helpers(this.value).map(this, iterator);\n };\n Link.prototype.removeAt = function (key) {\n var value = this.value, _ = helpers(value);\n this.set(_.remove(_.clone(value), key));\n };\n Link.prototype.at = function (key) {\n return new LinkAt(this, key);\n };\n Link.prototype.clone = function () {\n var value = this.value;\n return helpers(value).clone(value);\n };\n Link.prototype.pick = function () {\n var links = {};\n for (var i = 0; i < arguments.length; i++) {\n var key = arguments[i];\n links[key] = new LinkAt(this, key);\n }\n return links;\n };\n /**\n * Validate link with validness predicate and optional custom error object. Can be chained.\n */\n Link.prototype.check = function (whenValid, error) {\n if (!this.error && !whenValid(this.value)) {\n this.error = error || whenValid.error || defaultError;\n }\n return this;\n };\n return Link;\n}());\nexport { Link };\nvar CustomLink = (function (_super) {\n __extends(CustomLink, _super);\n function CustomLink(value, set) {\n var _this = _super.call(this, value) || this;\n _this.set = set;\n return _this;\n }\n CustomLink.prototype.set = function (x) { };\n return CustomLink;\n}(Link));\nexport { CustomLink };\nvar CloneLink = (function (_super) {\n __extends(CloneLink, _super);\n function CloneLink(parent, set) {\n var _this = _super.call(this, parent.value) || this;\n _this.set = set;\n var error = parent.error;\n if (error)\n _this.error = error;\n return _this;\n }\n CloneLink.prototype.set = function (x) { };\n return CloneLink;\n}(Link));\nexport { CloneLink };\nvar EqualsLink = (function (_super) {\n __extends(EqualsLink, _super);\n function EqualsLink(parent, truthyValue) {\n var _this = _super.call(this, parent.value === truthyValue) || this;\n _this.parent = parent;\n _this.truthyValue = truthyValue;\n return _this;\n }\n EqualsLink.prototype.set = function (x) {\n this.parent.set(x ? this.truthyValue : null);\n };\n return EqualsLink;\n}(Link));\nexport { EqualsLink };\nvar EnabledLink = (function (_super) {\n __extends(EnabledLink, _super);\n function EnabledLink(parent, defaultValue) {\n var _this = _super.call(this, parent.value != null) || this;\n _this.parent = parent;\n _this.defaultValue = defaultValue;\n return _this;\n }\n EnabledLink.prototype.set = function (x) {\n this.parent.set(x ? this.defaultValue : null);\n };\n return EnabledLink;\n}(Link));\nexport { EnabledLink };\nvar ContainsLink = (function (_super) {\n __extends(ContainsLink, _super);\n function ContainsLink(parent, element) {\n var _this = _super.call(this, parent.value.indexOf(element) >= 0) || this;\n _this.parent = parent;\n _this.element = element;\n return _this;\n }\n ContainsLink.prototype.set = function (x) {\n var _this = this;\n var next = Boolean(x);\n if (this.value !== next) {\n var arr = this.parent.value, nextValue = x ? arr.concat(this.element) : arr.filter(function (el) { return el !== _this.element; });\n this.parent.set(nextValue);\n }\n };\n return ContainsLink;\n}(Link));\nexport { ContainsLink };\nvar defaultError = 'Invalid value';\n/**\n * Link to array or object element enclosed in parent link.\n * Performs purely functional update of the parent, shallow copying its value on `set`.\n */\nvar LinkAt = (function (_super) {\n __extends(LinkAt, _super);\n function LinkAt(parent, key) {\n var _this = _super.call(this, parent.value[key]) || this;\n _this.parent = parent;\n _this.key = key;\n return _this;\n }\n LinkAt.prototype.remove = function () {\n this.parent.removeAt(this.key);\n };\n // Set new element value to parent array or object, performing purely functional update.\n LinkAt.prototype.set = function (x) {\n var _this = this;\n if (this.value !== x) {\n this.parent.update(function (value) {\n value[_this.key] = x;\n return value;\n });\n }\n };\n ;\n return LinkAt;\n}(Link));\nexport { LinkAt };\n//# sourceMappingURL=link.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/valuelink/link.js\n// module id = 20\n// module chunks = 0","\"use strict\";\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/fbjs/lib/emptyFunction.js\n// module id = 21\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (process.env.NODE_ENV !== 'production') {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/fbjs/lib/invariant.js\n// module id = 22\n// module chunks = 0","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n'use strict';\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\nvar invariant = require('fbjs/lib/invariant');\n\nmodule.exports = function() {\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n function shim() {\n invariant(\n false,\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim\n };\n\n ReactPropTypes.checkPropTypes = emptyFunction;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/prop-types/factoryWithThrowingShims.js\n// module id = 23\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file diff --git a/lib/react-mvx/define/state.js b/lib/react-mvx/define/state.js index f2703af..71a08ed 100644 --- a/lib/react-mvx/define/state.js +++ b/lib/react-mvx/define/state.js @@ -32,7 +32,7 @@ export var StateMixin = { // Attempt to get the store from the context first. Then - fallback to the state's default store. // TBD: Need to figure out a good way of managing local stores. var context, state; - return ((context = this.context) && context._archetypeStore) || + return ((context = this.context) && context._nestedStore) || ((state = this.state) && state._defaultStore); }, componentWillUnmount: function () { diff --git a/lib/react-mvx/define/state.js.map b/lib/react-mvx/define/state.js.map index 1ec7e63..e2cc6ea 100644 --- a/lib/react-mvx/define/state.js.map +++ b/lib/react-mvx/define/state.js.map @@ -1 +1 @@ -{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/react-mvx/define/state.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAEtC,MAAM,CAAC,OAAO,kBAAmB,IAAI,EAAE,SAAS;IAC5C,wBAAwB;IACxB,IAAM,UAAU,GAAG,YAAY,CAAE,IAAI,EAAE,OAAO,CAAE,CAAC;IAEjD,EAAE,CAAA,CAAE,UAAU,IAAI,SAAS,CAAC,KAAM,CAAC,CAAA,CAAC;QAChC,IAAM,SAAS,GAAG,SAAS,CAAC,KAAK,IAAI,MAAM,CAAC;QAE5C,IAAI,CAAC,KAAK,GAAM,UAAU,GAAG,CACzB,OAAO,UAAU,KAAK,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC,QAAQ,CAAE,UAAU,CAAE,CACnF,GAAE,SAAS,CAAC;QAEb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAE,UAAU,CAAE,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAE,0BAA0B,CAAE,CAAC;QAE/C,OAAO,IAAI,CAAC,KAAK,CAAC;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;AACL,CAAC;AAED,MAAM,CAAC,IAAM,UAAU,GAAG;IACtB,eAAe;IAEf,kBAAkB;QACd,+EAA+E;QAC/E,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAEtE,6BAA6B;QAC7B,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;QACpB,KAAK,CAAC,SAAS,GAAG,OAAO,CAAC;IAC9B,CAAC;IAED,OAAO,EAAG;QACN,YAAY,EAAG,KAAK;KACvB;IAED,sDAAsD;IACtD,QAAQ;QACJ,iGAAiG;QACjG,+DAA+D;QAC/D,IAAI,OAAO,EAAE,KAAK,CAAC;QAEnB,MAAM,CAAE,CAAE,CAAE,OAAO,GAAG,IAAI,CAAC,OAAO,CAAE,IAAI,OAAO,CAAC,eAAe,CAAE;YACzD,CAAE,CAAE,KAAK,GAAG,IAAI,CAAC,KAAK,CAAE,IAAI,KAAK,CAAC,aAAa,CAAE,CAAC;IAC9D,CAAC;IAED,oBAAoB;QACR,IAAA,kBAAK,CAAU;QACvB,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,eAAe,CAAC,mDAAmD,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAC5F,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;IACxB,CAAC;CACJ,CAAC;AAEF,MAAM,CAAC,IAAM,0BAA0B,GAAG;IACtC,iBAAiB,gBAAG,CAAC;IAErB,iBAAiB;QACb,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC;IAC9C,CAAC;CACJ,CAAC"} \ No newline at end of file +{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/react-mvx/define/state.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAEtC,MAAM,CAAC,OAAO,kBAAmB,IAAI,EAAE,SAAS;IAC5C,wBAAwB;IACxB,IAAM,UAAU,GAAG,YAAY,CAAE,IAAI,EAAE,OAAO,CAAE,CAAC;IAEjD,EAAE,CAAA,CAAE,UAAU,IAAI,SAAS,CAAC,KAAM,CAAC,CAAA,CAAC;QAChC,IAAM,SAAS,GAAG,SAAS,CAAC,KAAK,IAAI,MAAM,CAAC;QAE5C,IAAI,CAAC,KAAK,GAAM,UAAU,GAAG,CACzB,OAAO,UAAU,KAAK,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC,QAAQ,CAAE,UAAU,CAAE,CACnF,GAAE,SAAS,CAAC;QAEb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAE,UAAU,CAAE,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAE,0BAA0B,CAAE,CAAC;QAE/C,OAAO,IAAI,CAAC,KAAK,CAAC;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;AACL,CAAC;AAED,MAAM,CAAC,IAAM,UAAU,GAAG;IACtB,eAAe;IAEf,kBAAkB;QACd,+EAA+E;QAC/E,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAEtE,6BAA6B;QAC7B,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;QACpB,KAAK,CAAC,SAAS,GAAG,OAAO,CAAC;IAC9B,CAAC;IAED,OAAO,EAAG;QACN,YAAY,EAAG,KAAK;KACvB;IAED,sDAAsD;IACtD,QAAQ;QACJ,iGAAiG;QACjG,+DAA+D;QAC/D,IAAI,OAAO,EAAE,KAAK,CAAC;QAEnB,MAAM,CAAE,CAAE,CAAE,OAAO,GAAG,IAAI,CAAC,OAAO,CAAE,IAAI,OAAO,CAAC,YAAY,CAAE;YACtD,CAAE,CAAE,KAAK,GAAG,IAAI,CAAC,KAAK,CAAE,IAAI,KAAK,CAAC,aAAa,CAAE,CAAC;IAC9D,CAAC;IAED,oBAAoB;QACR,IAAA,kBAAK,CAAU;QACvB,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,eAAe,CAAC,mDAAmD,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAC5F,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;IACxB,CAAC;CACJ,CAAC;AAEF,MAAM,CAAC,IAAM,0BAA0B,GAAG;IACtC,iBAAiB,gBAAG,CAAC;IAErB,iBAAiB;QACb,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC;IAC9C,CAAC;CACJ,CAAC"} \ No newline at end of file diff --git a/src/react-mvx/define/state.ts b/src/react-mvx/define/state.ts index 8767617..780b581 100644 --- a/src/react-mvx/define/state.ts +++ b/src/react-mvx/define/state.ts @@ -45,7 +45,7 @@ export const StateMixin = { // TBD: Need to figure out a good way of managing local stores. let context, state; - return ( ( context = this.context ) && context._archetypeStore ) || + return ( ( context = this.context ) && context._nestedStore ) || ( ( state = this.state ) && state._defaultStore ); }, diff --git a/submodules/React-MVx b/submodules/React-MVx index 2af7b1e..f6caa5b 160000 --- a/submodules/React-MVx +++ b/submodules/React-MVx @@ -1 +1 @@ -Subproject commit 2af7b1e6795640466f6d8fed5b7b0a42d77e5c81 +Subproject commit f6caa5b20730fd60835f1c2d1e40d61b235b48c1 From 37faf4128ec94c1a89bf1b5d52289ea8dd4401bf Mon Sep 17 00:00:00 2001 From: Vlad Balin Date: Thu, 15 Jun 2017 16:55:54 -0400 Subject: [PATCH 05/25] updated react-mvx --- dist/index.js | 56 +++++++++++++++++++++++++---- dist/index.min.js | 2 +- dist/index.min.js.map | 2 +- docs/config.json | 2 +- lib/react-mvx/component.d.ts | 2 ++ lib/react-mvx/component.js | 13 ++++++- lib/react-mvx/component.js.map | 2 +- lib/react-mvx/define/common.js | 3 +- lib/react-mvx/define/common.js.map | 2 +- lib/react-mvx/valuelink/link.d.ts | 3 ++ lib/react-mvx/valuelink/link.js | 8 ++++- lib/react-mvx/valuelink/link.js.map | 2 +- package.json | 2 +- src/react-mvx/component.ts | 15 ++++++-- src/react-mvx/define/common.ts | 6 +++- src/react-mvx/valuelink/link.ts | 8 ++++- submodules/React-MVx | 2 +- 17 files changed, 108 insertions(+), 22 deletions(-) diff --git a/dist/index.js b/dist/index.js index 51fca09..0463608 100644 --- a/dist/index.js +++ b/dist/index.js @@ -746,8 +746,19 @@ var Component = (function (_super) { }; Component.prototype.linkAll = function () { // Quick and dirty hack to suppres type error - refactor later. - return this.state.linkAll.apply(this, arguments); + var state = this.state; + return state.linkAll.apply(state, arguments); + }; + Component.prototype.linkPath = function (path) { + return this.state.linkPath(path); }; + Object.defineProperty(Component.prototype, "links", { + get: function () { + return this.state._links; + }, + enumerable: true, + configurable: true + }); Component.define = function (protoProps, staticProps) { var BaseClass = __WEBPACK_IMPORTED_MODULE_1_type_r__["tools"].getBaseClass(this), staticsDefinition = __WEBPACK_IMPORTED_MODULE_1_type_r__["tools"].getChangedStatics(this, 'state', 'store', 'props', 'context', 'childContext', 'pureRender'), combinedDefinition = __WEBPACK_IMPORTED_MODULE_1_type_r__["tools"].assign(staticsDefinition, protoProps || {}); var definition = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__define__["c" /* default */])(combinedDefinition, this.prototype); @@ -829,7 +840,8 @@ var CommonMixin = __WEBPACK_IMPORTED_MODULE_0_type_r__["tools"].assign({ if (isRoot) { this.shouldComponentUpdate = returnFalse; } - fun(this.props, this.state); + var _a = this, state = _a.state, store = _a.store, withStore = store ? function (state) { return store.transaction(function () { return fun(state); }); } : fun; + state ? state.transaction(withStore) : withStore(state); if (isRoot) { this.shouldComponentUpdate = shouldComponentUpdate; this.asyncUpdate(); @@ -1362,7 +1374,13 @@ var Link = (function () { // get: function () { var _this = this; - return { value: this.value, onChange: function (e) { return _this.set(e.target.value); } }; + return typeof this.value === 'boolean' ? { + checked: this.value, + onChange: function (e) { return _this.set(Boolean(e.target.checked)); } + } : { + value: this.value, + onChange: function (e) { return _this.set(e.target.value); } + }; }, enumerable: true, configurable: true @@ -1675,11 +1693,14 @@ module.exports = invariant; var emptyFunction = __webpack_require__(21); var invariant = __webpack_require__(22); +var ReactPropTypesSecret = __webpack_require__(24); module.exports = function() { - // Important! - // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`. - function shim() { + function shim(props, propName, componentName, location, propFullName, secret) { + if (secret === ReactPropTypesSecret) { + // It is still safe when called from React. + return; + } invariant( false, 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' + @@ -1691,6 +1712,8 @@ module.exports = function() { function getShim() { return shim; }; + // Important! + // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`. var ReactPropTypes = { array: shim, bool: shim, @@ -1718,6 +1741,27 @@ module.exports = function() { }; +/***/ }), +/* 24 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + */ + + + +var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED'; + +module.exports = ReactPropTypesSecret; + + /***/ }) /******/ ]); }); \ No newline at end of file diff --git a/dist/index.min.js b/dist/index.min.js index 94e0783..66bc069 100644 --- a/dist/index.min.js +++ b/dist/index.min.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("nestedtypes"),require("react"),require("react-dom")):"function"==typeof define&&define.amd?define(["nestedtypes","react","react-dom"],e):"object"==typeof exports?exports.React=e(require("nestedtypes"),require("react"),require("react-dom")):t.React=e(t.Nested,t.React,t.ReactDOM)}(this,function(t,e,n){return function(t){function e(o){if(n[o])return n[o].exports;var r=n[o]={i:o,l:!1,exports:{}};return t[o].call(r.exports,r,r.exports,e),r.l=!0,r.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,o){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:o})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=11)}([function(e,n){e.exports=t},function(t,e,n){"use strict";n.d(e,"h",function(){return c});var o=n(3),r=(n.n(o),n(0)),i=(n.n(r),n(6)),s=n(18),u=n(12);n.o(r,"define")&&n.d(e,"b",function(){return r.define}),n.o(r,"mixins")&&n.d(e,"c",function(){return r.mixins}),n.d(e,"d",function(){return i.a}),n.d(e,"e",function(){return i.b}),n.d(e,"f",function(){return s.a}),n.d(e,"g",function(){return u.a});var a=Object.create(o);a.default=a,a.define=r.define,a.mixins=r.mixins,a.Node=i.a.value(null),a.Element=i.b.value(null),a.Link=s.a,a.Component=u.a;var c=a.assignToState=function(t){return function(e){this.state.assignFrom((n={},n[t]=e&&e instanceof s.a?e.value:e,n));var n}};e.a=a},function(t,e,n){"use strict";function o(t,e){for(var n=null,o=t.mixins.length-1;o>=0;o--){var r=t.mixins[o],i=r[e];i&&(n||(n={}),c.tools.assign(n,i))}var s=t[e];return s&&(n?c.tools.assign(n,s):n=s),n}function r(t){var e,n,o,r={},u=c.Record.defaults(t).prototype;return u.forEachAttr(u._attributes,function(t,u){if("id"!==u){var a=t.value,c=t.type,p=t.options;if(r[u]=s(c,p.isRequired),p._onChange&&(n||(n={}),n[u]=i(p._onChange)),p.changeHandlers&&p.changeHandlers.length&&(o||(o={}),o[u]=p.changeHandlers),p.changeEvents){o||(o={});var f=o[u]||(o[u]=[]),l="string"==typeof p.changeEvents?p.changeEvents:null;f.push(function(t,e,n){e&&n.stopListening(e),t&&n.listenTo(t,l||t._changeEventName,n.asyncUpdate)})}void 0!==a&&(e||(e={}),e[u]=t.convert(a))}}),{propTypes:r,defaults:e,watchers:n,changeHandlers:o}}function i(t){return"function"==typeof t?t:function(e,n){this[t]&&this[t](e,n)}}function s(t,e){var n=u(t);return e?n.isRequired:n}function u(t){switch(t){case Number:case Number.integer:return a.number;case String:return a.string;case Boolean:return a.bool;case Array:return a.array;case Function:return a.func;case Object:return a.object;case p:return a.node;case f:return a.element;case void 0:case null:return a.any;default:return a.instanceOf(t)}}e.c=o,e.d=r,n.d(e,"a",function(){return p}),n.d(e,"b",function(){return f});var a=n(4),c=(n.n(a),n(0)),p=(n.n(c),function(){function t(){}return t}()),f=function(){function t(){}return t}()},function(t,n){t.exports=e},function(t,e,n){t.exports=n(23)()},function(t,e){t.exports=n},function(t,e,n){"use strict";function o(t,e){return void 0===e&&(e={}),t.mixins||(t.mixins=[]),n.i(r.a)(t,e),n.i(i.a)(t,e),n.i(s.a)(t,e),n.i(a.a)(t,e),n.i(u.a)(t,e),t}e.c=o;var r=n(17),i=n(7),s=n(14),u=n(13),a=n(15),c=n(2);n.d(e,"a",function(){return c.a}),n.d(e,"b",function(){return c.b})},function(t,e,n){"use strict";function o(t,e){var o=n.i(r.c)(t,"state");if(o||e.State){var a=e.State||i.Record;t.State=o?"function"==typeof o?o:a.defaults(o):a,t.mixins.push(s),t.mixins.push(u),delete t.state,delete t.attributes}}e.a=o,n.d(e,"c",function(){return s}),n.d(e,"b",function(){return u});var r=n(2),i=n(0),s=(n.n(i),{componentWillMount:function(){var t=this.state=this.props.__keepState||new this.State;t._owner=this,t._ownerKey="state"},context:{_nestedStore:i.Store},getStore:function(){var t,e;return(t=this.context)&&t._nestedStore||(e=this.state)&&e._defaultStore},componentWillUnmount:function(){var t=this.state;t._owner=t._ownerKey=void 0,this._preventDispose||t.dispose(),this.state=void 0}}),u={_onChildrenChange:function(){},componentDidMount:function(){this._onChildrenChange=this.asyncUpdate}}},function(t,e,n){"use strict";function o(t){var e=t.prototype.dispose||function(){},n=t.prototype.setElement,o=t.extend({reactClass:null,props:{},element:null,initialize:function(t){this.options=t||{}},setElement:function(){return this.unmountComponent(!0),n.apply(this,arguments)},component:null,prevState:null,resize:function(){window.Page.forceResize()},render:function(){var t=this.prevState?u.tools.fastAssign({__keepState:this.prevState},this.options):this.options,e=r.createElement(this.reactClass,t),n=s.a.render(e,this.el);this.component||this.mountComponent(n)},mountComponent:function(t){this.component=t,this.prevState=null,t.trigger&&this.listenTo(t,"all",function(){this.trigger.apply(this,arguments)})},unmountComponent:function(t){var e=this.component;e&&(this.prevState=e.state,e.trigger&&this.stopListening(e),e._preventDispose=Boolean(t),s.a.unmountComponentAtNode(this.el),this.component=null)},dispose:function(){return this.unmountComponent(),e.apply(this,arguments)}});return Object.defineProperty(o.prototype,"model",{get:function(){return this.component||this.render(),this.component&&this.component.state}}),o}e.a=o;var r=n(3),i=(n.n(r),n(5)),s=n.n(i),u=n(0);n.n(u);window.Page||(window.Page={forceResize:function(){}})},function(t,e,n){"use strict";function o(t){var e=t.statics,n=s(t,["statics"]),o=[],a=r.g.extend(i({constructor:function(){r.g.apply(this,this.arguments);for(var t=0,e=o;t=0;u--)(r=t[u])&&(s=(i<3?r(s):i>3?r(e,n,s):r(e,n))||s);return i>3&&s&&Object.defineProperty(e,n,s),s},a=this&&this.__rest||function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols)for(var r=0,o=Object.getOwnPropertySymbols(t);r=0)||this;return o.parent=e,o.element=n,o}return r(e,t),e.prototype.set=function(t){var e=this,n=Boolean(t);if(this.value!==n){var o=this.parent.value,r=t?o.concat(this.element):o.filter(function(t){return t!==e.element});this.parent.set(r)}},e}(i),f="Invalid value",l=function(t){function e(e,n){var o=t.call(this,e.value[n])||this;return o.parent=e,o.key=n,o}return r(e,t),e.prototype.remove=function(){this.parent.removeAt(this.key)},e.prototype.set=function(t){var e=this;this.value!==t&&this.parent.update(function(n){return n[e.key]=t,n})},e}(i)},function(t,e,n){"use strict";function o(t){return function(){return t}}var r=function(){};r.thatReturns=o,r.thatReturnsFalse=o(!1),r.thatReturnsTrue=o(!0),r.thatReturnsNull=o(null),r.thatReturnsThis=function(){return this},r.thatReturnsArgument=function(t){return t},t.exports=r},function(t,e,n){"use strict";function o(t,e,n,o,i,s,u,a){if(r(e),!t){var c;if(void 0===e)c=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var p=[n,o,i,s,u,a],f=0;c=new Error(e.replace(/%s/g,function(){return p[f++]})),c.name="Invariant Violation"}throw c.framesToPop=1,c}}var r=function(t){};t.exports=o},function(t,e,n){"use strict";var o=n(21),r=n(22);t.exports=function(){function t(){r(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function e(){return t}t.isRequired=t;var n={array:t,bool:t,func:t,number:t,object:t,string:t,symbol:t,any:t,arrayOf:e,element:t,instanceOf:e,node:t,objectOf:e,oneOf:e,oneOfType:e,shape:e};return n.checkPropTypes=o,n.PropTypes=n,n}}])}); +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("nestedtypes"),require("react"),require("react-dom")):"function"==typeof define&&define.amd?define(["nestedtypes","react","react-dom"],e):"object"==typeof exports?exports.React=e(require("nestedtypes"),require("react"),require("react-dom")):t.React=e(t.Nested,t.React,t.ReactDOM)}(this,function(t,e,n){return function(t){function e(o){if(n[o])return n[o].exports;var r=n[o]={i:o,l:!1,exports:{}};return t[o].call(r.exports,r,r.exports,e),r.l=!0,r.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,o){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:o})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=11)}([function(e,n){e.exports=t},function(t,e,n){"use strict";n.d(e,"h",function(){return c});var o=n(3),r=(n.n(o),n(0)),i=(n.n(r),n(6)),s=n(18),u=n(12);n.o(r,"define")&&n.d(e,"b",function(){return r.define}),n.o(r,"mixins")&&n.d(e,"c",function(){return r.mixins}),n.d(e,"d",function(){return i.a}),n.d(e,"e",function(){return i.b}),n.d(e,"f",function(){return s.a}),n.d(e,"g",function(){return u.a});var a=Object.create(o);a.default=a,a.define=r.define,a.mixins=r.mixins,a.Node=i.a.value(null),a.Element=i.b.value(null),a.Link=s.a,a.Component=u.a;var c=a.assignToState=function(t){return function(e){this.state.assignFrom((n={},n[t]=e&&e instanceof s.a?e.value:e,n));var n}};e.a=a},function(t,e,n){"use strict";function o(t,e){for(var n=null,o=t.mixins.length-1;o>=0;o--){var r=t.mixins[o],i=r[e];i&&(n||(n={}),c.tools.assign(n,i))}var s=t[e];return s&&(n?c.tools.assign(n,s):n=s),n}function r(t){var e,n,o,r={},u=c.Record.defaults(t).prototype;return u.forEachAttr(u._attributes,function(t,u){if("id"!==u){var a=t.value,c=t.type,p=t.options;if(r[u]=s(c,p.isRequired),p._onChange&&(n||(n={}),n[u]=i(p._onChange)),p.changeHandlers&&p.changeHandlers.length&&(o||(o={}),o[u]=p.changeHandlers),p.changeEvents){o||(o={});var f=o[u]||(o[u]=[]),l="string"==typeof p.changeEvents?p.changeEvents:null;f.push(function(t,e,n){e&&n.stopListening(e),t&&n.listenTo(t,l||t._changeEventName,n.asyncUpdate)})}void 0!==a&&(e||(e={}),e[u]=t.convert(a))}}),{propTypes:r,defaults:e,watchers:n,changeHandlers:o}}function i(t){return"function"==typeof t?t:function(e,n){this[t]&&this[t](e,n)}}function s(t,e){var n=u(t);return e?n.isRequired:n}function u(t){switch(t){case Number:case Number.integer:return a.number;case String:return a.string;case Boolean:return a.bool;case Array:return a.array;case Function:return a.func;case Object:return a.object;case p:return a.node;case f:return a.element;case void 0:case null:return a.any;default:return a.instanceOf(t)}}e.c=o,e.d=r,n.d(e,"a",function(){return p}),n.d(e,"b",function(){return f});var a=n(4),c=(n.n(a),n(0)),p=(n.n(c),function(){function t(){}return t}()),f=function(){function t(){}return t}()},function(t,n){t.exports=e},function(t,e,n){t.exports=n(23)()},function(t,e){t.exports=n},function(t,e,n){"use strict";function o(t,e){return void 0===e&&(e={}),t.mixins||(t.mixins=[]),n.i(r.a)(t,e),n.i(i.a)(t,e),n.i(s.a)(t,e),n.i(a.a)(t,e),n.i(u.a)(t,e),t}e.c=o;var r=n(17),i=n(7),s=n(14),u=n(13),a=n(15),c=n(2);n.d(e,"a",function(){return c.a}),n.d(e,"b",function(){return c.b})},function(t,e,n){"use strict";function o(t,e){var o=n.i(r.c)(t,"state");if(o||e.State){var a=e.State||i.Record;t.State=o?"function"==typeof o?o:a.defaults(o):a,t.mixins.push(s),t.mixins.push(u),delete t.state,delete t.attributes}}e.a=o,n.d(e,"c",function(){return s}),n.d(e,"b",function(){return u});var r=n(2),i=n(0),s=(n.n(i),{componentWillMount:function(){var t=this.state=this.props.__keepState||new this.State;t._owner=this,t._ownerKey="state"},context:{_nestedStore:i.Store},getStore:function(){var t,e;return(t=this.context)&&t._nestedStore||(e=this.state)&&e._defaultStore},componentWillUnmount:function(){var t=this.state;t._owner=t._ownerKey=void 0,this._preventDispose||t.dispose(),this.state=void 0}}),u={_onChildrenChange:function(){},componentDidMount:function(){this._onChildrenChange=this.asyncUpdate}}},function(t,e,n){"use strict";function o(t){var e=t.prototype.dispose||function(){},n=t.prototype.setElement,o=t.extend({reactClass:null,props:{},element:null,initialize:function(t){this.options=t||{}},setElement:function(){return this.unmountComponent(!0),n.apply(this,arguments)},component:null,prevState:null,resize:function(){window.Page.forceResize()},render:function(){var t=this.prevState?u.tools.fastAssign({__keepState:this.prevState},this.options):this.options,e=r.createElement(this.reactClass,t),n=s.a.render(e,this.el);this.component||this.mountComponent(n)},mountComponent:function(t){this.component=t,this.prevState=null,t.trigger&&this.listenTo(t,"all",function(){this.trigger.apply(this,arguments)})},unmountComponent:function(t){var e=this.component;e&&(this.prevState=e.state,e.trigger&&this.stopListening(e),e._preventDispose=Boolean(t),s.a.unmountComponentAtNode(this.el),this.component=null)},dispose:function(){return this.unmountComponent(),e.apply(this,arguments)}});return Object.defineProperty(o.prototype,"model",{get:function(){return this.component||this.render(),this.component&&this.component.state}}),o}e.a=o;var r=n(3),i=(n.n(r),n(5)),s=n.n(i),u=n(0);n.n(u);window.Page||(window.Page={forceResize:function(){}})},function(t,e,n){"use strict";function o(t){var e=t.statics,n=s(t,["statics"]),o=[],a=r.g.extend(i({constructor:function(){r.g.apply(this,this.arguments);for(var t=0,e=o;t=0;u--)(r=t[u])&&(s=(i<3?r(s):i>3?r(e,n,s):r(e,n))||s);return i>3&&s&&Object.defineProperty(e,n,s),s},a=this&&this.__rest||function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols)for(var r=0,o=Object.getOwnPropertySymbols(t);r=0)||this;return o.parent=e,o.element=n,o}return r(e,t),e.prototype.set=function(t){var e=this,n=Boolean(t);if(this.value!==n){var o=this.parent.value,r=t?o.concat(this.element):o.filter(function(t){return t!==e.element});this.parent.set(r)}},e}(i),f="Invalid value",l=function(t){function e(e,n){var o=t.call(this,e.value[n])||this;return o.parent=e,o.key=n,o}return r(e,t),e.prototype.remove=function(){this.parent.removeAt(this.key)},e.prototype.set=function(t){var e=this;this.value!==t&&this.parent.update(function(n){return n[e.key]=t,n})},e}(i)},function(t,e,n){"use strict";function o(t){return function(){return t}}var r=function(){};r.thatReturns=o,r.thatReturnsFalse=o(!1),r.thatReturnsTrue=o(!0),r.thatReturnsNull=o(null),r.thatReturnsThis=function(){return this},r.thatReturnsArgument=function(t){return t},t.exports=r},function(t,e,n){"use strict";function o(t,e,n,o,i,s,u,a){if(r(e),!t){var c;if(void 0===e)c=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var p=[n,o,i,s,u,a],f=0;c=new Error(e.replace(/%s/g,function(){return p[f++]})),c.name="Invariant Violation"}throw c.framesToPop=1,c}}var r=function(t){};t.exports=o},function(t,e,n){"use strict";var o=n(21),r=n(22),i=n(24);t.exports=function(){function t(t,e,n,o,s,u){u!==i&&r(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function e(){return t}t.isRequired=t;var n={array:t,bool:t,func:t,number:t,object:t,string:t,symbol:t,any:t,arrayOf:e,element:t,instanceOf:e,node:t,objectOf:e,oneOf:e,oneOfType:e,shape:e};return n.checkPropTypes=o,n.PropTypes=n,n}},function(t,e,n){"use strict";t.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"}])}); //# sourceMappingURL=index.min.js.map \ No newline at end of file diff --git a/dist/index.min.js.map b/dist/index.min.js.map index 548809b..d5b0ef1 100644 --- a/dist/index.min.js.map +++ b/dist/index.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///dist/index.min.js","webpack:///webpack/bootstrap 7acc21a1886d20557cc3","webpack:///external {\"commonjs\":\"nestedtypes\",\"commonjs2\":\"nestedtypes\",\"amd\":\"nestedtypes\",\"root\":\"Nested\"}","webpack:///./lib/react-mvx/index.js","webpack:///./lib/react-mvx/define/typeSpecs.js","webpack:///external {\"commonjs\":\"react\",\"commonjs2\":\"react\",\"amd\":\"react\",\"root\":\"React\"}","webpack:///./~/prop-types/index.js","webpack:///external {\"commonjs\":\"react-dom\",\"commonjs2\":\"react-dom\",\"amd\":\"react-dom\",\"root\":\"ReactDOM\"}","webpack:///./lib/react-mvx/define/index.js","webpack:///./lib/react-mvx/define/state.js","webpack:///./lib/component-view.js","webpack:///./lib/createClass.js","webpack:///./lib/view-element.js","webpack:///./lib/index.js","webpack:///./lib/react-mvx/component.js","webpack:///./lib/react-mvx/define/common.js","webpack:///./lib/react-mvx/define/context.js","webpack:///./lib/react-mvx/define/props.js","webpack:///./lib/react-mvx/define/pureRender.js","webpack:///./lib/react-mvx/define/store.js","webpack:///./lib/react-mvx/link.js","webpack:///./lib/react-mvx/valuelink/helpers.js","webpack:///./lib/react-mvx/valuelink/link.js","webpack:///./~/fbjs/lib/emptyFunction.js","webpack:///./~/fbjs/lib/invariant.js","webpack:///./~/prop-types/factoryWithThrowingShims.js"],"names":["root","factory","exports","module","require","define","amd","this","__WEBPACK_EXTERNAL_MODULE_0__","__WEBPACK_EXTERNAL_MODULE_3__","__WEBPACK_EXTERNAL_MODULE_5__","modules","__webpack_require__","moduleId","installedModules","i","l","call","m","c","value","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","__webpack_exports__","assignToState","__WEBPACK_IMPORTED_MODULE_0_react__","__WEBPACK_IMPORTED_MODULE_1_type_r__","__WEBPACK_IMPORTED_MODULE_2__define__","__WEBPACK_IMPORTED_MODULE_3__link__","__WEBPACK_IMPORTED_MODULE_4__component__","ReactMVx","create","default","mixins","Node","Element","Link","Component","key","prop","state","assignFrom","_a","collectSpecs","spec","attributes","length","mixin","mixinAttrs","assign","specAttrs","compileSpecs","props","defaults","watchers","changeHandlers","propTypes","modelProto","forEachAttr","_attributes","type","options","translateType","isRequired","_onChange","toLocalWatcher","changeEvents","handlers","changeEvents_1","push","next","prev","component","stopListening","listenTo","_changeEventName","asyncUpdate","convert","ref","Type","T","_translateType","Number","integer","__WEBPACK_IMPORTED_MODULE_0_prop_types__","String","Boolean","Array","Function","process","baseProto","__WEBPACK_IMPORTED_MODULE_0__store__","__WEBPACK_IMPORTED_MODULE_1__state__","__WEBPACK_IMPORTED_MODULE_2__context__","__WEBPACK_IMPORTED_MODULE_4__props__","__WEBPACK_IMPORTED_MODULE_3__common__","__WEBPACK_IMPORTED_MODULE_5__typeSpecs__","__WEBPACK_IMPORTED_MODULE_0__typeSpecs__","State","BaseModel","StateMixin","UpdateOnNestedChangesMixin","componentWillMount","__keepState","_owner","_ownerKey","context","_nestedStore","getStore","_defaultStore","componentWillUnmount","_preventDispose","dispose","_onChildrenChange","componentDidMount","use","View","setElement","ComponentView","extend","reactClass","element","initialize","unmountComponent","apply","arguments","prevState","resize","window","Page","forceResize","render","__WEBPACK_IMPORTED_MODULE_2_type_r__","fastAssign","__WEBPACK_IMPORTED_MODULE_1_react_dom___default","a","el","mountComponent","trigger","keepModel","unmountComponentAtNode","__WEBPACK_IMPORTED_MODULE_1_react_dom__","createClass","statics","a_spec","__rest","methods","Subclass","__WEBPACK_IMPORTED_MODULE_0__react_mvx__","__assign","constructor","_i","methods_1","method","bind","Proto","dontAutobind","indexOf","t","e","getOwnPropertySymbols","__extends","extendStatics","setPrototypeOf","__proto__","b","__","notEqual","BackboneView","_super","_this","saveRef","shouldComponentUpdate","hasUnsavedChanges","view","createElement","className","_mountView","componentDidUpdate","_dispose","appendChild","off","innerHTML","useView","BaseView","__WEBPACK_IMPORTED_MODULE_5__component_view__","__WEBPACK_IMPORTED_MODULE_2_type_r___default","__WEBPACK_IMPORTED_MODULE_3_prop_types__","__WEBPACK_IMPORTED_MODULE_4__view_element__","__WEBPACK_IMPORTED_MODULE_6__createClass__","NestedReact","subview","protoProps","staticProps","RecordProto","getLink","linkAt","deepLink","linkPath","CollectionProto","Collection","hasLink","linkContains","BackboneViewProps","findDOMNode","$el","$","sel","find","defineProperties","__decorate","decorators","target","desc","r","getOwnPropertyDescriptor","Reflect","decorate","reactMixinRules","componentWillReceiveProps","componentWillUpdate","store","childContext","getChildContext","linkAll","staticsDefinition","getBaseClass","getChangedStatics","combinedDefinition","definition","getDefaultProps","contextTypes","childContextTypes","protoDefinition","defaultProps","x","_disposed","compile","CommonMixin","returnFalse","forceUpdate","__WEBPACK_IMPORTED_MODULE_0_type_r__","transaction","fun","isRoot","_b","_context","_c","_childContext","pureRender","_props","_listenToPropsArray","_listenToPropsHash","allProps","_e","defaults_1","unshift","WatchersMixin","_watchers","ChangeHandlersMixin","_changeHandlers","__WEBPACK_IMPORTED_MODULE_1__pureRender__","handlePropsChanges","name_1","handler","name_2","name_3","createPureRenderMixin","ctorBody","isChangedBody","propExpr","ChangeTokens","join","isChanged","_changeTokens","nextProps","ExternalStoreMixin","Store","InternalStoreMixin","__WEBPACK_IMPORTED_MODULE_2__state__","ExposeStoreMixin","getLinksCache","record","_links","Attributes","cacheLink","links","cached","RecordLink","__WEBPACK_IMPORTED_MODULE_1__valuelink_link__","mixTo","path","RecordDeepLink","attr","set","_error","getValidationError","deepGet","deepValidationError","_changeToken","deepSet","CollectionLink","collection","_byId","cid","toggle","helpers","getPrototypeOf","ArrayProto","arrayHelpers","ObjectProto","objectHelpers","dummyHelpers","clone","map","link","remove","iterator","mapped","at","cloned","array","slice","splice","j","y","__WEBPACK_IMPORTED_MODULE_0__helpers__","CustomLink","error","onChange","CloneLink","requestChange","update","transform","pipe","action","equals","truthyValue","EqualsLink","enabled","defaultValue","EnabledLink","contains","ContainsLink","removeAt","_","LinkAt","pick","check","whenValid","defaultError","parent","arr","nextValue","concat","filter","makeEmptyFunction","arg","emptyFunction","thatReturns","thatReturnsFalse","thatReturnsTrue","thatReturnsNull","thatReturnsThis","thatReturnsArgument","invariant","condition","format","f","validateFormat","undefined","Error","args","argIndex","replace","framesToPop","shim","getShim","ReactPropTypes","bool","func","number","string","symbol","any","arrayOf","instanceOf","node","objectOf","oneOf","oneOfType","shape","checkPropTypes","PropTypes"],"mappings":"CAAA,SAAAA,EAAAC,GACA,gBAAAC,UAAA,gBAAAC,QACAA,OAAAD,QAAAD,EAAAG,QAAA,eAAAA,QAAA,SAAAA,QAAA,cACA,kBAAAC,gBAAAC,IACAD,QAAA,mCAAAJ,GACA,gBAAAC,SACAA,QAAA,MAAAD,EAAAG,QAAA,eAAAA,QAAA,SAAAA,QAAA,cAEAJ,EAAA,MAAAC,EAAAD,EAAA,OAAAA,EAAA,MAAAA,EAAA,WACCO,KAAA,SAAAC,EAAAC,EAAAC,GACD,MCAgB,UAAUC,GCN1B,QAAAC,GAAAC,GAGA,GAAAC,EAAAD,GACA,MAAAC,GAAAD,GAAAX,OAGA,IAAAC,GAAAW,EAAAD,IACAE,EAAAF,EACAG,GAAA,EACAd,WAUA,OANAS,GAAAE,GAAAI,KAAAd,EAAAD,QAAAC,IAAAD,QAAAU,GAGAT,EAAAa,GAAA,EAGAb,EAAAD,QAvBA,GAAAY,KA+DA,OAnCAF,GAAAM,EAAAP,EAGAC,EAAAO,EAAAL,EAGAF,EAAAG,EAAA,SAAAK,GAA2C,MAAAA,IAG3CR,EAAAS,EAAA,SAAAnB,EAAAoB,EAAAC,GACAX,EAAAY,EAAAtB,EAAAoB,IACAG,OAAAC,eAAAxB,EAAAoB,GACAK,cAAA,EACAC,YAAA,EACAC,IAAAN,KAMAX,EAAAkB,EAAA,SAAA3B,GACA,GAAAoB,GAAApB,KAAA4B,WACA,WAA2B,MAAA5B,GAAA,SAC3B,WAAiC,MAAAA,GAEjC,OADAS,GAAAS,EAAAE,EAAA,IAAAA,GACAA,GAIAX,EAAAY,EAAA,SAAAQ,EAAAC,GAAsD,MAAAR,QAAAS,UAAAC,eAAAlB,KAAAe,EAAAC,IAGtDrB,EAAAwB,EAAA,GAGAxB,IAAAyB,EAAA,MDgBM,SAAUlC,EAAQD,GEhFxBC,EAAAD,QAAAM,GFsFM,SAAUL,EAAQmC,EAAqB1B,GAE7C,YAC+BA,GAAoBS,EAAEiB,EAAqB,IAAK,WAAa,MAAOC,IAC9E,IAAIC,GAAsC5B,EAAoB,GAE1D6B,GAD8C7B,EAAoBkB,EAAEU,GAC7B5B,EAAoB,IAE3D8B,GAD+C9B,EAAoBkB,EAAEW,GAC7B7B,EAAoB,IAC5D+B,EAAsC/B,EAAoB,IAC1DgC,EAA2ChC,EAAoB,GACpDA,GAAoBY,EAAEiB,EAAsC,WAAW7B,EAAoBS,EAAEiB,EAAqB,IAAK,WAAa,MAAOG,GAA6C,SACxL7B,EAAoBY,EAAEiB,EAAsC,WAAW7B,EAAoBS,EAAEiB,EAAqB,IAAK,WAAa,MAAOG,GAA6C,SAC3L7B,EAAoBS,EAAEiB,EAAqB,IAAK,WAAa,MAAOI,GAAyC,IAC7G9B,EAAoBS,EAAEiB,EAAqB,IAAK,WAAa,MAAOI,GAAyC,IAC7G9B,EAAoBS,EAAEiB,EAAqB,IAAK,WAAa,MAAOK,GAAuC,IAC3G/B,EAAoBS,EAAEiB,EAAqB,IAAK,WAAa,MAAOM,GAA4C,GGhGjJ,IAAAC,GAAApB,OAAAqB,OAAAN,EAEAK,GAAAE,QAAAF,EAEAA,EAAAxC,OAAAoC,EAAA,OACAI,EAAAG,OAAAP,EAAA,OACAI,EAAAI,KAAAP,EAAA,EAAAtB,MAAA,MACAyB,EAAAK,QAAAR,EAAA,EAAAtB,MAAA,MACAyB,EAAAM,KAAAR,EAAA,EACAE,EAAAO,UAAAR,EAAA,CACA,IAAAL,GAAAM,EAAAN,cAAA,SAAAc,GACA,gBAAAC,GACA/C,KAAAgD,MAAAC,YAAAC,KAAsCA,EAAAJ,GAAAC,eAAAX,GAAA,EAAAW,EAAAlC,MAAAkC,EAAAG,GACtC,IAAAA,IAGAnB,GAAA,KH6GM,SAAUnC,EAAQmC,EAAqB1B,GAE7C,YInIA,SAAA8C,GAAAC,EAAArC,GAGA,OAFAsC,GAAA,KAEA7C,EAAA4C,EAAAX,OAAAa,OAAA,EAAwC9C,GAAA,EAAQA,IAAA,CAChD,GAAA+C,GAAAH,EAAAX,OAAAjC,GAAAgD,EAAAD,EAAAxC,EACAyC,KACAH,UACAnB,EAAA,MAAAuB,OAAAJ,EAAAG,IAIA,GAAAE,GAAAN,EAAArC,EASA,OARA2C,KACAL,EACAnB,EAAA,MAAAuB,OAAAJ,EAAAK,GAGAL,EAAAK,GAGAL,EAEA,QAAAM,GAAAC,GACA,GAGAC,GAAAC,EAAAC,EAHAC,KAEAC,EAAA/B,EAAA,OAAA2B,SAAAD,GAAAjC,SAkCA,OAhCAsC,GAAAC,YAAAD,EAAAE,YAAA,SAAAf,EAAArC,GAEA,UAAAA,EAAA,CACA,GAAAF,GAAAuC,EAAAvC,MAAAuD,EAAAhB,EAAAgB,KAAAC,EAAAjB,EAAAiB,OAaA,IAXAL,EAAAjD,GAAAuD,EAAAF,EAAAC,EAAAE,YACAF,EAAAG,YACAV,UACAA,EAAA/C,GAAA0D,EAAAJ,EAAAG,YAGAH,EAAAN,gBAAAM,EAAAN,eAAAT,SACAS,UACAA,EAAAhD,GAAAsD,EAAAN,gBAGAM,EAAAK,aAAA,CACAX,SACA,IAAAY,GAAAZ,EAAAhD,KAAAgD,EAAAhD,OAAA6D,EAAA,gBAAAP,GAAAK,aAAAL,EAAAK,aAAA,IACAC,GAAAE,KAAA,SAAAC,EAAAC,EAAAC,GACAD,GAAAC,EAAAC,cAAAF,GACAD,GAAAE,EAAAE,SAAAJ,EAAAF,GAAAE,EAAAK,iBAAAH,EAAAI,mBAIA,KAAAvE,IAEAgD,UACAA,EAAA9C,GAAAqC,EAAAiC,QAAAxE,QAIYmD,YAAAH,WAAAC,WAAAC,kBAEZ,QAAAU,GAAAa,GACA,wBAAAA,KAAA,SAAAzE,EAAAE,GACAf,KAAAsF,IAAAtF,KAAAsF,GAAAzE,EAAAE,IAeA,QAAAuD,GAAAiB,EAAAhB,GACA,GAAAiB,GAAAC,EAAAF,EACA,OAAAhB,GAAAiB,EAAAjB,WAAAiB,EAEA,QAAAC,GAAAF,GACA,OAAAA,GACA,IAAAG,QACA,IAAAA,QAAAC,QACA,MAAAC,GAAA,MACA,KAAAC,QACA,MAAAD,GAAA,MACA,KAAAE,SACA,MAAAF,GAAA,IACA,KAAAG,OACA,MAAAH,GAAA,KACA,KAAAI,UACA,MAAAJ,GAAA,IACA,KAAA1E,QACA,MAAA0E,GAAA,MACA,KAAAlD,GACA,MAAAkD,GAAA,IACA,KAAAjD,GACA,MAAAiD,GAAA,OACA,aACA,UACA,MAAAA,GAAA,GACA,SACA,MAAAA,GAAA,WAAAL,IJ2BiCxD,EAAuB,EAAIoB,EAC3BpB,EAAuB,EAAI4B,EAC7BtD,EAAoBS,EAAEiB,EAAqB,IAAK,WAAa,MAAOW,KACpErC,EAAoBS,EAAEiB,EAAqB,IAAK,WAAa,MAAOY,IAC9E,IAAIiD,GAA2CvF,EAAoB,GAE/D6B,GADmD7B,EAAoBkB,EAAEqE,GAClCvF,EAAoB,IIxEpFqC,GJyEwErC,EAAoBkB,EAAEW,GIzE9F,WACA,QAAAQ,MAEA,MAAAA,OAGAC,EAAA,WACA,QAAAA,MAEA,MAAAA,OJmLM,SAAU/C,EAAQD,GKhQxBC,EAAAD,QAAAO,GLsQM,SAAUN,EAAQD,EAASU,GM1OjCT,EAAAD,QAAAU,EAAA,ON8QM,SAAUT,EAAQD,GO1SxBC,EAAAD,QAAAQ,GPgTM,SAAUP,EAAQmC,EAAqB1B,GAE7C,YQ7SA,SAAA4F,GAAA7C,EAAA8C,GASA,WARA,KAAAA,IAA+BA,MAE/B9C,EAAAX,SAAAW,EAAAX,WACApC,EAAAG,EAAA2F,EAAA,GAAA/C,EAAA8C,GACA7F,EAAAG,EAAA4F,EAAA,GAAAhD,EAAA8C,GACA7F,EAAAG,EAAA6F,EAAA,GAAAjD,EAAA8C,GACA7F,EAAAG,EAAA8F,EAAA,GAAAlD,EAAA8C,GACA7F,EAAAG,EAAA+F,EAAA,GAAAnD,EAAA8C,GACA9C,ERqSiCrB,EAAuB,EAAIkE,CACvC,IAAIE,GAAuC9F,EAAoB,IAC3D+F,EAAuC/F,EAAoB,GAC3DgG,EAAyChG,EAAoB,IAC7DkG,EAAwClG,EAAoB,IAC5DiG,EAAuCjG,EAAoB,IAC3DmG,EAA2CnG,EAAoB,EACvDA,GAAoBS,EAAEiB,EAAqB,IAAK,WAAa,MAAOyE,GAA4C,IAChHnG,EAAoBS,EAAEiB,EAAqB,IAAK,WAAa,MAAOyE,GAA4C,KAuB3I,SAAU5G,EAAQmC,EAAqB1B,GAE7C,YS/UA,SAAA4F,GAAA7C,EAAA8C,GAEA,GAAA7C,GAAAhD,EAAAG,EAAAiG,EAAA,GAAArD,EAAA,QACA,IAAAC,GAAA6C,EAAAQ,MAAA,CACA,GAAAC,GAAAT,EAAAQ,OAAAxE,EAAA,MACAkB,GAAAsD,MAAArD,EAAA,kBAAAA,KAAAsD,EAAA9C,SAAAR,GAAAsD,EACAvD,EAAAX,OAAAoC,KAAA+B,GACAxD,EAAAX,OAAAoC,KAAAgC,SACAzD,GAAAJ,YACAI,GAAAC,YTuUiCtB,EAAuB,EAAIkE,EAC7B5F,EAAoBS,EAAEiB,EAAqB,IAAK,WAAa,MAAO6E,KACpEvG,EAAoBS,EAAEiB,EAAqB,IAAK,WAAa,MAAO8E,IAC9E,IAAIJ,GAA2CpG,EAAoB,GSxVxF6B,EAAA7B,EAAA,GAiBAuG,GAjBAvG,EAAAkB,EAAAW,IAmBA4E,mBAAA,WAEA,GAAA9D,GAAAhD,KAAAgD,MAAAhD,KAAA4D,MAAAmD,aAAA,GAAA/G,MAAA0G,KAEA1D,GAAAgE,OAAAhH,KACAgD,EAAAiE,UAAA,SAEAC,SACAC,aAAAjF,EAAA,OAGAkF,SAAA,WAGA,GAAAF,GAAAlE,CACA,QAAAkE,EAAAlH,KAAAkH,YAAAC,eACAnE,EAAAhD,KAAAgD,UAAAqE,eAEAC,qBAAA,WACA,GAAAtE,GAAAhD,KAAAgD,KACAA,GAAAgE,OAAAhE,EAAAiE,cAAA,GACAjH,KAAAuH,iBAAAvE,EAAAwE,UACAxH,KAAAgD,UAAA,MAGA6D,GACAY,kBAAA,aACAC,kBAAA,WACA1H,KAAAyH,kBAAAzH,KAAAoF,eTkWM,SAAUxF,EAAQmC,EAAqB1B,GAE7C,YU/YA,SAAAsH,GAAAC,GACA,GAAAJ,GAAAI,EAAAjG,UAAA6F,SAAA,aAA2DK,EAAAD,EAAAjG,UAAAkG,WAC3DC,EAAAF,EAAAG,QACAC,WAAA,KACApE,SACAqE,QAAA,KACAC,WAAA,SAAAtE,GAEA5D,KAAAqE,QAAAT,OAEAiE,WAAA,WAEA,MADA7H,MAAAmI,kBAAA,GACAN,EAAAO,MAAApI,KAAAqI,YAGArD,UAAA,KACAsD,UAAA,KACAC,OAAA,WACAC,OAAAC,KAAAC,eAEAC,OAAA,WACA,GAAAtE,GAAArE,KAAAsI,UAAAM,EAAA,MAAAC,YAA6D9B,YAAA/G,KAAAsI,WAA8BtI,KAAAqE,SAAArE,KAAAqE,QAAA4D,EAAAhG,EAAA,cAAAjC,KAAAgI,WAAA3D,GAAAW,EAAA8D,EAAAC,EAAAJ,OAAAV,EAAAjI,KAAAgJ,GAC3FhJ,MAAAgF,WAAAhF,KAAAiJ,eAAAjE,IAEAiE,eAAA,SAAAjE,GACAhF,KAAAgF,YACAhF,KAAAsI,UAAA,KACAtD,EAAAkE,SAAAlJ,KAAAkF,SAAAF,EAAA,iBACAhF,KAAAkJ,QAAAd,MAAApI,KAAAqI,cAGAF,iBAAA,SAAAgB,GACA,GAAAnE,GAAAhF,KAAAgF,SACAA,KACAhF,KAAAsI,UAAAtD,EAAAhC,MACAgC,EAAAkE,SACAlJ,KAAAiF,cAAAD,GAEAA,EAAAuC,gBAAAzB,QAAAqD,GACAL,EAAAC,EAAAK,uBAAApJ,KAAAgJ,IACAhJ,KAAAgF,UAAA,OAGAwC,QAAA,WAEA,MADAxH,MAAAmI,mBACAX,EAAAY,MAAApI,KAAAqI,aASA,OANAnH,QAAAC,eAAA2G,EAAAnG,UAAA,SACAL,IAAA,WAEA,MADAtB,MAAAgF,WAAAhF,KAAA2I,SACA3I,KAAAgF,WAAAhF,KAAAgF,UAAAhC,SAGA8E,EV0ViC/F,EAAuB,EAAI4F,CACvC,IAAI1F,GAAsC5B,EAAoB,GAE1DgJ,GAD8ChJ,EAAoBkB,EAAEU,GAC1B5B,EAAoB,IAC9DyI,EAAkDzI,EAAoBkB,EAAE8H,GACxET,EAAuCvI,EAAoB,EACZA,GAAoBkB,EAAEqH,EUvZ9FJ,QAAAC,OAAAD,OAAAC,MAA+BC,YAAA,gBVwdzB,SAAU9I,EAAQmC,EAAqB1B,GAE7C,YWlcA,SAAAiJ,GAAApG,GACA,GAAAqG,GAAArG,EAAAqG,QAAAC,EAAAC,EAAAvG,GAAA,YAEAwG,KACAC,EAAAC,EAAA,EAAA7B,OAAA8B,GAEAC,YAAA,WACAF,EAAA,EAAAxB,MAAApI,UAAAqI,UACA,QAAA0B,GAAA,EAAAC,EAAAN,EAAiDK,EAAAC,EAAA1G,OAAuByG,IAAA,CACxE,GAAAE,GAAAD,EAAAD,EACA/J,MAAAiK,GAAAjK,KAAAiK,GAAAC,KAAAlK,SAEWwJ,GAAAD,GAEXY,EAAAR,EAAAhI,SACA,QAAAmB,KAAAqH,GACAA,EAAAvI,eAAAkB,KAAA,IAAAsH,EAAAC,QAAAvH,IAAA,kBAAAqH,GAAArH,IACA4G,EAAA7E,KAAA/B,EAGA,OAAA6G,GX+aiC5H,EAAuB,EAAIuH,CW9d5D,IAAAM,GAAAvJ,EAAA,GAAAwJ,EAAA7J,WAAA6J,UAAA3I,OAAAuC,QAAA,SAAA6G,GACA,OAAAxI,GAAAtB,EAAA,EAAAe,EAAA8G,UAAA/E,OAA4C9C,EAAAe,EAAOf,IAAA,CACnDsB,EAAAuG,UAAA7H,EACA,QAAAqB,KAAAC,GAAAZ,OAAAS,UAAAC,eAAAlB,KAAAoB,EAAAD,KACAyI,EAAAzI,GAAAC,EAAAD,IAEA,MAAAyI,IAEAb,EAAAzJ,WAAAyJ,QAAA,SAAA3H,EAAAyI,GACA,GAAAD,KACA,QAAAzI,KAAAC,GAAAZ,OAAAS,UAAAC,eAAAlB,KAAAoB,EAAAD,IAAA0I,EAAAF,QAAAxI,GAAA,IACAyI,EAAAzI,GAAAC,EAAAD,GACA,UAAAC,GAAA,kBAAAZ,QAAAsJ,sBACA,OAAAhK,GAAA,EAAAqB,EAAAX,OAAAsJ,sBAAA1I,GAA4DtB,EAAAqB,EAAAyB,OAAc9C,IAAA+J,EAAAF,QAAAxI,EAAArB,IAAA,IAC1E8J,EAAAzI,EAAArB,IAAAsB,EAAAD,EAAArB,IACA,OAAA8J,IAGAF,GACA,8BACA,6FACA,kEACA,+CX+fM,SAAUxK,EAAQmC,EAAqB1B,GAE7C,YACqB,IAAIuJ,GAA2CvJ,EAAoB,GYxhBxF6B,EAAA7B,EAAA,GAAAoK,GAAApK,EAAAkB,EAAAW,GAAAlC,WAAAyK,WAAA,WACA,GAAAC,GAAAxJ,OAAAyJ,iBACUC,uBAAgB7E,QAAA,SAAAjF,EAAA+J,GAAsC/J,EAAA8J,UAAAC,IAChE,SAAA/J,EAAA+J,GAAyB,OAAAhJ,KAAAgJ,KAAAjJ,eAAAC,KAAAf,EAAAe,GAAAgJ,EAAAhJ,IACzB,iBAAAf,EAAA+J,GAEA,QAAAC,KAAuB9K,KAAA8J,YAAAhJ,EADvB4J,EAAA5J,EAAA+J,GAEA/J,EAAAa,UAAA,OAAAkJ,EAAA3J,OAAAqB,OAAAsI,IAAAC,EAAAnJ,UAAAkJ,EAAAlJ,UAAA,GAAAmJ,SAKAC,EAAA7I,EAAA,MAAA6I,SACAC,EAAA,SAAAC,GAEA,QAAAD,KACA,GAAAE,GAAA,OAAAD,KAAA7C,MAAApI,KAAAqI,YAAArI,IAIA,OAHAkL,GAAAC,QAAA,SAAAlD,GACAiD,EAAAzL,KAAAwI,GAEAiD,EA8CA,MApDAT,GAAAO,EAAAC,GAQAD,EAAArJ,UAAAyJ,sBAAA,SAAAtG,GACA,GAAAlB,GAAA5D,KAAA4D,KACA,OAAAkB,GAAA8C,OAAAhE,EAAAgE,MAAAmD,EAAAjG,EAAAT,QAAAT,EAAAS,UAEA2G,EAAArJ,UAAA0J,kBAAA,WACA,GAAAC,GAAAtL,KAAAsL,IACA,OAAAA,KAAA,kBAAAA,GAAAD,kBAAAC,EAAAD,oBAAAC,EAAAD,oBAEAL,EAAArJ,UAAAgH,OAAA,WACA,MAAAiB,GAAA,EAAA2B,cAAA,OACAjG,IAAAtF,KAAAmL,QACAK,UAAAxL,KAAA4D,MAAA4H,aAGAR,EAAArJ,UAAA+F,kBAAA,WACA1H,KAAAyL,cAEAT,EAAArJ,UAAA+J,mBAAA,WACA1L,KAAA2L,WACA3L,KAAAyL,cAEAT,EAAArJ,UAAA2F,qBAAA,WACAtH,KAAA2L,YAEAX,EAAArJ,UAAA8J,WAAA,WACA,GAAAzC,GAAAhJ,KAAAP,KAAAoC,EAAA7B,KAAA4D,MACA0H,EAAAtL,KAAAsL,KAAAzJ,EAAAwC,QAAA,GAAAxC,GAAA+F,KAAA/F,EAAAwC,SAAA,GAAAxC,GAAA+F,IACAoB,GAAA4C,YAAAN,EAAAtC,IACAsC,EAAA3C,UAEAqC,EAAArJ,UAAAgK,SAAA,WACA,GAAAL,GAAAtL,KAAAsL,IACAA,KACAA,EAAA9D,QACA8D,EAAA9D,WAGA8D,EAAArG,gBACAqG,EAAAO,OAEA7L,KAAAP,KAAAqM,UAAA,GACA9L,KAAAsL,KAAA,OAGAN,GACCpB,EAAA,EAAA/G,UACDd,GAAA,KZgiBM,SAAUnC,EAAQmC,EAAqB1B,GAE7C,YanlBA,SAAA0L,GAAAnE,GACAoE,EAAA3L,EAAAG,EAAAyL,EAAA,GAAArE,GbmlBA1G,OAAOC,eAAeY,EAAqB,cAAgBlB,OAAO,IACjCkB,EAA6B,QAAIgK,CAC7C,IAAInC,GAA2CvJ,EAAoB,EACzCA,GAAoBS,EAAEiB,EAAqB,SAAU,WAAa,MAAO6H,GAA4C,IACrHvJ,EAAoBS,EAAEiB,EAAqB,SAAU,WAAa,MAAO6H,GAA4C,IACrHvJ,EAAoBS,EAAEiB,EAAqB,OAAQ,WAAa,MAAO6H,GAA4C,IACnHvJ,EAAoBS,EAAEiB,EAAqB,UAAW,WAAa,MAAO6H,GAA4C,IACtHvJ,EAAoBS,EAAEiB,EAAqB,OAAQ,WAAa,MAAO6H,GAA4C,IACnHvJ,EAAoBS,EAAEiB,EAAqB,YAAa,WAAa,MAAO6H,GAA4C,IACxHvJ,EAAoBS,EAAEiB,EAAqB,gBAAiB,WAAa,MAAO6H,GAA4C,GACtJ,IAAIP,GAA0ChJ,EAAoB,GAC9DyI,EAAkDzI,EAAoBkB,EAAE8H,GACxET,EAAuCvI,EAAoB,GAC3D6L,EAA+C7L,EAAoBkB,EAAEqH,GACrEuD,EAA2C9L,EAAoB,GAE/D+L,GADmD/L,EAAoBkB,EAAE4K,GAC3B9L,EAAoB,IAC1DA,GAAoBS,EAAEiB,EAAqB,UAAW,WAAa,MAAOqK,GAA+C,GACrI,IAAIH,GAAgD5L,EAAoB,GACpEgM,EAA6ChM,EAAoB,EACnDA,GAAoBS,EAAEiB,EAAqB,YAAa,WAAa,MAAOoK,Ka3nBnH9L,EAAAS,EAAAiB,EAAA,+BAAAsK,GAAA,GAEA,IAAAC,GAAApL,OAAAqB,OAAAqH,EAAA,Eb8nB6B7H,GAA6B,QAAI,EatnB9DuK,EAAAC,QAAAH,EAAA,EAIAE,EAAAhD,YAAA+C,EAAA,EACAnL,OAAAC,eAAAmL,EAAA,aAAiDzL,MAAAsL,GAEjD,IAAAH,GAKAlM,EAAAwM,EAAAzJ,UAAA/C,MACAwM,GAAAzJ,UAAA/C,OAAA,SAAA0M,EAAAC,GAEA,MADAzM,MAAA4H,KAAAoE,EAAAjE,QAAiCC,WAAAhI,OACjCF,EAAAY,KAAAV,KAAAwM,EAAAC,GAGA,IAAAC,GAAA9D,EAAA,OAAAjH,SACA+K,GAAAC,QAAAD,EAAAE,OACAF,EAAAG,SAAAH,EAAAI,QACA,IAAAC,GAAAnE,EAAA,OAAAoE,WAAArL,SACAoL,GAAAE,QAAAF,EAAAG,aACAnB,EAAAnD,EAAA,KAEA,IAAAuE,IACAnE,IAAS1H,IAAA,WAAmB,MAAAwH,GAAAC,EAAAqE,YAAApN,QAC5BqN,KAAU/L,IAAA,WAAmB,MAAA4K,GAAAnD,EAAAuE,EAAAtN,KAAAgJ,MAC7BsE,GAAQzM,MAAA,SAAA0M,GAAwB,MAAAvN,MAAAqN,IAAAG,KAAAD,KAEhCrM,QAAAuM,iBAAAnB,EAAAzJ,UAAAlB,UAAAwL,IbkoBM,SAAUvN,EAAQmC,EAAqB1B,GAE7C,YAC+BA,GAAoBS,EAAEiB,EAAqB,IAAK,WAAa,MAAOc,IAC9E,IAAIZ,GAAsC5B,EAAoB,GAE1D6B,GAD8C7B,EAAoBkB,EAAEU,GAC7B5B,EAAoB,IchrBpF8B,GdirBwE9B,EAAoBkB,EAAEW,GcjrB9F7B,EAAA,IAGAoK,EAAAzK,WAAAyK,WAAA,WACA,GAAAC,GAAAxJ,OAAAyJ,iBACUC,uBAAgB7E,QAAA,SAAAjF,EAAA+J,GAAsC/J,EAAA8J,UAAAC,IAChE,SAAA/J,EAAA+J,GAAyB,OAAAhJ,KAAAgJ,KAAAjJ,eAAAC,KAAAf,EAAAe,GAAAgJ,EAAAhJ,IACzB,iBAAAf,EAAA+J,GAEA,QAAAC,KAAuB9K,KAAA8J,YAAAhJ,EADvB4J,EAAA5J,EAAA+J,GAEA/J,EAAAa,UAAA,OAAAkJ,EAAA3J,OAAAqB,OAAAsI,IAAAC,EAAAnJ,UAAAkJ,EAAAlJ,UAAA,GAAAmJ,QAGA4C,EAAA1N,WAAA0N,YAAA,SAAAC,EAAAC,EAAA9K,EAAA+K,GACA,GAAA/M,GAAAF,EAAAyH,UAAA/E,OAAAwK,EAAAlN,EAAA,EAAAgN,EAAA,OAAAC,IAAA3M,OAAA6M,yBAAAH,EAAA9K,GAAA+K,CACA,oBAAAG,UAAA,kBAAAA,SAAAC,SAAAH,EAAAE,QAAAC,SAAAN,EAAAC,EAAA9K,EAAA+K,OACA,QAAArN,GAAAmN,EAAArK,OAAA,EAA4C9C,GAAA,EAAQA,KAAAM,EAAA6M,EAAAnN,MAAAsN,GAAAlN,EAAA,EAAAE,EAAAgN,GAAAlN,EAAA,EAAAE,EAAA8M,EAAA9K,EAAAgL,GAAAhN,EAAA8M,EAAA9K,KAAAgL,EACpD,OAAAlN,GAAA,GAAAkN,GAAA5M,OAAAC,eAAAyM,EAAA9K,EAAAgL,MAEArE,EAAAzJ,WAAAyJ,QAAA,SAAA3H,EAAAyI,GACA,GAAAD,KACA,QAAAzI,KAAAC,GAAAZ,OAAAS,UAAAC,eAAAlB,KAAAoB,EAAAD,IAAA0I,EAAAF,QAAAxI,GAAA,IACAyI,EAAAzI,GAAAC,EAAAD,GACA,UAAAC,GAAA,kBAAAZ,QAAAsJ,sBACA,OAAAhK,GAAA,EAAAqB,EAAAX,OAAAsJ,sBAAA1I,GAA4DtB,EAAAqB,EAAAyB,OAAc9C,IAAA+J,EAAAF,QAAAxI,EAAArB,IAAA,IAC1E8J,EAAAzI,EAAArB,IAAAsB,EAAAD,EAAArB,IACA,OAAA8J,IAKA4D,GACApH,mBAAA,UACAY,kBAAA,UACAyG,0BAAA,UACA/C,sBAAA,OACAgD,oBAAA,UACA1C,mBAAA,UACApE,qBAAA,WACAtE,MAAA,QACAqL,MAAA,QACAzK,MAAA,QACAsD,QAAA,QACAoH,aAAA,QACAC,gBAAA,iBAEA1L,EAAA,SAAAoI,GAEA,QAAApI,KACA,cAAAoI,KAAA7C,MAAApI,KAAAqI,YAAArI,KA6BA,MA/BAyK,GAAA5H,EAAAoI,GAIApI,EAAAlB,UAAAiL,OAAA,SAAA9J,GAEA,MAAA9C,MAAAgD,MAAA4J,OAAA9J,IAEAD,EAAAlB,UAAA6M,QAAA,WAEA,MAAAxO,MAAAgD,MAAAwL,QAAApG,MAAApI,KAAAqI,YAEAxF,EAAA/C,OAAA,SAAA0M,EAAAC,GACA,GAAAgC,IAAAvM,EAAA,MAAAwM,aAAA1O,MAAAkC,EAAA,MAAAyM,kBAAA3O,KAAA,gEAAA4O,EAAA1M,EAAA,MAAAuB,OAAAgL,EAAAjC,OACAqC,EAAAxO,EAAAG,EAAA2B,EAAA,GAAAyM,EAAA5O,KAAA2B,WACAmN,EAAAD,EAAAC,gBAAA9K,EAAA6K,EAAA7K,UAAA+K,EAAAF,EAAAE,aAAAC,EAAAH,EAAAG,kBAAAC,EAAAxF,EAAAoF,GAAA,kEAUA,OATAC,KACA9O,KAAAkP,aAAAL,EAAAC,mBACA9K,IACAhE,KAAAgE,aACA+K,IACA/O,KAAA+O,gBACAC,IACAhP,KAAAgP,qBACA9M,EAAA,QAAApC,OAAAY,KAAAV,KAAAiP,EAAAxC,GACAzM,MAEA6C,EAAAlB,UAAAK,cAAA,SAAAmN,EAAArM,GACA9C,KAAAgD,MAAAC,YAAAC,KAAsCA,EAAAJ,GAAAqM,EAAAjM,GACtC,IAAAA,IAEAL,GACCZ,EAAA,UACDY,GAAA6K,GACAxL,EAAA,WACA7B,EAAAG,EAAA0B,EAAA,YAAAgM,IACArL,GAIA3B,OAAAC,eAAA0B,EAAAlB,UAAA,aACAd,MAAA,WACA,OAAAb,KAAAoP,cd0rBM,SAAUxP,EAAQmC,EAAqB1B,GAE7C,YejxBA,SAAAgP,GAAAjM,EAAA8C,GAEA9C,EAAAX,OAAAoC,KAAAyK,GAEA,QAAAlK,KACApF,KAAAoL,wBAAAmE,GAAAvP,KAAAoP,WAAApP,KAAAwP,cAEA,QAAAD,KAAwB,Sf2wBSxN,EAAuB,EAAIsN,CetxB5D,IAAAI,GAAApP,EAAA,GAeAiP,GAfAjP,EAAAkB,EAAAkO,GAeAA,EAAA,MAAAhM,QACA6D,qBAAA,WAEAtH,KAAA6L,MACA7L,KAAAiF,gBAEAjF,KAAAoP,WAAA,GAGAhK,cAQAsK,YAAA,SAAAC,GACA,GAAAvE,GAAApL,KAAAoL,sBAAAwE,EAAAxE,IAAAmE,CACAK,KACA5P,KAAAoL,sBAAAmE,GAEAI,EAAA3P,KAAA4D,MAAA5D,KAAAgD,OACA4M,IACA5P,KAAAoL,wBACApL,KAAAoF,iBAGCqK,EAAA,Uf+xBK,SAAU7P,EAAQmC,EAAqB1B,GAE7C,YgBn0BA,SAAA4F,GAAA7C,EAAAF,GACA,GAAA2M,GAAA3M,EAAA4M,eAAA,KAAAD,KAAuDA,EAAAE,EAAA7M,EAAA8M,oBAAA,KAAAD,KAAgEA,EAEvH7I,EAAA7G,EAAAG,EAAAiG,EAAA,GAAArD,EAAA,UACA8D,KACA9D,EAAA0M,SAAAjG,KAAmCiG,EAAA5I,GACnC9D,EAAA2L,aAAA1O,EAAAG,EAAAiG,EAAA,GAAAS,GAAAlD,gBACAZ,GAAA8D,QAGA,IAAAoH,GAAAjO,EAAAG,EAAAiG,EAAA,GAAArD,EAAA,eACAkL,KACAlL,EAAA4M,cAAAnG,KAAwCmG,EAAA1B,GACxClL,EAAA4L,kBAAA3O,EAAAG,EAAAiG,EAAA,GAAA6H,GAAAtK,gBACAZ,GAAAkL,chBszBiCvM,EAAuB,EAAIkE,CgB70B5D,IAAAQ,GAAApG,EAAA,GAAAwJ,EAAA7J,WAAA6J,UAAA3I,OAAAuC,QAAA,SAAA6G,GACA,OAAAxI,GAAAtB,EAAA,EAAAe,EAAA8G,UAAA/E,OAA4C9C,EAAAe,EAAOf,IAAA,CACnDsB,EAAAuG,UAAA7H,EACA,QAAAqB,KAAAC,GAAAZ,OAAAS,UAAAC,eAAAlB,KAAAoB,EAAAD,KACAyI,EAAAzI,GAAAC,EAAAD,IAEA,MAAAyI,KhBu2BM,SAAU1K,EAAQmC,EAAqB1B,GAE7C,YiBh2BA,SAAA4F,GAAA7C,EAAAF,GACA,GAAA+M,GAAA/M,EAAA+M,WAAAJ,EAAA3M,EAAAgN,aAAA,KAAAL,KAA+EA,EAE/EjM,GAF+EV,EAAAiN,oBAAAjN,EAAAkN,mBAE/E/P,EAAAG,EAAAiG,EAAA,GAAArD,EAAA,SACA,IAAAQ,EAAA,CACA,GAAAyM,GAAAjN,EAAA8M,OAAArG,KAAgDqG,EAAAtM,GAChD0M,EAAAjQ,EAAAG,EAAAiG,EAAA,GAAA4J,GAAArM,EAAAsM,EAAAtM,UAAAuM,EAAAD,EAAAzM,SAAAC,EAAAwM,EAAAxM,SAAAC,EAAAuM,EAAAvM,cACAX,GAAAY,YACAuM,IACAnN,EAAA0L,gBAAA,WAAgD,MAAAyB,KAChDzM,IACAV,EAAAX,OAAA+N,QAAAC,GACArN,EAAAsN,UAAA5M,GAEAC,IACAX,EAAAX,OAAA+N,QAAAG,GACAvN,EAAAwN,gBAAA7M,SAEAX,GAAAQ,MAGAR,EAAA8M,SAAA9M,EAAA6M,gBACA7M,EAAAX,OAAAoC,KAAAxE,EAAAG,EAAAqQ,EAAA,GAAAzN,EAAA8M,SAkBA,QAAAY,GAAA9L,EAAAD,EAAAD,GACA,GAAA8L,GAAA5L,EAAA4L,eACA,QAAAG,KAAAH,GACA,GAAA7L,EAAAgM,KAAAjM,EAAAiM,GACA,OAAAhH,GAAA,EAAA7G,EAAA0N,EAAAG,GAA0DhH,EAAA7G,EAAAI,OAAgByG,IAAA,CAC1E,GAAAiH,GAAA9N,EAAA6G,EACAiH,GAAAlM,EAAAiM,GAAAhM,EAAAgM,GAAA/L,IjBmzBiCjD,EAAuB,EAAIkE,CACvC,IAAIQ,GAA2CpG,EAAoB,GiBj3BxFwQ,EAAAxQ,EAAA,IAKAwJ,EAAA7J,WAAA6J,UAAA3I,OAAAuC,QAAA,SAAA6G,GACA,OAAAxI,GAAAtB,EAAA,EAAAe,EAAA8G,UAAA/E,OAA4C9C,EAAAe,EAAOf,IAAA,CACnDsB,EAAAuG,UAAA7H,EACA,QAAAqB,KAAAC,GAAAZ,OAAAS,UAAAC,eAAAlB,KAAAoB,EAAAD,KACAyI,EAAAzI,GAAAC,EAAAD,IAEA,MAAAyI,IAiCAqG,GACAjJ,kBAAA,WACAoJ,EAAA9Q,QAAmCA,KAAA4D,QAEnC8H,mBAAA,SAAA3G,GACA+L,EAAA9Q,KAAA+E,EAAA/E,KAAA4D,QAEA0D,qBAAA,WACAwJ,EAAA9Q,UAAA4D,YAkBA6M,GACAtC,0BAAA,SAAArJ,GACA,GAAA5B,GAAAlD,KAAA0Q,EAAAxN,EAAAwN,UAAA9M,EAAAV,EAAAU,KACA,QAAAqN,KAAAP,GACA5L,EAAAmM,KAAArN,EAAAqN,IACAP,EAAAO,GAAAvQ,KAAAV,KAAA8E,EAAAmM,OAIAnK,mBAAA,WACA,GAAA5D,GAAAlD,KAAA0Q,EAAAxN,EAAAwN,UAAA9M,EAAAV,EAAAU,KACA,QAAAsN,KAAAR,GACAA,EAAAQ,GAAAxQ,KAAAV,KAAA4D,EAAAsN,SjB23BM,SAAUtR,EAAQmC,EAAqB1B,GAE7C,YkB/8BA,SAAA8Q,GAAAvN,GACA,GAAAwN,IAAA,wCAA2BC,GAAA,iDAC3B,QAAAN,KAAAnN,GAAA,CACA,GAAA0N,GAAA,aAAAP,EAAA,4BACAK,GAAAvM,KAAA,QAAAkM,EAAA,KAAAO,GACAD,EAAAxM,KAAA,KAAAkM,EAAA,SAAAO,EAAA,KAEA,GAAAC,GAAA,GAAAvL,UAAA,QAAAoL,EAAAI,KAAA,MAA8DC,EAAA,GAAAzL,UAAA,YAAAqL,EAAAG,KAAA,MAE9D,OADAD,GAAA5P,UAAA,MAEA+P,cAAA,KACAtG,sBAAA,SAAAuG,GACA,MAAAF,GAAAzR,KAAA0R,cAAAC,EAAA3R,KAAAgD,QAEA0E,kBAAA,WACA1H,KAAA0R,cAAA,GAAAH,GAAAvR,KAAA4D,MAAA5D,KAAAgD,QAEA0I,mBAAA,WACA1L,KAAA0R,cAAA,GAAAH,GAAAvR,KAAA4D,MAAA5D,KAAAgD,SlB87BiCjB,EAAuB,EAAIoP,GA4BtD,SAAUvR,EAAQmC,EAAqB1B,GAE7C,YmB3+BA,SAAA4F,GAAA7C,EAAA8C,GACA,GAAAmI,GAAAhO,EAAAG,EAAAiG,EAAA,GAAArD,EAAA,QACAiL,WACAjL,GAAAiL,MACAA,YAAAnM,GAAA,OAEAkB,EAAAiL,QACAjL,EAAAX,OAAAoC,KAAA+M,KAGAxO,EAAAyO,MAAAxD,EACAjL,EAAAX,OAAAoC,KAAAiN,GACA1O,EAAAX,OAAAoC,KAAAkN,EAAA,IAEA3O,EAAAX,OAAAoC,KAAAmN,InB89BiCjQ,EAAuB,EAAIkE,CACvC,IAAIQ,GAA2CpG,EAAoB,GAC/D6B,EAAuC7B,EAAoB,GAE3D0R,GAD+C1R,EAAoBkB,EAAEW,GAC9B7B,EAAoB,ImB59BpF2R,GACA1D,cACAnH,aAAAjF,EAAA,OAEAqM,gBAAA,WACA,OAAgBpH,aAAAnH,KAAAqO,QAEhBjH,SAAA,WACA,MAAApH,MAAAqO,OAGA/M,IAAA,SAAAwB,GAEA,GAAAuL,GAAA0D,EAAA,EAAA3K,SAAA1G,KAAAV,KAAA8C,EACA,OAAAuL,MAAA/M,IAAAwB,KAOA8O,GACAlK,kBAAA,WAEA1H,KAAAkF,SAAAlF,KAAAqO,MAAA,SAAArO,KAAAoF,eAGA0M,GACAhL,mBAAA,WACA,GAAAuH,GAAArO,KAAAqO,MAAA,GAAArO,MAAA6R,KACAxD,GAAArH,OAAAhH,KACAqO,EAAApH,UAAA,SAEAK,qBAAA,WACAtH,KAAAqO,MAAApH,UAAAjH,KAAAqO,MAAArH,WAAA,GACAhH,KAAAqO,MAAA7G,UACAxH,KAAAqO,UAAA,MnB2/BM,SAAUzO,EAAQmC,EAAqB1B,GAE7C,YoBz8BA,SAAA4R,GAAAC,GACA,MAAAA,GAAAC,SAAAD,EAAAC,OAAA,GAAAD,GAAAE,gBAEA,QAAAC,GAAAC,EAAAJ,EAAApP,GACA,GAAAyP,GAAAD,EAAAxP,GAAAjC,EAAAqR,EAAApP,EACA,OAAAyP,MAAA1R,UAAA0R,EACAD,EAAAxP,GAAA,GAAA0P,GAAAN,EAAApP,EAAAjC,GpBo8BqB,GAAI4O,GAAuCpP,EAAoB,GoBzjCpFoS,GpB0jCwEpS,EAAoBkB,EAAEkO,GoB1jC9FpP,EAAA,KAIAoK,EAAAzK,WAAAyK,WAAA,WACA,GAAAC,GAAAxJ,OAAAyJ,iBACUC,uBAAgB7E,QAAA,SAAAjF,EAAA+J,GAAsC/J,EAAA8J,UAAAC,IAChE,SAAA/J,EAAA+J,GAAyB,OAAAhJ,KAAAgJ,KAAAjJ,eAAAC,KAAAf,EAAAe,GAAAgJ,EAAAhJ,IACzB,iBAAAf,EAAA+J,GAEA,QAAAC,KAAuB9K,KAAA8J,YAAAhJ,EADvB4J,EAAA5J,EAAA+J,GAEA/J,EAAAa,UAAA,OAAAkJ,EAAA3J,OAAAqB,OAAAsI,IAAAC,EAAAnJ,UAAAkJ,EAAAlJ,UAAA,GAAAmJ,OAKA/I,GAAA,EAAA0Q,EAAA,EACAhD,EAAA,QAAAiD,MAAAD,EAAA,GAIAhD,EAAA,OAAAhN,QAEAmK,OAAA,SAAA9J,GACA,MAAAuP,GAAAJ,EAAAjS,WAAA8C,IAGAgK,SAAA,SAAA6F,EAAAtO,GACA,UAAAuO,GAAA5S,KAAA2S,EAAAtO,IAGAmK,QAAA,WACA,GAAA8D,GAAAL,EAAAjS,KACA,IAAAqI,UAAA/E,OACA,OAAA9C,GAAA,EAA2BA,EAAA6H,UAAA/E,OAAsB9C,IACjD6R,EAAAC,EAAAtS,KAAAqI,UAAA7H,QAGA,CACA,GAAA6C,GAAArD,KAAAqD,UACA,QAAAP,KAAAO,OACA,KAAAA,EAAAP,IAAAuP,EAAAC,EAAAtS,KAAA8C,GAGA,MAAAwP,KAQA,IAAAE,GAAA,SAAAvH,GAEA,QAAAuH,GAAAN,EAAAW,EAAAhS,GACA,GAAAqK,GAAAD,EAAAvK,KAAAV,KAAAa,IAAAb,IAGA,OAFAkL,GAAAgH,SACAhH,EAAA2H,OACA3H,EAiBA,MAtBAT,GAAA+H,EAAAvH,GAOAuH,EAAA7Q,UAAAmR,IAAA,SAAA3D,GACAnP,KAAAkS,OAAAlS,KAAA6S,MAAA1D,GAEAjO,OAAAC,eAAAqR,EAAA7Q,UAAA,SACAL,IAAA,WACA,gBAAAtB,KAAA+S,OACA/S,KAAAkS,OAAAc,mBAAAhT,KAAA6S,MACA7S,KAAA+S,QAEAD,IAAA,SAAA3D,GACAnP,KAAA+S,OAAA5D,GAEA9N,YAAA,EACAD,cAAA,IAEAoR,GACCC,EAAA,GACDG,EAAA,SAAA3H,GAEA,QAAA2H,GAAAV,EAAAS,EAAAtO,GACA,GAAA6G,GAAAD,EAAAvK,KAAAV,KAAAkS,EAAAe,QAAAN,KAAA3S,IAIA,OAHAkL,GAAAgH,SACAhH,EAAAyH,OACAzH,EAAA7G,UACA6G,EAyBA,MA/BAT,GAAAmI,EAAA3H,GAQA/J,OAAAC,eAAAyR,EAAAjR,UAAA,SACAL,IAAA,WAIA,WAHA,KAAAtB,KAAA+S,SACA/S,KAAA+S,OAAA/S,KAAAkS,OAAAgB,oBAAAlT,KAAA2S,OAAA,MAEA3S,KAAA+S,QAEAD,IAAA,SAAA3D,GACAnP,KAAA+S,OAAA5D,GAEA9N,YAAA,EACAD,cAAA,IAEAF,OAAAC,eAAAyR,EAAAjR,UAAA,gBACAL,IAAA,WACA,MAAAtB,MAAAkS,OAAAiB,cAEA9R,YAAA,EACAD,cAAA,IAEAwR,EAAAjR,UAAAmR,IAAA,SAAA3D,GACAnP,KAAAkS,OAAAkB,QAAApT,KAAA2S,KAAAxD,EAAAnP,KAAAqE,UAEAuO,GACCH,EAAA,EAYDhD,GAAA,OAAAzC,WAAAvK,QAEAyK,aAAA,SAAAgF,GACA,UAAAmB,GAAArT,KAAAkS,IAGAtF,OAAA,SAAA7J,GACA,GAAAmI,GAAAlL,IACA,OAAAyS,GAAA,EAAA5R,MAAAb,KAAA+C,GAAA,SAAAoM,GAAoD,MAAAjE,GAAAnI,GAAAoM,MAQpD,IAAAkE,GAAA,SAAApI,GAEA,QAAAoI,GAAAC,EAAApB,GACA,GAAAhH,GAAAD,EAAAvK,KAAAV,KAAA8F,QAAAwN,EAAAC,MAAArB,EAAAsB,QAAAxT,IAGA,OAFAkL,GAAAoI,aACApI,EAAAgH,SACAhH,EAKA,MAVAT,GAAA4I,EAAApI,GAOAoI,EAAA1R,UAAAmR,IAAA,SAAA3D,GACAnP,KAAAsT,WAAAG,OAAAzT,KAAAkS,OAAA/C,IAEAkE,GACCZ,EAAA,IpBikCK,SAAU7S,EAAQmC,EAAqB1B,GAE7C,YqBxtCA,SAAAqT,GAAA7S,GACA,GAAAA,GAAA,gBAAAA,GACA,OAAAK,OAAAyS,eAAA9S,IACA,IAAA+S,GAAA,MAAAC,EACA,KAAAC,GAAA,MAAAC,GAGA,MAAAC,GrBktCiCjS,EAAuB,EAAI2R,EqB1tC5DrT,EAAAS,EAAAiB,EAAA,qBAAA8R,IAAA,IAAAD,GAAA7N,MAAApE,UAAAmS,EAAA5S,OAAAS,UAWAqS,GACAC,MAAA,SAAApT,GAA6B,MAAAA,IAC7BqT,IAAA,SAAAC,EAAAxE,GAA+B,UAC/ByE,OAAA,SAAAvT,GAA8B,MAAAA,KAG9BkT,GAEAG,IAAA,SAAAC,EAAAE,GACA,GAAAC,KACA,QAAAxR,KAAAqR,GAAAtT,MAAA,CACA,GAAAoH,GAAAoM,EAAAF,EAAAI,GAAAzR,UACA,KAAAmF,GAAAqM,EAAAzP,KAAAoD,GAEA,MAAAqM,IAEAF,OAAA,SAAA3S,EAAAqB,GAEA,aADArB,GAAAqB,GACArB,GAGAwS,MAAA,SAAAxS,GACA,GAAA+S,KACA,QAAA1R,KAAArB,GACA+S,EAAA1R,GAAArB,EAAAqB,EAEA,OAAA0R,KAIAX,GAEAI,MAAA,SAAAQ,GACA,MAAAA,GAAAC,SAEAN,OAAA,SAAAK,EAAAjU,GAEA,MADAiU,GAAAE,OAAAnU,EAAA,GACAiU,GAGAP,IAAA,SAAAC,EAAAE,GAEA,OADA/Q,GAAA6Q,EAAAtT,MAAAyC,OAAAgR,EAAAvO,MAAAzC,GACA9C,EAAA,EAAAoU,EAAA,EAA8BpU,EAAA8C,EAAY9C,IAAA,CAC1C,GAAAqU,GAAAR,EAAAF,EAAAI,GAAA/T,UACA,KAAAqU,IAAAP,EAAAM,KAAAC,GAGA,MADAP,GAAAhR,SAAAsR,IAAAN,EAAAhR,OAAAsR,GACAN,KrBouCM,SAAU1U,EAAQmC,EAAqB1B,GAE7C,YAC+BA,GAAoBS,EAAEiB,EAAqB,IAAK,WAAa,MAAOa,IsBjyCnG,IAAAkS,GAAAzU,EAAA,IAAAoK,EAAAzK,WAAAyK,WAAA,WACA,GAAAC,GAAAxJ,OAAAyJ,iBACUC,uBAAgB7E,QAAA,SAAAjF,EAAA+J,GAAsC/J,EAAA8J,UAAAC,IAChE,SAAA/J,EAAA+J,GAAyB,OAAAhJ,KAAAgJ,KAAAjJ,eAAAC,KAAAf,EAAAe,GAAAgJ,EAAAhJ,IACzB,iBAAAf,EAAA+J,GAEA,QAAAC,KAAuB9K,KAAA8J,YAAAhJ,EADvB4J,EAAA5J,EAAA+J,GAEA/J,EAAAa,UAAA,OAAAkJ,EAAA3J,OAAAqB,OAAAsI,IAAAC,EAAAnJ,UAAAkJ,EAAAlJ,UAAA,GAAAmJ,QAUAlI,EAAA,WAEA,QAAAA,GAAA/B,GACAb,KAAAa,QA0GA,MAvGA+B,GAAA/B,MAAA,SAAAA,EAAAiS,GACA,UAAAiC,GAAAlU,EAAAiS,IAEA5R,OAAAC,eAAAyB,EAAAjB,UAAA,mBAEAL,IAAA,WAA0B,MAAAtB,MAAAgV,OAC1B3T,YAAA,EACAD,cAAA,IAEAwB,EAAAjB,UAAAsT,SAAA,SAAAjE,GACA,GAAA9F,GAAAlL,IACA,WAAAkV,GAAAlV,KAAA,SAAAmP,GACA6B,EAAA7B,GACAjE,EAAA4H,IAAA3D,MAGAjO,OAAAC,eAAAyB,EAAAjB,UAAA,SAEAL,IAAA,WACA,GAAA4J,GAAAlL,IACA,QAAoBa,MAAAb,KAAAa,MAAAoU,SAAA,SAAA1K,GAA4C,MAAAW,GAAA4H,IAAAvI,EAAAqD,OAAA/M,UAEhEQ,YAAA,EACAD,cAAA,IAGAwB,EAAAjB,UAAAwT,cAAA,SAAAhG,GACAnP,KAAA8S,IAAA3D,IAGAvM,EAAAjB,UAAAyT,OAAA,SAAAC,EAAA9K,GACA,GAAAzF,GAAAuQ,EAAArV,KAAAiU,QAAA1J,OACA,KAAAzF,GAAA9E,KAAA8S,IAAAhO,IAGAlC,EAAAjB,UAAA2T,KAAA,SAAAtE,GACA,GAAA9F,GAAAlL,IACA,WAAAkV,GAAAlV,KAAA,SAAAmP,GACA,GAAArK,GAAAkM,EAAA7B,EAAAjE,EAAArK,WACA,KAAAiE,GAAAoG,EAAA4H,IAAAhO,MAIAlC,EAAAjB,UAAA4T,OAAA,SAAAF,GACA,GAAAnK,GAAAlL,IACA,iBAAAuK,GAA6B,MAAAW,GAAAkK,OAAAC,EAAA9K,KAE7B3H,EAAAjB,UAAA6T,OAAA,SAAAC,GACA,UAAAC,GAAA1V,KAAAyV,IAEA7S,EAAAjB,UAAAgU,QAAA,SAAAC,GACA,UAAAC,GAAA7V,KAAA4V,GAAA,KAGAhT,EAAAjB,UAAAmU,SAAA,SAAA7N,GACA,UAAA8N,GAAA/V,KAAAiI,IAEArF,EAAAjB,UAAAkD,KAAA,WACA,GAAA4P,GAAAK,EAAA,EAAAb,MAAAjU,KAAAa,MACAkF,OAAApE,UAAAkD,KAAAuD,MAAAqM,EAAApM,WACArI,KAAA8S,IAAA2B,IAEA7R,EAAAjB,UAAA6O,QAAA,WACA,GAAAiE,GAAAK,EAAA,EAAAb,MAAAjU,KAAAa,MACAkF,OAAApE,UAAA6O,QAAApI,MAAAqM,EAAApM,WACArI,KAAA8S,IAAA2B,IAEA7R,EAAAjB,UAAAgT,OAAA,WACA,GAAAF,GAAAK,EAAA,EAAAb,MAAAjU,KAAAa,MACAkF,OAAApE,UAAAgT,OAAAvM,MAAAqM,EAAApM,WACArI,KAAA8S,IAAA2B,IAEA7R,EAAAjB,UAAAuS,IAAA,SAAAG,GACA,MAAAhU,GAAAG,EAAAsU,EAAA,GAAA9U,KAAAa,OAAAqT,IAAAlU,KAAAqU,IAEAzR,EAAAjB,UAAAqU,SAAA,SAAAlT,GACA,GAAAjC,GAAAb,KAAAa,MAAAoV,EAAA5V,EAAAG,EAAAsU,EAAA,GAAAjU,EACAb,MAAA8S,IAAAmD,EAAA7B,OAAA6B,EAAAhC,MAAApT,GAAAiC,KAEAF,EAAAjB,UAAA4S,GAAA,SAAAzR,GACA,UAAAoT,GAAAlW,KAAA8C,IAEAF,EAAAjB,UAAAsS,MAAA,WACA,GAAApT,GAAAb,KAAAa,KACA,OAAAR,GAAAG,EAAAsU,EAAA,GAAAjU,GAAAoT,MAAApT,IAEA+B,EAAAjB,UAAAwU,KAAA,WAEA,OADA7D,MACA9R,EAAA,EAAuBA,EAAA6H,UAAA/E,OAAsB9C,IAAA,CAC7C,GAAAsC,GAAAuF,UAAA7H,EACA8R,GAAAxP,GAAA,GAAAoT,GAAAlW,KAAA8C,GAEA,MAAAwP,IAKA1P,EAAAjB,UAAAyU,MAAA,SAAAC,EAAArB,GAIA,MAHAhV,MAAAgV,OAAAqB,EAAArW,KAAAa,SACAb,KAAAgV,SAAAqB,EAAArB,OAAAsB,GAEAtW,MAEA4C,KAGAmS,EAAA,SAAA9J,GAEA,QAAA8J,GAAAlU,EAAAiS,GACA,GAAA5H,GAAAD,EAAAvK,KAAAV,KAAAa,IAAAb,IAEA,OADAkL,GAAA4H,MACA5H,EAGA,MAPAT,GAAAsK,EAAA9J,GAMA8J,EAAApT,UAAAmR,IAAA,SAAA3D,KACA4F,GACCnS,GAEDsS,EAAA,SAAAjK,GAEA,QAAAiK,GAAAqB,EAAAzD,GACA,GAAA5H,GAAAD,EAAAvK,KAAAV,KAAAuW,EAAA1V,QAAAb,IACAkL,GAAA4H,KACA,IAAAkC,GAAAuB,EAAAvB,KAGA,OAFAA,KACA9J,EAAA8J,SACA9J,EAGA,MAVAT,GAAAyK,EAAAjK,GASAiK,EAAAvT,UAAAmR,IAAA,SAAA3D,KACA+F,GACCtS,GAED8S,EAAA,SAAAzK,GAEA,QAAAyK,GAAAa,EAAAd,GACA,GAAAvK,GAAAD,EAAAvK,KAAAV,KAAAuW,EAAA1V,QAAA4U,IAAAzV,IAGA,OAFAkL,GAAAqL,SACArL,EAAAuK,cACAvK,EAKA,MAVAT,GAAAiL,EAAAzK,GAOAyK,EAAA/T,UAAAmR,IAAA,SAAA3D,GACAnP,KAAAuW,OAAAzD,IAAA3D,EAAAnP,KAAAyV,YAAA,OAEAC,GACC9S,GAEDiT,EAAA,SAAA5K,GAEA,QAAA4K,GAAAU,EAAAX,GACA,GAAA1K,GAAAD,EAAAvK,KAAAV,KAAA,MAAAuW,EAAA1V,QAAAb,IAGA,OAFAkL,GAAAqL,SACArL,EAAA0K,eACA1K,EAKA,MAVAT,GAAAoL,EAAA5K,GAOA4K,EAAAlU,UAAAmR,IAAA,SAAA3D,GACAnP,KAAAuW,OAAAzD,IAAA3D,EAAAnP,KAAA4V,aAAA,OAEAC,GACCjT,GAEDmT,EAAA,SAAA9K,GAEA,QAAA8K,GAAAQ,EAAAtO,GACA,GAAAiD,GAAAD,EAAAvK,KAAAV,KAAAuW,EAAA1V,MAAAwJ,QAAApC,IAAA,IAAAjI,IAGA,OAFAkL,GAAAqL,SACArL,EAAAjD,UACAiD,EAUA,MAfAT,GAAAsL,EAAA9K,GAOA8K,EAAApU,UAAAmR,IAAA,SAAA3D,GACA,GAAAjE,GAAAlL,KACA8E,EAAAgB,QAAAqJ,EACA,IAAAnP,KAAAa,QAAAiE,EAAA,CACA,GAAA0R,GAAAxW,KAAAuW,OAAA1V,MAAA4V,EAAAtH,EAAAqH,EAAAE,OAAA1W,KAAAiI,SAAAuO,EAAAG,OAAA,SAAA3N,GAA8G,MAAAA,KAAAkC,EAAAjD,SAC9GjI,MAAAuW,OAAAzD,IAAA2D,KAGAV,GACCnT,GAED0T,EAAA,gBAKAJ,EAAA,SAAAjL,GAEA,QAAAiL,GAAAK,EAAAzT,GACA,GAAAoI,GAAAD,EAAAvK,KAAAV,KAAAuW,EAAA1V,MAAAiC,KAAA9C,IAGA,OAFAkL,GAAAqL,SACArL,EAAApI,MACAoI,EAgBA,MArBAT,GAAAyL,EAAAjL,GAOAiL,EAAAvU,UAAAyS,OAAA,WACApU,KAAAuW,OAAAP,SAAAhW,KAAA8C,MAGAoT,EAAAvU,UAAAmR,IAAA,SAAA3D,GACA,GAAAjE,GAAAlL,IACAA,MAAAa,QAAAsO,GACAnP,KAAAuW,OAAAnB,OAAA,SAAAvU,GAEA,MADAA,GAAAqK,EAAApI,KAAAqM,EACAtO,KAKAqV,GACCtT,ItB+yCK,SAAUhD,EAAQD,EAASU,GAEjC,YuBzgDA,SAAAuW,GAAAC,GACA,kBACA,MAAAA,IASA,GAAAC,GAAA,YAEAA,GAAAC,YAAAH,EACAE,EAAAE,iBAAAJ,GAAA,GACAE,EAAAG,gBAAAL,GAAA,GACAE,EAAAI,gBAAAN,EAAA,MACAE,EAAAK,gBAAA,WACA,MAAAnX,OAEA8W,EAAAM,oBAAA,SAAAP,GACA,MAAAA,IAGAjX,EAAAD,QAAAmX,GvB2hDM,SAAUlX,EAAQD,EAASU,GAEjC,YwBjiDA,SAAAgX,GAAAC,EAAAC,EAAAxO,EAAA8B,EAAAjK,EAAAE,EAAAyJ,EAAAiN,GAGA,GAFAC,EAAAF,IAEAD,EAAA,CACA,GAAAtC,EACA,QAAA0C,KAAAH,EACAvC,EAAA,GAAA2C,OAAA,qIACK,CACL,GAAAC,IAAA7O,EAAA8B,EAAAjK,EAAAE,EAAAyJ,EAAAiN,GACAK,EAAA,CACA7C,GAAA,GAAA2C,OAAAJ,EAAAO,QAAA,iBACA,MAAAF,GAAAC,QAEA7C,EAAAjU,KAAA,sBAIA,KADAiU,GAAA+C,YAAA,EACA/C,GA3BA,GAAAyC,GAAA,SAAAF,IA+BA3X,GAAAD,QAAA0X,GxBukDM,SAAUzX,EAAQD,EAASU,GAEjC,YyBpnDA,IAAAyW,GAAAzW,EAAA,IACAgX,EAAAhX,EAAA,GAEAT,GAAAD,QAAA,WAGA,QAAAqY,KACAX,GACA,EACA,mLAMA,QAAAY,KACA,MAAAD,GAFAA,EAAAzT,WAAAyT,CAIA,IAAAE,IACAzD,MAAAuD,EACAG,KAAAH,EACAI,KAAAJ,EACAK,OAAAL,EACAvW,OAAAuW,EACAM,OAAAN,EACAO,OAAAP,EAEAQ,IAAAR,EACAS,QAAAR,EACAhQ,QAAA+P,EACAU,WAAAT,EACAU,KAAAX,EACAY,SAAAX,EACAY,MAAAZ,EACAa,UAAAb,EACAc,MAAAd,EAMA,OAHAC,GAAAc,eAAAlC,EACAoB,EAAAe,UAAAf,EAEAA","file":"./dist/index.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"nestedtypes\"), require(\"react\"), require(\"react-dom\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"nestedtypes\", \"react\", \"react-dom\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"React\"] = factory(require(\"nestedtypes\"), require(\"react\"), require(\"react-dom\"));\n\telse\n\t\troot[\"React\"] = factory(root[\"Nested\"], root[\"React\"], root[\"ReactDOM\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_3__, __WEBPACK_EXTERNAL_MODULE_5__) {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"nestedtypes\"), require(\"react\"), require(\"react-dom\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"nestedtypes\", \"react\", \"react-dom\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"React\"] = factory(require(\"nestedtypes\"), require(\"react\"), require(\"react-dom\"));\n\telse\n\t\troot[\"React\"] = factory(root[\"Nested\"], root[\"React\"], root[\"ReactDOM\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_3__, __WEBPACK_EXTERNAL_MODULE_5__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\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// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\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, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\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 = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 11);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_0__;\n\n/***/ }),\n/* 1 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"h\", function() { return assignToState; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__define__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__link__ = __webpack_require__(18);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__component__ = __webpack_require__(12);\n/* harmony reexport (binding) */ if(__webpack_require__.o(__WEBPACK_IMPORTED_MODULE_1_type_r__, \"define\")) __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_1_type_r__[\"define\"]; });\n/* harmony reexport (binding) */ if(__webpack_require__.o(__WEBPACK_IMPORTED_MODULE_1_type_r__, \"mixins\")) __webpack_require__.d(__webpack_exports__, \"c\", function() { return __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixins\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return __WEBPACK_IMPORTED_MODULE_2__define__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return __WEBPACK_IMPORTED_MODULE_2__define__[\"b\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return __WEBPACK_IMPORTED_MODULE_3__link__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"g\", function() { return __WEBPACK_IMPORTED_MODULE_4__component__[\"a\"]; });\n\n\n\n\n\n// extend React namespace\nvar ReactMVx = Object.create(__WEBPACK_IMPORTED_MODULE_0_react__);\n// Make it compatible with ES6 module format.\nReactMVx.default = ReactMVx;\n// listenToProps, listenToState, model, attributes, Model\nReactMVx.define = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"define\"];\nReactMVx.mixins = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixins\"];\nReactMVx.Node = __WEBPACK_IMPORTED_MODULE_2__define__[\"a\" /* Node */].value(null);\nReactMVx.Element = __WEBPACK_IMPORTED_MODULE_2__define__[\"b\" /* Element */].value(null);\nReactMVx.Link = __WEBPACK_IMPORTED_MODULE_3__link__[\"a\" /* default */];\nReactMVx.Component = __WEBPACK_IMPORTED_MODULE_4__component__[\"a\" /* Component */];\nvar assignToState = ReactMVx.assignToState = function (key) {\n return function (prop) {\n this.state.assignFrom((_a = {}, _a[key] = prop && prop instanceof __WEBPACK_IMPORTED_MODULE_3__link__[\"a\" /* default */] ? prop.value : prop, _a));\n var _a;\n };\n};\n/* harmony default export */ __webpack_exports__[\"a\"] = (ReactMVx);\n\n//# sourceMappingURL=index.js.map\n\n/***/ }),\n/* 2 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = collectSpecs;\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = compileSpecs;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Node; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return Element; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n\n\nfunction collectSpecs(spec, name) {\n var attributes = null;\n // Scan through local mixin, and gather specs. Refactor it later, it's not good. At all.\n for (var i = spec.mixins.length - 1; i >= 0; i--) {\n var mixin = spec.mixins[i], mixinAttrs = mixin[name];\n if (mixinAttrs) {\n attributes || (attributes = {});\n __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].assign(attributes, mixinAttrs);\n }\n }\n // Merge it with local data.\n var specAttrs = spec[name];\n if (specAttrs) {\n if (attributes) {\n __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].assign(attributes, specAttrs);\n }\n else {\n attributes = specAttrs;\n }\n }\n return attributes;\n}\nfunction compileSpecs(props) {\n var propTypes = {}, \n // Create NestedTypes model definition to process props spec.\n modelProto = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"Record\"].defaults(props).prototype;\n var defaults, watchers, changeHandlers;\n modelProto.forEachAttr(modelProto._attributes, function (spec, name) {\n // Skip auto-generated `id` attribute.\n if (name !== 'id') {\n var value = spec.value, type = spec.type, options = spec.options;\n // Translate props type to the propTypes guard.\n propTypes[name] = translateType(type, options.isRequired);\n if (options._onChange) {\n watchers || (watchers = {});\n watchers[name] = toLocalWatcher(options._onChange);\n }\n // Handle listening to event maps...\n if (options.changeHandlers && options.changeHandlers.length) {\n changeHandlers || (changeHandlers = {});\n changeHandlers[name] = options.changeHandlers;\n }\n // Handle listening to props changes...\n if (options.changeEvents) {\n changeHandlers || (changeHandlers = {});\n var handlers = changeHandlers[name] || (changeHandlers[name] = []), changeEvents_1 = typeof options.changeEvents === 'string' ? options.changeEvents : null;\n handlers.push(function (next, prev, component) {\n prev && component.stopListening(prev);\n next && component.listenTo(next, changeEvents_1 || next._changeEventName, component.asyncUpdate);\n });\n }\n // If default value is explicitly provided...\n if (value !== void 0) {\n //...append it to getDefaultProps function.\n defaults || (defaults = {});\n defaults[name] = spec.convert(value);\n }\n }\n });\n return { propTypes: propTypes, defaults: defaults, watchers: watchers, changeHandlers: changeHandlers };\n}\nfunction toLocalWatcher(ref) {\n return typeof ref === 'function' ? ref : function (value, name) {\n this[ref] && this[ref](value, name);\n };\n}\nvar Node = (function () {\n function Node() {\n }\n return Node;\n}());\n\nvar Element = (function () {\n function Element() {\n }\n return Element;\n}());\n\nfunction translateType(Type, isRequired) {\n var T = _translateType(Type);\n return isRequired ? T.isRequired : T;\n}\nfunction _translateType(Type) {\n switch (Type) {\n case Number:\n case Number.integer:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"number\"];\n case String:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"string\"];\n case Boolean:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"bool\"];\n case Array:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"array\"];\n case Function:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"func\"];\n case Object:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"object\"];\n case Node:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"node\"];\n case Element:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"element\"];\n case void 0:\n case null:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"any\"];\n default:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"instanceOf\"](Type);\n }\n}\n//# sourceMappingURL=typeSpecs.js.map\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_3__;\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\nif (false) {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = __webpack_require__(23)();\n}\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_5__;\n\n/***/ }),\n/* 6 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = process;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__store__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__state__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__context__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__common__ = __webpack_require__(13);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__props__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__typeSpecs__ = __webpack_require__(2);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_5__typeSpecs__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_5__typeSpecs__[\"b\"]; });\n\n\n\n\n\nfunction process(spec, baseProto) {\n if (baseProto === void 0) { baseProto = {}; }\n // Initialize mixins placeholder...\n spec.mixins || (spec.mixins = []);\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__store__[\"a\" /* default */])(spec, baseProto);\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__state__[\"a\" /* default */])(spec, baseProto);\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__context__[\"a\" /* default */])(spec, baseProto);\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__props__[\"a\" /* default */])(spec, baseProto);\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__common__[\"a\" /* default */])(spec, baseProto);\n return spec;\n}\n;\n\n//# sourceMappingURL=index.js.map\n\n/***/ }),\n/* 7 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = process;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return StateMixin; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return UpdateOnNestedChangesMixin; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n/*****************\n * State\n */\n\n\nfunction process(spec, baseProto) {\n // process state spec...\n var attributes = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* collectSpecs */])(spec, 'state');\n if (attributes || baseProto.State) {\n var BaseModel = baseProto.State || __WEBPACK_IMPORTED_MODULE_1_type_r__[\"Record\"];\n spec.State = attributes ? (typeof attributes === 'function' ? attributes : BaseModel.defaults(attributes)) : BaseModel;\n spec.mixins.push(StateMixin);\n spec.mixins.push(UpdateOnNestedChangesMixin);\n delete spec.state;\n delete spec.attributes;\n }\n}\nvar StateMixin = {\n //state : null,\n componentWillMount: function () {\n // props.__keepState is used to workaround issues in Backbone intergation layer\n var state = this.state = this.props.__keepState || new this.State();\n // Take ownership on state...\n state._owner = this;\n state._ownerKey = 'state';\n },\n context: {\n _nestedStore: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"Store\"]\n },\n // reference global store to fix model's store locator\n getStore: function () {\n // Attempt to get the store from the context first. Then - fallback to the state's default store.\n // TBD: Need to figure out a good way of managing local stores.\n var context, state;\n return ((context = this.context) && context._nestedStore) ||\n ((state = this.state) && state._defaultStore);\n },\n componentWillUnmount: function () {\n var state = this.state;\n state._owner = state._ownerKey = void 0;\n this._preventDispose /* hack for component-view to preserve the state */ || state.dispose();\n this.state = void 0;\n }\n};\nvar UpdateOnNestedChangesMixin = {\n _onChildrenChange: function () { },\n componentDidMount: function () {\n this._onChildrenChange = this.asyncUpdate;\n }\n};\n//# sourceMappingURL=state.js.map\n\n/***/ }),\n/* 8 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = use;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__);\n\n\n\nwindow.Page || (window.Page = { forceResize: function () { } });\nfunction use(View) {\n var dispose = View.prototype.dispose || function () { }, setElement = View.prototype.setElement;\n var ComponentView = View.extend({\n reactClass: null,\n props: {},\n element: null,\n initialize: function (props) {\n // memorise arguments to pass to React\n this.options = props || {};\n },\n setElement: function () {\n this.unmountComponent(true);\n return setElement.apply(this, arguments);\n },\n // cached instance of react component...\n component: null,\n prevState: null,\n resize: function () {\n window.Page.forceResize();\n },\n render: function () {\n var options = this.prevState ? __WEBPACK_IMPORTED_MODULE_2_type_r__[\"tools\"].fastAssign({ __keepState: this.prevState }, this.options) : this.options, element = __WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"](this.reactClass, options), component = __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.render(element, this.el);\n this.component || this.mountComponent(component);\n },\n mountComponent: function (component) {\n this.component = component;\n this.prevState = null;\n component.trigger && this.listenTo(component, 'all', function () {\n this.trigger.apply(this, arguments);\n });\n },\n unmountComponent: function (keepModel) {\n var component = this.component;\n if (component) {\n this.prevState = component.state;\n if (component.trigger) {\n this.stopListening(component);\n }\n component._preventDispose = Boolean(keepModel);\n __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.unmountComponentAtNode(this.el);\n this.component = null;\n }\n },\n dispose: function () {\n this.unmountComponent();\n return dispose.apply(this, arguments);\n }\n });\n Object.defineProperty(ComponentView.prototype, 'model', {\n get: function () {\n this.component || this.render();\n return this.component && this.component.state;\n }\n });\n return ComponentView;\n}\n//# sourceMappingURL=component-view.js.map\n\n/***/ }),\n/* 9 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = createClass;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1);\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\n\nvar dontAutobind = [\n 'State', 'Store', 'constructor',\n 'componentWillMount', 'componentDidMount', 'componentWillReceiveProps', 'shouldComponentUpdate',\n 'componentWillUpdate', 'componentDidUpdate', 'componentWillUnmount',\n 'render', 'getDefaultProps', 'getChildContext'\n];\n/**\n * ES5 components definition factory\n */\nfunction createClass(_a) {\n var statics = _a.statics, a_spec = __rest(_a, [\"statics\"]);\n // Gather all methods to pin them to `this` later.\n var methods = [];\n var Subclass = __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"g\" /* Component */].extend(__assign({ \n // Override constructor to autobind all the methods...\n constructor: function () {\n __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"g\" /* Component */].apply(this, this.arguments);\n for (var _i = 0, methods_1 = methods; _i < methods_1.length; _i++) {\n var method = methods_1[_i];\n this[method] = this[method].bind(this);\n }\n } }, a_spec), statics);\n // Need to bind methods from mixins as well, so populate it here.\n var Proto = Subclass.prototype;\n for (var key in Proto) {\n if (Proto.hasOwnProperty(key) && dontAutobind.indexOf(key) === -1 && typeof Proto[key] === 'function') {\n methods.push(key);\n }\n }\n return Subclass;\n}\n//# sourceMappingURL=createClass.js.map\n\n/***/ }),\n/* 10 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\nvar notEqual = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].notEqual;\nvar BackboneView = (function (_super) {\n __extends(BackboneView, _super);\n function BackboneView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.saveRef = function (element) {\n _this.root = element;\n };\n return _this;\n }\n BackboneView.prototype.shouldComponentUpdate = function (next) {\n var props = this.props;\n return next.View !== props.View || notEqual(next.options, props.options);\n };\n BackboneView.prototype.hasUnsavedChanges = function () {\n var view = this.view;\n return view && (typeof view.hasUnsavedChanges === 'function' ? view.hasUnsavedChanges() : view.hasUnsavedChanges);\n };\n BackboneView.prototype.render = function () {\n return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\" /* default */].createElement('div', {\n ref: this.saveRef,\n className: this.props.className\n });\n };\n BackboneView.prototype.componentDidMount = function () {\n this._mountView();\n };\n BackboneView.prototype.componentDidUpdate = function () {\n this._dispose();\n this._mountView();\n };\n BackboneView.prototype.componentWillUnmount = function () {\n this._dispose();\n };\n BackboneView.prototype._mountView = function () {\n var el = this.root, p = this.props;\n var view = this.view = p.options ? new p.View(p.options) : new p.View();\n el.appendChild(view.el);\n view.render();\n };\n BackboneView.prototype._dispose = function () {\n var view = this.view;\n if (view) {\n if (view.dispose) {\n view.dispose();\n }\n else {\n view.stopListening();\n view.off();\n }\n this.root.innerHTML = \"\";\n this.view = null;\n }\n };\n return BackboneView;\n}(__WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\" /* default */].Component));\n/* harmony default export */ __webpack_exports__[\"a\"] = (BackboneView);\n//# sourceMappingURL=view-element.js.map\n\n/***/ }),\n/* 11 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (immutable) */ __webpack_exports__[\"useView\"] = useView;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1);\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"define\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"b\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"mixins\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"c\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Node\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"d\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Element\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"e\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Link\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"f\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Component\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"g\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"assignToState\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"h\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__view_element__ = __webpack_require__(10);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"subview\", function() { return __WEBPACK_IMPORTED_MODULE_4__view_element__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__component_view__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__createClass__ = __webpack_require__(9);\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"PropTypes\", function() { return __WEBPACK_IMPORTED_MODULE_3_prop_types__; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"createClass\", function() { return __WEBPACK_IMPORTED_MODULE_6__createClass__[\"a\"]; });\n// Re-export react-mvx\n\nvar NestedReact = Object.create(__WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\" /* default */]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (NestedReact);\n\n// NestedReact backward compatibility layer\n\n\n\n\nNestedReact.subview = __WEBPACK_IMPORTED_MODULE_4__view_element__[\"a\" /* default */];\n\n\n\nNestedReact.createClass = __WEBPACK_IMPORTED_MODULE_6__createClass__[\"a\" /* default */];\nObject.defineProperty(NestedReact, 'PropTypes', { value: __WEBPACK_IMPORTED_MODULE_3_prop_types__ });\n\nvar BaseView;\n// export hook to override base View class used...\nfunction useView(View) {\n BaseView = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__component_view__[\"a\" /* default */])(View);\n}\nvar define = NestedReact.Component.define;\nNestedReact.Component.define = function (protoProps, staticProps) {\n this.View = BaseView.extend({ reactClass: this });\n return define.call(this, protoProps, staticProps);\n};\n// Deprecated API for backward compatibility\nvar RecordProto = __WEBPACK_IMPORTED_MODULE_2_type_r__[\"Record\"].prototype;\nRecordProto.getLink = RecordProto.linkAt;\nRecordProto.deepLink = RecordProto.linkPath;\nvar CollectionProto = __WEBPACK_IMPORTED_MODULE_2_type_r__[\"Record\"].Collection.prototype;\nCollectionProto.hasLink = CollectionProto.linkContains;\nuseView(__WEBPACK_IMPORTED_MODULE_2_type_r__[\"View\"]);\n// Extend react components to have backbone-style jquery accessors\nvar BackboneViewProps = {\n el: { get: function () { return __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.findDOMNode(this); } },\n $el: { get: function () { return __WEBPACK_IMPORTED_MODULE_2_type_r___default.a.$(this.el); } },\n $: { value: function (sel) { return this.$el.find(sel); } }\n};\nObject.defineProperties(NestedReact.Component.prototype, BackboneViewProps);\n//# sourceMappingURL=index.js.map\n\n/***/ }),\n/* 12 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Component; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__define__ = __webpack_require__(6);\n/**\n * React components\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\n\n\n\nvar reactMixinRules = {\n componentWillMount: 'reverse',\n componentDidMount: 'reverse',\n componentWillReceiveProps: 'reverse',\n shouldComponentUpdate: 'some',\n componentWillUpdate: 'reverse',\n componentDidUpdate: 'reverse',\n componentWillUnmount: 'sequence',\n state: 'merge',\n store: 'merge',\n props: 'merge',\n context: 'merge',\n childContext: 'merge',\n getChildContext: 'mergeSequence'\n};\nvar Component = (function (_super) {\n __extends(Component, _super);\n function Component() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Component.prototype.linkAt = function (key) {\n // Quick and dirty hack to suppres type error - refactor later.\n return this.state.linkAt(key);\n };\n Component.prototype.linkAll = function () {\n // Quick and dirty hack to suppres type error - refactor later.\n return this.state.linkAll.apply(this, arguments);\n };\n Component.define = function (protoProps, staticProps) {\n var BaseClass = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].getBaseClass(this), staticsDefinition = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].getChangedStatics(this, 'state', 'store', 'props', 'context', 'childContext', 'pureRender'), combinedDefinition = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].assign(staticsDefinition, protoProps || {});\n var definition = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__define__[\"c\" /* default */])(combinedDefinition, this.prototype);\n var getDefaultProps = definition.getDefaultProps, propTypes = definition.propTypes, contextTypes = definition.contextTypes, childContextTypes = definition.childContextTypes, protoDefinition = __rest(definition, [\"getDefaultProps\", \"propTypes\", \"contextTypes\", \"childContextTypes\"]);\n if (getDefaultProps)\n this.defaultProps = definition.getDefaultProps();\n if (propTypes)\n this.propTypes = propTypes;\n if (contextTypes)\n this.contextTypes = contextTypes;\n if (childContextTypes)\n this.childContextTypes = childContextTypes;\n __WEBPACK_IMPORTED_MODULE_1_type_r__[\"Mixable\"].define.call(this, protoDefinition, staticProps);\n return this;\n };\n Component.prototype.assignToState = function (x, key) {\n this.state.assignFrom((_a = {}, _a[key] = x, _a));\n var _a;\n };\n return Component;\n}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]));\nComponent = __decorate([\n __WEBPACK_IMPORTED_MODULE_1_type_r__[\"extendable\"],\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"])(reactMixinRules)\n], Component);\n\n// Looks like React guys _really_ want to deprecated it. But no way.\n// We will work around their attempt.\nObject.defineProperty(Component.prototype, 'isMounted', {\n value: function isMounted() {\n return !this._disposed;\n }\n});\n//# sourceMappingURL=component.js.map\n\n/***/ }),\n/* 13 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = compile;\n/* unused harmony export asyncUpdate */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__);\n/**\n * attach async event processing and transactional support.\n */\n\nfunction compile(spec, baseProto) {\n // Attach common mixin\n spec.mixins.push(CommonMixin);\n}\nfunction asyncUpdate() {\n this.shouldComponentUpdate === returnFalse || this._disposed || this.forceUpdate();\n}\nfunction returnFalse() { return false; }\n/**\n * Mixin which is attached to all components.\n */\nvar CommonMixin = __WEBPACK_IMPORTED_MODULE_0_type_r__[\"tools\"].assign({\n componentWillUnmount: function () {\n // Prevent memory leaks when working with events.\n this.off();\n this.stopListening();\n // Mark component as disposed.\n this._disposed = true;\n },\n // Safe version of the forceUpdate suitable for asynchronous callbacks.\n asyncUpdate: asyncUpdate,\n /**\n * Performs transactional update for both props and state.\n * Suppress updates during the transaction, and force update aftewards.\n * Wrapping the sequence of changes in a transactions guarantees that\n * React component will be updated _after_ all the changes to the\n * both props and local state are applied.\n */\n transaction: function (fun) {\n var shouldComponentUpdate = this.shouldComponentUpdate, isRoot = shouldComponentUpdate !== returnFalse;\n if (isRoot) {\n this.shouldComponentUpdate = returnFalse;\n }\n fun(this.props, this.state);\n if (isRoot) {\n this.shouldComponentUpdate = shouldComponentUpdate;\n this.asyncUpdate();\n }\n }\n}, __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Events\"]);\n//# sourceMappingURL=common.js.map\n\n/***/ }),\n/* 14 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = process;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(2);\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\n\nfunction process(spec, _a) {\n var _b = _a._context, _context = _b === void 0 ? {} : _b, _c = _a._childContext, _childContext = _c === void 0 ? {} : _c;\n // process context specs...\n var context = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* collectSpecs */])(spec, 'context');\n if (context) {\n spec._context = __assign({}, _context, context);\n spec.contextTypes = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"d\" /* compileSpecs */])(context).propTypes;\n delete spec.context;\n }\n // and child context specs...\n var childContext = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* collectSpecs */])(spec, 'childContext');\n if (childContext) {\n spec._childContext = __assign({}, _childContext, childContext);\n spec.childContextTypes = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"d\" /* compileSpecs */])(childContext).propTypes;\n delete spec.childContext;\n }\n}\n//# sourceMappingURL=context.js.map\n\n/***/ }),\n/* 15 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = process;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__pureRender__ = __webpack_require__(16);\n/**\n * Handle props specification and everything which is related:\n * - local listening to props changes\n * - pure render mixin\n */\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\n\n\nfunction process(spec, _a) {\n var pureRender = _a.pureRender, _b = _a._props, _props = _b === void 0 ? {} : _b, _c = _a._listenToPropsArray, _listenToPropsArray = _c === void 0 ? [] : _c, _d = _a._listenToPropsHash, _listenToPropsHash = _d === void 0 ? {} : _d;\n // process props spec...\n var props = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* collectSpecs */])(spec, 'props');\n if (props) {\n var allProps = spec._props = __assign({}, _props, props);\n var _e = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"d\" /* compileSpecs */])(allProps), propTypes = _e.propTypes, defaults_1 = _e.defaults, watchers = _e.watchers, changeHandlers = _e.changeHandlers;\n spec.propTypes = propTypes;\n if (defaults_1)\n spec.getDefaultProps = function () { return defaults_1; };\n if (watchers) {\n spec.mixins.unshift(WatchersMixin);\n spec._watchers = watchers;\n }\n if (changeHandlers) {\n spec.mixins.unshift(ChangeHandlersMixin);\n spec._changeHandlers = changeHandlers;\n }\n delete spec.props;\n }\n // compile pure render mixin\n if (spec._props && (spec.pureRender || pureRender)) {\n spec.mixins.push(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__pureRender__[\"a\" /* default */])(spec._props));\n }\n}\n/**\n * ChangeHandlers are fired in sequence upon props replacement.\n * Fires _after_ UI is updated. Used for managing events subscriptions.\n */\nvar ChangeHandlersMixin = {\n componentDidMount: function () {\n handlePropsChanges(this, {}, this.props);\n },\n componentDidUpdate: function (prev) {\n handlePropsChanges(this, prev, this.props);\n },\n componentWillUnmount: function () {\n handlePropsChanges(this, this.props, {});\n }\n};\nfunction handlePropsChanges(component, prev, next) {\n var _changeHandlers = component._changeHandlers;\n for (var name_1 in _changeHandlers) {\n if (prev[name_1] !== next[name_1]) {\n for (var _i = 0, _a = _changeHandlers[name_1]; _i < _a.length; _i++) {\n var handler = _a[_i];\n handler(next[name_1], prev[name_1], component);\n }\n }\n }\n}\n/**\n * Watchers works on props replacement and fires _before_ any change will be applied and UI is updated.\n * Fired in componentWillMount as well, which makes it a nice way to sync state from props.\n */\nvar WatchersMixin = {\n componentWillReceiveProps: function (next) {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_2 in _watchers) {\n if (next[name_2] !== props[name_2]) {\n _watchers[name_2].call(this, next[name_2], name_2);\n }\n }\n },\n componentWillMount: function () {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_3 in _watchers) {\n _watchers[name_3].call(this, props[name_3], name_3);\n }\n }\n};\n//# sourceMappingURL=props.js.map\n\n/***/ }),\n/* 16 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = createPureRenderMixin;\nfunction createPureRenderMixin(props) {\n var ctorBody = ['var v; this._s = s && s._changeToken'], isChangedBody = ['var v; return ( s && s._changeToken !== t._s )'];\n for (var name_1 in props) {\n var propExpr = \"( ( v = p.\" + name_1 + \") && v._changeToken ) || v\";\n ctorBody.push(\"this.\" + name_1 + \"= \" + propExpr);\n isChangedBody.push(\"t.\" + name_1 + \" !== (\" + propExpr + \")\");\n }\n var ChangeTokens = new Function('p', 's', ctorBody.join(';')), isChanged = new Function('t', 'p', 's', isChangedBody.join('||'));\n ChangeTokens.prototype = null;\n return {\n _changeTokens: null,\n shouldComponentUpdate: function (nextProps) {\n return isChanged(this._changeTokens, nextProps, this.state);\n },\n componentDidMount: function () {\n this._changeTokens = new ChangeTokens(this.props, this.state);\n },\n componentDidUpdate: function () {\n this._changeTokens = new ChangeTokens(this.props, this.state);\n }\n };\n}\n;\n//# sourceMappingURL=pureRender.js.map\n\n/***/ }),\n/* 17 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = process;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__state__ = __webpack_require__(7);\n\n\n\nfunction process(spec, baseProto) {\n var store = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* collectSpecs */])(spec, 'store');\n if (store) {\n delete spec.store;\n if (store instanceof __WEBPACK_IMPORTED_MODULE_1_type_r__[\"Store\"]) {\n // Direct reference to an existing store. Put it to the prototype.\n spec.store = store;\n spec.mixins.push(ExternalStoreMixin);\n }\n else {\n spec.Store = store;\n spec.mixins.push(InternalStoreMixin);\n spec.mixins.push(__WEBPACK_IMPORTED_MODULE_2__state__[\"b\" /* UpdateOnNestedChangesMixin */]);\n }\n spec.mixins.push(ExposeStoreMixin);\n }\n}\n/**\n * Attached whenever the store declaration of any form is present in the component.\n */\nvar ExposeStoreMixin = {\n childContext: {\n _nestedStore: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"Store\"]\n },\n getChildContext: function () {\n return { _nestedStore: this.store };\n },\n getStore: function () {\n return this.store;\n },\n // Will be called by the store when the lookup will fail.\n get: function (key) {\n // Ask upper store.\n var store = __WEBPACK_IMPORTED_MODULE_2__state__[\"c\" /* StateMixin */].getStore.call(this, key);\n return store && store.get(key);\n }\n};\n/**\n * External store must just track the changes and trigger render.\n * TBD: don't use it yet.\n */\nvar ExternalStoreMixin = {\n componentDidMount: function () {\n // Start UI updates on state changes.\n this.listenTo(this.store, 'change', this.asyncUpdate);\n }\n};\nvar InternalStoreMixin = {\n componentWillMount: function () {\n var store = this.store = new this.Store();\n store._owner = this;\n store._ownerKey = 'store';\n },\n componentWillUnmount: function () {\n this.store._ownerKey = this.store._owner = void 0;\n this.store.dispose();\n this.store = void 0;\n }\n};\n//# sourceMappingURL=store.js.map\n\n/***/ }),\n/* 18 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__valuelink_link__ = __webpack_require__(20);\n/**\n * Import ValueLink library\n * Define value links binding mixins to the Record and Collection\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]);\n__WEBPACK_IMPORTED_MODULE_0_type_r__[\"Mixable\"].mixTo(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]);\n/**\n * Record\n */\n__WEBPACK_IMPORTED_MODULE_0_type_r__[\"Record\"].mixins({\n // Link to the record's attribute by its key.\n linkAt: function (key) {\n return cacheLink(getLinksCache(this), this, key);\n },\n // Link to the attribute of the record's tree by symbolic path.\n linkPath: function (path, options) {\n return new RecordDeepLink(this, path, options);\n },\n // Link all (or listed) attributes and return links cache.\n linkAll: function () {\n var links = getLinksCache(this);\n if (arguments.length) {\n for (var i = 0; i < arguments.length; i++) {\n cacheLink(links, this, arguments[i]);\n }\n }\n else {\n var attributes = this.attributes;\n for (var key in attributes) {\n attributes[key] === void 0 || cacheLink(links, this, key);\n }\n }\n return links;\n }\n});\n/**\n * Link to Type-R's record attribute.\n * Strict evaluation of value, lazy evaluation of validation error.\n * Links are cached in the records\n */\nvar RecordLink = (function (_super) {\n __extends(RecordLink, _super);\n function RecordLink(record, attr, value) {\n var _this = _super.call(this, value) || this;\n _this.record = record;\n _this.attr = attr;\n return _this;\n }\n RecordLink.prototype.set = function (x) {\n this.record[this.attr] = x;\n };\n Object.defineProperty(RecordLink.prototype, \"error\", {\n get: function () {\n return this._error === void 0 ?\n this.record.getValidationError(this.attr) :\n this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n return RecordLink;\n}(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]));\nvar RecordDeepLink = (function (_super) {\n __extends(RecordDeepLink, _super);\n function RecordDeepLink(record, path, options) {\n var _this = _super.call(this, record.deepGet(path)) || this;\n _this.record = record;\n _this.path = path;\n _this.options = options;\n return _this;\n }\n Object.defineProperty(RecordDeepLink.prototype, \"error\", {\n get: function () {\n if (this._error === void 0) {\n this._error = this.record.deepValidationError(this.path) || null;\n }\n return this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(RecordDeepLink.prototype, \"_changeToken\", {\n get: function () {\n return this.record._changeToken;\n },\n enumerable: true,\n configurable: true\n });\n RecordDeepLink.prototype.set = function (x) {\n this.record.deepSet(this.path, x, this.options);\n };\n return RecordDeepLink;\n}(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]));\nfunction getLinksCache(record) {\n return record._links || (record._links = new record.Attributes({}));\n}\nfunction cacheLink(links, record, key) {\n var cached = links[key], value = record[key];\n return cached && cached.value === value ? cached\n : links[key] = new RecordLink(record, key, value);\n}\n/***********************************\n * Collection\n */\n__WEBPACK_IMPORTED_MODULE_0_type_r__[\"Record\"].Collection.mixins({\n // Boolean link to the record's presence in the collection\n linkContains: function (record) {\n return new CollectionLink(this, record);\n },\n // Link to collection's property\n linkAt: function (prop) {\n var _this = this;\n return __WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */].value(this[prop], function (x) { return _this[prop] = x; });\n }\n});\n/**\n * Boolean link to presence of NestedType's record in collection.\n * Strict evaluation of value, no error.\n * Safe implementation of _changeToken.\n */\nvar CollectionLink = (function (_super) {\n __extends(CollectionLink, _super);\n function CollectionLink(collection, record) {\n var _this = _super.call(this, Boolean(collection._byId[record.cid])) || this;\n _this.collection = collection;\n _this.record = record;\n return _this;\n }\n CollectionLink.prototype.set = function (x) {\n this.collection.toggle(this.record, x);\n };\n return CollectionLink;\n}(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]));\n//# sourceMappingURL=link.js.map\n\n/***/ }),\n/* 19 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = helpers;\n/* unused harmony export objectHelpers */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return arrayHelpers; });\nvar ArrayProto = Array.prototype, ObjectProto = Object.prototype;\nfunction helpers(value) {\n if (value && typeof value === 'object') {\n switch (Object.getPrototypeOf(value)) {\n case ArrayProto: return arrayHelpers;\n case ObjectProto: return objectHelpers;\n }\n }\n return dummyHelpers;\n}\n// Do nothing for types other than Array and plain Object.\nvar dummyHelpers = {\n clone: function (value) { return value; },\n map: function (link, fun) { return []; },\n remove: function (value) { return value; }\n};\n// `map` and `clone` for plain JS objects\nvar objectHelpers = {\n // Map through the link to object\n map: function (link, iterator) {\n var mapped = [];\n for (var key in link.value) {\n var element = iterator(link.at(key), key);\n element === void 0 || (mapped.push(element));\n }\n return mapped;\n },\n remove: function (object, key) {\n delete object[key];\n return object;\n },\n // Shallow clone plain JS object\n clone: function (object) {\n var cloned = {};\n for (var key in object) {\n cloned[key] = object[key];\n }\n return cloned;\n }\n};\n// `map` and `clone` helpers for arrays.\nvar arrayHelpers = {\n // Shallow clone array\n clone: function (array) {\n return array.slice();\n },\n remove: function (array, i) {\n array.splice(i, 1);\n return array;\n },\n // Map through the link to array\n map: function (link, iterator) {\n var length = link.value.length, mapped = Array(length);\n for (var i = 0, j = 0; i < length; i++) {\n var y = iterator(link.at(i), i);\n y === void 0 || (mapped[j++] = y);\n }\n mapped.length === j || (mapped.length = j);\n return mapped;\n }\n};\n//# sourceMappingURL=helpers.js.map\n\n/***/ }),\n/* 20 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Link; });\n/* unused harmony export CustomLink */\n/* unused harmony export CloneLink */\n/* unused harmony export EqualsLink */\n/* unused harmony export EnabledLink */\n/* unused harmony export ContainsLink */\n/* unused harmony export LinkAt */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__helpers__ = __webpack_require__(19);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * Advanced React links for purely functional two-way data binding\n *\n * MIT License, (c) 2016 Vlad Balin, Volicon.\n */\n\n// Main Link class. All links must extend it.\nvar Link = (function () {\n // create \n function Link(value) {\n this.value = value;\n }\n // Create custom link to arbitrary value\n Link.value = function (value, set) {\n return new CustomLink(value, set);\n };\n Object.defineProperty(Link.prototype, \"validationError\", {\n // DEPRECATED: Old error holder for backward compatibility with Volicon code base\n get: function () { return this.error; },\n enumerable: true,\n configurable: true\n });\n Link.prototype.onChange = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n handler(x);\n _this.set(x);\n });\n };\n Object.defineProperty(Link.prototype, \"props\", {\n // \n get: function () {\n var _this = this;\n return { value: this.value, onChange: function (e) { return _this.set(e.target.value); } };\n },\n enumerable: true,\n configurable: true\n });\n // DEPRECATED: Old React method for backward compatibility\n Link.prototype.requestChange = function (x) {\n this.set(x);\n };\n // Immediately update the link value using given transform function.\n Link.prototype.update = function (transform, e) {\n var next = transform(this.clone(), e);\n next === void 0 || this.set(next);\n };\n // Create new link which applies transform function on set.\n Link.prototype.pipe = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n var next = handler(x, _this.value);\n next === void 0 || _this.set(next);\n });\n };\n // Create UI event handler function which will update the link with a given transform function.\n Link.prototype.action = function (transform) {\n var _this = this;\n return function (e) { return _this.update(transform, e); };\n };\n Link.prototype.equals = function (truthyValue) {\n return new EqualsLink(this, truthyValue);\n };\n Link.prototype.enabled = function (defaultValue) {\n return new EnabledLink(this, defaultValue || \"\");\n };\n // Array-only links methods\n Link.prototype.contains = function (element) {\n return new ContainsLink(this, element);\n };\n Link.prototype.push = function () {\n var array = __WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* arrayHelpers */].clone(this.value);\n Array.prototype.push.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.unshift = function () {\n var array = __WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* arrayHelpers */].clone(this.value);\n Array.prototype.unshift.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.splice = function () {\n var array = __WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* arrayHelpers */].clone(this.value);\n Array.prototype.splice.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.map = function (iterator) {\n return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* helpers */])(this.value).map(this, iterator);\n };\n Link.prototype.removeAt = function (key) {\n var value = this.value, _ = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* helpers */])(value);\n this.set(_.remove(_.clone(value), key));\n };\n Link.prototype.at = function (key) {\n return new LinkAt(this, key);\n };\n Link.prototype.clone = function () {\n var value = this.value;\n return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* helpers */])(value).clone(value);\n };\n Link.prototype.pick = function () {\n var links = {};\n for (var i = 0; i < arguments.length; i++) {\n var key = arguments[i];\n links[key] = new LinkAt(this, key);\n }\n return links;\n };\n /**\n * Validate link with validness predicate and optional custom error object. Can be chained.\n */\n Link.prototype.check = function (whenValid, error) {\n if (!this.error && !whenValid(this.value)) {\n this.error = error || whenValid.error || defaultError;\n }\n return this;\n };\n return Link;\n}());\n\nvar CustomLink = (function (_super) {\n __extends(CustomLink, _super);\n function CustomLink(value, set) {\n var _this = _super.call(this, value) || this;\n _this.set = set;\n return _this;\n }\n CustomLink.prototype.set = function (x) { };\n return CustomLink;\n}(Link));\n\nvar CloneLink = (function (_super) {\n __extends(CloneLink, _super);\n function CloneLink(parent, set) {\n var _this = _super.call(this, parent.value) || this;\n _this.set = set;\n var error = parent.error;\n if (error)\n _this.error = error;\n return _this;\n }\n CloneLink.prototype.set = function (x) { };\n return CloneLink;\n}(Link));\n\nvar EqualsLink = (function (_super) {\n __extends(EqualsLink, _super);\n function EqualsLink(parent, truthyValue) {\n var _this = _super.call(this, parent.value === truthyValue) || this;\n _this.parent = parent;\n _this.truthyValue = truthyValue;\n return _this;\n }\n EqualsLink.prototype.set = function (x) {\n this.parent.set(x ? this.truthyValue : null);\n };\n return EqualsLink;\n}(Link));\n\nvar EnabledLink = (function (_super) {\n __extends(EnabledLink, _super);\n function EnabledLink(parent, defaultValue) {\n var _this = _super.call(this, parent.value != null) || this;\n _this.parent = parent;\n _this.defaultValue = defaultValue;\n return _this;\n }\n EnabledLink.prototype.set = function (x) {\n this.parent.set(x ? this.defaultValue : null);\n };\n return EnabledLink;\n}(Link));\n\nvar ContainsLink = (function (_super) {\n __extends(ContainsLink, _super);\n function ContainsLink(parent, element) {\n var _this = _super.call(this, parent.value.indexOf(element) >= 0) || this;\n _this.parent = parent;\n _this.element = element;\n return _this;\n }\n ContainsLink.prototype.set = function (x) {\n var _this = this;\n var next = Boolean(x);\n if (this.value !== next) {\n var arr = this.parent.value, nextValue = x ? arr.concat(this.element) : arr.filter(function (el) { return el !== _this.element; });\n this.parent.set(nextValue);\n }\n };\n return ContainsLink;\n}(Link));\n\nvar defaultError = 'Invalid value';\n/**\n * Link to array or object element enclosed in parent link.\n * Performs purely functional update of the parent, shallow copying its value on `set`.\n */\nvar LinkAt = (function (_super) {\n __extends(LinkAt, _super);\n function LinkAt(parent, key) {\n var _this = _super.call(this, parent.value[key]) || this;\n _this.parent = parent;\n _this.key = key;\n return _this;\n }\n LinkAt.prototype.remove = function () {\n this.parent.removeAt(this.key);\n };\n // Set new element value to parent array or object, performing purely functional update.\n LinkAt.prototype.set = function (x) {\n var _this = this;\n if (this.value !== x) {\n this.parent.update(function (value) {\n value[_this.key] = x;\n return value;\n });\n }\n };\n ;\n return LinkAt;\n}(Link));\n\n//# sourceMappingURL=link.js.map\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (false) {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n\n\nvar emptyFunction = __webpack_require__(21);\nvar invariant = __webpack_require__(22);\n\nmodule.exports = function() {\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n function shim() {\n invariant(\n false,\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim\n };\n\n ReactPropTypes.checkPropTypes = emptyFunction;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n/***/ })\n/******/ ]);\n});\n\n\n// WEBPACK FOOTER //\n// dist/index.min.js"," \t// The module cache\n \tvar installedModules = {};\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// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\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, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\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 = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 11);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 7acc21a1886d20557cc3","module.exports = __WEBPACK_EXTERNAL_MODULE_0__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"commonjs\":\"nestedtypes\",\"commonjs2\":\"nestedtypes\",\"amd\":\"nestedtypes\",\"root\":\"Nested\"}\n// module id = 0\n// module chunks = 0","import * as React from 'react';\nimport { define, mixins } from 'type-r';\nimport { Node, Element } from './define';\nimport Link from './link';\nimport { Component } from './component';\n// extend React namespace\nvar ReactMVx = Object.create(React);\n// Make it compatible with ES6 module format.\nReactMVx.default = ReactMVx;\n// listenToProps, listenToState, model, attributes, Model\nReactMVx.define = define;\nReactMVx.mixins = mixins;\nReactMVx.Node = Node.value(null);\nReactMVx.Element = Element.value(null);\nReactMVx.Link = Link;\nReactMVx.Component = Component;\nvar assignToState = ReactMVx.assignToState = function (key) {\n return function (prop) {\n this.state.assignFrom((_a = {}, _a[key] = prop && prop instanceof Link ? prop.value : prop, _a));\n var _a;\n };\n};\nexport default ReactMVx;\nexport { define, mixins, Node, Element, Link, Component, assignToState };\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/index.js\n// module id = 1\n// module chunks = 0","import * as PropTypes from 'prop-types';\nimport { Record, tools } from 'type-r';\nexport function collectSpecs(spec, name) {\n var attributes = null;\n // Scan through local mixin, and gather specs. Refactor it later, it's not good. At all.\n for (var i = spec.mixins.length - 1; i >= 0; i--) {\n var mixin = spec.mixins[i], mixinAttrs = mixin[name];\n if (mixinAttrs) {\n attributes || (attributes = {});\n tools.assign(attributes, mixinAttrs);\n }\n }\n // Merge it with local data.\n var specAttrs = spec[name];\n if (specAttrs) {\n if (attributes) {\n tools.assign(attributes, specAttrs);\n }\n else {\n attributes = specAttrs;\n }\n }\n return attributes;\n}\nexport function compileSpecs(props) {\n var propTypes = {}, \n // Create NestedTypes model definition to process props spec.\n modelProto = Record.defaults(props).prototype;\n var defaults, watchers, changeHandlers;\n modelProto.forEachAttr(modelProto._attributes, function (spec, name) {\n // Skip auto-generated `id` attribute.\n if (name !== 'id') {\n var value = spec.value, type = spec.type, options = spec.options;\n // Translate props type to the propTypes guard.\n propTypes[name] = translateType(type, options.isRequired);\n if (options._onChange) {\n watchers || (watchers = {});\n watchers[name] = toLocalWatcher(options._onChange);\n }\n // Handle listening to event maps...\n if (options.changeHandlers && options.changeHandlers.length) {\n changeHandlers || (changeHandlers = {});\n changeHandlers[name] = options.changeHandlers;\n }\n // Handle listening to props changes...\n if (options.changeEvents) {\n changeHandlers || (changeHandlers = {});\n var handlers = changeHandlers[name] || (changeHandlers[name] = []), changeEvents_1 = typeof options.changeEvents === 'string' ? options.changeEvents : null;\n handlers.push(function (next, prev, component) {\n prev && component.stopListening(prev);\n next && component.listenTo(next, changeEvents_1 || next._changeEventName, component.asyncUpdate);\n });\n }\n // If default value is explicitly provided...\n if (value !== void 0) {\n //...append it to getDefaultProps function.\n defaults || (defaults = {});\n defaults[name] = spec.convert(value);\n }\n }\n });\n return { propTypes: propTypes, defaults: defaults, watchers: watchers, changeHandlers: changeHandlers };\n}\nfunction toLocalWatcher(ref) {\n return typeof ref === 'function' ? ref : function (value, name) {\n this[ref] && this[ref](value, name);\n };\n}\nvar Node = (function () {\n function Node() {\n }\n return Node;\n}());\nexport { Node };\nvar Element = (function () {\n function Element() {\n }\n return Element;\n}());\nexport { Element };\nfunction translateType(Type, isRequired) {\n var T = _translateType(Type);\n return isRequired ? T.isRequired : T;\n}\nfunction _translateType(Type) {\n switch (Type) {\n case Number:\n case Number.integer:\n return PropTypes.number;\n case String:\n return PropTypes.string;\n case Boolean:\n return PropTypes.bool;\n case Array:\n return PropTypes.array;\n case Function:\n return PropTypes.func;\n case Object:\n return PropTypes.object;\n case Node:\n return PropTypes.node;\n case Element:\n return PropTypes.element;\n case void 0:\n case null:\n return PropTypes.any;\n default:\n return PropTypes.instanceOf(Type);\n }\n}\n//# sourceMappingURL=typeSpecs.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/typeSpecs.js\n// module id = 2\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_3__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"commonjs\":\"react\",\"commonjs2\":\"react\",\"amd\":\"react\",\"root\":\"React\"}\n// module id = 3\n// module chunks = 0","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/prop-types/index.js\n// module id = 4\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_5__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"commonjs\":\"react-dom\",\"commonjs2\":\"react-dom\",\"amd\":\"react-dom\",\"root\":\"ReactDOM\"}\n// module id = 5\n// module chunks = 0","import processStore from './store';\nimport processState from './state';\nimport processContext from './context';\nimport processCommons from './common';\nimport processProps from './props';\nexport default function process(spec, baseProto) {\n if (baseProto === void 0) { baseProto = {}; }\n // Initialize mixins placeholder...\n spec.mixins || (spec.mixins = []);\n processStore(spec, baseProto);\n processState(spec, baseProto);\n processContext(spec, baseProto);\n processProps(spec, baseProto);\n processCommons(spec, baseProto);\n return spec;\n}\n;\nexport { Node, Element } from './typeSpecs';\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/index.js\n// module id = 6\n// module chunks = 0","/*****************\n * State\n */\nimport { collectSpecs } from './typeSpecs';\nimport { Record, Store } from 'type-r';\nexport default function process(spec, baseProto) {\n // process state spec...\n var attributes = collectSpecs(spec, 'state');\n if (attributes || baseProto.State) {\n var BaseModel = baseProto.State || Record;\n spec.State = attributes ? (typeof attributes === 'function' ? attributes : BaseModel.defaults(attributes)) : BaseModel;\n spec.mixins.push(StateMixin);\n spec.mixins.push(UpdateOnNestedChangesMixin);\n delete spec.state;\n delete spec.attributes;\n }\n}\nexport var StateMixin = {\n //state : null,\n componentWillMount: function () {\n // props.__keepState is used to workaround issues in Backbone intergation layer\n var state = this.state = this.props.__keepState || new this.State();\n // Take ownership on state...\n state._owner = this;\n state._ownerKey = 'state';\n },\n context: {\n _nestedStore: Store\n },\n // reference global store to fix model's store locator\n getStore: function () {\n // Attempt to get the store from the context first. Then - fallback to the state's default store.\n // TBD: Need to figure out a good way of managing local stores.\n var context, state;\n return ((context = this.context) && context._nestedStore) ||\n ((state = this.state) && state._defaultStore);\n },\n componentWillUnmount: function () {\n var state = this.state;\n state._owner = state._ownerKey = void 0;\n this._preventDispose /* hack for component-view to preserve the state */ || state.dispose();\n this.state = void 0;\n }\n};\nexport var UpdateOnNestedChangesMixin = {\n _onChildrenChange: function () { },\n componentDidMount: function () {\n this._onChildrenChange = this.asyncUpdate;\n }\n};\n//# sourceMappingURL=state.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/state.js\n// module id = 7\n// module chunks = 0","import * as React from 'react';\nimport ReactDOM from 'react-dom';\nimport { tools } from 'type-r';\nwindow.Page || (window.Page = { forceResize: function () { } });\nexport default function use(View) {\n var dispose = View.prototype.dispose || function () { }, setElement = View.prototype.setElement;\n var ComponentView = View.extend({\n reactClass: null,\n props: {},\n element: null,\n initialize: function (props) {\n // memorise arguments to pass to React\n this.options = props || {};\n },\n setElement: function () {\n this.unmountComponent(true);\n return setElement.apply(this, arguments);\n },\n // cached instance of react component...\n component: null,\n prevState: null,\n resize: function () {\n window.Page.forceResize();\n },\n render: function () {\n var options = this.prevState ? tools.fastAssign({ __keepState: this.prevState }, this.options) : this.options, element = React.createElement(this.reactClass, options), component = ReactDOM.render(element, this.el);\n this.component || this.mountComponent(component);\n },\n mountComponent: function (component) {\n this.component = component;\n this.prevState = null;\n component.trigger && this.listenTo(component, 'all', function () {\n this.trigger.apply(this, arguments);\n });\n },\n unmountComponent: function (keepModel) {\n var component = this.component;\n if (component) {\n this.prevState = component.state;\n if (component.trigger) {\n this.stopListening(component);\n }\n component._preventDispose = Boolean(keepModel);\n ReactDOM.unmountComponentAtNode(this.el);\n this.component = null;\n }\n },\n dispose: function () {\n this.unmountComponent();\n return dispose.apply(this, arguments);\n }\n });\n Object.defineProperty(ComponentView.prototype, 'model', {\n get: function () {\n this.component || this.render();\n return this.component && this.component.state;\n }\n });\n return ComponentView;\n}\n//# sourceMappingURL=component-view.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/component-view.js\n// module id = 8\n// module chunks = 0","var __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\nimport { Component } from './react-mvx';\nvar dontAutobind = [\n 'State', 'Store', 'constructor',\n 'componentWillMount', 'componentDidMount', 'componentWillReceiveProps', 'shouldComponentUpdate',\n 'componentWillUpdate', 'componentDidUpdate', 'componentWillUnmount',\n 'render', 'getDefaultProps', 'getChildContext'\n];\n/**\n * ES5 components definition factory\n */\nexport default function createClass(_a) {\n var statics = _a.statics, a_spec = __rest(_a, [\"statics\"]);\n // Gather all methods to pin them to `this` later.\n var methods = [];\n var Subclass = Component.extend(__assign({ \n // Override constructor to autobind all the methods...\n constructor: function () {\n Component.apply(this, this.arguments);\n for (var _i = 0, methods_1 = methods; _i < methods_1.length; _i++) {\n var method = methods_1[_i];\n this[method] = this[method].bind(this);\n }\n } }, a_spec), statics);\n // Need to bind methods from mixins as well, so populate it here.\n var Proto = Subclass.prototype;\n for (var key in Proto) {\n if (Proto.hasOwnProperty(key) && dontAutobind.indexOf(key) === -1 && typeof Proto[key] === 'function') {\n methods.push(key);\n }\n }\n return Subclass;\n}\n//# sourceMappingURL=createClass.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/createClass.js\n// module id = 9\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport React from './react-mvx';\nimport { tools } from 'type-r';\nvar notEqual = tools.notEqual;\nvar BackboneView = (function (_super) {\n __extends(BackboneView, _super);\n function BackboneView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.saveRef = function (element) {\n _this.root = element;\n };\n return _this;\n }\n BackboneView.prototype.shouldComponentUpdate = function (next) {\n var props = this.props;\n return next.View !== props.View || notEqual(next.options, props.options);\n };\n BackboneView.prototype.hasUnsavedChanges = function () {\n var view = this.view;\n return view && (typeof view.hasUnsavedChanges === 'function' ? view.hasUnsavedChanges() : view.hasUnsavedChanges);\n };\n BackboneView.prototype.render = function () {\n return React.createElement('div', {\n ref: this.saveRef,\n className: this.props.className\n });\n };\n BackboneView.prototype.componentDidMount = function () {\n this._mountView();\n };\n BackboneView.prototype.componentDidUpdate = function () {\n this._dispose();\n this._mountView();\n };\n BackboneView.prototype.componentWillUnmount = function () {\n this._dispose();\n };\n BackboneView.prototype._mountView = function () {\n var el = this.root, p = this.props;\n var view = this.view = p.options ? new p.View(p.options) : new p.View();\n el.appendChild(view.el);\n view.render();\n };\n BackboneView.prototype._dispose = function () {\n var view = this.view;\n if (view) {\n if (view.dispose) {\n view.dispose();\n }\n else {\n view.stopListening();\n view.off();\n }\n this.root.innerHTML = \"\";\n this.view = null;\n }\n };\n return BackboneView;\n}(React.Component));\nexport default BackboneView;\n//# sourceMappingURL=view-element.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/view-element.js\n// module id = 10\n// module chunks = 0","// Re-export react-mvx\nimport ReactMVx from './react-mvx';\nvar NestedReact = Object.create(ReactMVx);\nexport default NestedReact;\nexport * from './react-mvx';\n// NestedReact backward compatibility layer\nimport ReactDOM from 'react-dom';\nimport Nested, { View, Record } from 'type-r';\nimport * as PropTypes from 'prop-types';\nimport subview from './view-element';\nNestedReact.subview = subview;\nexport { subview };\nimport use from './component-view';\nimport createClass from './createClass';\nNestedReact.createClass = createClass;\nObject.defineProperty(NestedReact, 'PropTypes', { value: PropTypes });\nexport { PropTypes, createClass };\nvar BaseView;\n// export hook to override base View class used...\nexport function useView(View) {\n BaseView = use(View);\n}\nvar define = NestedReact.Component.define;\nNestedReact.Component.define = function (protoProps, staticProps) {\n this.View = BaseView.extend({ reactClass: this });\n return define.call(this, protoProps, staticProps);\n};\n// Deprecated API for backward compatibility\nvar RecordProto = Record.prototype;\nRecordProto.getLink = RecordProto.linkAt;\nRecordProto.deepLink = RecordProto.linkPath;\nvar CollectionProto = Record.Collection.prototype;\nCollectionProto.hasLink = CollectionProto.linkContains;\nuseView(View);\n// Extend react components to have backbone-style jquery accessors\nvar BackboneViewProps = {\n el: { get: function () { return ReactDOM.findDOMNode(this); } },\n $el: { get: function () { return Nested.$(this.el); } },\n $: { value: function (sel) { return this.$el.find(sel); } }\n};\nObject.defineProperties(NestedReact.Component.prototype, BackboneViewProps);\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/index.js\n// module id = 11\n// module chunks = 0","/**\n * React components\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\nimport * as React from 'react';\nimport { extendable, mixinRules, tools, Mixable } from 'type-r';\nimport processSpec from './define';\nvar reactMixinRules = {\n componentWillMount: 'reverse',\n componentDidMount: 'reverse',\n componentWillReceiveProps: 'reverse',\n shouldComponentUpdate: 'some',\n componentWillUpdate: 'reverse',\n componentDidUpdate: 'reverse',\n componentWillUnmount: 'sequence',\n state: 'merge',\n store: 'merge',\n props: 'merge',\n context: 'merge',\n childContext: 'merge',\n getChildContext: 'mergeSequence'\n};\nvar Component = (function (_super) {\n __extends(Component, _super);\n function Component() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Component.prototype.linkAt = function (key) {\n // Quick and dirty hack to suppres type error - refactor later.\n return this.state.linkAt(key);\n };\n Component.prototype.linkAll = function () {\n // Quick and dirty hack to suppres type error - refactor later.\n return this.state.linkAll.apply(this, arguments);\n };\n Component.define = function (protoProps, staticProps) {\n var BaseClass = tools.getBaseClass(this), staticsDefinition = tools.getChangedStatics(this, 'state', 'store', 'props', 'context', 'childContext', 'pureRender'), combinedDefinition = tools.assign(staticsDefinition, protoProps || {});\n var definition = processSpec(combinedDefinition, this.prototype);\n var getDefaultProps = definition.getDefaultProps, propTypes = definition.propTypes, contextTypes = definition.contextTypes, childContextTypes = definition.childContextTypes, protoDefinition = __rest(definition, [\"getDefaultProps\", \"propTypes\", \"contextTypes\", \"childContextTypes\"]);\n if (getDefaultProps)\n this.defaultProps = definition.getDefaultProps();\n if (propTypes)\n this.propTypes = propTypes;\n if (contextTypes)\n this.contextTypes = contextTypes;\n if (childContextTypes)\n this.childContextTypes = childContextTypes;\n Mixable.define.call(this, protoDefinition, staticProps);\n return this;\n };\n Component.prototype.assignToState = function (x, key) {\n this.state.assignFrom((_a = {}, _a[key] = x, _a));\n var _a;\n };\n return Component;\n}(React.Component));\nComponent = __decorate([\n extendable,\n mixinRules(reactMixinRules)\n], Component);\nexport { Component };\n// Looks like React guys _really_ want to deprecated it. But no way.\n// We will work around their attempt.\nObject.defineProperty(Component.prototype, 'isMounted', {\n value: function isMounted() {\n return !this._disposed;\n }\n});\n//# sourceMappingURL=component.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/component.js\n// module id = 12\n// module chunks = 0","/**\n * attach async event processing and transactional support.\n */\nimport { tools, Events } from 'type-r';\nexport default function compile(spec, baseProto) {\n // Attach common mixin\n spec.mixins.push(CommonMixin);\n}\nexport function asyncUpdate() {\n this.shouldComponentUpdate === returnFalse || this._disposed || this.forceUpdate();\n}\nfunction returnFalse() { return false; }\n/**\n * Mixin which is attached to all components.\n */\nvar CommonMixin = tools.assign({\n componentWillUnmount: function () {\n // Prevent memory leaks when working with events.\n this.off();\n this.stopListening();\n // Mark component as disposed.\n this._disposed = true;\n },\n // Safe version of the forceUpdate suitable for asynchronous callbacks.\n asyncUpdate: asyncUpdate,\n /**\n * Performs transactional update for both props and state.\n * Suppress updates during the transaction, and force update aftewards.\n * Wrapping the sequence of changes in a transactions guarantees that\n * React component will be updated _after_ all the changes to the\n * both props and local state are applied.\n */\n transaction: function (fun) {\n var shouldComponentUpdate = this.shouldComponentUpdate, isRoot = shouldComponentUpdate !== returnFalse;\n if (isRoot) {\n this.shouldComponentUpdate = returnFalse;\n }\n fun(this.props, this.state);\n if (isRoot) {\n this.shouldComponentUpdate = shouldComponentUpdate;\n this.asyncUpdate();\n }\n }\n}, Events);\n//# sourceMappingURL=common.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/common.js\n// module id = 13\n// module chunks = 0","var __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nimport { compileSpecs, collectSpecs } from './typeSpecs';\nexport default function process(spec, _a) {\n var _b = _a._context, _context = _b === void 0 ? {} : _b, _c = _a._childContext, _childContext = _c === void 0 ? {} : _c;\n // process context specs...\n var context = collectSpecs(spec, 'context');\n if (context) {\n spec._context = __assign({}, _context, context);\n spec.contextTypes = compileSpecs(context).propTypes;\n delete spec.context;\n }\n // and child context specs...\n var childContext = collectSpecs(spec, 'childContext');\n if (childContext) {\n spec._childContext = __assign({}, _childContext, childContext);\n spec.childContextTypes = compileSpecs(childContext).propTypes;\n delete spec.childContext;\n }\n}\n//# sourceMappingURL=context.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/context.js\n// module id = 14\n// module chunks = 0","/**\n * Handle props specification and everything which is related:\n * - local listening to props changes\n * - pure render mixin\n */\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nimport { collectSpecs, compileSpecs } from './typeSpecs';\nimport createPureRenderMixin from './pureRender';\nexport default function process(spec, _a) {\n var pureRender = _a.pureRender, _b = _a._props, _props = _b === void 0 ? {} : _b, _c = _a._listenToPropsArray, _listenToPropsArray = _c === void 0 ? [] : _c, _d = _a._listenToPropsHash, _listenToPropsHash = _d === void 0 ? {} : _d;\n // process props spec...\n var props = collectSpecs(spec, 'props');\n if (props) {\n var allProps = spec._props = __assign({}, _props, props);\n var _e = compileSpecs(allProps), propTypes = _e.propTypes, defaults_1 = _e.defaults, watchers = _e.watchers, changeHandlers = _e.changeHandlers;\n spec.propTypes = propTypes;\n if (defaults_1)\n spec.getDefaultProps = function () { return defaults_1; };\n if (watchers) {\n spec.mixins.unshift(WatchersMixin);\n spec._watchers = watchers;\n }\n if (changeHandlers) {\n spec.mixins.unshift(ChangeHandlersMixin);\n spec._changeHandlers = changeHandlers;\n }\n delete spec.props;\n }\n // compile pure render mixin\n if (spec._props && (spec.pureRender || pureRender)) {\n spec.mixins.push(createPureRenderMixin(spec._props));\n }\n}\n/**\n * ChangeHandlers are fired in sequence upon props replacement.\n * Fires _after_ UI is updated. Used for managing events subscriptions.\n */\nvar ChangeHandlersMixin = {\n componentDidMount: function () {\n handlePropsChanges(this, {}, this.props);\n },\n componentDidUpdate: function (prev) {\n handlePropsChanges(this, prev, this.props);\n },\n componentWillUnmount: function () {\n handlePropsChanges(this, this.props, {});\n }\n};\nfunction handlePropsChanges(component, prev, next) {\n var _changeHandlers = component._changeHandlers;\n for (var name_1 in _changeHandlers) {\n if (prev[name_1] !== next[name_1]) {\n for (var _i = 0, _a = _changeHandlers[name_1]; _i < _a.length; _i++) {\n var handler = _a[_i];\n handler(next[name_1], prev[name_1], component);\n }\n }\n }\n}\n/**\n * Watchers works on props replacement and fires _before_ any change will be applied and UI is updated.\n * Fired in componentWillMount as well, which makes it a nice way to sync state from props.\n */\nvar WatchersMixin = {\n componentWillReceiveProps: function (next) {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_2 in _watchers) {\n if (next[name_2] !== props[name_2]) {\n _watchers[name_2].call(this, next[name_2], name_2);\n }\n }\n },\n componentWillMount: function () {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_3 in _watchers) {\n _watchers[name_3].call(this, props[name_3], name_3);\n }\n }\n};\n//# sourceMappingURL=props.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/props.js\n// module id = 15\n// module chunks = 0","export default function createPureRenderMixin(props) {\n var ctorBody = ['var v; this._s = s && s._changeToken'], isChangedBody = ['var v; return ( s && s._changeToken !== t._s )'];\n for (var name_1 in props) {\n var propExpr = \"( ( v = p.\" + name_1 + \") && v._changeToken ) || v\";\n ctorBody.push(\"this.\" + name_1 + \"= \" + propExpr);\n isChangedBody.push(\"t.\" + name_1 + \" !== (\" + propExpr + \")\");\n }\n var ChangeTokens = new Function('p', 's', ctorBody.join(';')), isChanged = new Function('t', 'p', 's', isChangedBody.join('||'));\n ChangeTokens.prototype = null;\n return {\n _changeTokens: null,\n shouldComponentUpdate: function (nextProps) {\n return isChanged(this._changeTokens, nextProps, this.state);\n },\n componentDidMount: function () {\n this._changeTokens = new ChangeTokens(this.props, this.state);\n },\n componentDidUpdate: function () {\n this._changeTokens = new ChangeTokens(this.props, this.state);\n }\n };\n}\n;\n//# sourceMappingURL=pureRender.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/pureRender.js\n// module id = 16\n// module chunks = 0","import { collectSpecs } from './typeSpecs';\nimport { Store } from 'type-r';\nimport { StateMixin, UpdateOnNestedChangesMixin } from './state';\nexport default function process(spec, baseProto) {\n var store = collectSpecs(spec, 'store');\n if (store) {\n delete spec.store;\n if (store instanceof Store) {\n // Direct reference to an existing store. Put it to the prototype.\n spec.store = store;\n spec.mixins.push(ExternalStoreMixin);\n }\n else {\n spec.Store = store;\n spec.mixins.push(InternalStoreMixin);\n spec.mixins.push(UpdateOnNestedChangesMixin);\n }\n spec.mixins.push(ExposeStoreMixin);\n }\n}\n/**\n * Attached whenever the store declaration of any form is present in the component.\n */\nvar ExposeStoreMixin = {\n childContext: {\n _nestedStore: Store\n },\n getChildContext: function () {\n return { _nestedStore: this.store };\n },\n getStore: function () {\n return this.store;\n },\n // Will be called by the store when the lookup will fail.\n get: function (key) {\n // Ask upper store.\n var store = StateMixin.getStore.call(this, key);\n return store && store.get(key);\n }\n};\n/**\n * External store must just track the changes and trigger render.\n * TBD: don't use it yet.\n */\nvar ExternalStoreMixin = {\n componentDidMount: function () {\n // Start UI updates on state changes.\n this.listenTo(this.store, 'change', this.asyncUpdate);\n }\n};\nvar InternalStoreMixin = {\n componentWillMount: function () {\n var store = this.store = new this.Store();\n store._owner = this;\n store._ownerKey = 'store';\n },\n componentWillUnmount: function () {\n this.store._ownerKey = this.store._owner = void 0;\n this.store.dispose();\n this.store = void 0;\n }\n};\n//# sourceMappingURL=store.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/store.js\n// module id = 17\n// module chunks = 0","/**\n * Import ValueLink library\n * Define value links binding mixins to the Record and Collection\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { Mixable, Record } from 'type-r';\nimport { Link } from './valuelink/link';\nexport default Link;\nMixable.mixTo(Link);\n/**\n * Record\n */\nRecord.mixins({\n // Link to the record's attribute by its key.\n linkAt: function (key) {\n return cacheLink(getLinksCache(this), this, key);\n },\n // Link to the attribute of the record's tree by symbolic path.\n linkPath: function (path, options) {\n return new RecordDeepLink(this, path, options);\n },\n // Link all (or listed) attributes and return links cache.\n linkAll: function () {\n var links = getLinksCache(this);\n if (arguments.length) {\n for (var i = 0; i < arguments.length; i++) {\n cacheLink(links, this, arguments[i]);\n }\n }\n else {\n var attributes = this.attributes;\n for (var key in attributes) {\n attributes[key] === void 0 || cacheLink(links, this, key);\n }\n }\n return links;\n }\n});\n/**\n * Link to Type-R's record attribute.\n * Strict evaluation of value, lazy evaluation of validation error.\n * Links are cached in the records\n */\nvar RecordLink = (function (_super) {\n __extends(RecordLink, _super);\n function RecordLink(record, attr, value) {\n var _this = _super.call(this, value) || this;\n _this.record = record;\n _this.attr = attr;\n return _this;\n }\n RecordLink.prototype.set = function (x) {\n this.record[this.attr] = x;\n };\n Object.defineProperty(RecordLink.prototype, \"error\", {\n get: function () {\n return this._error === void 0 ?\n this.record.getValidationError(this.attr) :\n this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n return RecordLink;\n}(Link));\nvar RecordDeepLink = (function (_super) {\n __extends(RecordDeepLink, _super);\n function RecordDeepLink(record, path, options) {\n var _this = _super.call(this, record.deepGet(path)) || this;\n _this.record = record;\n _this.path = path;\n _this.options = options;\n return _this;\n }\n Object.defineProperty(RecordDeepLink.prototype, \"error\", {\n get: function () {\n if (this._error === void 0) {\n this._error = this.record.deepValidationError(this.path) || null;\n }\n return this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(RecordDeepLink.prototype, \"_changeToken\", {\n get: function () {\n return this.record._changeToken;\n },\n enumerable: true,\n configurable: true\n });\n RecordDeepLink.prototype.set = function (x) {\n this.record.deepSet(this.path, x, this.options);\n };\n return RecordDeepLink;\n}(Link));\nfunction getLinksCache(record) {\n return record._links || (record._links = new record.Attributes({}));\n}\nfunction cacheLink(links, record, key) {\n var cached = links[key], value = record[key];\n return cached && cached.value === value ? cached\n : links[key] = new RecordLink(record, key, value);\n}\n/***********************************\n * Collection\n */\nRecord.Collection.mixins({\n // Boolean link to the record's presence in the collection\n linkContains: function (record) {\n return new CollectionLink(this, record);\n },\n // Link to collection's property\n linkAt: function (prop) {\n var _this = this;\n return Link.value(this[prop], function (x) { return _this[prop] = x; });\n }\n});\n/**\n * Boolean link to presence of NestedType's record in collection.\n * Strict evaluation of value, no error.\n * Safe implementation of _changeToken.\n */\nvar CollectionLink = (function (_super) {\n __extends(CollectionLink, _super);\n function CollectionLink(collection, record) {\n var _this = _super.call(this, Boolean(collection._byId[record.cid])) || this;\n _this.collection = collection;\n _this.record = record;\n return _this;\n }\n CollectionLink.prototype.set = function (x) {\n this.collection.toggle(this.record, x);\n };\n return CollectionLink;\n}(Link));\n//# sourceMappingURL=link.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/link.js\n// module id = 18\n// module chunks = 0","var ArrayProto = Array.prototype, ObjectProto = Object.prototype;\nexport function helpers(value) {\n if (value && typeof value === 'object') {\n switch (Object.getPrototypeOf(value)) {\n case ArrayProto: return arrayHelpers;\n case ObjectProto: return objectHelpers;\n }\n }\n return dummyHelpers;\n}\n// Do nothing for types other than Array and plain Object.\nvar dummyHelpers = {\n clone: function (value) { return value; },\n map: function (link, fun) { return []; },\n remove: function (value) { return value; }\n};\n// `map` and `clone` for plain JS objects\nexport var objectHelpers = {\n // Map through the link to object\n map: function (link, iterator) {\n var mapped = [];\n for (var key in link.value) {\n var element = iterator(link.at(key), key);\n element === void 0 || (mapped.push(element));\n }\n return mapped;\n },\n remove: function (object, key) {\n delete object[key];\n return object;\n },\n // Shallow clone plain JS object\n clone: function (object) {\n var cloned = {};\n for (var key in object) {\n cloned[key] = object[key];\n }\n return cloned;\n }\n};\n// `map` and `clone` helpers for arrays.\nexport var arrayHelpers = {\n // Shallow clone array\n clone: function (array) {\n return array.slice();\n },\n remove: function (array, i) {\n array.splice(i, 1);\n return array;\n },\n // Map through the link to array\n map: function (link, iterator) {\n var length = link.value.length, mapped = Array(length);\n for (var i = 0, j = 0; i < length; i++) {\n var y = iterator(link.at(i), i);\n y === void 0 || (mapped[j++] = y);\n }\n mapped.length === j || (mapped.length = j);\n return mapped;\n }\n};\n//# sourceMappingURL=helpers.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/valuelink/helpers.js\n// module id = 19\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * Advanced React links for purely functional two-way data binding\n *\n * MIT License, (c) 2016 Vlad Balin, Volicon.\n */\nimport { helpers, arrayHelpers } from './helpers';\n// Main Link class. All links must extend it.\nvar Link = (function () {\n // create \n function Link(value) {\n this.value = value;\n }\n // Create custom link to arbitrary value\n Link.value = function (value, set) {\n return new CustomLink(value, set);\n };\n Object.defineProperty(Link.prototype, \"validationError\", {\n // DEPRECATED: Old error holder for backward compatibility with Volicon code base\n get: function () { return this.error; },\n enumerable: true,\n configurable: true\n });\n Link.prototype.onChange = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n handler(x);\n _this.set(x);\n });\n };\n Object.defineProperty(Link.prototype, \"props\", {\n // \n get: function () {\n var _this = this;\n return { value: this.value, onChange: function (e) { return _this.set(e.target.value); } };\n },\n enumerable: true,\n configurable: true\n });\n // DEPRECATED: Old React method for backward compatibility\n Link.prototype.requestChange = function (x) {\n this.set(x);\n };\n // Immediately update the link value using given transform function.\n Link.prototype.update = function (transform, e) {\n var next = transform(this.clone(), e);\n next === void 0 || this.set(next);\n };\n // Create new link which applies transform function on set.\n Link.prototype.pipe = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n var next = handler(x, _this.value);\n next === void 0 || _this.set(next);\n });\n };\n // Create UI event handler function which will update the link with a given transform function.\n Link.prototype.action = function (transform) {\n var _this = this;\n return function (e) { return _this.update(transform, e); };\n };\n Link.prototype.equals = function (truthyValue) {\n return new EqualsLink(this, truthyValue);\n };\n Link.prototype.enabled = function (defaultValue) {\n return new EnabledLink(this, defaultValue || \"\");\n };\n // Array-only links methods\n Link.prototype.contains = function (element) {\n return new ContainsLink(this, element);\n };\n Link.prototype.push = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.push.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.unshift = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.unshift.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.splice = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.splice.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.map = function (iterator) {\n return helpers(this.value).map(this, iterator);\n };\n Link.prototype.removeAt = function (key) {\n var value = this.value, _ = helpers(value);\n this.set(_.remove(_.clone(value), key));\n };\n Link.prototype.at = function (key) {\n return new LinkAt(this, key);\n };\n Link.prototype.clone = function () {\n var value = this.value;\n return helpers(value).clone(value);\n };\n Link.prototype.pick = function () {\n var links = {};\n for (var i = 0; i < arguments.length; i++) {\n var key = arguments[i];\n links[key] = new LinkAt(this, key);\n }\n return links;\n };\n /**\n * Validate link with validness predicate and optional custom error object. Can be chained.\n */\n Link.prototype.check = function (whenValid, error) {\n if (!this.error && !whenValid(this.value)) {\n this.error = error || whenValid.error || defaultError;\n }\n return this;\n };\n return Link;\n}());\nexport { Link };\nvar CustomLink = (function (_super) {\n __extends(CustomLink, _super);\n function CustomLink(value, set) {\n var _this = _super.call(this, value) || this;\n _this.set = set;\n return _this;\n }\n CustomLink.prototype.set = function (x) { };\n return CustomLink;\n}(Link));\nexport { CustomLink };\nvar CloneLink = (function (_super) {\n __extends(CloneLink, _super);\n function CloneLink(parent, set) {\n var _this = _super.call(this, parent.value) || this;\n _this.set = set;\n var error = parent.error;\n if (error)\n _this.error = error;\n return _this;\n }\n CloneLink.prototype.set = function (x) { };\n return CloneLink;\n}(Link));\nexport { CloneLink };\nvar EqualsLink = (function (_super) {\n __extends(EqualsLink, _super);\n function EqualsLink(parent, truthyValue) {\n var _this = _super.call(this, parent.value === truthyValue) || this;\n _this.parent = parent;\n _this.truthyValue = truthyValue;\n return _this;\n }\n EqualsLink.prototype.set = function (x) {\n this.parent.set(x ? this.truthyValue : null);\n };\n return EqualsLink;\n}(Link));\nexport { EqualsLink };\nvar EnabledLink = (function (_super) {\n __extends(EnabledLink, _super);\n function EnabledLink(parent, defaultValue) {\n var _this = _super.call(this, parent.value != null) || this;\n _this.parent = parent;\n _this.defaultValue = defaultValue;\n return _this;\n }\n EnabledLink.prototype.set = function (x) {\n this.parent.set(x ? this.defaultValue : null);\n };\n return EnabledLink;\n}(Link));\nexport { EnabledLink };\nvar ContainsLink = (function (_super) {\n __extends(ContainsLink, _super);\n function ContainsLink(parent, element) {\n var _this = _super.call(this, parent.value.indexOf(element) >= 0) || this;\n _this.parent = parent;\n _this.element = element;\n return _this;\n }\n ContainsLink.prototype.set = function (x) {\n var _this = this;\n var next = Boolean(x);\n if (this.value !== next) {\n var arr = this.parent.value, nextValue = x ? arr.concat(this.element) : arr.filter(function (el) { return el !== _this.element; });\n this.parent.set(nextValue);\n }\n };\n return ContainsLink;\n}(Link));\nexport { ContainsLink };\nvar defaultError = 'Invalid value';\n/**\n * Link to array or object element enclosed in parent link.\n * Performs purely functional update of the parent, shallow copying its value on `set`.\n */\nvar LinkAt = (function (_super) {\n __extends(LinkAt, _super);\n function LinkAt(parent, key) {\n var _this = _super.call(this, parent.value[key]) || this;\n _this.parent = parent;\n _this.key = key;\n return _this;\n }\n LinkAt.prototype.remove = function () {\n this.parent.removeAt(this.key);\n };\n // Set new element value to parent array or object, performing purely functional update.\n LinkAt.prototype.set = function (x) {\n var _this = this;\n if (this.value !== x) {\n this.parent.update(function (value) {\n value[_this.key] = x;\n return value;\n });\n }\n };\n ;\n return LinkAt;\n}(Link));\nexport { LinkAt };\n//# sourceMappingURL=link.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/valuelink/link.js\n// module id = 20\n// module chunks = 0","\"use strict\";\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/fbjs/lib/emptyFunction.js\n// module id = 21\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (process.env.NODE_ENV !== 'production') {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/fbjs/lib/invariant.js\n// module id = 22\n// module chunks = 0","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n'use strict';\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\nvar invariant = require('fbjs/lib/invariant');\n\nmodule.exports = function() {\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n function shim() {\n invariant(\n false,\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim\n };\n\n ReactPropTypes.checkPropTypes = emptyFunction;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/prop-types/factoryWithThrowingShims.js\n// module id = 23\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///dist/index.min.js","webpack:///webpack/bootstrap c3e03e34f82c95bc5b3e","webpack:///external {\"commonjs\":\"nestedtypes\",\"commonjs2\":\"nestedtypes\",\"amd\":\"nestedtypes\",\"root\":\"Nested\"}","webpack:///./lib/react-mvx/index.js","webpack:///./lib/react-mvx/define/typeSpecs.js","webpack:///external {\"commonjs\":\"react\",\"commonjs2\":\"react\",\"amd\":\"react\",\"root\":\"React\"}","webpack:///./~/prop-types/index.js","webpack:///external {\"commonjs\":\"react-dom\",\"commonjs2\":\"react-dom\",\"amd\":\"react-dom\",\"root\":\"ReactDOM\"}","webpack:///./lib/react-mvx/define/index.js","webpack:///./lib/react-mvx/define/state.js","webpack:///./lib/component-view.js","webpack:///./lib/createClass.js","webpack:///./lib/view-element.js","webpack:///./lib/index.js","webpack:///./lib/react-mvx/component.js","webpack:///./lib/react-mvx/define/common.js","webpack:///./lib/react-mvx/define/context.js","webpack:///./lib/react-mvx/define/props.js","webpack:///./lib/react-mvx/define/pureRender.js","webpack:///./lib/react-mvx/define/store.js","webpack:///./lib/react-mvx/link.js","webpack:///./lib/react-mvx/valuelink/helpers.js","webpack:///./lib/react-mvx/valuelink/link.js","webpack:///./~/fbjs/lib/emptyFunction.js","webpack:///./~/fbjs/lib/invariant.js","webpack:///./~/prop-types/factoryWithThrowingShims.js","webpack:///./~/prop-types/lib/ReactPropTypesSecret.js"],"names":["root","factory","exports","module","require","define","amd","this","__WEBPACK_EXTERNAL_MODULE_0__","__WEBPACK_EXTERNAL_MODULE_3__","__WEBPACK_EXTERNAL_MODULE_5__","modules","__webpack_require__","moduleId","installedModules","i","l","call","m","c","value","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","__webpack_exports__","assignToState","__WEBPACK_IMPORTED_MODULE_0_react__","__WEBPACK_IMPORTED_MODULE_1_type_r__","__WEBPACK_IMPORTED_MODULE_2__define__","__WEBPACK_IMPORTED_MODULE_3__link__","__WEBPACK_IMPORTED_MODULE_4__component__","ReactMVx","create","default","mixins","Node","Element","Link","Component","key","prop","state","assignFrom","_a","collectSpecs","spec","attributes","length","mixin","mixinAttrs","assign","specAttrs","compileSpecs","props","defaults","watchers","changeHandlers","propTypes","modelProto","forEachAttr","_attributes","type","options","translateType","isRequired","_onChange","toLocalWatcher","changeEvents","handlers","changeEvents_1","push","next","prev","component","stopListening","listenTo","_changeEventName","asyncUpdate","convert","ref","Type","T","_translateType","Number","integer","__WEBPACK_IMPORTED_MODULE_0_prop_types__","String","Boolean","Array","Function","process","baseProto","__WEBPACK_IMPORTED_MODULE_0__store__","__WEBPACK_IMPORTED_MODULE_1__state__","__WEBPACK_IMPORTED_MODULE_2__context__","__WEBPACK_IMPORTED_MODULE_4__props__","__WEBPACK_IMPORTED_MODULE_3__common__","__WEBPACK_IMPORTED_MODULE_5__typeSpecs__","__WEBPACK_IMPORTED_MODULE_0__typeSpecs__","State","BaseModel","StateMixin","UpdateOnNestedChangesMixin","componentWillMount","__keepState","_owner","_ownerKey","context","_nestedStore","getStore","_defaultStore","componentWillUnmount","_preventDispose","dispose","_onChildrenChange","componentDidMount","use","View","setElement","ComponentView","extend","reactClass","element","initialize","unmountComponent","apply","arguments","prevState","resize","window","Page","forceResize","render","__WEBPACK_IMPORTED_MODULE_2_type_r__","fastAssign","__WEBPACK_IMPORTED_MODULE_1_react_dom___default","a","el","mountComponent","trigger","keepModel","unmountComponentAtNode","__WEBPACK_IMPORTED_MODULE_1_react_dom__","createClass","statics","a_spec","__rest","methods","Subclass","__WEBPACK_IMPORTED_MODULE_0__react_mvx__","__assign","constructor","_i","methods_1","method","bind","Proto","dontAutobind","indexOf","t","e","getOwnPropertySymbols","__extends","extendStatics","setPrototypeOf","__proto__","b","__","notEqual","BackboneView","_super","_this","saveRef","shouldComponentUpdate","hasUnsavedChanges","view","createElement","className","_mountView","componentDidUpdate","_dispose","appendChild","off","innerHTML","useView","BaseView","__WEBPACK_IMPORTED_MODULE_5__component_view__","__WEBPACK_IMPORTED_MODULE_2_type_r___default","__WEBPACK_IMPORTED_MODULE_3_prop_types__","__WEBPACK_IMPORTED_MODULE_4__view_element__","__WEBPACK_IMPORTED_MODULE_6__createClass__","NestedReact","subview","protoProps","staticProps","RecordProto","getLink","linkAt","deepLink","linkPath","CollectionProto","Collection","hasLink","linkContains","BackboneViewProps","findDOMNode","$el","$","sel","find","defineProperties","__decorate","decorators","target","desc","r","getOwnPropertyDescriptor","Reflect","decorate","reactMixinRules","componentWillReceiveProps","componentWillUpdate","store","childContext","getChildContext","linkAll","path","_links","staticsDefinition","getBaseClass","getChangedStatics","combinedDefinition","definition","getDefaultProps","contextTypes","childContextTypes","protoDefinition","defaultProps","x","_disposed","compile","CommonMixin","returnFalse","forceUpdate","__WEBPACK_IMPORTED_MODULE_0_type_r__","transaction","fun","isRoot","withStore","_b","_context","_c","_childContext","pureRender","_props","_listenToPropsArray","_listenToPropsHash","allProps","_e","defaults_1","unshift","WatchersMixin","_watchers","ChangeHandlersMixin","_changeHandlers","__WEBPACK_IMPORTED_MODULE_1__pureRender__","handlePropsChanges","name_1","handler","name_2","name_3","createPureRenderMixin","ctorBody","isChangedBody","propExpr","ChangeTokens","join","isChanged","_changeTokens","nextProps","ExternalStoreMixin","Store","InternalStoreMixin","__WEBPACK_IMPORTED_MODULE_2__state__","ExposeStoreMixin","getLinksCache","record","Attributes","cacheLink","links","cached","RecordLink","__WEBPACK_IMPORTED_MODULE_1__valuelink_link__","mixTo","RecordDeepLink","attr","set","_error","getValidationError","deepGet","deepValidationError","_changeToken","deepSet","CollectionLink","collection","_byId","cid","toggle","helpers","getPrototypeOf","ArrayProto","arrayHelpers","ObjectProto","objectHelpers","dummyHelpers","clone","map","link","remove","iterator","mapped","at","cloned","array","slice","splice","j","y","__WEBPACK_IMPORTED_MODULE_0__helpers__","CustomLink","error","onChange","CloneLink","checked","requestChange","update","transform","pipe","action","equals","truthyValue","EqualsLink","enabled","defaultValue","EnabledLink","contains","ContainsLink","removeAt","_","LinkAt","pick","check","whenValid","defaultError","parent","arr","nextValue","concat","filter","makeEmptyFunction","arg","emptyFunction","thatReturns","thatReturnsFalse","thatReturnsTrue","thatReturnsNull","thatReturnsThis","thatReturnsArgument","invariant","condition","format","f","validateFormat","undefined","Error","args","argIndex","replace","framesToPop","ReactPropTypesSecret","shim","propName","componentName","location","propFullName","secret","getShim","ReactPropTypes","bool","func","number","string","symbol","any","arrayOf","instanceOf","node","objectOf","oneOf","oneOfType","shape","checkPropTypes","PropTypes"],"mappings":"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","file":"./dist/index.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"nestedtypes\"), require(\"react\"), require(\"react-dom\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"nestedtypes\", \"react\", \"react-dom\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"React\"] = factory(require(\"nestedtypes\"), require(\"react\"), require(\"react-dom\"));\n\telse\n\t\troot[\"React\"] = factory(root[\"Nested\"], root[\"React\"], root[\"ReactDOM\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_3__, __WEBPACK_EXTERNAL_MODULE_5__) {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"nestedtypes\"), require(\"react\"), require(\"react-dom\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"nestedtypes\", \"react\", \"react-dom\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"React\"] = factory(require(\"nestedtypes\"), require(\"react\"), require(\"react-dom\"));\n\telse\n\t\troot[\"React\"] = factory(root[\"Nested\"], root[\"React\"], root[\"ReactDOM\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_3__, __WEBPACK_EXTERNAL_MODULE_5__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\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// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\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, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\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 = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 11);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_0__;\n\n/***/ }),\n/* 1 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"h\", function() { return assignToState; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__define__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__link__ = __webpack_require__(18);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__component__ = __webpack_require__(12);\n/* harmony reexport (binding) */ if(__webpack_require__.o(__WEBPACK_IMPORTED_MODULE_1_type_r__, \"define\")) __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_1_type_r__[\"define\"]; });\n/* harmony reexport (binding) */ if(__webpack_require__.o(__WEBPACK_IMPORTED_MODULE_1_type_r__, \"mixins\")) __webpack_require__.d(__webpack_exports__, \"c\", function() { return __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixins\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return __WEBPACK_IMPORTED_MODULE_2__define__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return __WEBPACK_IMPORTED_MODULE_2__define__[\"b\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return __WEBPACK_IMPORTED_MODULE_3__link__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"g\", function() { return __WEBPACK_IMPORTED_MODULE_4__component__[\"a\"]; });\n\n\n\n\n\n// extend React namespace\nvar ReactMVx = Object.create(__WEBPACK_IMPORTED_MODULE_0_react__);\n// Make it compatible with ES6 module format.\nReactMVx.default = ReactMVx;\n// listenToProps, listenToState, model, attributes, Model\nReactMVx.define = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"define\"];\nReactMVx.mixins = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixins\"];\nReactMVx.Node = __WEBPACK_IMPORTED_MODULE_2__define__[\"a\" /* Node */].value(null);\nReactMVx.Element = __WEBPACK_IMPORTED_MODULE_2__define__[\"b\" /* Element */].value(null);\nReactMVx.Link = __WEBPACK_IMPORTED_MODULE_3__link__[\"a\" /* default */];\nReactMVx.Component = __WEBPACK_IMPORTED_MODULE_4__component__[\"a\" /* Component */];\nvar assignToState = ReactMVx.assignToState = function (key) {\n return function (prop) {\n this.state.assignFrom((_a = {}, _a[key] = prop && prop instanceof __WEBPACK_IMPORTED_MODULE_3__link__[\"a\" /* default */] ? prop.value : prop, _a));\n var _a;\n };\n};\n/* harmony default export */ __webpack_exports__[\"a\"] = (ReactMVx);\n\n//# sourceMappingURL=index.js.map\n\n/***/ }),\n/* 2 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = collectSpecs;\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = compileSpecs;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Node; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return Element; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n\n\nfunction collectSpecs(spec, name) {\n var attributes = null;\n // Scan through local mixin, and gather specs. Refactor it later, it's not good. At all.\n for (var i = spec.mixins.length - 1; i >= 0; i--) {\n var mixin = spec.mixins[i], mixinAttrs = mixin[name];\n if (mixinAttrs) {\n attributes || (attributes = {});\n __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].assign(attributes, mixinAttrs);\n }\n }\n // Merge it with local data.\n var specAttrs = spec[name];\n if (specAttrs) {\n if (attributes) {\n __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].assign(attributes, specAttrs);\n }\n else {\n attributes = specAttrs;\n }\n }\n return attributes;\n}\nfunction compileSpecs(props) {\n var propTypes = {}, \n // Create NestedTypes model definition to process props spec.\n modelProto = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"Record\"].defaults(props).prototype;\n var defaults, watchers, changeHandlers;\n modelProto.forEachAttr(modelProto._attributes, function (spec, name) {\n // Skip auto-generated `id` attribute.\n if (name !== 'id') {\n var value = spec.value, type = spec.type, options = spec.options;\n // Translate props type to the propTypes guard.\n propTypes[name] = translateType(type, options.isRequired);\n if (options._onChange) {\n watchers || (watchers = {});\n watchers[name] = toLocalWatcher(options._onChange);\n }\n // Handle listening to event maps...\n if (options.changeHandlers && options.changeHandlers.length) {\n changeHandlers || (changeHandlers = {});\n changeHandlers[name] = options.changeHandlers;\n }\n // Handle listening to props changes...\n if (options.changeEvents) {\n changeHandlers || (changeHandlers = {});\n var handlers = changeHandlers[name] || (changeHandlers[name] = []), changeEvents_1 = typeof options.changeEvents === 'string' ? options.changeEvents : null;\n handlers.push(function (next, prev, component) {\n prev && component.stopListening(prev);\n next && component.listenTo(next, changeEvents_1 || next._changeEventName, component.asyncUpdate);\n });\n }\n // If default value is explicitly provided...\n if (value !== void 0) {\n //...append it to getDefaultProps function.\n defaults || (defaults = {});\n defaults[name] = spec.convert(value);\n }\n }\n });\n return { propTypes: propTypes, defaults: defaults, watchers: watchers, changeHandlers: changeHandlers };\n}\nfunction toLocalWatcher(ref) {\n return typeof ref === 'function' ? ref : function (value, name) {\n this[ref] && this[ref](value, name);\n };\n}\nvar Node = (function () {\n function Node() {\n }\n return Node;\n}());\n\nvar Element = (function () {\n function Element() {\n }\n return Element;\n}());\n\nfunction translateType(Type, isRequired) {\n var T = _translateType(Type);\n return isRequired ? T.isRequired : T;\n}\nfunction _translateType(Type) {\n switch (Type) {\n case Number:\n case Number.integer:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"number\"];\n case String:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"string\"];\n case Boolean:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"bool\"];\n case Array:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"array\"];\n case Function:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"func\"];\n case Object:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"object\"];\n case Node:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"node\"];\n case Element:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"element\"];\n case void 0:\n case null:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"any\"];\n default:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"instanceOf\"](Type);\n }\n}\n//# sourceMappingURL=typeSpecs.js.map\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_3__;\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\nif (false) {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = __webpack_require__(23)();\n}\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_5__;\n\n/***/ }),\n/* 6 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = process;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__store__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__state__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__context__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__common__ = __webpack_require__(13);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__props__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__typeSpecs__ = __webpack_require__(2);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_5__typeSpecs__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_5__typeSpecs__[\"b\"]; });\n\n\n\n\n\nfunction process(spec, baseProto) {\n if (baseProto === void 0) { baseProto = {}; }\n // Initialize mixins placeholder...\n spec.mixins || (spec.mixins = []);\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__store__[\"a\" /* default */])(spec, baseProto);\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__state__[\"a\" /* default */])(spec, baseProto);\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__context__[\"a\" /* default */])(spec, baseProto);\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__props__[\"a\" /* default */])(spec, baseProto);\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__common__[\"a\" /* default */])(spec, baseProto);\n return spec;\n}\n;\n\n//# sourceMappingURL=index.js.map\n\n/***/ }),\n/* 7 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = process;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return StateMixin; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return UpdateOnNestedChangesMixin; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n/*****************\n * State\n */\n\n\nfunction process(spec, baseProto) {\n // process state spec...\n var attributes = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* collectSpecs */])(spec, 'state');\n if (attributes || baseProto.State) {\n var BaseModel = baseProto.State || __WEBPACK_IMPORTED_MODULE_1_type_r__[\"Record\"];\n spec.State = attributes ? (typeof attributes === 'function' ? attributes : BaseModel.defaults(attributes)) : BaseModel;\n spec.mixins.push(StateMixin);\n spec.mixins.push(UpdateOnNestedChangesMixin);\n delete spec.state;\n delete spec.attributes;\n }\n}\nvar StateMixin = {\n //state : null,\n componentWillMount: function () {\n // props.__keepState is used to workaround issues in Backbone intergation layer\n var state = this.state = this.props.__keepState || new this.State();\n // Take ownership on state...\n state._owner = this;\n state._ownerKey = 'state';\n },\n context: {\n _nestedStore: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"Store\"]\n },\n // reference global store to fix model's store locator\n getStore: function () {\n // Attempt to get the store from the context first. Then - fallback to the state's default store.\n // TBD: Need to figure out a good way of managing local stores.\n var context, state;\n return ((context = this.context) && context._nestedStore) ||\n ((state = this.state) && state._defaultStore);\n },\n componentWillUnmount: function () {\n var state = this.state;\n state._owner = state._ownerKey = void 0;\n this._preventDispose /* hack for component-view to preserve the state */ || state.dispose();\n this.state = void 0;\n }\n};\nvar UpdateOnNestedChangesMixin = {\n _onChildrenChange: function () { },\n componentDidMount: function () {\n this._onChildrenChange = this.asyncUpdate;\n }\n};\n//# sourceMappingURL=state.js.map\n\n/***/ }),\n/* 8 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = use;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__);\n\n\n\nwindow.Page || (window.Page = { forceResize: function () { } });\nfunction use(View) {\n var dispose = View.prototype.dispose || function () { }, setElement = View.prototype.setElement;\n var ComponentView = View.extend({\n reactClass: null,\n props: {},\n element: null,\n initialize: function (props) {\n // memorise arguments to pass to React\n this.options = props || {};\n },\n setElement: function () {\n this.unmountComponent(true);\n return setElement.apply(this, arguments);\n },\n // cached instance of react component...\n component: null,\n prevState: null,\n resize: function () {\n window.Page.forceResize();\n },\n render: function () {\n var options = this.prevState ? __WEBPACK_IMPORTED_MODULE_2_type_r__[\"tools\"].fastAssign({ __keepState: this.prevState }, this.options) : this.options, element = __WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"](this.reactClass, options), component = __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.render(element, this.el);\n this.component || this.mountComponent(component);\n },\n mountComponent: function (component) {\n this.component = component;\n this.prevState = null;\n component.trigger && this.listenTo(component, 'all', function () {\n this.trigger.apply(this, arguments);\n });\n },\n unmountComponent: function (keepModel) {\n var component = this.component;\n if (component) {\n this.prevState = component.state;\n if (component.trigger) {\n this.stopListening(component);\n }\n component._preventDispose = Boolean(keepModel);\n __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.unmountComponentAtNode(this.el);\n this.component = null;\n }\n },\n dispose: function () {\n this.unmountComponent();\n return dispose.apply(this, arguments);\n }\n });\n Object.defineProperty(ComponentView.prototype, 'model', {\n get: function () {\n this.component || this.render();\n return this.component && this.component.state;\n }\n });\n return ComponentView;\n}\n//# sourceMappingURL=component-view.js.map\n\n/***/ }),\n/* 9 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = createClass;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1);\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\n\nvar dontAutobind = [\n 'State', 'Store', 'constructor',\n 'componentWillMount', 'componentDidMount', 'componentWillReceiveProps', 'shouldComponentUpdate',\n 'componentWillUpdate', 'componentDidUpdate', 'componentWillUnmount',\n 'render', 'getDefaultProps', 'getChildContext'\n];\n/**\n * ES5 components definition factory\n */\nfunction createClass(_a) {\n var statics = _a.statics, a_spec = __rest(_a, [\"statics\"]);\n // Gather all methods to pin them to `this` later.\n var methods = [];\n var Subclass = __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"g\" /* Component */].extend(__assign({ \n // Override constructor to autobind all the methods...\n constructor: function () {\n __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"g\" /* Component */].apply(this, this.arguments);\n for (var _i = 0, methods_1 = methods; _i < methods_1.length; _i++) {\n var method = methods_1[_i];\n this[method] = this[method].bind(this);\n }\n } }, a_spec), statics);\n // Need to bind methods from mixins as well, so populate it here.\n var Proto = Subclass.prototype;\n for (var key in Proto) {\n if (Proto.hasOwnProperty(key) && dontAutobind.indexOf(key) === -1 && typeof Proto[key] === 'function') {\n methods.push(key);\n }\n }\n return Subclass;\n}\n//# sourceMappingURL=createClass.js.map\n\n/***/ }),\n/* 10 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\nvar notEqual = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].notEqual;\nvar BackboneView = (function (_super) {\n __extends(BackboneView, _super);\n function BackboneView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.saveRef = function (element) {\n _this.root = element;\n };\n return _this;\n }\n BackboneView.prototype.shouldComponentUpdate = function (next) {\n var props = this.props;\n return next.View !== props.View || notEqual(next.options, props.options);\n };\n BackboneView.prototype.hasUnsavedChanges = function () {\n var view = this.view;\n return view && (typeof view.hasUnsavedChanges === 'function' ? view.hasUnsavedChanges() : view.hasUnsavedChanges);\n };\n BackboneView.prototype.render = function () {\n return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\" /* default */].createElement('div', {\n ref: this.saveRef,\n className: this.props.className\n });\n };\n BackboneView.prototype.componentDidMount = function () {\n this._mountView();\n };\n BackboneView.prototype.componentDidUpdate = function () {\n this._dispose();\n this._mountView();\n };\n BackboneView.prototype.componentWillUnmount = function () {\n this._dispose();\n };\n BackboneView.prototype._mountView = function () {\n var el = this.root, p = this.props;\n var view = this.view = p.options ? new p.View(p.options) : new p.View();\n el.appendChild(view.el);\n view.render();\n };\n BackboneView.prototype._dispose = function () {\n var view = this.view;\n if (view) {\n if (view.dispose) {\n view.dispose();\n }\n else {\n view.stopListening();\n view.off();\n }\n this.root.innerHTML = \"\";\n this.view = null;\n }\n };\n return BackboneView;\n}(__WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\" /* default */].Component));\n/* harmony default export */ __webpack_exports__[\"a\"] = (BackboneView);\n//# sourceMappingURL=view-element.js.map\n\n/***/ }),\n/* 11 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (immutable) */ __webpack_exports__[\"useView\"] = useView;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1);\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"define\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"b\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"mixins\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"c\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Node\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"d\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Element\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"e\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Link\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"f\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Component\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"g\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"assignToState\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"h\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__view_element__ = __webpack_require__(10);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"subview\", function() { return __WEBPACK_IMPORTED_MODULE_4__view_element__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__component_view__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__createClass__ = __webpack_require__(9);\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"PropTypes\", function() { return __WEBPACK_IMPORTED_MODULE_3_prop_types__; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"createClass\", function() { return __WEBPACK_IMPORTED_MODULE_6__createClass__[\"a\"]; });\n// Re-export react-mvx\n\nvar NestedReact = Object.create(__WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\" /* default */]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (NestedReact);\n\n// NestedReact backward compatibility layer\n\n\n\n\nNestedReact.subview = __WEBPACK_IMPORTED_MODULE_4__view_element__[\"a\" /* default */];\n\n\n\nNestedReact.createClass = __WEBPACK_IMPORTED_MODULE_6__createClass__[\"a\" /* default */];\nObject.defineProperty(NestedReact, 'PropTypes', { value: __WEBPACK_IMPORTED_MODULE_3_prop_types__ });\n\nvar BaseView;\n// export hook to override base View class used...\nfunction useView(View) {\n BaseView = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__component_view__[\"a\" /* default */])(View);\n}\nvar define = NestedReact.Component.define;\nNestedReact.Component.define = function (protoProps, staticProps) {\n this.View = BaseView.extend({ reactClass: this });\n return define.call(this, protoProps, staticProps);\n};\n// Deprecated API for backward compatibility\nvar RecordProto = __WEBPACK_IMPORTED_MODULE_2_type_r__[\"Record\"].prototype;\nRecordProto.getLink = RecordProto.linkAt;\nRecordProto.deepLink = RecordProto.linkPath;\nvar CollectionProto = __WEBPACK_IMPORTED_MODULE_2_type_r__[\"Record\"].Collection.prototype;\nCollectionProto.hasLink = CollectionProto.linkContains;\nuseView(__WEBPACK_IMPORTED_MODULE_2_type_r__[\"View\"]);\n// Extend react components to have backbone-style jquery accessors\nvar BackboneViewProps = {\n el: { get: function () { return __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.findDOMNode(this); } },\n $el: { get: function () { return __WEBPACK_IMPORTED_MODULE_2_type_r___default.a.$(this.el); } },\n $: { value: function (sel) { return this.$el.find(sel); } }\n};\nObject.defineProperties(NestedReact.Component.prototype, BackboneViewProps);\n//# sourceMappingURL=index.js.map\n\n/***/ }),\n/* 12 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Component; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__define__ = __webpack_require__(6);\n/**\n * React components\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\n\n\n\nvar reactMixinRules = {\n componentWillMount: 'reverse',\n componentDidMount: 'reverse',\n componentWillReceiveProps: 'reverse',\n shouldComponentUpdate: 'some',\n componentWillUpdate: 'reverse',\n componentDidUpdate: 'reverse',\n componentWillUnmount: 'sequence',\n state: 'merge',\n store: 'merge',\n props: 'merge',\n context: 'merge',\n childContext: 'merge',\n getChildContext: 'mergeSequence'\n};\nvar Component = (function (_super) {\n __extends(Component, _super);\n function Component() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Component.prototype.linkAt = function (key) {\n // Quick and dirty hack to suppres type error - refactor later.\n return this.state.linkAt(key);\n };\n Component.prototype.linkAll = function () {\n // Quick and dirty hack to suppres type error - refactor later.\n var state = this.state;\n return state.linkAll.apply(state, arguments);\n };\n Component.prototype.linkPath = function (path) {\n return this.state.linkPath(path);\n };\n Object.defineProperty(Component.prototype, \"links\", {\n get: function () {\n return this.state._links;\n },\n enumerable: true,\n configurable: true\n });\n Component.define = function (protoProps, staticProps) {\n var BaseClass = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].getBaseClass(this), staticsDefinition = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].getChangedStatics(this, 'state', 'store', 'props', 'context', 'childContext', 'pureRender'), combinedDefinition = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].assign(staticsDefinition, protoProps || {});\n var definition = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__define__[\"c\" /* default */])(combinedDefinition, this.prototype);\n var getDefaultProps = definition.getDefaultProps, propTypes = definition.propTypes, contextTypes = definition.contextTypes, childContextTypes = definition.childContextTypes, protoDefinition = __rest(definition, [\"getDefaultProps\", \"propTypes\", \"contextTypes\", \"childContextTypes\"]);\n if (getDefaultProps)\n this.defaultProps = definition.getDefaultProps();\n if (propTypes)\n this.propTypes = propTypes;\n if (contextTypes)\n this.contextTypes = contextTypes;\n if (childContextTypes)\n this.childContextTypes = childContextTypes;\n __WEBPACK_IMPORTED_MODULE_1_type_r__[\"Mixable\"].define.call(this, protoDefinition, staticProps);\n return this;\n };\n Component.prototype.assignToState = function (x, key) {\n this.state.assignFrom((_a = {}, _a[key] = x, _a));\n var _a;\n };\n return Component;\n}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]));\nComponent = __decorate([\n __WEBPACK_IMPORTED_MODULE_1_type_r__[\"extendable\"],\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"])(reactMixinRules)\n], Component);\n\n// Looks like React guys _really_ want to deprecated it. But no way.\n// We will work around their attempt.\nObject.defineProperty(Component.prototype, 'isMounted', {\n value: function isMounted() {\n return !this._disposed;\n }\n});\n//# sourceMappingURL=component.js.map\n\n/***/ }),\n/* 13 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = compile;\n/* unused harmony export asyncUpdate */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__);\n/**\n * attach async event processing and transactional support.\n */\n\nfunction compile(spec, baseProto) {\n // Attach common mixin\n spec.mixins.push(CommonMixin);\n}\nfunction asyncUpdate() {\n this.shouldComponentUpdate === returnFalse || this._disposed || this.forceUpdate();\n}\nfunction returnFalse() { return false; }\n/**\n * Mixin which is attached to all components.\n */\nvar CommonMixin = __WEBPACK_IMPORTED_MODULE_0_type_r__[\"tools\"].assign({\n componentWillUnmount: function () {\n // Prevent memory leaks when working with events.\n this.off();\n this.stopListening();\n // Mark component as disposed.\n this._disposed = true;\n },\n // Safe version of the forceUpdate suitable for asynchronous callbacks.\n asyncUpdate: asyncUpdate,\n /**\n * Performs transactional update for both props and state.\n * Suppress updates during the transaction, and force update aftewards.\n * Wrapping the sequence of changes in a transactions guarantees that\n * React component will be updated _after_ all the changes to the\n * both props and local state are applied.\n */\n transaction: function (fun) {\n var shouldComponentUpdate = this.shouldComponentUpdate, isRoot = shouldComponentUpdate !== returnFalse;\n if (isRoot) {\n this.shouldComponentUpdate = returnFalse;\n }\n var _a = this, state = _a.state, store = _a.store, withStore = store ? function (state) { return store.transaction(function () { return fun(state); }); } : fun;\n state ? state.transaction(withStore) : withStore(state);\n if (isRoot) {\n this.shouldComponentUpdate = shouldComponentUpdate;\n this.asyncUpdate();\n }\n }\n}, __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Events\"]);\n//# sourceMappingURL=common.js.map\n\n/***/ }),\n/* 14 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = process;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(2);\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\n\nfunction process(spec, _a) {\n var _b = _a._context, _context = _b === void 0 ? {} : _b, _c = _a._childContext, _childContext = _c === void 0 ? {} : _c;\n // process context specs...\n var context = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* collectSpecs */])(spec, 'context');\n if (context) {\n spec._context = __assign({}, _context, context);\n spec.contextTypes = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"d\" /* compileSpecs */])(context).propTypes;\n delete spec.context;\n }\n // and child context specs...\n var childContext = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* collectSpecs */])(spec, 'childContext');\n if (childContext) {\n spec._childContext = __assign({}, _childContext, childContext);\n spec.childContextTypes = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"d\" /* compileSpecs */])(childContext).propTypes;\n delete spec.childContext;\n }\n}\n//# sourceMappingURL=context.js.map\n\n/***/ }),\n/* 15 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = process;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__pureRender__ = __webpack_require__(16);\n/**\n * Handle props specification and everything which is related:\n * - local listening to props changes\n * - pure render mixin\n */\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\n\n\nfunction process(spec, _a) {\n var pureRender = _a.pureRender, _b = _a._props, _props = _b === void 0 ? {} : _b, _c = _a._listenToPropsArray, _listenToPropsArray = _c === void 0 ? [] : _c, _d = _a._listenToPropsHash, _listenToPropsHash = _d === void 0 ? {} : _d;\n // process props spec...\n var props = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* collectSpecs */])(spec, 'props');\n if (props) {\n var allProps = spec._props = __assign({}, _props, props);\n var _e = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"d\" /* compileSpecs */])(allProps), propTypes = _e.propTypes, defaults_1 = _e.defaults, watchers = _e.watchers, changeHandlers = _e.changeHandlers;\n spec.propTypes = propTypes;\n if (defaults_1)\n spec.getDefaultProps = function () { return defaults_1; };\n if (watchers) {\n spec.mixins.unshift(WatchersMixin);\n spec._watchers = watchers;\n }\n if (changeHandlers) {\n spec.mixins.unshift(ChangeHandlersMixin);\n spec._changeHandlers = changeHandlers;\n }\n delete spec.props;\n }\n // compile pure render mixin\n if (spec._props && (spec.pureRender || pureRender)) {\n spec.mixins.push(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__pureRender__[\"a\" /* default */])(spec._props));\n }\n}\n/**\n * ChangeHandlers are fired in sequence upon props replacement.\n * Fires _after_ UI is updated. Used for managing events subscriptions.\n */\nvar ChangeHandlersMixin = {\n componentDidMount: function () {\n handlePropsChanges(this, {}, this.props);\n },\n componentDidUpdate: function (prev) {\n handlePropsChanges(this, prev, this.props);\n },\n componentWillUnmount: function () {\n handlePropsChanges(this, this.props, {});\n }\n};\nfunction handlePropsChanges(component, prev, next) {\n var _changeHandlers = component._changeHandlers;\n for (var name_1 in _changeHandlers) {\n if (prev[name_1] !== next[name_1]) {\n for (var _i = 0, _a = _changeHandlers[name_1]; _i < _a.length; _i++) {\n var handler = _a[_i];\n handler(next[name_1], prev[name_1], component);\n }\n }\n }\n}\n/**\n * Watchers works on props replacement and fires _before_ any change will be applied and UI is updated.\n * Fired in componentWillMount as well, which makes it a nice way to sync state from props.\n */\nvar WatchersMixin = {\n componentWillReceiveProps: function (next) {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_2 in _watchers) {\n if (next[name_2] !== props[name_2]) {\n _watchers[name_2].call(this, next[name_2], name_2);\n }\n }\n },\n componentWillMount: function () {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_3 in _watchers) {\n _watchers[name_3].call(this, props[name_3], name_3);\n }\n }\n};\n//# sourceMappingURL=props.js.map\n\n/***/ }),\n/* 16 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = createPureRenderMixin;\nfunction createPureRenderMixin(props) {\n var ctorBody = ['var v; this._s = s && s._changeToken'], isChangedBody = ['var v; return ( s && s._changeToken !== t._s )'];\n for (var name_1 in props) {\n var propExpr = \"( ( v = p.\" + name_1 + \") && v._changeToken ) || v\";\n ctorBody.push(\"this.\" + name_1 + \"= \" + propExpr);\n isChangedBody.push(\"t.\" + name_1 + \" !== (\" + propExpr + \")\");\n }\n var ChangeTokens = new Function('p', 's', ctorBody.join(';')), isChanged = new Function('t', 'p', 's', isChangedBody.join('||'));\n ChangeTokens.prototype = null;\n return {\n _changeTokens: null,\n shouldComponentUpdate: function (nextProps) {\n return isChanged(this._changeTokens, nextProps, this.state);\n },\n componentDidMount: function () {\n this._changeTokens = new ChangeTokens(this.props, this.state);\n },\n componentDidUpdate: function () {\n this._changeTokens = new ChangeTokens(this.props, this.state);\n }\n };\n}\n;\n//# sourceMappingURL=pureRender.js.map\n\n/***/ }),\n/* 17 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = process;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__state__ = __webpack_require__(7);\n\n\n\nfunction process(spec, baseProto) {\n var store = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* collectSpecs */])(spec, 'store');\n if (store) {\n delete spec.store;\n if (store instanceof __WEBPACK_IMPORTED_MODULE_1_type_r__[\"Store\"]) {\n // Direct reference to an existing store. Put it to the prototype.\n spec.store = store;\n spec.mixins.push(ExternalStoreMixin);\n }\n else {\n spec.Store = store;\n spec.mixins.push(InternalStoreMixin);\n spec.mixins.push(__WEBPACK_IMPORTED_MODULE_2__state__[\"b\" /* UpdateOnNestedChangesMixin */]);\n }\n spec.mixins.push(ExposeStoreMixin);\n }\n}\n/**\n * Attached whenever the store declaration of any form is present in the component.\n */\nvar ExposeStoreMixin = {\n childContext: {\n _nestedStore: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"Store\"]\n },\n getChildContext: function () {\n return { _nestedStore: this.store };\n },\n getStore: function () {\n return this.store;\n },\n // Will be called by the store when the lookup will fail.\n get: function (key) {\n // Ask upper store.\n var store = __WEBPACK_IMPORTED_MODULE_2__state__[\"c\" /* StateMixin */].getStore.call(this, key);\n return store && store.get(key);\n }\n};\n/**\n * External store must just track the changes and trigger render.\n * TBD: don't use it yet.\n */\nvar ExternalStoreMixin = {\n componentDidMount: function () {\n // Start UI updates on state changes.\n this.listenTo(this.store, 'change', this.asyncUpdate);\n }\n};\nvar InternalStoreMixin = {\n componentWillMount: function () {\n var store = this.store = new this.Store();\n store._owner = this;\n store._ownerKey = 'store';\n },\n componentWillUnmount: function () {\n this.store._ownerKey = this.store._owner = void 0;\n this.store.dispose();\n this.store = void 0;\n }\n};\n//# sourceMappingURL=store.js.map\n\n/***/ }),\n/* 18 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__valuelink_link__ = __webpack_require__(20);\n/**\n * Import ValueLink library\n * Define value links binding mixins to the Record and Collection\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]);\n__WEBPACK_IMPORTED_MODULE_0_type_r__[\"Mixable\"].mixTo(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]);\n/**\n * Record\n */\n__WEBPACK_IMPORTED_MODULE_0_type_r__[\"Record\"].mixins({\n // Link to the record's attribute by its key.\n linkAt: function (key) {\n return cacheLink(getLinksCache(this), this, key);\n },\n // Link to the attribute of the record's tree by symbolic path.\n linkPath: function (path, options) {\n return new RecordDeepLink(this, path, options);\n },\n // Link all (or listed) attributes and return links cache.\n linkAll: function () {\n var links = getLinksCache(this);\n if (arguments.length) {\n for (var i = 0; i < arguments.length; i++) {\n cacheLink(links, this, arguments[i]);\n }\n }\n else {\n var attributes = this.attributes;\n for (var key in attributes) {\n attributes[key] === void 0 || cacheLink(links, this, key);\n }\n }\n return links;\n }\n});\n/**\n * Link to Type-R's record attribute.\n * Strict evaluation of value, lazy evaluation of validation error.\n * Links are cached in the records\n */\nvar RecordLink = (function (_super) {\n __extends(RecordLink, _super);\n function RecordLink(record, attr, value) {\n var _this = _super.call(this, value) || this;\n _this.record = record;\n _this.attr = attr;\n return _this;\n }\n RecordLink.prototype.set = function (x) {\n this.record[this.attr] = x;\n };\n Object.defineProperty(RecordLink.prototype, \"error\", {\n get: function () {\n return this._error === void 0 ?\n this.record.getValidationError(this.attr) :\n this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n return RecordLink;\n}(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]));\nvar RecordDeepLink = (function (_super) {\n __extends(RecordDeepLink, _super);\n function RecordDeepLink(record, path, options) {\n var _this = _super.call(this, record.deepGet(path)) || this;\n _this.record = record;\n _this.path = path;\n _this.options = options;\n return _this;\n }\n Object.defineProperty(RecordDeepLink.prototype, \"error\", {\n get: function () {\n if (this._error === void 0) {\n this._error = this.record.deepValidationError(this.path) || null;\n }\n return this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(RecordDeepLink.prototype, \"_changeToken\", {\n get: function () {\n return this.record._changeToken;\n },\n enumerable: true,\n configurable: true\n });\n RecordDeepLink.prototype.set = function (x) {\n this.record.deepSet(this.path, x, this.options);\n };\n return RecordDeepLink;\n}(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]));\nfunction getLinksCache(record) {\n return record._links || (record._links = new record.Attributes({}));\n}\nfunction cacheLink(links, record, key) {\n var cached = links[key], value = record[key];\n return cached && cached.value === value ? cached\n : links[key] = new RecordLink(record, key, value);\n}\n/***********************************\n * Collection\n */\n__WEBPACK_IMPORTED_MODULE_0_type_r__[\"Record\"].Collection.mixins({\n // Boolean link to the record's presence in the collection\n linkContains: function (record) {\n return new CollectionLink(this, record);\n },\n // Link to collection's property\n linkAt: function (prop) {\n var _this = this;\n return __WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */].value(this[prop], function (x) { return _this[prop] = x; });\n }\n});\n/**\n * Boolean link to presence of NestedType's record in collection.\n * Strict evaluation of value, no error.\n * Safe implementation of _changeToken.\n */\nvar CollectionLink = (function (_super) {\n __extends(CollectionLink, _super);\n function CollectionLink(collection, record) {\n var _this = _super.call(this, Boolean(collection._byId[record.cid])) || this;\n _this.collection = collection;\n _this.record = record;\n return _this;\n }\n CollectionLink.prototype.set = function (x) {\n this.collection.toggle(this.record, x);\n };\n return CollectionLink;\n}(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]));\n//# sourceMappingURL=link.js.map\n\n/***/ }),\n/* 19 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = helpers;\n/* unused harmony export objectHelpers */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return arrayHelpers; });\nvar ArrayProto = Array.prototype, ObjectProto = Object.prototype;\nfunction helpers(value) {\n if (value && typeof value === 'object') {\n switch (Object.getPrototypeOf(value)) {\n case ArrayProto: return arrayHelpers;\n case ObjectProto: return objectHelpers;\n }\n }\n return dummyHelpers;\n}\n// Do nothing for types other than Array and plain Object.\nvar dummyHelpers = {\n clone: function (value) { return value; },\n map: function (link, fun) { return []; },\n remove: function (value) { return value; }\n};\n// `map` and `clone` for plain JS objects\nvar objectHelpers = {\n // Map through the link to object\n map: function (link, iterator) {\n var mapped = [];\n for (var key in link.value) {\n var element = iterator(link.at(key), key);\n element === void 0 || (mapped.push(element));\n }\n return mapped;\n },\n remove: function (object, key) {\n delete object[key];\n return object;\n },\n // Shallow clone plain JS object\n clone: function (object) {\n var cloned = {};\n for (var key in object) {\n cloned[key] = object[key];\n }\n return cloned;\n }\n};\n// `map` and `clone` helpers for arrays.\nvar arrayHelpers = {\n // Shallow clone array\n clone: function (array) {\n return array.slice();\n },\n remove: function (array, i) {\n array.splice(i, 1);\n return array;\n },\n // Map through the link to array\n map: function (link, iterator) {\n var length = link.value.length, mapped = Array(length);\n for (var i = 0, j = 0; i < length; i++) {\n var y = iterator(link.at(i), i);\n y === void 0 || (mapped[j++] = y);\n }\n mapped.length === j || (mapped.length = j);\n return mapped;\n }\n};\n//# sourceMappingURL=helpers.js.map\n\n/***/ }),\n/* 20 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Link; });\n/* unused harmony export CustomLink */\n/* unused harmony export CloneLink */\n/* unused harmony export EqualsLink */\n/* unused harmony export EnabledLink */\n/* unused harmony export ContainsLink */\n/* unused harmony export LinkAt */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__helpers__ = __webpack_require__(19);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * Advanced React links for purely functional two-way data binding\n *\n * MIT License, (c) 2016 Vlad Balin, Volicon.\n */\n\n// Main Link class. All links must extend it.\nvar Link = (function () {\n // create \n function Link(value) {\n this.value = value;\n }\n // Create custom link to arbitrary value\n Link.value = function (value, set) {\n return new CustomLink(value, set);\n };\n Object.defineProperty(Link.prototype, \"validationError\", {\n // DEPRECATED: Old error holder for backward compatibility with Volicon code base\n get: function () { return this.error; },\n enumerable: true,\n configurable: true\n });\n Link.prototype.onChange = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n handler(x);\n _this.set(x);\n });\n };\n Object.defineProperty(Link.prototype, \"props\", {\n // \n get: function () {\n var _this = this;\n return typeof this.value === 'boolean' ? {\n checked: this.value,\n onChange: function (e) { return _this.set(Boolean(e.target.checked)); }\n } : {\n value: this.value,\n onChange: function (e) { return _this.set(e.target.value); }\n };\n },\n enumerable: true,\n configurable: true\n });\n // DEPRECATED: Old React method for backward compatibility\n Link.prototype.requestChange = function (x) {\n this.set(x);\n };\n // Immediately update the link value using given transform function.\n Link.prototype.update = function (transform, e) {\n var next = transform(this.clone(), e);\n next === void 0 || this.set(next);\n };\n // Create new link which applies transform function on set.\n Link.prototype.pipe = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n var next = handler(x, _this.value);\n next === void 0 || _this.set(next);\n });\n };\n // Create UI event handler function which will update the link with a given transform function.\n Link.prototype.action = function (transform) {\n var _this = this;\n return function (e) { return _this.update(transform, e); };\n };\n Link.prototype.equals = function (truthyValue) {\n return new EqualsLink(this, truthyValue);\n };\n Link.prototype.enabled = function (defaultValue) {\n return new EnabledLink(this, defaultValue || \"\");\n };\n // Array-only links methods\n Link.prototype.contains = function (element) {\n return new ContainsLink(this, element);\n };\n Link.prototype.push = function () {\n var array = __WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* arrayHelpers */].clone(this.value);\n Array.prototype.push.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.unshift = function () {\n var array = __WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* arrayHelpers */].clone(this.value);\n Array.prototype.unshift.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.splice = function () {\n var array = __WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* arrayHelpers */].clone(this.value);\n Array.prototype.splice.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.map = function (iterator) {\n return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* helpers */])(this.value).map(this, iterator);\n };\n Link.prototype.removeAt = function (key) {\n var value = this.value, _ = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* helpers */])(value);\n this.set(_.remove(_.clone(value), key));\n };\n Link.prototype.at = function (key) {\n return new LinkAt(this, key);\n };\n Link.prototype.clone = function () {\n var value = this.value;\n return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* helpers */])(value).clone(value);\n };\n Link.prototype.pick = function () {\n var links = {};\n for (var i = 0; i < arguments.length; i++) {\n var key = arguments[i];\n links[key] = new LinkAt(this, key);\n }\n return links;\n };\n /**\n * Validate link with validness predicate and optional custom error object. Can be chained.\n */\n Link.prototype.check = function (whenValid, error) {\n if (!this.error && !whenValid(this.value)) {\n this.error = error || whenValid.error || defaultError;\n }\n return this;\n };\n return Link;\n}());\n\nvar CustomLink = (function (_super) {\n __extends(CustomLink, _super);\n function CustomLink(value, set) {\n var _this = _super.call(this, value) || this;\n _this.set = set;\n return _this;\n }\n CustomLink.prototype.set = function (x) { };\n return CustomLink;\n}(Link));\n\nvar CloneLink = (function (_super) {\n __extends(CloneLink, _super);\n function CloneLink(parent, set) {\n var _this = _super.call(this, parent.value) || this;\n _this.set = set;\n var error = parent.error;\n if (error)\n _this.error = error;\n return _this;\n }\n CloneLink.prototype.set = function (x) { };\n return CloneLink;\n}(Link));\n\nvar EqualsLink = (function (_super) {\n __extends(EqualsLink, _super);\n function EqualsLink(parent, truthyValue) {\n var _this = _super.call(this, parent.value === truthyValue) || this;\n _this.parent = parent;\n _this.truthyValue = truthyValue;\n return _this;\n }\n EqualsLink.prototype.set = function (x) {\n this.parent.set(x ? this.truthyValue : null);\n };\n return EqualsLink;\n}(Link));\n\nvar EnabledLink = (function (_super) {\n __extends(EnabledLink, _super);\n function EnabledLink(parent, defaultValue) {\n var _this = _super.call(this, parent.value != null) || this;\n _this.parent = parent;\n _this.defaultValue = defaultValue;\n return _this;\n }\n EnabledLink.prototype.set = function (x) {\n this.parent.set(x ? this.defaultValue : null);\n };\n return EnabledLink;\n}(Link));\n\nvar ContainsLink = (function (_super) {\n __extends(ContainsLink, _super);\n function ContainsLink(parent, element) {\n var _this = _super.call(this, parent.value.indexOf(element) >= 0) || this;\n _this.parent = parent;\n _this.element = element;\n return _this;\n }\n ContainsLink.prototype.set = function (x) {\n var _this = this;\n var next = Boolean(x);\n if (this.value !== next) {\n var arr = this.parent.value, nextValue = x ? arr.concat(this.element) : arr.filter(function (el) { return el !== _this.element; });\n this.parent.set(nextValue);\n }\n };\n return ContainsLink;\n}(Link));\n\nvar defaultError = 'Invalid value';\n/**\n * Link to array or object element enclosed in parent link.\n * Performs purely functional update of the parent, shallow copying its value on `set`.\n */\nvar LinkAt = (function (_super) {\n __extends(LinkAt, _super);\n function LinkAt(parent, key) {\n var _this = _super.call(this, parent.value[key]) || this;\n _this.parent = parent;\n _this.key = key;\n return _this;\n }\n LinkAt.prototype.remove = function () {\n this.parent.removeAt(this.key);\n };\n // Set new element value to parent array or object, performing purely functional update.\n LinkAt.prototype.set = function (x) {\n var _this = this;\n if (this.value !== x) {\n this.parent.update(function (value) {\n value[_this.key] = x;\n return value;\n });\n }\n };\n ;\n return LinkAt;\n}(Link));\n\n//# sourceMappingURL=link.js.map\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (false) {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n\n\nvar emptyFunction = __webpack_require__(21);\nvar invariant = __webpack_require__(22);\nvar ReactPropTypesSecret = __webpack_require__(24);\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n invariant(\n false,\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim\n };\n\n ReactPropTypes.checkPropTypes = emptyFunction;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n\n\n/***/ })\n/******/ ]);\n});\n\n\n// WEBPACK FOOTER //\n// dist/index.min.js"," \t// The module cache\n \tvar installedModules = {};\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// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\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, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\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 = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 11);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap c3e03e34f82c95bc5b3e","module.exports = __WEBPACK_EXTERNAL_MODULE_0__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"commonjs\":\"nestedtypes\",\"commonjs2\":\"nestedtypes\",\"amd\":\"nestedtypes\",\"root\":\"Nested\"}\n// module id = 0\n// module chunks = 0","import * as React from 'react';\nimport { define, mixins } from 'type-r';\nimport { Node, Element } from './define';\nimport Link from './link';\nimport { Component } from './component';\n// extend React namespace\nvar ReactMVx = Object.create(React);\n// Make it compatible with ES6 module format.\nReactMVx.default = ReactMVx;\n// listenToProps, listenToState, model, attributes, Model\nReactMVx.define = define;\nReactMVx.mixins = mixins;\nReactMVx.Node = Node.value(null);\nReactMVx.Element = Element.value(null);\nReactMVx.Link = Link;\nReactMVx.Component = Component;\nvar assignToState = ReactMVx.assignToState = function (key) {\n return function (prop) {\n this.state.assignFrom((_a = {}, _a[key] = prop && prop instanceof Link ? prop.value : prop, _a));\n var _a;\n };\n};\nexport default ReactMVx;\nexport { define, mixins, Node, Element, Link, Component, assignToState };\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/index.js\n// module id = 1\n// module chunks = 0","import * as PropTypes from 'prop-types';\nimport { Record, tools } from 'type-r';\nexport function collectSpecs(spec, name) {\n var attributes = null;\n // Scan through local mixin, and gather specs. Refactor it later, it's not good. At all.\n for (var i = spec.mixins.length - 1; i >= 0; i--) {\n var mixin = spec.mixins[i], mixinAttrs = mixin[name];\n if (mixinAttrs) {\n attributes || (attributes = {});\n tools.assign(attributes, mixinAttrs);\n }\n }\n // Merge it with local data.\n var specAttrs = spec[name];\n if (specAttrs) {\n if (attributes) {\n tools.assign(attributes, specAttrs);\n }\n else {\n attributes = specAttrs;\n }\n }\n return attributes;\n}\nexport function compileSpecs(props) {\n var propTypes = {}, \n // Create NestedTypes model definition to process props spec.\n modelProto = Record.defaults(props).prototype;\n var defaults, watchers, changeHandlers;\n modelProto.forEachAttr(modelProto._attributes, function (spec, name) {\n // Skip auto-generated `id` attribute.\n if (name !== 'id') {\n var value = spec.value, type = spec.type, options = spec.options;\n // Translate props type to the propTypes guard.\n propTypes[name] = translateType(type, options.isRequired);\n if (options._onChange) {\n watchers || (watchers = {});\n watchers[name] = toLocalWatcher(options._onChange);\n }\n // Handle listening to event maps...\n if (options.changeHandlers && options.changeHandlers.length) {\n changeHandlers || (changeHandlers = {});\n changeHandlers[name] = options.changeHandlers;\n }\n // Handle listening to props changes...\n if (options.changeEvents) {\n changeHandlers || (changeHandlers = {});\n var handlers = changeHandlers[name] || (changeHandlers[name] = []), changeEvents_1 = typeof options.changeEvents === 'string' ? options.changeEvents : null;\n handlers.push(function (next, prev, component) {\n prev && component.stopListening(prev);\n next && component.listenTo(next, changeEvents_1 || next._changeEventName, component.asyncUpdate);\n });\n }\n // If default value is explicitly provided...\n if (value !== void 0) {\n //...append it to getDefaultProps function.\n defaults || (defaults = {});\n defaults[name] = spec.convert(value);\n }\n }\n });\n return { propTypes: propTypes, defaults: defaults, watchers: watchers, changeHandlers: changeHandlers };\n}\nfunction toLocalWatcher(ref) {\n return typeof ref === 'function' ? ref : function (value, name) {\n this[ref] && this[ref](value, name);\n };\n}\nvar Node = (function () {\n function Node() {\n }\n return Node;\n}());\nexport { Node };\nvar Element = (function () {\n function Element() {\n }\n return Element;\n}());\nexport { Element };\nfunction translateType(Type, isRequired) {\n var T = _translateType(Type);\n return isRequired ? T.isRequired : T;\n}\nfunction _translateType(Type) {\n switch (Type) {\n case Number:\n case Number.integer:\n return PropTypes.number;\n case String:\n return PropTypes.string;\n case Boolean:\n return PropTypes.bool;\n case Array:\n return PropTypes.array;\n case Function:\n return PropTypes.func;\n case Object:\n return PropTypes.object;\n case Node:\n return PropTypes.node;\n case Element:\n return PropTypes.element;\n case void 0:\n case null:\n return PropTypes.any;\n default:\n return PropTypes.instanceOf(Type);\n }\n}\n//# sourceMappingURL=typeSpecs.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/typeSpecs.js\n// module id = 2\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_3__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"commonjs\":\"react\",\"commonjs2\":\"react\",\"amd\":\"react\",\"root\":\"React\"}\n// module id = 3\n// module chunks = 0","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/prop-types/index.js\n// module id = 4\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_5__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"commonjs\":\"react-dom\",\"commonjs2\":\"react-dom\",\"amd\":\"react-dom\",\"root\":\"ReactDOM\"}\n// module id = 5\n// module chunks = 0","import processStore from './store';\nimport processState from './state';\nimport processContext from './context';\nimport processCommons from './common';\nimport processProps from './props';\nexport default function process(spec, baseProto) {\n if (baseProto === void 0) { baseProto = {}; }\n // Initialize mixins placeholder...\n spec.mixins || (spec.mixins = []);\n processStore(spec, baseProto);\n processState(spec, baseProto);\n processContext(spec, baseProto);\n processProps(spec, baseProto);\n processCommons(spec, baseProto);\n return spec;\n}\n;\nexport { Node, Element } from './typeSpecs';\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/index.js\n// module id = 6\n// module chunks = 0","/*****************\n * State\n */\nimport { collectSpecs } from './typeSpecs';\nimport { Record, Store } from 'type-r';\nexport default function process(spec, baseProto) {\n // process state spec...\n var attributes = collectSpecs(spec, 'state');\n if (attributes || baseProto.State) {\n var BaseModel = baseProto.State || Record;\n spec.State = attributes ? (typeof attributes === 'function' ? attributes : BaseModel.defaults(attributes)) : BaseModel;\n spec.mixins.push(StateMixin);\n spec.mixins.push(UpdateOnNestedChangesMixin);\n delete spec.state;\n delete spec.attributes;\n }\n}\nexport var StateMixin = {\n //state : null,\n componentWillMount: function () {\n // props.__keepState is used to workaround issues in Backbone intergation layer\n var state = this.state = this.props.__keepState || new this.State();\n // Take ownership on state...\n state._owner = this;\n state._ownerKey = 'state';\n },\n context: {\n _nestedStore: Store\n },\n // reference global store to fix model's store locator\n getStore: function () {\n // Attempt to get the store from the context first. Then - fallback to the state's default store.\n // TBD: Need to figure out a good way of managing local stores.\n var context, state;\n return ((context = this.context) && context._nestedStore) ||\n ((state = this.state) && state._defaultStore);\n },\n componentWillUnmount: function () {\n var state = this.state;\n state._owner = state._ownerKey = void 0;\n this._preventDispose /* hack for component-view to preserve the state */ || state.dispose();\n this.state = void 0;\n }\n};\nexport var UpdateOnNestedChangesMixin = {\n _onChildrenChange: function () { },\n componentDidMount: function () {\n this._onChildrenChange = this.asyncUpdate;\n }\n};\n//# sourceMappingURL=state.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/state.js\n// module id = 7\n// module chunks = 0","import * as React from 'react';\nimport ReactDOM from 'react-dom';\nimport { tools } from 'type-r';\nwindow.Page || (window.Page = { forceResize: function () { } });\nexport default function use(View) {\n var dispose = View.prototype.dispose || function () { }, setElement = View.prototype.setElement;\n var ComponentView = View.extend({\n reactClass: null,\n props: {},\n element: null,\n initialize: function (props) {\n // memorise arguments to pass to React\n this.options = props || {};\n },\n setElement: function () {\n this.unmountComponent(true);\n return setElement.apply(this, arguments);\n },\n // cached instance of react component...\n component: null,\n prevState: null,\n resize: function () {\n window.Page.forceResize();\n },\n render: function () {\n var options = this.prevState ? tools.fastAssign({ __keepState: this.prevState }, this.options) : this.options, element = React.createElement(this.reactClass, options), component = ReactDOM.render(element, this.el);\n this.component || this.mountComponent(component);\n },\n mountComponent: function (component) {\n this.component = component;\n this.prevState = null;\n component.trigger && this.listenTo(component, 'all', function () {\n this.trigger.apply(this, arguments);\n });\n },\n unmountComponent: function (keepModel) {\n var component = this.component;\n if (component) {\n this.prevState = component.state;\n if (component.trigger) {\n this.stopListening(component);\n }\n component._preventDispose = Boolean(keepModel);\n ReactDOM.unmountComponentAtNode(this.el);\n this.component = null;\n }\n },\n dispose: function () {\n this.unmountComponent();\n return dispose.apply(this, arguments);\n }\n });\n Object.defineProperty(ComponentView.prototype, 'model', {\n get: function () {\n this.component || this.render();\n return this.component && this.component.state;\n }\n });\n return ComponentView;\n}\n//# sourceMappingURL=component-view.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/component-view.js\n// module id = 8\n// module chunks = 0","var __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\nimport { Component } from './react-mvx';\nvar dontAutobind = [\n 'State', 'Store', 'constructor',\n 'componentWillMount', 'componentDidMount', 'componentWillReceiveProps', 'shouldComponentUpdate',\n 'componentWillUpdate', 'componentDidUpdate', 'componentWillUnmount',\n 'render', 'getDefaultProps', 'getChildContext'\n];\n/**\n * ES5 components definition factory\n */\nexport default function createClass(_a) {\n var statics = _a.statics, a_spec = __rest(_a, [\"statics\"]);\n // Gather all methods to pin them to `this` later.\n var methods = [];\n var Subclass = Component.extend(__assign({ \n // Override constructor to autobind all the methods...\n constructor: function () {\n Component.apply(this, this.arguments);\n for (var _i = 0, methods_1 = methods; _i < methods_1.length; _i++) {\n var method = methods_1[_i];\n this[method] = this[method].bind(this);\n }\n } }, a_spec), statics);\n // Need to bind methods from mixins as well, so populate it here.\n var Proto = Subclass.prototype;\n for (var key in Proto) {\n if (Proto.hasOwnProperty(key) && dontAutobind.indexOf(key) === -1 && typeof Proto[key] === 'function') {\n methods.push(key);\n }\n }\n return Subclass;\n}\n//# sourceMappingURL=createClass.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/createClass.js\n// module id = 9\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport React from './react-mvx';\nimport { tools } from 'type-r';\nvar notEqual = tools.notEqual;\nvar BackboneView = (function (_super) {\n __extends(BackboneView, _super);\n function BackboneView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.saveRef = function (element) {\n _this.root = element;\n };\n return _this;\n }\n BackboneView.prototype.shouldComponentUpdate = function (next) {\n var props = this.props;\n return next.View !== props.View || notEqual(next.options, props.options);\n };\n BackboneView.prototype.hasUnsavedChanges = function () {\n var view = this.view;\n return view && (typeof view.hasUnsavedChanges === 'function' ? view.hasUnsavedChanges() : view.hasUnsavedChanges);\n };\n BackboneView.prototype.render = function () {\n return React.createElement('div', {\n ref: this.saveRef,\n className: this.props.className\n });\n };\n BackboneView.prototype.componentDidMount = function () {\n this._mountView();\n };\n BackboneView.prototype.componentDidUpdate = function () {\n this._dispose();\n this._mountView();\n };\n BackboneView.prototype.componentWillUnmount = function () {\n this._dispose();\n };\n BackboneView.prototype._mountView = function () {\n var el = this.root, p = this.props;\n var view = this.view = p.options ? new p.View(p.options) : new p.View();\n el.appendChild(view.el);\n view.render();\n };\n BackboneView.prototype._dispose = function () {\n var view = this.view;\n if (view) {\n if (view.dispose) {\n view.dispose();\n }\n else {\n view.stopListening();\n view.off();\n }\n this.root.innerHTML = \"\";\n this.view = null;\n }\n };\n return BackboneView;\n}(React.Component));\nexport default BackboneView;\n//# sourceMappingURL=view-element.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/view-element.js\n// module id = 10\n// module chunks = 0","// Re-export react-mvx\nimport ReactMVx from './react-mvx';\nvar NestedReact = Object.create(ReactMVx);\nexport default NestedReact;\nexport * from './react-mvx';\n// NestedReact backward compatibility layer\nimport ReactDOM from 'react-dom';\nimport Nested, { View, Record } from 'type-r';\nimport * as PropTypes from 'prop-types';\nimport subview from './view-element';\nNestedReact.subview = subview;\nexport { subview };\nimport use from './component-view';\nimport createClass from './createClass';\nNestedReact.createClass = createClass;\nObject.defineProperty(NestedReact, 'PropTypes', { value: PropTypes });\nexport { PropTypes, createClass };\nvar BaseView;\n// export hook to override base View class used...\nexport function useView(View) {\n BaseView = use(View);\n}\nvar define = NestedReact.Component.define;\nNestedReact.Component.define = function (protoProps, staticProps) {\n this.View = BaseView.extend({ reactClass: this });\n return define.call(this, protoProps, staticProps);\n};\n// Deprecated API for backward compatibility\nvar RecordProto = Record.prototype;\nRecordProto.getLink = RecordProto.linkAt;\nRecordProto.deepLink = RecordProto.linkPath;\nvar CollectionProto = Record.Collection.prototype;\nCollectionProto.hasLink = CollectionProto.linkContains;\nuseView(View);\n// Extend react components to have backbone-style jquery accessors\nvar BackboneViewProps = {\n el: { get: function () { return ReactDOM.findDOMNode(this); } },\n $el: { get: function () { return Nested.$(this.el); } },\n $: { value: function (sel) { return this.$el.find(sel); } }\n};\nObject.defineProperties(NestedReact.Component.prototype, BackboneViewProps);\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/index.js\n// module id = 11\n// module chunks = 0","/**\n * React components\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\nimport * as React from 'react';\nimport { extendable, mixinRules, tools, Mixable } from 'type-r';\nimport processSpec from './define';\nvar reactMixinRules = {\n componentWillMount: 'reverse',\n componentDidMount: 'reverse',\n componentWillReceiveProps: 'reverse',\n shouldComponentUpdate: 'some',\n componentWillUpdate: 'reverse',\n componentDidUpdate: 'reverse',\n componentWillUnmount: 'sequence',\n state: 'merge',\n store: 'merge',\n props: 'merge',\n context: 'merge',\n childContext: 'merge',\n getChildContext: 'mergeSequence'\n};\nvar Component = (function (_super) {\n __extends(Component, _super);\n function Component() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Component.prototype.linkAt = function (key) {\n // Quick and dirty hack to suppres type error - refactor later.\n return this.state.linkAt(key);\n };\n Component.prototype.linkAll = function () {\n // Quick and dirty hack to suppres type error - refactor later.\n var state = this.state;\n return state.linkAll.apply(state, arguments);\n };\n Component.prototype.linkPath = function (path) {\n return this.state.linkPath(path);\n };\n Object.defineProperty(Component.prototype, \"links\", {\n get: function () {\n return this.state._links;\n },\n enumerable: true,\n configurable: true\n });\n Component.define = function (protoProps, staticProps) {\n var BaseClass = tools.getBaseClass(this), staticsDefinition = tools.getChangedStatics(this, 'state', 'store', 'props', 'context', 'childContext', 'pureRender'), combinedDefinition = tools.assign(staticsDefinition, protoProps || {});\n var definition = processSpec(combinedDefinition, this.prototype);\n var getDefaultProps = definition.getDefaultProps, propTypes = definition.propTypes, contextTypes = definition.contextTypes, childContextTypes = definition.childContextTypes, protoDefinition = __rest(definition, [\"getDefaultProps\", \"propTypes\", \"contextTypes\", \"childContextTypes\"]);\n if (getDefaultProps)\n this.defaultProps = definition.getDefaultProps();\n if (propTypes)\n this.propTypes = propTypes;\n if (contextTypes)\n this.contextTypes = contextTypes;\n if (childContextTypes)\n this.childContextTypes = childContextTypes;\n Mixable.define.call(this, protoDefinition, staticProps);\n return this;\n };\n Component.prototype.assignToState = function (x, key) {\n this.state.assignFrom((_a = {}, _a[key] = x, _a));\n var _a;\n };\n return Component;\n}(React.Component));\nComponent = __decorate([\n extendable,\n mixinRules(reactMixinRules)\n], Component);\nexport { Component };\n// Looks like React guys _really_ want to deprecated it. But no way.\n// We will work around their attempt.\nObject.defineProperty(Component.prototype, 'isMounted', {\n value: function isMounted() {\n return !this._disposed;\n }\n});\n//# sourceMappingURL=component.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/component.js\n// module id = 12\n// module chunks = 0","/**\n * attach async event processing and transactional support.\n */\nimport { tools, Events } from 'type-r';\nexport default function compile(spec, baseProto) {\n // Attach common mixin\n spec.mixins.push(CommonMixin);\n}\nexport function asyncUpdate() {\n this.shouldComponentUpdate === returnFalse || this._disposed || this.forceUpdate();\n}\nfunction returnFalse() { return false; }\n/**\n * Mixin which is attached to all components.\n */\nvar CommonMixin = tools.assign({\n componentWillUnmount: function () {\n // Prevent memory leaks when working with events.\n this.off();\n this.stopListening();\n // Mark component as disposed.\n this._disposed = true;\n },\n // Safe version of the forceUpdate suitable for asynchronous callbacks.\n asyncUpdate: asyncUpdate,\n /**\n * Performs transactional update for both props and state.\n * Suppress updates during the transaction, and force update aftewards.\n * Wrapping the sequence of changes in a transactions guarantees that\n * React component will be updated _after_ all the changes to the\n * both props and local state are applied.\n */\n transaction: function (fun) {\n var shouldComponentUpdate = this.shouldComponentUpdate, isRoot = shouldComponentUpdate !== returnFalse;\n if (isRoot) {\n this.shouldComponentUpdate = returnFalse;\n }\n var _a = this, state = _a.state, store = _a.store, withStore = store ? function (state) { return store.transaction(function () { return fun(state); }); } : fun;\n state ? state.transaction(withStore) : withStore(state);\n if (isRoot) {\n this.shouldComponentUpdate = shouldComponentUpdate;\n this.asyncUpdate();\n }\n }\n}, Events);\n//# sourceMappingURL=common.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/common.js\n// module id = 13\n// module chunks = 0","var __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nimport { compileSpecs, collectSpecs } from './typeSpecs';\nexport default function process(spec, _a) {\n var _b = _a._context, _context = _b === void 0 ? {} : _b, _c = _a._childContext, _childContext = _c === void 0 ? {} : _c;\n // process context specs...\n var context = collectSpecs(spec, 'context');\n if (context) {\n spec._context = __assign({}, _context, context);\n spec.contextTypes = compileSpecs(context).propTypes;\n delete spec.context;\n }\n // and child context specs...\n var childContext = collectSpecs(spec, 'childContext');\n if (childContext) {\n spec._childContext = __assign({}, _childContext, childContext);\n spec.childContextTypes = compileSpecs(childContext).propTypes;\n delete spec.childContext;\n }\n}\n//# sourceMappingURL=context.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/context.js\n// module id = 14\n// module chunks = 0","/**\n * Handle props specification and everything which is related:\n * - local listening to props changes\n * - pure render mixin\n */\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nimport { collectSpecs, compileSpecs } from './typeSpecs';\nimport createPureRenderMixin from './pureRender';\nexport default function process(spec, _a) {\n var pureRender = _a.pureRender, _b = _a._props, _props = _b === void 0 ? {} : _b, _c = _a._listenToPropsArray, _listenToPropsArray = _c === void 0 ? [] : _c, _d = _a._listenToPropsHash, _listenToPropsHash = _d === void 0 ? {} : _d;\n // process props spec...\n var props = collectSpecs(spec, 'props');\n if (props) {\n var allProps = spec._props = __assign({}, _props, props);\n var _e = compileSpecs(allProps), propTypes = _e.propTypes, defaults_1 = _e.defaults, watchers = _e.watchers, changeHandlers = _e.changeHandlers;\n spec.propTypes = propTypes;\n if (defaults_1)\n spec.getDefaultProps = function () { return defaults_1; };\n if (watchers) {\n spec.mixins.unshift(WatchersMixin);\n spec._watchers = watchers;\n }\n if (changeHandlers) {\n spec.mixins.unshift(ChangeHandlersMixin);\n spec._changeHandlers = changeHandlers;\n }\n delete spec.props;\n }\n // compile pure render mixin\n if (spec._props && (spec.pureRender || pureRender)) {\n spec.mixins.push(createPureRenderMixin(spec._props));\n }\n}\n/**\n * ChangeHandlers are fired in sequence upon props replacement.\n * Fires _after_ UI is updated. Used for managing events subscriptions.\n */\nvar ChangeHandlersMixin = {\n componentDidMount: function () {\n handlePropsChanges(this, {}, this.props);\n },\n componentDidUpdate: function (prev) {\n handlePropsChanges(this, prev, this.props);\n },\n componentWillUnmount: function () {\n handlePropsChanges(this, this.props, {});\n }\n};\nfunction handlePropsChanges(component, prev, next) {\n var _changeHandlers = component._changeHandlers;\n for (var name_1 in _changeHandlers) {\n if (prev[name_1] !== next[name_1]) {\n for (var _i = 0, _a = _changeHandlers[name_1]; _i < _a.length; _i++) {\n var handler = _a[_i];\n handler(next[name_1], prev[name_1], component);\n }\n }\n }\n}\n/**\n * Watchers works on props replacement and fires _before_ any change will be applied and UI is updated.\n * Fired in componentWillMount as well, which makes it a nice way to sync state from props.\n */\nvar WatchersMixin = {\n componentWillReceiveProps: function (next) {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_2 in _watchers) {\n if (next[name_2] !== props[name_2]) {\n _watchers[name_2].call(this, next[name_2], name_2);\n }\n }\n },\n componentWillMount: function () {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_3 in _watchers) {\n _watchers[name_3].call(this, props[name_3], name_3);\n }\n }\n};\n//# sourceMappingURL=props.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/props.js\n// module id = 15\n// module chunks = 0","export default function createPureRenderMixin(props) {\n var ctorBody = ['var v; this._s = s && s._changeToken'], isChangedBody = ['var v; return ( s && s._changeToken !== t._s )'];\n for (var name_1 in props) {\n var propExpr = \"( ( v = p.\" + name_1 + \") && v._changeToken ) || v\";\n ctorBody.push(\"this.\" + name_1 + \"= \" + propExpr);\n isChangedBody.push(\"t.\" + name_1 + \" !== (\" + propExpr + \")\");\n }\n var ChangeTokens = new Function('p', 's', ctorBody.join(';')), isChanged = new Function('t', 'p', 's', isChangedBody.join('||'));\n ChangeTokens.prototype = null;\n return {\n _changeTokens: null,\n shouldComponentUpdate: function (nextProps) {\n return isChanged(this._changeTokens, nextProps, this.state);\n },\n componentDidMount: function () {\n this._changeTokens = new ChangeTokens(this.props, this.state);\n },\n componentDidUpdate: function () {\n this._changeTokens = new ChangeTokens(this.props, this.state);\n }\n };\n}\n;\n//# sourceMappingURL=pureRender.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/pureRender.js\n// module id = 16\n// module chunks = 0","import { collectSpecs } from './typeSpecs';\nimport { Store } from 'type-r';\nimport { StateMixin, UpdateOnNestedChangesMixin } from './state';\nexport default function process(spec, baseProto) {\n var store = collectSpecs(spec, 'store');\n if (store) {\n delete spec.store;\n if (store instanceof Store) {\n // Direct reference to an existing store. Put it to the prototype.\n spec.store = store;\n spec.mixins.push(ExternalStoreMixin);\n }\n else {\n spec.Store = store;\n spec.mixins.push(InternalStoreMixin);\n spec.mixins.push(UpdateOnNestedChangesMixin);\n }\n spec.mixins.push(ExposeStoreMixin);\n }\n}\n/**\n * Attached whenever the store declaration of any form is present in the component.\n */\nvar ExposeStoreMixin = {\n childContext: {\n _nestedStore: Store\n },\n getChildContext: function () {\n return { _nestedStore: this.store };\n },\n getStore: function () {\n return this.store;\n },\n // Will be called by the store when the lookup will fail.\n get: function (key) {\n // Ask upper store.\n var store = StateMixin.getStore.call(this, key);\n return store && store.get(key);\n }\n};\n/**\n * External store must just track the changes and trigger render.\n * TBD: don't use it yet.\n */\nvar ExternalStoreMixin = {\n componentDidMount: function () {\n // Start UI updates on state changes.\n this.listenTo(this.store, 'change', this.asyncUpdate);\n }\n};\nvar InternalStoreMixin = {\n componentWillMount: function () {\n var store = this.store = new this.Store();\n store._owner = this;\n store._ownerKey = 'store';\n },\n componentWillUnmount: function () {\n this.store._ownerKey = this.store._owner = void 0;\n this.store.dispose();\n this.store = void 0;\n }\n};\n//# sourceMappingURL=store.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/store.js\n// module id = 17\n// module chunks = 0","/**\n * Import ValueLink library\n * Define value links binding mixins to the Record and Collection\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { Mixable, Record } from 'type-r';\nimport { Link } from './valuelink/link';\nexport default Link;\nMixable.mixTo(Link);\n/**\n * Record\n */\nRecord.mixins({\n // Link to the record's attribute by its key.\n linkAt: function (key) {\n return cacheLink(getLinksCache(this), this, key);\n },\n // Link to the attribute of the record's tree by symbolic path.\n linkPath: function (path, options) {\n return new RecordDeepLink(this, path, options);\n },\n // Link all (or listed) attributes and return links cache.\n linkAll: function () {\n var links = getLinksCache(this);\n if (arguments.length) {\n for (var i = 0; i < arguments.length; i++) {\n cacheLink(links, this, arguments[i]);\n }\n }\n else {\n var attributes = this.attributes;\n for (var key in attributes) {\n attributes[key] === void 0 || cacheLink(links, this, key);\n }\n }\n return links;\n }\n});\n/**\n * Link to Type-R's record attribute.\n * Strict evaluation of value, lazy evaluation of validation error.\n * Links are cached in the records\n */\nvar RecordLink = (function (_super) {\n __extends(RecordLink, _super);\n function RecordLink(record, attr, value) {\n var _this = _super.call(this, value) || this;\n _this.record = record;\n _this.attr = attr;\n return _this;\n }\n RecordLink.prototype.set = function (x) {\n this.record[this.attr] = x;\n };\n Object.defineProperty(RecordLink.prototype, \"error\", {\n get: function () {\n return this._error === void 0 ?\n this.record.getValidationError(this.attr) :\n this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n return RecordLink;\n}(Link));\nvar RecordDeepLink = (function (_super) {\n __extends(RecordDeepLink, _super);\n function RecordDeepLink(record, path, options) {\n var _this = _super.call(this, record.deepGet(path)) || this;\n _this.record = record;\n _this.path = path;\n _this.options = options;\n return _this;\n }\n Object.defineProperty(RecordDeepLink.prototype, \"error\", {\n get: function () {\n if (this._error === void 0) {\n this._error = this.record.deepValidationError(this.path) || null;\n }\n return this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(RecordDeepLink.prototype, \"_changeToken\", {\n get: function () {\n return this.record._changeToken;\n },\n enumerable: true,\n configurable: true\n });\n RecordDeepLink.prototype.set = function (x) {\n this.record.deepSet(this.path, x, this.options);\n };\n return RecordDeepLink;\n}(Link));\nfunction getLinksCache(record) {\n return record._links || (record._links = new record.Attributes({}));\n}\nfunction cacheLink(links, record, key) {\n var cached = links[key], value = record[key];\n return cached && cached.value === value ? cached\n : links[key] = new RecordLink(record, key, value);\n}\n/***********************************\n * Collection\n */\nRecord.Collection.mixins({\n // Boolean link to the record's presence in the collection\n linkContains: function (record) {\n return new CollectionLink(this, record);\n },\n // Link to collection's property\n linkAt: function (prop) {\n var _this = this;\n return Link.value(this[prop], function (x) { return _this[prop] = x; });\n }\n});\n/**\n * Boolean link to presence of NestedType's record in collection.\n * Strict evaluation of value, no error.\n * Safe implementation of _changeToken.\n */\nvar CollectionLink = (function (_super) {\n __extends(CollectionLink, _super);\n function CollectionLink(collection, record) {\n var _this = _super.call(this, Boolean(collection._byId[record.cid])) || this;\n _this.collection = collection;\n _this.record = record;\n return _this;\n }\n CollectionLink.prototype.set = function (x) {\n this.collection.toggle(this.record, x);\n };\n return CollectionLink;\n}(Link));\n//# sourceMappingURL=link.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/link.js\n// module id = 18\n// module chunks = 0","var ArrayProto = Array.prototype, ObjectProto = Object.prototype;\nexport function helpers(value) {\n if (value && typeof value === 'object') {\n switch (Object.getPrototypeOf(value)) {\n case ArrayProto: return arrayHelpers;\n case ObjectProto: return objectHelpers;\n }\n }\n return dummyHelpers;\n}\n// Do nothing for types other than Array and plain Object.\nvar dummyHelpers = {\n clone: function (value) { return value; },\n map: function (link, fun) { return []; },\n remove: function (value) { return value; }\n};\n// `map` and `clone` for plain JS objects\nexport var objectHelpers = {\n // Map through the link to object\n map: function (link, iterator) {\n var mapped = [];\n for (var key in link.value) {\n var element = iterator(link.at(key), key);\n element === void 0 || (mapped.push(element));\n }\n return mapped;\n },\n remove: function (object, key) {\n delete object[key];\n return object;\n },\n // Shallow clone plain JS object\n clone: function (object) {\n var cloned = {};\n for (var key in object) {\n cloned[key] = object[key];\n }\n return cloned;\n }\n};\n// `map` and `clone` helpers for arrays.\nexport var arrayHelpers = {\n // Shallow clone array\n clone: function (array) {\n return array.slice();\n },\n remove: function (array, i) {\n array.splice(i, 1);\n return array;\n },\n // Map through the link to array\n map: function (link, iterator) {\n var length = link.value.length, mapped = Array(length);\n for (var i = 0, j = 0; i < length; i++) {\n var y = iterator(link.at(i), i);\n y === void 0 || (mapped[j++] = y);\n }\n mapped.length === j || (mapped.length = j);\n return mapped;\n }\n};\n//# sourceMappingURL=helpers.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/valuelink/helpers.js\n// module id = 19\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * Advanced React links for purely functional two-way data binding\n *\n * MIT License, (c) 2016 Vlad Balin, Volicon.\n */\nimport { helpers, arrayHelpers } from './helpers';\n// Main Link class. All links must extend it.\nvar Link = (function () {\n // create \n function Link(value) {\n this.value = value;\n }\n // Create custom link to arbitrary value\n Link.value = function (value, set) {\n return new CustomLink(value, set);\n };\n Object.defineProperty(Link.prototype, \"validationError\", {\n // DEPRECATED: Old error holder for backward compatibility with Volicon code base\n get: function () { return this.error; },\n enumerable: true,\n configurable: true\n });\n Link.prototype.onChange = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n handler(x);\n _this.set(x);\n });\n };\n Object.defineProperty(Link.prototype, \"props\", {\n // \n get: function () {\n var _this = this;\n return typeof this.value === 'boolean' ? {\n checked: this.value,\n onChange: function (e) { return _this.set(Boolean(e.target.checked)); }\n } : {\n value: this.value,\n onChange: function (e) { return _this.set(e.target.value); }\n };\n },\n enumerable: true,\n configurable: true\n });\n // DEPRECATED: Old React method for backward compatibility\n Link.prototype.requestChange = function (x) {\n this.set(x);\n };\n // Immediately update the link value using given transform function.\n Link.prototype.update = function (transform, e) {\n var next = transform(this.clone(), e);\n next === void 0 || this.set(next);\n };\n // Create new link which applies transform function on set.\n Link.prototype.pipe = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n var next = handler(x, _this.value);\n next === void 0 || _this.set(next);\n });\n };\n // Create UI event handler function which will update the link with a given transform function.\n Link.prototype.action = function (transform) {\n var _this = this;\n return function (e) { return _this.update(transform, e); };\n };\n Link.prototype.equals = function (truthyValue) {\n return new EqualsLink(this, truthyValue);\n };\n Link.prototype.enabled = function (defaultValue) {\n return new EnabledLink(this, defaultValue || \"\");\n };\n // Array-only links methods\n Link.prototype.contains = function (element) {\n return new ContainsLink(this, element);\n };\n Link.prototype.push = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.push.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.unshift = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.unshift.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.splice = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.splice.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.map = function (iterator) {\n return helpers(this.value).map(this, iterator);\n };\n Link.prototype.removeAt = function (key) {\n var value = this.value, _ = helpers(value);\n this.set(_.remove(_.clone(value), key));\n };\n Link.prototype.at = function (key) {\n return new LinkAt(this, key);\n };\n Link.prototype.clone = function () {\n var value = this.value;\n return helpers(value).clone(value);\n };\n Link.prototype.pick = function () {\n var links = {};\n for (var i = 0; i < arguments.length; i++) {\n var key = arguments[i];\n links[key] = new LinkAt(this, key);\n }\n return links;\n };\n /**\n * Validate link with validness predicate and optional custom error object. Can be chained.\n */\n Link.prototype.check = function (whenValid, error) {\n if (!this.error && !whenValid(this.value)) {\n this.error = error || whenValid.error || defaultError;\n }\n return this;\n };\n return Link;\n}());\nexport { Link };\nvar CustomLink = (function (_super) {\n __extends(CustomLink, _super);\n function CustomLink(value, set) {\n var _this = _super.call(this, value) || this;\n _this.set = set;\n return _this;\n }\n CustomLink.prototype.set = function (x) { };\n return CustomLink;\n}(Link));\nexport { CustomLink };\nvar CloneLink = (function (_super) {\n __extends(CloneLink, _super);\n function CloneLink(parent, set) {\n var _this = _super.call(this, parent.value) || this;\n _this.set = set;\n var error = parent.error;\n if (error)\n _this.error = error;\n return _this;\n }\n CloneLink.prototype.set = function (x) { };\n return CloneLink;\n}(Link));\nexport { CloneLink };\nvar EqualsLink = (function (_super) {\n __extends(EqualsLink, _super);\n function EqualsLink(parent, truthyValue) {\n var _this = _super.call(this, parent.value === truthyValue) || this;\n _this.parent = parent;\n _this.truthyValue = truthyValue;\n return _this;\n }\n EqualsLink.prototype.set = function (x) {\n this.parent.set(x ? this.truthyValue : null);\n };\n return EqualsLink;\n}(Link));\nexport { EqualsLink };\nvar EnabledLink = (function (_super) {\n __extends(EnabledLink, _super);\n function EnabledLink(parent, defaultValue) {\n var _this = _super.call(this, parent.value != null) || this;\n _this.parent = parent;\n _this.defaultValue = defaultValue;\n return _this;\n }\n EnabledLink.prototype.set = function (x) {\n this.parent.set(x ? this.defaultValue : null);\n };\n return EnabledLink;\n}(Link));\nexport { EnabledLink };\nvar ContainsLink = (function (_super) {\n __extends(ContainsLink, _super);\n function ContainsLink(parent, element) {\n var _this = _super.call(this, parent.value.indexOf(element) >= 0) || this;\n _this.parent = parent;\n _this.element = element;\n return _this;\n }\n ContainsLink.prototype.set = function (x) {\n var _this = this;\n var next = Boolean(x);\n if (this.value !== next) {\n var arr = this.parent.value, nextValue = x ? arr.concat(this.element) : arr.filter(function (el) { return el !== _this.element; });\n this.parent.set(nextValue);\n }\n };\n return ContainsLink;\n}(Link));\nexport { ContainsLink };\nvar defaultError = 'Invalid value';\n/**\n * Link to array or object element enclosed in parent link.\n * Performs purely functional update of the parent, shallow copying its value on `set`.\n */\nvar LinkAt = (function (_super) {\n __extends(LinkAt, _super);\n function LinkAt(parent, key) {\n var _this = _super.call(this, parent.value[key]) || this;\n _this.parent = parent;\n _this.key = key;\n return _this;\n }\n LinkAt.prototype.remove = function () {\n this.parent.removeAt(this.key);\n };\n // Set new element value to parent array or object, performing purely functional update.\n LinkAt.prototype.set = function (x) {\n var _this = this;\n if (this.value !== x) {\n this.parent.update(function (value) {\n value[_this.key] = x;\n return value;\n });\n }\n };\n ;\n return LinkAt;\n}(Link));\nexport { LinkAt };\n//# sourceMappingURL=link.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/valuelink/link.js\n// module id = 20\n// module chunks = 0","\"use strict\";\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/fbjs/lib/emptyFunction.js\n// module id = 21\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (process.env.NODE_ENV !== 'production') {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/fbjs/lib/invariant.js\n// module id = 22\n// module chunks = 0","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n'use strict';\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\nvar invariant = require('fbjs/lib/invariant');\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n invariant(\n false,\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim\n };\n\n ReactPropTypes.checkPropTypes = emptyFunction;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/prop-types/factoryWithThrowingShims.js\n// module id = 23\n// module chunks = 0","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/prop-types/lib/ReactPropTypesSecret.js\n// module id = 24\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file diff --git a/docs/config.json b/docs/config.json index dd50e23..63600b3 100644 --- a/docs/config.json +++ b/docs/config.json @@ -1,6 +1,6 @@ { "title": "NestedReact", - "tagline": "React. Playing well with traditional MVC.", + "tagline": "BackboneJS compatibility layer for the React-MVx", "author": "Vlad Balin", "image": "", "ignore": { diff --git a/lib/react-mvx/component.d.ts b/lib/react-mvx/component.d.ts index ff69e26..9fc071f 100644 --- a/lib/react-mvx/component.d.ts +++ b/lib/react-mvx/component.d.ts @@ -23,6 +23,8 @@ export declare class Component

extends React.Component { linkAll(...keys: string[]): { [key: string]: Link; }; + linkPath(path: string): Link; + readonly links: any; static define(protoProps: any, staticProps: any): typeof Component; readonly state: Record; readonly store?: Store; diff --git a/lib/react-mvx/component.js b/lib/react-mvx/component.js index caad6e3..ed15680 100644 --- a/lib/react-mvx/component.js +++ b/lib/react-mvx/component.js @@ -55,8 +55,19 @@ var Component = (function (_super) { }; Component.prototype.linkAll = function () { // Quick and dirty hack to suppres type error - refactor later. - return this.state.linkAll.apply(this, arguments); + var state = this.state; + return state.linkAll.apply(state, arguments); }; + Component.prototype.linkPath = function (path) { + return this.state.linkPath(path); + }; + Object.defineProperty(Component.prototype, "links", { + get: function () { + return this.state._links; + }, + enumerable: true, + configurable: true + }); Component.define = function (protoProps, staticProps) { var BaseClass = tools.getBaseClass(this), staticsDefinition = tools.getChangedStatics(this, 'state', 'store', 'props', 'context', 'childContext', 'pureRender'), combinedDefinition = tools.assign(staticsDefinition, protoProps || {}); var definition = processSpec(combinedDefinition, this.prototype); diff --git a/lib/react-mvx/component.js.map b/lib/react-mvx/component.js.map index 08ab78e..aedc7c0 100644 --- a/lib/react-mvx/component.js.map +++ b/lib/react-mvx/component.js.map @@ -1 +1 @@ -{"version":3,"file":"component.js","sourceRoot":"","sources":["../../src/react-mvx/component.ts"],"names":[],"mappings":"AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAiB,UAAU,EAAc,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAE1F,OAAO,WAA0B,MAAM,UAAU,CAAA;AAEjD,IAAM,eAAe,GAAS;IAC1B,kBAAkB,EAAU,SAAS;IACrC,iBAAiB,EAAW,SAAS;IACrC,yBAAyB,EAAG,SAAS;IACrC,qBAAqB,EAAO,MAAM;IAClC,mBAAmB,EAAS,SAAS;IACrC,kBAAkB,EAAU,SAAS;IACrC,oBAAoB,EAAQ,UAAU;IACtC,KAAK,EAAuB,OAAO;IACnC,KAAK,EAAuB,OAAO;IACnC,KAAK,EAAuB,OAAO;IACnC,OAAO,EAAqB,OAAO;IACnC,YAAY,EAAgB,OAAO;IACnC,eAAe,EAAa,eAAe;CAC9C,CAAC;AAIF,IAAa,SAAS;IAAY,6BAA0B;IAA5D;;IAsDA,CAAC;IAtCG,0BAAM,GAAN,UAAQ,GAAY;QAChB,+DAA+D;QAC/D,MAAM,CAAO,IAAI,CAAC,KAAM,CAAC,MAAM,CAAE,GAAG,CAAE,CAAC;IAC3C,CAAC;IAGD,2BAAO,GAAP;QACI,+DAA+D;QAC/D,MAAM,CAAO,IAAI,CAAC,KAAM,CAAC,OAAO,CAAC,KAAK,CAAE,IAAI,EAAE,SAAS,CAAE,CAAC;IAC9D,CAAC;IAEM,gBAAM,GAAb,UAAe,UAAU,EAAE,WAAW;QAClC,IAAI,SAAS,GAAY,KAAK,CAAC,YAAY,CAAE,IAAI,CAAE,EAC/C,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,YAAY,CAAE,EACvH,kBAAkB,GAAG,KAAK,CAAC,MAAM,CAAE,iBAAiB,EAAE,UAAU,IAAI,EAAE,CAAE,CAAC;QAE7E,IAAI,UAAU,GAAG,WAAW,CAAE,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAE,CAAC;QAE3D,IAAA,4CAAe,EAAE,gCAAS,EAAE,sCAAY,EAAE,gDAAiB,EAAE,2GAAkB,CAAgB;QAEvG,EAAE,CAAA,CAAE,eAAgB,CAAC;YAAC,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,eAAe,EAAE,CAAC;QACvE,EAAE,CAAA,CAAE,SAAU,CAAC;YAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3C,EAAE,CAAA,CAAE,YAAa,CAAC;YAAC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACpD,EAAE,CAAA,CAAE,iBAAkB,CAAC;YAAC,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAEnE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAE,IAAI,EAAE,eAAe,EAAE,WAAW,CAAE,CAAC;QAE1D,MAAM,CAAC,IAAI,CAAC;IAChB,CAAC;IAKD,iCAAa,GAAb,UAAe,CAAC,EAAE,GAAG;QACjB,IAAI,CAAC,KAAK,CAAC,UAAU,WAAG,GAAE,GAAG,IAAK,CAAC,MAAG,CAAC;;IAC3C,CAAC;IAGL,gBAAC;AAAD,CAAC,AAtDD,CAAkC,KAAK,CAAC,SAAS,GAsDhD;AAtDY,SAAS;IAFrB,UAAU;IACV,UAAU,CAAE,eAAe,CAAE;GACjB,SAAS,CAsDrB;SAtDY,SAAS;AAwDtB,oEAAoE;AACpE,qCAAqC;AACrC,MAAM,CAAC,cAAc,CAAE,SAAS,CAAC,SAAS,EAAE,WAAW,EAAE;IACrD,KAAK,EAAG;QACJ,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;IAC3B,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"component.js","sourceRoot":"","sources":["../../src/react-mvx/component.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/react-mvx/define/common.js b/lib/react-mvx/define/common.js index c0df4fb..24b271f 100644 --- a/lib/react-mvx/define/common.js +++ b/lib/react-mvx/define/common.js @@ -35,7 +35,8 @@ var CommonMixin = tools.assign({ if (isRoot) { this.shouldComponentUpdate = returnFalse; } - fun(this.props, this.state); + var _a = this, state = _a.state, store = _a.store, withStore = store ? function (state) { return store.transaction(function () { return fun(state); }); } : fun; + state ? state.transaction(withStore) : withStore(state); if (isRoot) { this.shouldComponentUpdate = shouldComponentUpdate; this.asyncUpdate(); diff --git a/lib/react-mvx/define/common.js.map b/lib/react-mvx/define/common.js.map index 5c738aa..b9d46be 100644 --- a/lib/react-mvx/define/common.js.map +++ b/lib/react-mvx/define/common.js.map @@ -1 +1 @@ -{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/react-mvx/define/common.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAEtC,MAAM,CAAC,OAAO,kBAAmB,IAAI,EAAE,SAAS;IAC5C,sBAAsB;IACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAE,WAAW,CAAE,CAAC;AACpC,CAAC;AAED,MAAM;IACF,IAAI,CAAC,qBAAqB,KAAK,WAAW,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;AACvF,CAAC;AAED,yBAAwB,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AAEvC;;GAEG;AACH,IAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAE;IAC9B,oBAAoB;QAChB,iDAAiD;QACjD,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,8BAA8B;QAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,uEAAuE;IACvE,WAAW,EAAG,WAAW;IAEzB;;;;;;OAMG;IACH,WAAW,YAAE,GAAG;QACZ,IAAI,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,EAClD,MAAM,GAAG,qBAAqB,KAAK,WAAW,CAAC;QAEnD,EAAE,CAAA,CAAE,MAAO,CAAC,CAAA,CAAC;YACT,IAAI,CAAC,qBAAqB,GAAG,WAAW,CAAC;QAC7C,CAAC;QAED,GAAG,CAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAE,CAAC;QAE9B,EAAE,CAAA,CAAE,MAAO,CAAC,CAAA,CAAC;YACT,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;YACnD,IAAI,CAAC,WAAW,EAAE,CAAC;QACvB,CAAC;IACL,CAAC;CACJ,EAAE,MAAM,CAAE,CAAC"} \ No newline at end of file +{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/react-mvx/define/common.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAEtC,MAAM,CAAC,OAAO,kBAAmB,IAAI,EAAE,SAAS;IAC5C,sBAAsB;IACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAE,WAAW,CAAE,CAAC;AACpC,CAAC;AAED,MAAM;IACF,IAAI,CAAC,qBAAqB,KAAK,WAAW,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;AACvF,CAAC;AAED,yBAAwB,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AAEvC;;GAEG;AACH,IAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAE;IAC9B,oBAAoB;QAChB,iDAAiD;QACjD,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,8BAA8B;QAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,uEAAuE;IACvE,WAAW,EAAG,WAAW;IAEzB;;;;;;OAMG;IACH,WAAW,YAAE,GAAG;QACZ,IAAI,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,EAClD,MAAM,GAAG,qBAAqB,KAAK,WAAW,CAAC;QAEnD,EAAE,CAAA,CAAE,MAAO,CAAC,CAAA,CAAC;YACT,IAAI,CAAC,qBAAqB,GAAG,WAAW,CAAC;QAC7C,CAAC;QAEK,IAAA,SAAuB,EAArB,gBAAK,EAAE,gBAAK,EACd,SAAS,GAAG,KAAK,GAAG,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,WAAW,CAAE,cAAM,OAAA,GAAG,CAAE,KAAK,CAAE,EAAZ,CAAY,CAAE,EAAvC,CAAuC,GAAG,GAAG,CAAC;QAEjF,KAAK,GAAG,KAAK,CAAC,WAAW,CAAE,SAAS,CAAE,GAAG,SAAS,CAAE,KAAK,CAAE,CAAC;QAE5D,EAAE,CAAA,CAAE,MAAO,CAAC,CAAA,CAAC;YACT,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;YACnD,IAAI,CAAC,WAAW,EAAE,CAAC;QACvB,CAAC;IACL,CAAC;CACJ,EAAE,MAAM,CAAE,CAAC"} \ No newline at end of file diff --git a/lib/react-mvx/valuelink/link.d.ts b/lib/react-mvx/valuelink/link.d.ts index 099e27e..f722ea0 100644 --- a/lib/react-mvx/valuelink/link.d.ts +++ b/lib/react-mvx/valuelink/link.d.ts @@ -19,6 +19,9 @@ export declare abstract class Link { abstract set(x: T): void; onChange(handler: (x: T) => void): Link; readonly props: { + checked: (T & true) | (T & false); + onChange: (e: any) => void; + } | { value: T; onChange: (e: any) => void; }; diff --git a/lib/react-mvx/valuelink/link.js b/lib/react-mvx/valuelink/link.js index 17ac998..6d9f0d1 100644 --- a/lib/react-mvx/valuelink/link.js +++ b/lib/react-mvx/valuelink/link.js @@ -41,7 +41,13 @@ var Link = (function () { // get: function () { var _this = this; - return { value: this.value, onChange: function (e) { return _this.set(e.target.value); } }; + return typeof this.value === 'boolean' ? { + checked: this.value, + onChange: function (e) { return _this.set(Boolean(e.target.checked)); } + } : { + value: this.value, + onChange: function (e) { return _this.set(e.target.value); } + }; }, enumerable: true, configurable: true diff --git a/lib/react-mvx/valuelink/link.js.map b/lib/react-mvx/valuelink/link.js.map index f523f9c..6c53af6 100644 --- a/lib/react-mvx/valuelink/link.js.map +++ b/lib/react-mvx/valuelink/link.js.map @@ -1 +1 @@ -{"version":3,"file":"link.js","sourceRoot":"","sources":["../../../src/react-mvx/valuelink/link.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"link.js","sourceRoot":"","sources":["../../../src/react-mvx/valuelink/link.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/package.json b/package.json index 120a373..c74a94e 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "react-dom": "*", "source-map-loader": "*", "ts-loader": "*", - "typescript": "*", + "typescript": "<2.4.0", "underscore": "*", "unminified-webpack-plugin": "^1.2.0", "webpack": "*" diff --git a/src/react-mvx/component.ts b/src/react-mvx/component.ts index 4c4aab9..5fbd20a 100644 --- a/src/react-mvx/component.ts +++ b/src/react-mvx/component.ts @@ -41,15 +41,24 @@ export class Component

extends React.Component { static extend : ( spec : object, statics? : object ) => Component< any > - linkAt( key : string ) : Link< any> { + linkAt( key : string ) : Link { // Quick and dirty hack to suppres type error - refactor later. - return (this.state).linkAt( key ); + return ( this.state as any ).linkAt( key ); } linkAll( ...keys : string[] ) : { [ key : string ] : Link } linkAll(){ // Quick and dirty hack to suppres type error - refactor later. - return (this.state).linkAll.apply( this, arguments ); + const { state } = this as any; + return state.linkAll.apply( state, arguments ); + } + + linkPath( path : string ) : Link { + return ( this.state as any ).linkPath( path ); + } + + get links(){ + return ( this.state as any )._links; } static define( protoProps, staticProps ){ diff --git a/src/react-mvx/define/common.ts b/src/react-mvx/define/common.ts index 5d6292d..858615b 100644 --- a/src/react-mvx/define/common.ts +++ b/src/react-mvx/define/common.ts @@ -46,7 +46,10 @@ const CommonMixin = tools.assign( { this.shouldComponentUpdate = returnFalse; } - fun( this.props, this.state ); + const { state, store } = this, + withStore = store ? state => store.transaction( () => fun( state ) ) : fun; + + state ? state.transaction( withStore ) : withStore( state ); if( isRoot ){ this.shouldComponentUpdate = shouldComponentUpdate; @@ -54,3 +57,4 @@ const CommonMixin = tools.assign( { } } }, Events ); + diff --git a/src/react-mvx/valuelink/link.ts b/src/react-mvx/valuelink/link.ts index 7f0aed2..bd16435 100644 --- a/src/react-mvx/valuelink/link.ts +++ b/src/react-mvx/valuelink/link.ts @@ -49,7 +49,13 @@ export abstract class Link< T >{ // get props(){ - return { value : this.value, onChange : e => this.set( e.target.value ) }; + return typeof this.value === 'boolean' ? { + checked : this.value, + onChange : e => this.set( Boolean( e.target.checked ) as any ) + }:{ + value : this.value, + onChange : e => this.set( e.target.value ) + }; } // DEPRECATED: Old React method for backward compatibility diff --git a/submodules/React-MVx b/submodules/React-MVx index f6caa5b..189204c 160000 --- a/submodules/React-MVx +++ b/submodules/React-MVx @@ -1 +1 @@ -Subproject commit f6caa5b20730fd60835f1c2d1e40d61b235b48c1 +Subproject commit 189204c7b43fa463b96554171e25786dd1f4feeb From da3562544802fa4a4c8a19e3f90c859c9f7d7ad8 Mon Sep 17 00:00:00 2001 From: Vlad Balin Date: Mon, 16 Oct 2017 18:24:23 -0400 Subject: [PATCH 06/25] Started integrating new code... --- .gitmodules | 1 + lib/react-mvx/component.d.ts | 35 +- lib/react-mvx/component.js | 111 +- lib/react-mvx/component.js.map | 2 +- lib/react-mvx/define/common.d.ts | 9 +- lib/react-mvx/define/common.js | 45 - lib/react-mvx/define/common.js.map | 2 +- lib/react-mvx/define/context.d.ts | 15 +- lib/react-mvx/define/context.js | 32 +- lib/react-mvx/define/context.js.map | 2 +- lib/react-mvx/define/index.d.ts | 11 +- lib/react-mvx/define/index.js | 25 +- lib/react-mvx/define/index.js.map | 2 +- lib/react-mvx/define/props.d.ts | 16 +- lib/react-mvx/define/props.js | 47 +- lib/react-mvx/define/props.js.map | 2 +- lib/react-mvx/define/pureRender.d.ts | 8 +- lib/react-mvx/define/pureRender.js | 36 +- lib/react-mvx/define/pureRender.js.map | 2 +- lib/react-mvx/define/state.d.ts | 17 +- lib/react-mvx/define/state.js | 58 +- lib/react-mvx/define/state.js.map | 2 +- lib/react-mvx/define/store.d.ts | 12 +- lib/react-mvx/define/store.js | 62 +- lib/react-mvx/define/store.js.map | 2 +- lib/react-mvx/define/typeSpecs.d.ts | 13 +- lib/react-mvx/define/typeSpecs.js | 26 +- lib/react-mvx/define/typeSpecs.js.map | 2 +- lib/react-mvx/index.js.map | 2 +- lib/react-mvx/link.js | 74 +- lib/react-mvx/link.js.map | 2 +- lib/view-element.d.ts | 2 +- package-lock.json | 3405 ++++++++++++++++++++++++ package.json | 22 +- src/react-mvx/Link.ts | 14 +- src/react-mvx/component.ts | 136 +- src/react-mvx/define/common.ts | 64 +- src/react-mvx/define/context.ts | 35 +- src/react-mvx/define/index.ts | 29 +- src/react-mvx/define/props.ts | 50 +- src/react-mvx/define/pureRender.ts | 53 +- src/react-mvx/define/state.ts | 50 +- src/react-mvx/define/store.ts | 49 +- src/react-mvx/define/typeSpecs.ts | 47 +- src/react-mvx/index.ts | 2 +- submodules/React-MVx | 2 +- 46 files changed, 4074 insertions(+), 561 deletions(-) create mode 100644 package-lock.json diff --git a/.gitmodules b/.gitmodules index 85a03c4..49c7565 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,4 @@ [submodule "submodules/React-MVx"] path = submodules/React-MVx url = https://github.com/Volicon/React-MVx + branch = develop \ No newline at end of file diff --git a/lib/react-mvx/component.d.ts b/lib/react-mvx/component.d.ts index 9fc071f..4ba84b0 100644 --- a/lib/react-mvx/component.d.ts +++ b/lib/react-mvx/component.d.ts @@ -1,12 +1,13 @@ /// /** - * React components + * React-Type-R component base class. Overrides React component. */ import * as React from 'react'; -import { Record, Store } from 'type-r'; +import { Record, Store, CallbacksByEvents, Messenger } from 'type-r'; import Link from './Link'; -import { TypeSpecs } from './define'; -export declare class Component

extends React.Component { +import onDefine, { TypeSpecs } from './define'; +export declare class Component extends React.Component { + cid: string; static state?: TypeSpecs | typeof Record; static store?: TypeSpecs | typeof Store; static props?: TypeSpecs; @@ -25,9 +26,29 @@ export declare class Component

extends React.Component { }; linkPath(path: string): Link; readonly links: any; - static define(protoProps: any, staticProps: any): typeof Component; - readonly state: Record; + static onDefine: typeof onDefine; + readonly state: S; readonly store?: Store; - assignToState(x: any, key: any): void; + constructor(props?: any, context?: any); + _initializeState(): void; + assignToState(x: any, key: string): void; isMounted: () => boolean; + on: (events: string | CallbacksByEvents, callback, context?) => this; + once: (events: string | CallbacksByEvents, callback, context?) => this; + off: (events?: string | CallbacksByEvents, callback?, context?) => this; + trigger: (name: string, a?, b?, c?, d?, e?) => this; + stopListening: (source?: Messenger, a?: string | CallbacksByEvents, b?: Function) => this; + listenTo: (source: Messenger, a: string | CallbacksByEvents, b?: Function) => this; + listenToOnce: (source: Messenger, a: string | CallbacksByEvents, b?: Function) => this; + dispose: () => void; + componentWillUnmount(): void; + /** + * Performs transactional update for both props and state. + * Suppress updates during the transaction, and force update aftewards. + * Wrapping the sequence of changes in a transactions guarantees that + * React component will be updated _after_ all the changes to the + * both props and local state are applied. + */ + transaction(fun: (state?: Record) => void): void; + asyncUpdate(): void; } diff --git a/lib/react-mvx/component.js b/lib/react-mvx/component.js index ed15680..ed72e3c 100644 --- a/lib/react-mvx/component.js +++ b/lib/react-mvx/component.js @@ -1,5 +1,5 @@ /** - * React components + * React-Type-R component base class. Overrides React component. */ var __extends = (this && this.__extends) || (function () { var extendStatics = Object.setPrototypeOf || @@ -17,37 +17,15 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; -var __rest = (this && this.__rest) || function (s, e) { - var t = {}; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) - t[p] = s[p]; - if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; - return t; -}; import * as React from 'react'; -import { extendable, mixinRules, tools, Mixable } from 'type-r'; -import processSpec from './define'; -var reactMixinRules = { - componentWillMount: 'reverse', - componentDidMount: 'reverse', - componentWillReceiveProps: 'reverse', - shouldComponentUpdate: 'some', - componentWillUpdate: 'reverse', - componentDidUpdate: 'reverse', - componentWillUnmount: 'sequence', - state: 'merge', - store: 'merge', - props: 'merge', - context: 'merge', - childContext: 'merge', - getChildContext: 'mergeSequence' -}; +import { mixinRules, define, mixins, definitions, Messenger } from 'type-r'; +import onDefine from './define'; var Component = (function (_super) { __extends(Component, _super); - function Component() { - return _super !== null && _super.apply(this, arguments) || this; + function Component(props, context) { + var _this = _super.call(this, props, context) || this; + _this._initializeState(); + return _this; } Component.prototype.linkAt = function (key) { // Quick and dirty hack to suppres type error - refactor later. @@ -68,33 +46,74 @@ var Component = (function (_super) { enumerable: true, configurable: true }); - Component.define = function (protoProps, staticProps) { - var BaseClass = tools.getBaseClass(this), staticsDefinition = tools.getChangedStatics(this, 'state', 'store', 'props', 'context', 'childContext', 'pureRender'), combinedDefinition = tools.assign(staticsDefinition, protoProps || {}); - var definition = processSpec(combinedDefinition, this.prototype); - var getDefaultProps = definition.getDefaultProps, propTypes = definition.propTypes, contextTypes = definition.contextTypes, childContextTypes = definition.childContextTypes, protoDefinition = __rest(definition, ["getDefaultProps", "propTypes", "contextTypes", "childContextTypes"]); - if (getDefaultProps) - this.defaultProps = definition.getDefaultProps(); - if (propTypes) - this.propTypes = propTypes; - if (contextTypes) - this.contextTypes = contextTypes; - if (childContextTypes) - this.childContextTypes = childContextTypes; - Mixable.define.call(this, protoDefinition, staticProps); - return this; + Component.prototype._initializeState = function () { + this.state = null; }; Component.prototype.assignToState = function (x, key) { this.state.assignFrom((_a = {}, _a[key] = x, _a)); var _a; }; + Component.prototype.componentWillUnmount = function () { + this.dispose(); + }; + /** + * Performs transactional update for both props and state. + * Suppress updates during the transaction, and force update aftewards. + * Wrapping the sequence of changes in a transactions guarantees that + * React component will be updated _after_ all the changes to the + * both props and local state are applied. + */ + Component.prototype.transaction = function (fun) { + var shouldComponentUpdate = this.shouldComponentUpdate, isRoot = shouldComponentUpdate !== returnFalse; + if (isRoot) { + this.shouldComponentUpdate = returnFalse; + } + var _a = this, state = _a.state, store = _a.store, withStore = store ? function (state) { return store.transaction(function () { return fun(state); }); } : fun; + state ? state.transaction(withStore) : withStore(state); + if (isRoot) { + this.shouldComponentUpdate = shouldComponentUpdate; + this.asyncUpdate(); + } + }; + // Safe version of the forceUpdate suitable for asynchronous callbacks. + Component.prototype.asyncUpdate = function () { + this.shouldComponentUpdate === returnFalse || this._disposed || this.forceUpdate(); + }; return Component; }(React.Component)); +Component.onDefine = onDefine; Component = __decorate([ - extendable, - mixinRules(reactMixinRules) + define, + definitions({ + // Definitions to be extracted from mixins and statics and passed to `onDefine()` + state: mixinRules.merge, + State: mixinRules.value, + store: mixinRules.merge, + Store: mixinRules.value, + props: mixinRules.merge, + context: mixinRules.merge, + childContext: mixinRules.merge, + pureRender: mixinRules.protoValue + }), + mixinRules({ + // Apply old-school React mixin rules. + componentWillMount: mixinRules.classLast, + componentDidMount: mixinRules.classLast, + componentWillReceiveProps: mixinRules.classLast, + componentWillUpdate: mixinRules.classLast, + componentDidUpdate: mixinRules.classLast, + componentWillUnmount: mixinRules.classFirst, + // And a bit more to fix inheritance quirks. + shouldComponentUpdate: mixinRules.some, + getChildContext: mixinRules.defaults + }) + // Component can send and receive events... + , + mixins(Messenger) ], Component); export { Component }; -// Looks like React guys _really_ want to deprecated it. But no way. +function returnFalse() { return false; } +// Looks like React guys _really_ want to deprecate it. But no way. // We will work around their attempt. Object.defineProperty(Component.prototype, 'isMounted', { value: function isMounted() { diff --git a/lib/react-mvx/component.js.map b/lib/react-mvx/component.js.map index aedc7c0..15200fc 100644 --- a/lib/react-mvx/component.js.map +++ b/lib/react-mvx/component.js.map @@ -1 +1 @@ -{"version":3,"file":"component.js","sourceRoot":"","sources":["../../src/react-mvx/component.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"component.js","sourceRoot":"","sources":["../../src/react-mvx/component.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/react-mvx/define/common.d.ts b/lib/react-mvx/define/common.d.ts index 499bb64..2a656d7 100644 --- a/lib/react-mvx/define/common.d.ts +++ b/lib/react-mvx/define/common.d.ts @@ -1,2 +1,7 @@ -export default function compile(spec: any, baseProto: any): void; -export declare function asyncUpdate(): void; +/// +import { ComponentClass as ReactComponentClass, Component } from 'react'; +import { MixableConstructor, Messenger } from 'type-r'; +export interface ComponentClass extends ReactComponentClass, MixableConstructor { + prototype: Proto & ComponentProto; +} +export declare type ComponentProto = Component & Messenger; diff --git a/lib/react-mvx/define/common.js b/lib/react-mvx/define/common.js index 24b271f..a448c71 100644 --- a/lib/react-mvx/define/common.js +++ b/lib/react-mvx/define/common.js @@ -1,46 +1 @@ -/** - * attach async event processing and transactional support. - */ -import { tools, Events } from 'type-r'; -export default function compile(spec, baseProto) { - // Attach common mixin - spec.mixins.push(CommonMixin); -} -export function asyncUpdate() { - this.shouldComponentUpdate === returnFalse || this._disposed || this.forceUpdate(); -} -function returnFalse() { return false; } -/** - * Mixin which is attached to all components. - */ -var CommonMixin = tools.assign({ - componentWillUnmount: function () { - // Prevent memory leaks when working with events. - this.off(); - this.stopListening(); - // Mark component as disposed. - this._disposed = true; - }, - // Safe version of the forceUpdate suitable for asynchronous callbacks. - asyncUpdate: asyncUpdate, - /** - * Performs transactional update for both props and state. - * Suppress updates during the transaction, and force update aftewards. - * Wrapping the sequence of changes in a transactions guarantees that - * React component will be updated _after_ all the changes to the - * both props and local state are applied. - */ - transaction: function (fun) { - var shouldComponentUpdate = this.shouldComponentUpdate, isRoot = shouldComponentUpdate !== returnFalse; - if (isRoot) { - this.shouldComponentUpdate = returnFalse; - } - var _a = this, state = _a.state, store = _a.store, withStore = store ? function (state) { return store.transaction(function () { return fun(state); }); } : fun; - state ? state.transaction(withStore) : withStore(state); - if (isRoot) { - this.shouldComponentUpdate = shouldComponentUpdate; - this.asyncUpdate(); - } - } -}, Events); //# sourceMappingURL=common.js.map \ No newline at end of file diff --git a/lib/react-mvx/define/common.js.map b/lib/react-mvx/define/common.js.map index b9d46be..5e8c658 100644 --- a/lib/react-mvx/define/common.js.map +++ b/lib/react-mvx/define/common.js.map @@ -1 +1 @@ -{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/react-mvx/define/common.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAEtC,MAAM,CAAC,OAAO,kBAAmB,IAAI,EAAE,SAAS;IAC5C,sBAAsB;IACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAE,WAAW,CAAE,CAAC;AACpC,CAAC;AAED,MAAM;IACF,IAAI,CAAC,qBAAqB,KAAK,WAAW,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;AACvF,CAAC;AAED,yBAAwB,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AAEvC;;GAEG;AACH,IAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAE;IAC9B,oBAAoB;QAChB,iDAAiD;QACjD,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,8BAA8B;QAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,uEAAuE;IACvE,WAAW,EAAG,WAAW;IAEzB;;;;;;OAMG;IACH,WAAW,YAAE,GAAG;QACZ,IAAI,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,EAClD,MAAM,GAAG,qBAAqB,KAAK,WAAW,CAAC;QAEnD,EAAE,CAAA,CAAE,MAAO,CAAC,CAAA,CAAC;YACT,IAAI,CAAC,qBAAqB,GAAG,WAAW,CAAC;QAC7C,CAAC;QAEK,IAAA,SAAuB,EAArB,gBAAK,EAAE,gBAAK,EACd,SAAS,GAAG,KAAK,GAAG,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,WAAW,CAAE,cAAM,OAAA,GAAG,CAAE,KAAK,CAAE,EAAZ,CAAY,CAAE,EAAvC,CAAuC,GAAG,GAAG,CAAC;QAEjF,KAAK,GAAG,KAAK,CAAC,WAAW,CAAE,SAAS,CAAE,GAAG,SAAS,CAAE,KAAK,CAAE,CAAC;QAE5D,EAAE,CAAA,CAAE,MAAO,CAAC,CAAA,CAAC;YACT,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;YACnD,IAAI,CAAC,WAAW,EAAE,CAAC;QACvB,CAAC;IACL,CAAC;CACJ,EAAE,MAAM,CAAE,CAAC"} \ No newline at end of file +{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/react-mvx/define/common.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/lib/react-mvx/define/context.d.ts b/lib/react-mvx/define/context.d.ts index 5d5a038..e884154 100644 --- a/lib/react-mvx/define/context.d.ts +++ b/lib/react-mvx/define/context.d.ts @@ -1,4 +1,11 @@ -export default function process(spec: any, {_context, _childContext}: { - _context?: {}; - _childContext?: {}; -}): void; +import { TypeSpecs } from './typeSpecs'; +import { ComponentClass } from './common'; +export interface ContextDefinition { + context: TypeSpecs; + childContext: TypeSpecs; +} +export interface ContextProto { + _context: TypeSpecs; + _childContext: TypeSpecs; +} +export default function onDefine(this: ComponentClass, {context, childContext}: ContextDefinition, BaseClass: ComponentClass): void; diff --git a/lib/react-mvx/define/context.js b/lib/react-mvx/define/context.js index 2812c4b..d861be8 100644 --- a/lib/react-mvx/define/context.js +++ b/lib/react-mvx/define/context.js @@ -1,27 +1,17 @@ -var __assign = (this && this.__assign) || Object.assign || function(t) { - for (var s, i = 1, n = arguments.length; i < n; i++) { - s = arguments[i]; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) - t[p] = s[p]; - } - return t; -}; -import { compileSpecs, collectSpecs } from './typeSpecs'; -export default function process(spec, _a) { - var _b = _a._context, _context = _b === void 0 ? {} : _b, _c = _a._childContext, _childContext = _c === void 0 ? {} : _c; - // process context specs... - var context = collectSpecs(spec, 'context'); +import { compileSpecs } from './typeSpecs'; +import { tools } from 'type-r'; +export default function onDefine(_a, BaseClass) { + var context = _a.context, childContext = _a.childContext; + var prototype = this.prototype; if (context) { - spec._context = __assign({}, _context, context); - spec.contextTypes = compileSpecs(context).propTypes; - delete spec.context; + // Merge in inherited members... + prototype._context = tools.defaults(context, BaseClass.prototype._context || {}); + // Compile to propTypes... + this.contextTypes = compileSpecs(context).propTypes; } - // and child context specs... - var childContext = collectSpecs(spec, 'childContext'); if (childContext) { - spec._childContext = __assign({}, _childContext, childContext); - spec.childContextTypes = compileSpecs(childContext).propTypes; - delete spec.childContext; + prototype._childContext = tools.defaults(childContext, BaseClass.prototype._childContext); + this.childContextTypes = compileSpecs(childContext).propTypes; } } //# sourceMappingURL=context.js.map \ No newline at end of file diff --git a/lib/react-mvx/define/context.js.map b/lib/react-mvx/define/context.js.map index f49f847..b04e3d4 100644 --- a/lib/react-mvx/define/context.js.map +++ b/lib/react-mvx/define/context.js.map @@ -1 +1 @@ -{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/react-mvx/define/context.ts"],"names":[],"mappings":";;;;;;;;AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAExD,MAAM,CAAC,OAAO,kBAAmB,IAAI,EAAE,EAAqC;QAAnC,gBAAa,EAAb,kCAAa,EAAE,qBAAkB,EAAlB,uCAAkB;IACtE,2BAA2B;IAC3B,IAAM,OAAO,GAAG,YAAY,CAAE,IAAI,EAAE,SAAS,CAAE,CAAC;IAChD,EAAE,CAAA,CAAE,OAAQ,CAAC,CAAA,CAAC;QACV,IAAI,CAAC,QAAQ,gBAAQ,QAAQ,EAAK,OAAO,CAAE,CAAC;QAC5C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAE,OAAO,CAAE,CAAC,SAAS,CAAC;QACtD,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,6BAA6B;IAC7B,IAAM,YAAY,GAAG,YAAY,CAAE,IAAI,EAAE,cAAc,CAAE,CAAC;IAC1D,EAAE,CAAA,CAAE,YAAa,CAAC,CAAA,CAAC;QACf,IAAI,CAAC,aAAa,gBAAQ,aAAa,EAAK,YAAY,CAAE,CAAC;QAC3D,IAAI,CAAC,iBAAiB,GAAG,YAAY,CAAE,YAAY,CAAE,CAAC,SAAS,CAAC;QAChE,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;AACL,CAAC"} \ No newline at end of file +{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/react-mvx/define/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAa,MAAM,aAAa,CAAA;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAa9B,MAAM,CAAC,OAAO,mBAAyD,EAA6C,EAAE,SAAwC;QAArF,oBAAO,EAAE,8BAAY;IAClF,IAAA,0BAAS,CAAU;IAE3B,EAAE,CAAA,CAAE,OAAQ,CAAC,CAAA,CAAC;QACV,gCAAgC;QAChC,SAAS,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAE,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,QAAQ,IAAI,EAAE,CAAE,CAAC;QAEnF,0BAA0B;QAC1B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAE,OAAO,CAAE,CAAC,SAAS,CAAC;IAC1D,CAAC;IAED,EAAE,CAAA,CAAE,YAAa,CAAC,CAAA,CAAC;QACf,SAAS,CAAC,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAE,YAAY,EAAE,SAAS,CAAC,SAAS,CAAC,aAAa,CAAE,CAAC;QAC5F,IAAI,CAAC,iBAAiB,GAAG,YAAY,CAAE,YAAY,CAAE,CAAC,SAAS,CAAC;IACpE,CAAC;AACL,CAAC"} \ No newline at end of file diff --git a/lib/react-mvx/define/index.d.ts b/lib/react-mvx/define/index.d.ts index 2a32a93..396a7bb 100644 --- a/lib/react-mvx/define/index.d.ts +++ b/lib/react-mvx/define/index.d.ts @@ -1,2 +1,11 @@ -export default function process(spec: any, baseProto?: {}): any; +import { ComponentClass } from './common'; +import { StoreDefinition, StoreProto } from './store'; +import { StateDefinition, StateProto } from './state'; +import { ContextDefinition, ContextProto } from './context'; +import { PropsDefinition, PropsProto } from './props'; +export interface ComponentDefinition extends StoreDefinition, StateDefinition, ContextDefinition, PropsDefinition { +} +export interface ComponentProto extends StoreProto, StateProto, ContextProto, PropsProto { +} +export default function onDefine(this: ComponentClass, definition: ComponentDefinition, BaseClass: ComponentClass): void; export { Node, Element, TypeSpecs } from './typeSpecs'; diff --git a/lib/react-mvx/define/index.js b/lib/react-mvx/define/index.js index a08ac43..7f4c4f4 100644 --- a/lib/react-mvx/define/index.js +++ b/lib/react-mvx/define/index.js @@ -1,18 +1,15 @@ -import processStore from './store'; -import processState from './state'; -import processContext from './context'; -import processCommons from './common'; -import processProps from './props'; -export default function process(spec, baseProto) { - if (baseProto === void 0) { baseProto = {}; } +import { Messenger } from 'type-r'; +import onDefineStore from './store'; +import onDefineState from './state'; +import onDefineContext from './context'; +import onDefineProps from './props'; +export default function onDefine(definition, BaseClass) { // Initialize mixins placeholder... - spec.mixins || (spec.mixins = []); - processStore(spec, baseProto); - processState(spec, baseProto); - processContext(spec, baseProto); - processProps(spec, baseProto); - processCommons(spec, baseProto); - return spec; + onDefineStore.call(this, definition, BaseClass); + onDefineState.call(this, definition, BaseClass); + onDefineContext.call(this, definition, BaseClass); + onDefineProps.call(this, definition, BaseClass); + Messenger.onDefine.call(this, definition, BaseClass); } ; export { Node, Element } from './typeSpecs'; diff --git a/lib/react-mvx/define/index.js.map b/lib/react-mvx/define/index.js.map index bcfe7ee..2d378fa 100644 --- a/lib/react-mvx/define/index.js.map +++ b/lib/react-mvx/define/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/react-mvx/define/index.ts"],"names":[],"mappings":"AACA,OAAO,YAAY,MAAM,SAAS,CAAA;AAClC,OAAO,YAAY,MAAM,SAAS,CAAA;AAClC,OAAO,cAAc,MAAM,WAAW,CAAA;AACtC,OAAO,cAAc,MAAM,UAAU,CAAA;AACrC,OAAO,YAAY,MAAM,SAAS,CAAA;AAElC,MAAM,CAAC,OAAO,kBAAmB,IAAI,EAAE,SAAc;IAAd,0BAAA,EAAA,cAAc;IACjD,mCAAmC;IACnC,IAAI,CAAC,MAAM,IAAI,CAAE,IAAI,CAAC,MAAM,GAAG,EAAE,CAAE,CAAC;IAEpC,YAAY,CAAE,IAAI,EAAE,SAAS,CAAE,CAAC;IAChC,YAAY,CAAE,IAAI,EAAE,SAAS,CAAE,CAAC;IAChC,cAAc,CAAE,IAAI,EAAE,SAAS,CAAE,CAAC;IAClC,YAAY,CAAE,IAAI,EAAE,SAAS,CAAE,CAAC;IAChC,cAAc,CAAE,IAAI,EAAE,SAAS,CAAE,CAAC;IAElC,MAAM,CAAC,IAAI,CAAC;AAChB,CAAC;AAAA,CAAC;AAEF,OAAO,EAAE,IAAI,EAAE,OAAO,EAAa,MAAM,aAAa,CAAA"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/react-mvx/define/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAElC,OAAO,aAA8C,MAAM,SAAS,CAAA;AACpE,OAAO,aAA8C,MAAM,SAAS,CAAA;AACpE,OAAO,eAAoD,MAAM,WAAW,CAAA;AAC5E,OAAO,aAA8C,MAAM,SAAS,CAAA;AAKpE,MAAM,CAAC,OAAO,mBAA2D,UAAgC,EAAE,SAA0C;IACjJ,mCAAmC;IACnC,aAAa,CAAC,IAAI,CAAE,IAAI,EAAE,UAAU,EAAE,SAAS,CAAE,CAAC;IAClD,aAAa,CAAC,IAAI,CAAE,IAAI,EAAE,UAAU,EAAE,SAAS,CAAE,CAAC;IAClD,eAAe,CAAC,IAAI,CAAE,IAAI,EAAE,UAAU,EAAE,SAAS,CAAE,CAAC;IACpD,aAAa,CAAC,IAAI,CAAE,IAAI,EAAE,UAAU,EAAE,SAAS,CAAE,CAAC;IAElD,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAE,IAAI,EAAE,UAAU,EAAE,SAAS,CAAE,CAAC;AAC3D,CAAC;AAAA,CAAC;AAEF,OAAO,EAAE,IAAI,EAAE,OAAO,EAAa,MAAM,aAAa,CAAA"} \ No newline at end of file diff --git a/lib/react-mvx/define/props.d.ts b/lib/react-mvx/define/props.d.ts index 1730ddb..5758cb8 100644 --- a/lib/react-mvx/define/props.d.ts +++ b/lib/react-mvx/define/props.d.ts @@ -4,12 +4,16 @@ * - pure render mixin */ import { TypeSpecs } from './typeSpecs'; -export interface PropsMetadata { +import { ComponentClass } from './common'; +export interface PropsDefinition { + pureRender?: boolean; + props: TypeSpecs; +} +export interface PropsProto { pureRender?: boolean; _props?: TypeSpecs; - _listenToPropsArray?: string[]; - _listenToPropsHash?: { - [propName: string]: Object | string; - }; + _watchers?: any; + _changeHandlers?: any; + PropsChangeTokens?: any; } -export default function process(spec: any, {pureRender, _props, _listenToPropsArray, _listenToPropsHash}: PropsMetadata): void; +export default function onDefine(this: ComponentClass, {props, pureRender}: PropsDefinition, BaseClass: ComponentClass): void; diff --git a/lib/react-mvx/define/props.js b/lib/react-mvx/define/props.js index 654e756..ee1ec16 100644 --- a/lib/react-mvx/define/props.js +++ b/lib/react-mvx/define/props.js @@ -3,39 +3,34 @@ * - local listening to props changes * - pure render mixin */ -var __assign = (this && this.__assign) || Object.assign || function(t) { - for (var s, i = 1, n = arguments.length; i < n; i++) { - s = arguments[i]; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) - t[p] = s[p]; - } - return t; -}; -import { collectSpecs, compileSpecs } from './typeSpecs'; -import createPureRenderMixin from './pureRender'; -export default function process(spec, _a) { - var pureRender = _a.pureRender, _b = _a._props, _props = _b === void 0 ? {} : _b, _c = _a._listenToPropsArray, _listenToPropsArray = _c === void 0 ? [] : _c, _d = _a._listenToPropsHash, _listenToPropsHash = _d === void 0 ? {} : _d; +import { compileSpecs } from './typeSpecs'; +import { PureRenderMixin, createChangeTokensConstructor } from './pureRender'; +import { tools } from 'type-r'; +export default function onDefine(_a, BaseClass) { + var props = _a.props, pureRender = _a.pureRender; + var prototype = this.prototype; // process props spec... - var props = collectSpecs(spec, 'props'); if (props) { - var allProps = spec._props = __assign({}, _props, props); - var _e = compileSpecs(allProps), propTypes = _e.propTypes, defaults_1 = _e.defaults, watchers = _e.watchers, changeHandlers = _e.changeHandlers; - spec.propTypes = propTypes; - if (defaults_1) - spec.getDefaultProps = function () { return defaults_1; }; + // Merge with inherited members... + prototype._props = tools.defaults(props, BaseClass.prototype._props || {}); + var _b = compileSpecs(props), propTypes = _b.propTypes, defaults = _b.defaults, watchers = _b.watchers, changeHandlers = _b.changeHandlers; + this.propTypes = propTypes; + if (defaults) + this.defaultProps = defaults; if (watchers) { - spec.mixins.unshift(WatchersMixin); - spec._watchers = watchers; + prototype._watchers = watchers; + this.mixins.merge([WatchersMixin]); } if (changeHandlers) { - spec.mixins.unshift(ChangeHandlersMixin); - spec._changeHandlers = changeHandlers; + prototype._changeHandlers = changeHandlers; + this.mixins.merge([ChangeHandlersMixin]); + } + if (prototype.pureRender) { + prototype.PropsChangeTokens = createChangeTokensConstructor(props); } - delete spec.props; } - // compile pure render mixin - if (spec._props && (spec.pureRender || pureRender)) { - spec.mixins.push(createPureRenderMixin(spec._props)); + if (pureRender) { + this.mixins.merge([PureRenderMixin]); } } /** diff --git a/lib/react-mvx/define/props.js.map b/lib/react-mvx/define/props.js.map index ec0bf6b..53c95b8 100644 --- a/lib/react-mvx/define/props.js.map +++ b/lib/react-mvx/define/props.js.map @@ -1 +1 @@ -{"version":3,"file":"props.js","sourceRoot":"","sources":["../../../src/react-mvx/define/props.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"props.js","sourceRoot":"","sources":["../../../src/react-mvx/define/props.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/react-mvx/define/pureRender.d.ts b/lib/react-mvx/define/pureRender.d.ts index f47d70b..c8e1921 100644 --- a/lib/react-mvx/define/pureRender.d.ts +++ b/lib/react-mvx/define/pureRender.d.ts @@ -1,6 +1,6 @@ -export default function createPureRenderMixin(props: any): { - _changeTokens: any; +export declare function createChangeTokensConstructor(props: any): Function; +export declare const PureRenderMixin: { shouldComponentUpdate(nextProps: any): any; - componentDidMount(): void; - componentDidUpdate(): void; + componentDidMount: () => void; + componentDidUpdate: () => void; }; diff --git a/lib/react-mvx/define/pureRender.js b/lib/react-mvx/define/pureRender.js index 3257e3e..0b8a6d4 100644 --- a/lib/react-mvx/define/pureRender.js +++ b/lib/react-mvx/define/pureRender.js @@ -1,24 +1,18 @@ -export default function createPureRenderMixin(props) { - var ctorBody = ['var v; this._s = s && s._changeToken'], isChangedBody = ['var v; return ( s && s._changeToken !== t._s )']; - for (var name_1 in props) { - var propExpr = "( ( v = p." + name_1 + ") && v._changeToken ) || v"; - ctorBody.push("this." + name_1 + "= " + propExpr); - isChangedBody.push("t." + name_1 + " !== (" + propExpr + ")"); - } - var ChangeTokens = new Function('p', 's', ctorBody.join(';')), isChanged = new Function('t', 'p', 's', isChangedBody.join('||')); - ChangeTokens.prototype = null; - return { - _changeTokens: null, - shouldComponentUpdate: function (nextProps) { - return isChanged(this._changeTokens, nextProps, this.state); - }, - componentDidMount: function () { - this._changeTokens = new ChangeTokens(this.props, this.state); - }, - componentDidUpdate: function () { - this._changeTokens = new ChangeTokens(this.props, this.state); - } - }; +export function createChangeTokensConstructor(props) { + var propNames = Object.keys(props); + var PropsChangeTokens = new Function('p', 's', "\n var v;\n this._s = s && s._changeToken;\n " + propNames.map(function (name) { return "\n this." + name + " = ( ( v = p." + name + ") && v._changeToken ) || v;\n "; }).join('') + "\n "); + PropsChangeTokens.prototype._hasChanges = new Function('p', 's', "\n var v;\n return ( s && s._changeToken !== this._s ) " + propNames.map(function (name) { return " ||\n this." + name + " !== ( ( ( v = p." + name + ") && v._changeToken ) || v )\n "; }).join('') + ";\n "); + return PropsChangeTokens; } ; +export var PureRenderMixin = { + shouldComponentUpdate: function (nextProps) { + return this._propsChangeTokens._hasChanges(nextProps); + }, + componentDidMount: updateChangeTokens, + componentDidUpdate: updateChangeTokens +}; +function updateChangeTokens() { + this._propsChangeTokens = new this.PropsChangeTokens(this.props, this.state); +} //# sourceMappingURL=pureRender.js.map \ No newline at end of file diff --git a/lib/react-mvx/define/pureRender.js.map b/lib/react-mvx/define/pureRender.js.map index 95a937f..c8ed448 100644 --- a/lib/react-mvx/define/pureRender.js.map +++ b/lib/react-mvx/define/pureRender.js.map @@ -1 +1 @@ -{"version":3,"file":"pureRender.js","sourceRoot":"","sources":["../../../src/react-mvx/define/pureRender.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,gCAAiC,KAAK;IAChD,IAAM,QAAQ,GAAQ,CAAE,sCAAsC,CAAE,EAC5D,aAAa,GAAG,CAAE,gDAAgD,CAAE,CAAC;IAEzE,GAAG,CAAA,CAAE,IAAI,MAAI,IAAI,KAAM,CAAC,CAAA,CAAC;QACrB,IAAM,QAAQ,GAAG,eAAc,MAAI,+BAA6B,CAAC;QACjE,QAAQ,CAAC,IAAI,CAAE,UAAS,MAAI,UAAO,QAAW,CAAC,CAAC;QAChD,aAAa,CAAC,IAAI,CAAE,OAAM,MAAI,cAAW,QAAQ,MAAI,CAAE,CAAC;IAC5D,CAAC;IAED,IAAM,YAAY,GAAS,IAAI,QAAQ,CAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAE,GAAG,CAAE,CAAE,EACnE,SAAS,GAAM,IAAI,QAAQ,CAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,aAAa,CAAC,IAAI,CAAE,IAAI,CAAE,CAAE,CAAC;IAE/E,YAAY,CAAC,SAAS,GAAG,IAAI,CAAC;IAE9B,MAAM,CAAC;QACH,aAAa,EAAG,IAAI;QAEpB,qBAAqB,YAAE,SAAS;YAC5B,MAAM,CAAC,SAAS,CAAE,IAAI,CAAC,aAAa,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAE,CAAC;QAClE,CAAC;QAED,iBAAiB;YACb,IAAI,CAAC,aAAa,GAAG,IAAI,YAAY,CAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAE,CAAC;QACpE,CAAC;QACD,kBAAkB;YACd,IAAI,CAAC,aAAa,GAAG,IAAI,YAAY,CAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAE,CAAC;QACpE,CAAC;KACJ,CAAA;AACL,CAAC;AAAA,CAAC"} \ No newline at end of file +{"version":3,"file":"pureRender.js","sourceRoot":"","sources":["../../../src/react-mvx/define/pureRender.ts"],"names":[],"mappings":"AAAA,MAAM,wCAAyC,KAAK;IAChD,IAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAE,KAAK,CAAE,CAAC;IAEvC,IAAM,iBAAiB,GAAG,IAAI,QAAQ,CAAE,GAAG,EAAE,GAAG,EAAE,uEAG3C,SAAS,CAAC,GAAG,CAAE,UAAA,IAAI,IAAI,OAAA,wBACd,IAAI,qBAAkB,IAAI,0CACrC,EAFyB,CAEzB,CAAC,CAAC,IAAI,CAAE,EAAE,CAAE,WAChB,CAAC,CAAC;IAEH,iBAAiB,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,QAAQ,CAAE,GAAG,EAAE,GAAG,EAAE,0EAEhB,SAAS,CAAC,GAAG,CAAE,UAAA,IAAI,IAAI,OAAA,2BACzD,IAAI,yBAAsB,IAAI,2CACzC,EAFoE,CAEpE,CAAC,CAAC,IAAI,CAAE,EAAE,CAAE,YAChB,CAAC,CAAC;IAEH,MAAM,CAAC,iBAAiB,CAAC;AAC7B,CAAC;AAAA,CAAC;AAEF,MAAM,CAAC,IAAM,eAAe,GAAG;IAC3B,qBAAqB,YAAE,SAAS;QAC5B,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAE,SAAS,CAAE,CAAC;IAC5D,CAAC;IAED,iBAAiB,EAAG,kBAAkB;IACtC,kBAAkB,EAAG,kBAAkB;CAC1C,CAAA;AAED;IACI,IAAI,CAAC,kBAAkB,GAAG,IAAI,IAAI,CAAC,iBAAiB,CAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAE,CAAC;AACnF,CAAC"} \ No newline at end of file diff --git a/lib/react-mvx/define/state.d.ts b/lib/react-mvx/define/state.d.ts index cc69d27..711a7a4 100644 --- a/lib/react-mvx/define/state.d.ts +++ b/lib/react-mvx/define/state.d.ts @@ -1,7 +1,18 @@ -import { Store } from 'type-r'; -export default function process(spec: any, baseProto: any): void; +/***************** + * State + */ +import { Record, Store } from 'type-r'; +import { ComponentClass } from './common'; +export interface StateDefinition { + state?: object | typeof Record; + State?: typeof Record; +} +export interface StateProto { + State?: typeof Record; +} +export default function process(this: ComponentClass, definition: StateDefinition, BaseComponentClass: ComponentClass): void; export declare const StateMixin: { - componentWillMount(): void; + _initializeState(): void; context: { _nestedStore: typeof Store; }; diff --git a/lib/react-mvx/define/state.js b/lib/react-mvx/define/state.js index 71a08ed..508aca9 100644 --- a/lib/react-mvx/define/state.js +++ b/lib/react-mvx/define/state.js @@ -1,23 +1,55 @@ +var __extends = (this && this.__extends) || (function () { + var extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; /***************** * State */ -import { collectSpecs } from './typeSpecs'; -import { Record, Store } from 'type-r'; -export default function process(spec, baseProto) { - // process state spec... - var attributes = collectSpecs(spec, 'state'); - if (attributes || baseProto.State) { - var BaseModel = baseProto.State || Record; - spec.State = attributes ? (typeof attributes === 'function' ? attributes : BaseModel.defaults(attributes)) : BaseModel; - spec.mixins.push(StateMixin); - spec.mixins.push(UpdateOnNestedChangesMixin); - delete spec.state; - delete spec.attributes; +import { define, Record, Store } from 'type-r'; +export default function process(definition, BaseComponentClass) { + var prototype = this.prototype; + var state = definition.state, State = definition.State; + if (typeof state === 'function') { + State = state; + state = void 0; + } + if (state) { + var BaseClass = State || prototype.State || Record; + var ComponentState = (function (_super) { + __extends(ComponentState, _super); + function ComponentState() { + return _super !== null && _super.apply(this, arguments) || this; + } + return ComponentState; + }(BaseClass)); + ComponentState.attributes = state; + ComponentState = __decorate([ + define + ], ComponentState); + prototype.State = ComponentState; + } + else if (State) { + prototype.State = State; + } + if (state || State) { + this.mixins.merge([StateMixin, UpdateOnNestedChangesMixin]); } } export var StateMixin = { //state : null, - componentWillMount: function () { + _initializeState: function () { // props.__keepState is used to workaround issues in Backbone intergation layer var state = this.state = this.props.__keepState || new this.State(); // Take ownership on state... diff --git a/lib/react-mvx/define/state.js.map b/lib/react-mvx/define/state.js.map index e2cc6ea..f12f609 100644 --- a/lib/react-mvx/define/state.js.map +++ b/lib/react-mvx/define/state.js.map @@ -1 +1 @@ -{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/react-mvx/define/state.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAEtC,MAAM,CAAC,OAAO,kBAAmB,IAAI,EAAE,SAAS;IAC5C,wBAAwB;IACxB,IAAM,UAAU,GAAG,YAAY,CAAE,IAAI,EAAE,OAAO,CAAE,CAAC;IAEjD,EAAE,CAAA,CAAE,UAAU,IAAI,SAAS,CAAC,KAAM,CAAC,CAAA,CAAC;QAChC,IAAM,SAAS,GAAG,SAAS,CAAC,KAAK,IAAI,MAAM,CAAC;QAE5C,IAAI,CAAC,KAAK,GAAM,UAAU,GAAG,CACzB,OAAO,UAAU,KAAK,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC,QAAQ,CAAE,UAAU,CAAE,CACnF,GAAE,SAAS,CAAC;QAEb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAE,UAAU,CAAE,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAE,0BAA0B,CAAE,CAAC;QAE/C,OAAO,IAAI,CAAC,KAAK,CAAC;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;AACL,CAAC;AAED,MAAM,CAAC,IAAM,UAAU,GAAG;IACtB,eAAe;IAEf,kBAAkB;QACd,+EAA+E;QAC/E,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAEtE,6BAA6B;QAC7B,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;QACpB,KAAK,CAAC,SAAS,GAAG,OAAO,CAAC;IAC9B,CAAC;IAED,OAAO,EAAG;QACN,YAAY,EAAG,KAAK;KACvB;IAED,sDAAsD;IACtD,QAAQ;QACJ,iGAAiG;QACjG,+DAA+D;QAC/D,IAAI,OAAO,EAAE,KAAK,CAAC;QAEnB,MAAM,CAAE,CAAE,CAAE,OAAO,GAAG,IAAI,CAAC,OAAO,CAAE,IAAI,OAAO,CAAC,YAAY,CAAE;YACtD,CAAE,CAAE,KAAK,GAAG,IAAI,CAAC,KAAK,CAAE,IAAI,KAAK,CAAC,aAAa,CAAE,CAAC;IAC9D,CAAC;IAED,oBAAoB;QACR,IAAA,kBAAK,CAAU;QACvB,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,eAAe,CAAC,mDAAmD,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAC5F,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;IACxB,CAAC;CACJ,CAAC;AAEF,MAAM,CAAC,IAAM,0BAA0B,GAAG;IACtC,iBAAiB,gBAAG,CAAC;IAErB,iBAAiB;QACb,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC;IAC9C,CAAC;CACJ,CAAC"} \ No newline at end of file +{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/react-mvx/define/state.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAY9C,MAAM,CAAC,OAAO,kBAAsD,UAA4B,EAAE,kBAA+C;IACrI,IAAA,0BAAS,CAAU;IAErB,IAAA,wBAAK,EAAE,wBAAK,CAAgB;IAElC,EAAE,CAAA,CAAE,OAAO,KAAK,KAAK,UAAW,CAAC,CAAA,CAAC;QAC9B,KAAK,GAAG,KAAK,CAAC;QACd,KAAK,GAAG,KAAK,CAAC,CAAC;IACnB,CAAC;IAED,EAAE,CAAA,CAAE,KAAM,CAAC,CAAA,CAAC;QACR,IAAM,SAAS,GAAG,KAAK,IAAI,SAAS,CAAC,KAAK,IAAI,MAAM,CAAC;QAE7C,IAAM,cAAc;YAAS,kCAAS;YAAtC;;YAER,CAAC;YAAD,qBAAC;QAAD,CAAC,AAFO,CAA6B,SAAS,GAE7C;QADU,yBAAU,GAAG,KAAK,CAAC;QADhB,cAAc;YAA3B,MAAM;WAAO,cAAc,CAE3B;QAED,SAAS,CAAC,KAAK,GAAG,cAAc,CAAC;IACrC,CAAC;IACD,IAAI,CAAC,EAAE,CAAA,CAAE,KAAM,CAAC,CAAA,CAAC;QACb,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC;IAC5B,CAAC;IAED,EAAE,CAAA,CAAE,KAAK,IAAI,KAAM,CAAC,CAAA,CAAC;QACjB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAE,UAAU,EAAE,0BAA0B,CAAE,CAAC,CAAC;IAClE,CAAC;AACL,CAAC;AAED,MAAM,CAAC,IAAM,UAAU,GAAG;IACtB,eAAe;IAEf,gBAAgB;QACZ,+EAA+E;QAC/E,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAEtE,6BAA6B;QAC7B,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;QACpB,KAAK,CAAC,SAAS,GAAG,OAAO,CAAC;IAC9B,CAAC;IAED,OAAO,EAAG;QACN,YAAY,EAAG,KAAK;KACvB;IAED,sDAAsD;IACtD,QAAQ;QACJ,iGAAiG;QACjG,+DAA+D;QAC/D,IAAI,OAAO,EAAE,KAAK,CAAC;QAEnB,MAAM,CAAE,CAAE,CAAE,OAAO,GAAG,IAAI,CAAC,OAAO,CAAE,IAAI,OAAO,CAAC,YAAY,CAAE;YACtD,CAAE,CAAE,KAAK,GAAG,IAAI,CAAC,KAAK,CAAE,IAAI,KAAK,CAAC,aAAa,CAAE,CAAC;IAC9D,CAAC;IAED,oBAAoB;QACR,IAAA,kBAAK,CAAU;QACvB,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,eAAe,CAAC,mDAAmD,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAC5F,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;IACxB,CAAC;CACJ,CAAC;AAEF,MAAM,CAAC,IAAM,0BAA0B,GAAG;IACtC,iBAAiB,gBAAG,CAAC;IAErB,iBAAiB;QACb,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC;IAC9C,CAAC;CACJ,CAAC"} \ No newline at end of file diff --git a/lib/react-mvx/define/store.d.ts b/lib/react-mvx/define/store.d.ts index b725194..906e47d 100644 --- a/lib/react-mvx/define/store.d.ts +++ b/lib/react-mvx/define/store.d.ts @@ -1 +1,11 @@ -export default function process(spec: any, baseProto: any): void; +import { Store } from 'type-r'; +import { ComponentClass } from './common'; +export interface StoreDefinition { + store?: typeof Store | Store | object; + Store?: typeof Store; +} +export interface StoreProto { + store?: Store; + Store?: typeof Store; +} +export default function onDefine(this: ComponentClass, definition: StoreDefinition, BaseClass: ComponentClass): void; diff --git a/lib/react-mvx/define/store.js b/lib/react-mvx/define/store.js index 70550e6..6d0a84d 100644 --- a/lib/react-mvx/define/store.js +++ b/lib/react-mvx/define/store.js @@ -1,21 +1,53 @@ -import { collectSpecs } from './typeSpecs'; -import { Store } from 'type-r'; +var __extends = (this && this.__extends) || (function () { + var extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +import { define, Store } from 'type-r'; import { StateMixin, UpdateOnNestedChangesMixin } from './state'; -export default function process(spec, baseProto) { - var store = collectSpecs(spec, 'store'); - if (store) { - delete spec.store; - if (store instanceof Store) { - // Direct reference to an existing store. Put it to the prototype. - spec.store = store; - spec.mixins.push(ExternalStoreMixin); +export default function onDefine(definition, BaseClass) { + var store = definition.store, StoreClass = definition.Store; + if (store && store instanceof Store) { + // Direct reference to an existing store. Put it to the prototype. + this.prototype.store = store; + this.mixins.merge([ExternalStoreMixin, ExposeStoreMixin]); + } + else if (store || definition.Store) { + if (typeof store === 'function') { + StoreClass = store; + store = void 0; + } + if (store) { + var BaseClass_1 = StoreClass || this.prototype.Store || Store; + var InternalStore = (function (_super) { + __extends(InternalStore, _super); + function InternalStore() { + return _super !== null && _super.apply(this, arguments) || this; + } + return InternalStore; + }(BaseClass_1)); + InternalStore.attrbutes = store; + InternalStore = __decorate([ + define + ], InternalStore); + ; + this.prototype.Store = InternalStore; } - else { - spec.Store = store; - spec.mixins.push(InternalStoreMixin); - spec.mixins.push(UpdateOnNestedChangesMixin); + else if (StoreClass) { + this.prototype.Store = StoreClass; } - spec.mixins.push(ExposeStoreMixin); + this.mixins.merge([InternalStoreMixin, UpdateOnNestedChangesMixin, ExposeStoreMixin]); } } /** diff --git a/lib/react-mvx/define/store.js.map b/lib/react-mvx/define/store.js.map index 55b1256..54c51c3 100644 --- a/lib/react-mvx/define/store.js.map +++ b/lib/react-mvx/define/store.js.map @@ -1 +1 @@ -{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/react-mvx/define/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAC9B,OAAO,EAAE,UAAU,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAA;AAEhE,MAAM,CAAC,OAAO,kBAAmB,IAAI,EAAE,SAAS;IAC5C,IAAM,KAAK,GAAG,YAAY,CAAE,IAAI,EAAE,OAAO,CAAE,CAAC;IAE5C,EAAE,CAAA,CAAE,KAAM,CAAC,CAAA,CAAC;QACR,OAAO,IAAI,CAAC,KAAK,CAAC;QAElB,EAAE,CAAA,CAAE,KAAK,YAAY,KAAM,CAAC,CAAA,CAAC;YACzB,kEAAkE;YAClE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAE,kBAAkB,CAAE,CAAC;QAC3C,CAAC;QACD,IAAI,CAAC,CAAC;YACF,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAE,kBAAkB,CAAE,CAAC;YACvC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAE,0BAA0B,CAAE,CAAC;QACnD,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAE,gBAAgB,CAAE,CAAC;IACzC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,IAAM,gBAAgB,GAAG;IACrB,YAAY,EAAG;QACX,YAAY,EAAG,KAAK;KACvB;IAED,eAAe;QACX,MAAM,CAAC,EAAE,YAAY,EAAG,IAAI,CAAC,KAAK,EAAE,CAAC;IACzC,CAAC;IAED,QAAQ;QACJ,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,yDAAyD;IACzD,GAAG,YAAE,GAAG;QACJ,mBAAmB;QACnB,IAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAE,IAAI,EAAE,GAAG,CAAE,CAAC;QACpD,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,CAAE,GAAG,CAAE,CAAC;IACrC,CAAC;CACJ,CAAC;AAEF;;;GAGG;AACH,IAAM,kBAAkB,GAAG;IACvB,iBAAiB;QACb,qCAAqC;QACrC,IAAI,CAAC,QAAQ,CAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAE,CAAC;IAC5D,CAAC;CACJ,CAAC;AAEF,IAAM,kBAAkB,GAAG;IACvB,kBAAkB;QACd,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC1C,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;QACpB,KAAK,CAAC,SAAS,GAAG,OAAO,CAAC;IAC9B,CAAC;IAED,oBAAoB;QAChB,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;IACxB,CAAC;CACJ,CAAC"} \ No newline at end of file +{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/react-mvx/define/store.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/react-mvx/define/typeSpecs.d.ts b/lib/react-mvx/define/typeSpecs.d.ts index 8bfe194..9b71936 100644 --- a/lib/react-mvx/define/typeSpecs.d.ts +++ b/lib/react-mvx/define/typeSpecs.d.ts @@ -1,12 +1,16 @@ +import { ComponentProto } from './common'; export interface TypeSpecs { - [name: string]: Object | Function; + [name: string]: object | Function; } -export declare function collectSpecs(spec: any, name: string): TypeSpecs; export declare function compileSpecs(props: TypeSpecs): { propTypes: {}; defaults: any; - watchers: any; - changeHandlers: any; + watchers: { + [name: string]: (this: ComponentProto, propValue: any, propName: string) => void; + }; + changeHandlers: { + [name: string]: any[]; + }; }; export declare class Node { } @@ -17,4 +21,3 @@ declare global { integer: Function; } } -export {}; diff --git a/lib/react-mvx/define/typeSpecs.js b/lib/react-mvx/define/typeSpecs.js index 9ad01dc..a444247 100644 --- a/lib/react-mvx/define/typeSpecs.js +++ b/lib/react-mvx/define/typeSpecs.js @@ -1,27 +1,5 @@ import * as PropTypes from 'prop-types'; -import { Record, tools } from 'type-r'; -export function collectSpecs(spec, name) { - var attributes = null; - // Scan through local mixin, and gather specs. Refactor it later, it's not good. At all. - for (var i = spec.mixins.length - 1; i >= 0; i--) { - var mixin = spec.mixins[i], mixinAttrs = mixin[name]; - if (mixinAttrs) { - attributes || (attributes = {}); - tools.assign(attributes, mixinAttrs); - } - } - // Merge it with local data. - var specAttrs = spec[name]; - if (specAttrs) { - if (attributes) { - tools.assign(attributes, specAttrs); - } - else { - attributes = specAttrs; - } - } - return attributes; -} +import { Record } from 'type-r'; export function compileSpecs(props) { var propTypes = {}, // Create NestedTypes model definition to process props spec. @@ -55,7 +33,7 @@ export function compileSpecs(props) { if (value !== void 0) { //...append it to getDefaultProps function. defaults || (defaults = {}); - defaults[name] = spec.convert(value); + defaults[name] = spec.convert(value, void 0, null, {}); } } }); diff --git a/lib/react-mvx/define/typeSpecs.js.map b/lib/react-mvx/define/typeSpecs.js.map index f8f49ed..37c3c9e 100644 --- a/lib/react-mvx/define/typeSpecs.js.map +++ b/lib/react-mvx/define/typeSpecs.js.map @@ -1 +1 @@ -{"version":3,"file":"typeSpecs.js","sourceRoot":"","sources":["../../../src/react-mvx/define/typeSpecs.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"typeSpecs.js","sourceRoot":"","sources":["../../../src/react-mvx/define/typeSpecs.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/react-mvx/index.js.map b/lib/react-mvx/index.js.map index 51b4819..351772e 100644 --- a/lib/react-mvx/index.js.map +++ b/lib/react-mvx/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react-mvx/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,MAAM,EAAiB,MAAM,EAAsC,MAAM,QAAQ,CAAA;AAC1F,OAAoB,EAAE,IAAI,EAAE,OAAO,EAAa,MAAM,UAAU,CAAA;AAChE,OAAO,IAAI,MAAM,QAAQ,CAAA;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAuBvC,yBAAyB;AACzB,IAAM,QAAQ,GAA6B,MAAM,CAAC,MAAM,CAAE,KAAK,CAAE,CAAC;AAElE,6CAA6C;AAC7C,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC;AAC5B,yDAAyD;AACzD,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;AACzB,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;AAEzB,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAE,IAAI,CAAE,CAAC;AACnC,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAE,IAAI,CAAE,CAAC;AACzC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;AAErB,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC;AAC/B,IAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,GAAG,UAAA,GAAG;IAC9C,MAAM,CAAC,UAAU,IAAI;QACjB,IAAI,CAAC,KAAK,CAAC,UAAU,WAAG,GAAE,GAAG,IAAK,IAAI,IAAI,IAAI,YAAY,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,MAAG,CAAC;;IAC1F,CAAC,CAAA;AACL,CAAC,CAAA;AAED,eAAe,QAAQ,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,CAAA"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react-mvx/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,MAAM,EAAiB,MAAM,EAAsC,MAAM,QAAQ,CAAA;AAC1F,OAAoB,EAAE,IAAI,EAAE,OAAO,EAAa,MAAM,UAAU,CAAA;AAChE,OAAO,IAAI,MAAM,QAAQ,CAAA;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAuBvC,yBAAyB;AACzB,IAAM,QAAQ,GAA6B,MAAM,CAAC,MAAM,CAAE,KAAK,CAAE,CAAC;AAElE,6CAA6C;AAC7C,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC;AAC5B,yDAAyD;AACzD,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;AACzB,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;AAEzB,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAE,IAAI,CAAE,CAAC;AACnC,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAE,IAAI,CAAE,CAAC;AACzC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;AAErB,QAAQ,CAAC,SAAS,GAAG,SAAgB,CAAC;AACtC,IAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,GAAG,UAAA,GAAG;IAC9C,MAAM,CAAC,UAAU,IAAI;QACjB,IAAI,CAAC,KAAK,CAAC,UAAU,WAAG,GAAE,GAAG,IAAK,IAAI,IAAI,IAAI,YAAY,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,MAAG,CAAC;;IAC1F,CAAC,CAAA;AACL,CAAC,CAAA;AAED,eAAe,QAAQ,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,CAAA"} \ No newline at end of file diff --git a/lib/react-mvx/link.js b/lib/react-mvx/link.js index 58d21a3..28aa8cb 100644 --- a/lib/react-mvx/link.js +++ b/lib/react-mvx/link.js @@ -12,39 +12,39 @@ var __extends = (this && this.__extends) || (function () { d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); -import { Mixable, Record } from 'type-r'; +import { Mixable, MixinsState, Record } from 'type-r'; import { Link } from './valuelink/link'; export default Link; -Mixable.mixTo(Link); +Mixable.mixins.populate(Link); /** * Record */ -Record.mixins({ - // Link to the record's attribute by its key. - linkAt: function (key) { - return cacheLink(getLinksCache(this), this, key); - }, - // Link to the attribute of the record's tree by symbolic path. - linkPath: function (path, options) { - return new RecordDeepLink(this, path, options); - }, - // Link all (or listed) attributes and return links cache. - linkAll: function () { - var links = getLinksCache(this); - if (arguments.length) { - for (var i = 0; i < arguments.length; i++) { - cacheLink(links, this, arguments[i]); +MixinsState.get(Record).merge([{ + // Link to the record's attribute by its key. + linkAt: function (key) { + return cacheLink(getLinksCache(this), this, key); + }, + // Link to the attribute of the record's tree by symbolic path. + linkPath: function (path, options) { + return new RecordDeepLink(this, path, options); + }, + // Link all (or listed) attributes and return links cache. + linkAll: function () { + var links = getLinksCache(this); + if (arguments.length) { + for (var i = 0; i < arguments.length; i++) { + cacheLink(links, this, arguments[i]); + } } - } - else { - var attributes = this.attributes; - for (var key in attributes) { - attributes[key] === void 0 || cacheLink(links, this, key); + else { + var attributes = this.attributes; + for (var key in attributes) { + attributes[key] === void 0 || cacheLink(links, this, key); + } } + return links; } - return links; - } -}); + }]); /** * Link to Type-R's record attribute. * Strict evaluation of value, lazy evaluation of validation error. @@ -110,7 +110,7 @@ var RecordDeepLink = (function (_super) { return RecordDeepLink; }(Link)); function getLinksCache(record) { - return record._links || (record._links = new record.Attributes({})); + return record._links || (record._links = new record.AttributesCopy({})); } function cacheLink(links, record, key) { var cached = links[key], value = record[key]; @@ -120,17 +120,17 @@ function cacheLink(links, record, key) { /*********************************** * Collection */ -Record.Collection.mixins({ - // Boolean link to the record's presence in the collection - linkContains: function (record) { - return new CollectionLink(this, record); - }, - // Link to collection's property - linkAt: function (prop) { - var _this = this; - return Link.value(this[prop], function (x) { return _this[prop] = x; }); - } -}); +MixinsState.get(Record.Collection).merge([{ + // Boolean link to the record's presence in the collection + linkContains: function (record) { + return new CollectionLink(this, record); + }, + // Link to collection's property + linkAt: function (prop) { + var _this = this; + return Link.value(this[prop], function (x) { return _this[prop] = x; }); + } + }]); /** * Boolean link to presence of NestedType's record in collection. * Strict evaluation of value, no error. diff --git a/lib/react-mvx/link.js.map b/lib/react-mvx/link.js.map index 9e4957a..22c5554 100644 --- a/lib/react-mvx/link.js.map +++ b/lib/react-mvx/link.js.map @@ -1 +1 @@ -{"version":3,"file":"link.js","sourceRoot":"","sources":["../../src/react-mvx/link.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"link.js","sourceRoot":"","sources":["../../src/react-mvx/link.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/view-element.d.ts b/lib/view-element.d.ts index f2b43c6..944ee67 100644 --- a/lib/view-element.d.ts +++ b/lib/view-element.d.ts @@ -11,7 +11,7 @@ export default class BackboneView extends React.Component { hasUnsavedChanges(): any; root: any; saveRef: (element: any) => void; - render(): React.DOMElement<{ + render(): React.DetailedReactHTMLElement<{ ref: (element: any) => void; className: string; }, any>; diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..3dd1915 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,3405 @@ +{ + "name": "nestedreact", + "version": "1.0.1-rc93", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@types/jquery": { + "version": "2.0.48", + "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-2.0.48.tgz", + "integrity": "sha512-nNLzUrVjaRV/Ds1eHZLYTd7IZxs38cwwLSaqMJj8OTXY8xNUbxSK69bi9cMLvQ7dm/IBeQ1wHwQ0S1uYa0rd2w==", + "dev": true + }, + "@types/prop-types": { + "version": "15.5.2", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.5.2.tgz", + "integrity": "sha512-pQRkAVoxiuUrLq8+CDwiQX4pTCep/PmmNgBbjIwnnsd/HoYjGpR81+FFPE030lvNXgR0haaAU6eoRtztWDE4Xw==", + "dev": true + }, + "@types/react": { + "version": "16.0.12", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.0.12.tgz", + "integrity": "sha512-jnbE0dBnMZx3IytPgmIrnS1dHaqq41/AoL3B6Nd7SKig6svlB6kIQM36PI1r7RL9Fdo9JeMnYsSCHUiPu3GW+g==", + "dev": true + }, + "acorn": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.1.2.tgz", + "integrity": "sha512-o96FZLJBPY1lvTuJylGA9Bk3t/GKPPJG8H0ydQQl01crzwJgspa4AEIq/pVTXigmK0PHVQhiAtn8WMBLL9D2WA==", + "dev": true + }, + "acorn-dynamic-import": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz", + "integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=", + "dev": true, + "requires": { + "acorn": "4.0.13" + }, + "dependencies": { + "acorn": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", + "dev": true + } + } + }, + "ajv": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.2.3.tgz", + "integrity": "sha1-wG9Zh3jETGsWGrr+NGa4GtGBTtI=", + "dev": true, + "requires": { + "co": "4.6.0", + "fast-deep-equal": "1.0.0", + "json-schema-traverse": "0.3.1", + "json-stable-stringify": "1.0.1" + } + }, + "ajv-keywords": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.0.tgz", + "integrity": "sha1-opbhf3v658HOT34N5T0pyzIWLfA=", + "dev": true + }, + "align-text": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "dev": true, + "requires": { + "kind-of": "3.2.2", + "longest": "1.0.1", + "repeat-string": "1.6.1" + } + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "dev": true, + "requires": { + "color-convert": "1.9.0" + } + }, + "anymatch": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", + "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", + "dev": true, + "requires": { + "micromatch": "2.3.11", + "normalize-path": "2.1.1" + } + }, + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "dev": true, + "requires": { + "arr-flatten": "1.1.0" + } + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", + "dev": true + }, + "asn1.js": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.9.1.tgz", + "integrity": "sha1-SLokC0WpKA6UdImQull9IWYX/UA=", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "inherits": "2.0.3", + "minimalistic-assert": "1.0.0" + } + }, + "assert": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", + "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", + "dev": true, + "requires": { + "util": "0.10.3" + } + }, + "async": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", + "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", + "dev": true + }, + "async-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", + "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "base64-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.1.tgz", + "integrity": "sha512-dwVUVIXsBZXwTuwnXI9RK8sBmgq09NDHzyR9SAph9eqk76gKK2JSQmZARC2zRC81JC2QTtxD0ARU5qTS25gIGw==", + "dev": true + }, + "big.js": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", + "dev": true + }, + "binary-extensions": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.10.0.tgz", + "integrity": "sha1-muuabF6IY4qtFx4Wf1kAq+JINdA=", + "dev": true + }, + "bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", + "dev": true + }, + "brace-expansion": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", + "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", + "dev": true, + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, + "requires": { + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.2" + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true + }, + "browserify-aes": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.1.0.tgz", + "integrity": "sha512-W2bIMLYoZ9oow7TyePpMJk9l9LY7O3R61a/68bVCDOtnJynnwe3ZeW2IzzSkrQnPKNdJrxVDn3ALZNisSBwb7g==", + "dev": true, + "requires": { + "buffer-xor": "1.0.3", + "cipher-base": "1.0.4", + "create-hash": "1.1.3", + "evp_bytestokey": "1.0.3", + "inherits": "2.0.3", + "safe-buffer": "5.1.1" + } + }, + "browserify-cipher": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz", + "integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=", + "dev": true, + "requires": { + "browserify-aes": "1.1.0", + "browserify-des": "1.0.0", + "evp_bytestokey": "1.0.3" + } + }, + "browserify-des": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.0.tgz", + "integrity": "sha1-2qJ3cXRwki7S/hhZQRihdUOXId0=", + "dev": true, + "requires": { + "cipher-base": "1.0.4", + "des.js": "1.0.0", + "inherits": "2.0.3" + } + }, + "browserify-rsa": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "randombytes": "2.0.5" + } + }, + "browserify-sign": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "browserify-rsa": "4.0.1", + "create-hash": "1.1.3", + "create-hmac": "1.1.6", + "elliptic": "6.4.0", + "inherits": "2.0.3", + "parse-asn1": "5.1.0" + } + }, + "browserify-zlib": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz", + "integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=", + "dev": true, + "requires": { + "pako": "0.2.9" + } + }, + "buffer": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", + "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "dev": true, + "requires": { + "base64-js": "1.2.1", + "ieee754": "1.1.8", + "isarray": "1.0.0" + } + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true + }, + "builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", + "dev": true + }, + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "dev": true + }, + "center-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "dev": true, + "requires": { + "align-text": "0.1.4", + "lazy-cache": "1.0.4" + } + }, + "chalk": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz", + "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "4.4.0" + } + }, + "chokidar": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", + "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", + "dev": true, + "requires": { + "anymatch": "1.3.2", + "async-each": "1.0.1", + "fsevents": "1.1.2", + "glob-parent": "2.0.0", + "inherits": "2.0.3", + "is-binary-path": "1.0.1", + "is-glob": "2.0.1", + "path-is-absolute": "1.0.1", + "readdirp": "2.1.0" + } + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "requires": { + "inherits": "2.0.3", + "safe-buffer": "5.1.1" + } + }, + "cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "dev": true, + "requires": { + "center-align": "0.1.3", + "right-align": "0.1.3", + "wordwrap": "0.0.2" + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true + }, + "color-convert": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.0.tgz", + "integrity": "sha1-Gsz5fdc5uYO/mU1W/sj5WFNkG3o=", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "console-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", + "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "dev": true, + "requires": { + "date-now": "0.1.4" + } + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "dev": true + }, + "core-js": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "create-ecdh": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.0.tgz", + "integrity": "sha1-iIxyNZbN92EvZJgjPuvXo1MBc30=", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "elliptic": "6.4.0" + } + }, + "create-hash": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz", + "integrity": "sha1-YGBCrIuSYnUPSDyt2rD1gZFy2P0=", + "dev": true, + "requires": { + "cipher-base": "1.0.4", + "inherits": "2.0.3", + "ripemd160": "2.0.1", + "sha.js": "2.4.9" + } + }, + "create-hmac": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.6.tgz", + "integrity": "sha1-rLniIaThe9sHbpBlfEK5PjcmzwY=", + "dev": true, + "requires": { + "cipher-base": "1.0.4", + "create-hash": "1.1.3", + "inherits": "2.0.3", + "ripemd160": "2.0.1", + "safe-buffer": "5.1.1", + "sha.js": "2.4.9" + } + }, + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "requires": { + "lru-cache": "4.1.1", + "shebang-command": "1.2.0", + "which": "1.3.0" + } + }, + "crypto-browserify": { + "version": "3.11.1", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.11.1.tgz", + "integrity": "sha512-Na7ZlwCOqoaW5RwUK1WpXws2kv8mNhWdTlzob0UXulk6G9BDbyiJaGTYBIX61Ozn9l1EPPJpICZb4DaOpT9NlQ==", + "dev": true, + "requires": { + "browserify-cipher": "1.0.0", + "browserify-sign": "4.0.4", + "create-ecdh": "4.0.0", + "create-hash": "1.1.3", + "create-hmac": "1.1.6", + "diffie-hellman": "5.0.2", + "inherits": "2.0.3", + "pbkdf2": "3.0.14", + "public-encrypt": "4.0.0", + "randombytes": "2.0.5" + } + }, + "d": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", + "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", + "dev": true, + "requires": { + "es5-ext": "0.10.35" + } + }, + "date-now": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", + "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", + "dev": true + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "des.js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", + "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "minimalistic-assert": "1.0.0" + } + }, + "diffie-hellman": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.2.tgz", + "integrity": "sha1-tYNXOScM/ias9jIJn97SoH8gnl4=", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "miller-rabin": "4.0.1", + "randombytes": "2.0.5" + } + }, + "domain-browser": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.1.7.tgz", + "integrity": "sha1-hnqksJP6oF8d4IwG9NeyH9+GmLw=", + "dev": true + }, + "elliptic": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz", + "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "brorand": "1.1.0", + "hash.js": "1.1.3", + "hmac-drbg": "1.0.1", + "inherits": "2.0.3", + "minimalistic-assert": "1.0.0", + "minimalistic-crypto-utils": "1.0.1" + } + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "dev": true + }, + "encoding": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", + "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", + "dev": true, + "requires": { + "iconv-lite": "0.4.19" + } + }, + "enhanced-resolve": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz", + "integrity": "sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "memory-fs": "0.4.1", + "object-assign": "4.1.1", + "tapable": "0.2.8" + } + }, + "errno": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz", + "integrity": "sha1-uJbiOp5ei6M4cfyZar02NfyaHH0=", + "dev": true, + "requires": { + "prr": "0.0.0" + } + }, + "error-ex": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", + "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", + "dev": true, + "requires": { + "is-arrayish": "0.2.1" + } + }, + "es5-ext": { + "version": "0.10.35", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.35.tgz", + "integrity": "sha1-GO6FjOajxFx9eekcFfzKnsVoSU8=", + "dev": true, + "requires": { + "es6-iterator": "2.0.1", + "es6-symbol": "3.1.1" + } + }, + "es6-iterator": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.1.tgz", + "integrity": "sha1-jjGcnwRTv1ddN0lAplWSDlnKVRI=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.35", + "es6-symbol": "3.1.1" + } + }, + "es6-map": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", + "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.35", + "es6-iterator": "2.0.1", + "es6-set": "0.1.5", + "es6-symbol": "3.1.1", + "event-emitter": "0.3.5" + } + }, + "es6-set": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", + "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.35", + "es6-iterator": "2.0.1", + "es6-symbol": "3.1.1", + "event-emitter": "0.3.5" + } + }, + "es6-symbol": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", + "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.35" + } + }, + "es6-weak-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", + "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.35", + "es6-iterator": "2.0.1", + "es6-symbol": "3.1.1" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "escope": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", + "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", + "dev": true, + "requires": { + "es6-map": "0.1.5", + "es6-weak-map": "2.0.2", + "esrecurse": "4.2.0", + "estraverse": "4.2.0" + } + }, + "esrecurse": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz", + "integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=", + "dev": true, + "requires": { + "estraverse": "4.2.0", + "object-assign": "4.1.1" + } + }, + "estraverse": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "dev": true + }, + "event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.35" + } + }, + "events": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", + "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=", + "dev": true + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "requires": { + "md5.js": "1.3.4", + "safe-buffer": "5.1.1" + } + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "dev": true, + "requires": { + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" + } + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true, + "requires": { + "is-posix-bracket": "0.1.1" + } + }, + "expand-range": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "dev": true, + "requires": { + "fill-range": "2.2.3" + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "fast-deep-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz", + "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=", + "dev": true + }, + "fbjs": { + "version": "0.8.16", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.16.tgz", + "integrity": "sha1-XmdDL1UNxBtXK/VYR7ispk5TN9s=", + "dev": true, + "requires": { + "core-js": "1.2.7", + "isomorphic-fetch": "2.2.1", + "loose-envify": "1.3.1", + "object-assign": "4.1.1", + "promise": "7.3.1", + "setimmediate": "1.0.5", + "ua-parser-js": "0.7.17" + } + }, + "filename-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", + "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", + "dev": true + }, + "fill-range": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", + "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", + "dev": true, + "requires": { + "is-number": "2.1.0", + "isobject": "2.1.0", + "randomatic": "1.1.7", + "repeat-element": "1.1.2", + "repeat-string": "1.6.1" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "2.0.0" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "for-own": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "dev": true, + "requires": { + "for-in": "1.0.2" + } + }, + "fsevents": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.2.tgz", + "integrity": "sha512-Sn44E5wQW4bTHXvQmvSHwqbuiXtduD6Rrjm2ZtUEGbyrig+nUH3t/QD4M4/ZXViY556TBpRgZkHLDx3JxPwxiw==", + "dev": true, + "optional": true, + "requires": { + "nan": "2.7.0", + "node-pre-gyp": "0.6.36" + }, + "dependencies": { + "abbrev": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "optional": true + }, + "ajv": { + "version": "4.11.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "co": "4.6.0", + "json-stable-stringify": "1.0.1" + } + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "aproba": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "delegates": "1.0.0", + "readable-stream": "2.2.9" + } + }, + "asn1": { + "version": "0.2.3", + "bundled": true, + "dev": true, + "optional": true + }, + "assert-plus": { + "version": "0.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "asynckit": { + "version": "0.4.0", + "bundled": true, + "dev": true, + "optional": true + }, + "aws-sign2": { + "version": "0.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "aws4": { + "version": "1.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "balanced-match": { + "version": "0.4.2", + "bundled": true, + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "tweetnacl": "0.14.5" + } + }, + "block-stream": { + "version": "0.0.9", + "bundled": true, + "dev": true, + "requires": { + "inherits": "2.0.3" + } + }, + "boom": { + "version": "2.10.1", + "bundled": true, + "dev": true, + "requires": { + "hoek": "2.16.3" + } + }, + "brace-expansion": { + "version": "1.1.7", + "bundled": true, + "dev": true, + "requires": { + "balanced-match": "0.4.2", + "concat-map": "0.0.1" + } + }, + "buffer-shims": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "caseless": { + "version": "0.12.0", + "bundled": true, + "dev": true, + "optional": true + }, + "co": { + "version": "4.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "combined-stream": { + "version": "1.0.5", + "bundled": true, + "dev": true, + "requires": { + "delayed-stream": "1.0.0" + } + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "cryptiles": { + "version": "2.0.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "boom": "2.10.1" + } + }, + "dashdash": { + "version": "1.14.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "debug": { + "version": "2.6.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ms": "2.0.0" + } + }, + "deep-extend": { + "version": "0.4.2", + "bundled": true, + "dev": true, + "optional": true + }, + "delayed-stream": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "ecc-jsbn": { + "version": "0.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "extend": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "extsprintf": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "bundled": true, + "dev": true, + "optional": true + }, + "form-data": { + "version": "2.1.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.5", + "mime-types": "2.1.15" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "fstream": { + "version": "1.0.11", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "inherits": "2.0.3", + "mkdirp": "0.5.1", + "rimraf": "2.6.1" + } + }, + "fstream-ignore": { + "version": "1.0.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "fstream": "1.0.11", + "inherits": "2.0.3", + "minimatch": "3.0.4" + } + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aproba": "1.1.1", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.2" + } + }, + "getpass": { + "version": "0.1.7", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "glob": { + "version": "7.1.2", + "bundled": true, + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "graceful-fs": { + "version": "4.1.11", + "bundled": true, + "dev": true + }, + "har-schema": { + "version": "1.0.5", + "bundled": true, + "dev": true, + "optional": true + }, + "har-validator": { + "version": "4.2.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ajv": "4.11.8", + "har-schema": "1.0.5" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "hawk": { + "version": "3.1.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "boom": "2.10.1", + "cryptiles": "2.0.5", + "hoek": "2.16.3", + "sntp": "1.0.9" + } + }, + "hoek": { + "version": "2.16.3", + "bundled": true, + "dev": true + }, + "http-signature": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "assert-plus": "0.2.0", + "jsprim": "1.4.0", + "sshpk": "1.13.0" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true + }, + "ini": { + "version": "1.3.4", + "bundled": true, + "dev": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-typedarray": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "isstream": { + "version": "0.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "jodid25519": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "jsbn": { + "version": "0.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "json-schema": { + "version": "0.2.3", + "bundled": true, + "dev": true, + "optional": true + }, + "json-stable-stringify": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "jsonify": "0.0.0" + } + }, + "json-stringify-safe": { + "version": "5.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "jsonify": { + "version": "0.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "jsprim": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.0.2", + "json-schema": "0.2.3", + "verror": "1.3.6" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "mime-db": { + "version": "1.27.0", + "bundled": true, + "dev": true + }, + "mime-types": { + "version": "2.1.15", + "bundled": true, + "dev": true, + "requires": { + "mime-db": "1.27.0" + } + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "brace-expansion": "1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "node-pre-gyp": { + "version": "0.6.36", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "mkdirp": "0.5.1", + "nopt": "4.0.1", + "npmlog": "4.1.0", + "rc": "1.2.1", + "request": "2.81.0", + "rimraf": "2.6.1", + "semver": "5.3.0", + "tar": "2.2.1", + "tar-pack": "3.4.0" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "abbrev": "1.1.0", + "osenv": "0.1.4" + } + }, + "npmlog": { + "version": "4.1.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "are-we-there-yet": "1.1.4", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "oauth-sign": { + "version": "0.8.2", + "bundled": true, + "dev": true, + "optional": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "osenv": { + "version": "0.1.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "performance-now": { + "version": "0.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "process-nextick-args": { + "version": "1.0.7", + "bundled": true, + "dev": true + }, + "punycode": { + "version": "1.4.1", + "bundled": true, + "dev": true, + "optional": true + }, + "qs": { + "version": "6.4.0", + "bundled": true, + "dev": true, + "optional": true + }, + "rc": { + "version": "1.2.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "deep-extend": "0.4.2", + "ini": "1.3.4", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.2.9", + "bundled": true, + "dev": true, + "requires": { + "buffer-shims": "1.0.0", + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "string_decoder": "1.0.1", + "util-deprecate": "1.0.2" + } + }, + "request": { + "version": "2.81.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aws-sign2": "0.6.0", + "aws4": "1.6.0", + "caseless": "0.12.0", + "combined-stream": "1.0.5", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.1.4", + "har-validator": "4.2.1", + "hawk": "3.1.3", + "http-signature": "1.1.1", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.15", + "oauth-sign": "0.8.2", + "performance-now": "0.2.0", + "qs": "6.4.0", + "safe-buffer": "5.0.1", + "stringstream": "0.0.5", + "tough-cookie": "2.3.2", + "tunnel-agent": "0.6.0", + "uuid": "3.0.1" + } + }, + "rimraf": { + "version": "2.6.1", + "bundled": true, + "dev": true, + "requires": { + "glob": "7.1.2" + } + }, + "safe-buffer": { + "version": "5.0.1", + "bundled": true, + "dev": true + }, + "semver": { + "version": "5.3.0", + "bundled": true, + "dev": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "sntp": { + "version": "1.0.9", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "hoek": "2.16.3" + } + }, + "sshpk": { + "version": "1.13.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "asn1": "0.2.3", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.1", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.1", + "getpass": "0.1.7", + "jodid25519": "1.0.2", + "jsbn": "0.1.1", + "tweetnacl": "0.14.5" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "string_decoder": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "5.0.1" + } + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + }, + "stringstream": { + "version": "0.0.5", + "bundled": true, + "dev": true, + "optional": true + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "tar": { + "version": "2.2.1", + "bundled": true, + "dev": true, + "requires": { + "block-stream": "0.0.9", + "fstream": "1.0.11", + "inherits": "2.0.3" + } + }, + "tar-pack": { + "version": "3.4.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "debug": "2.6.8", + "fstream": "1.0.11", + "fstream-ignore": "1.0.5", + "once": "1.4.0", + "readable-stream": "2.2.9", + "rimraf": "2.6.1", + "tar": "2.2.1", + "uid-number": "0.0.6" + } + }, + "tough-cookie": { + "version": "2.3.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "punycode": "1.4.1" + } + }, + "tunnel-agent": { + "version": "0.6.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "bundled": true, + "dev": true, + "optional": true + }, + "uid-number": { + "version": "0.0.6", + "bundled": true, + "dev": true, + "optional": true + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "uuid": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "verror": { + "version": "1.3.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "extsprintf": "1.0.2" + } + }, + "wide-align": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "string-width": "1.0.2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true + } + } + }, + "get-caller-file": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", + "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", + "dev": true + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true + }, + "glob-base": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "dev": true, + "requires": { + "glob-parent": "2.0.0", + "is-glob": "2.0.1" + } + }, + "glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "dev": true, + "requires": { + "is-glob": "2.0.1" + } + }, + "graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "dev": true + }, + "has-flag": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "dev": true + }, + "hash-base": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz", + "integrity": "sha1-ZuodhW206KVHDK32/OI65SRO8uE=", + "dev": true, + "requires": { + "inherits": "2.0.3" + } + }, + "hash.js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", + "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", + "dev": true, + "requires": { + "inherits": "2.0.3", + "minimalistic-assert": "1.0.0" + } + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, + "requires": { + "hash.js": "1.1.3", + "minimalistic-assert": "1.0.0", + "minimalistic-crypto-utils": "1.0.1" + } + }, + "hosted-git-info": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz", + "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==", + "dev": true + }, + "https-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-0.0.1.tgz", + "integrity": "sha1-P5E2XKvmC3ftDruiS0VOPgnZWoI=", + "dev": true + }, + "iconv-lite": { + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", + "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==", + "dev": true + }, + "ieee754": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz", + "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=", + "dev": true + }, + "indexof": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", + "dev": true + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "interpret": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.0.4.tgz", + "integrity": "sha1-ggzdWIuGj/sZGoCVBtbJyPISsbA=", + "dev": true + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "requires": { + "binary-extensions": "1.10.0" + } + }, + "is-buffer": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.5.tgz", + "integrity": "sha1-Hzsm72E7IUuIy8ojzGwB2Hlh7sw=", + "dev": true + }, + "is-builtin-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "dev": true, + "requires": { + "builtin-modules": "1.1.1" + } + }, + "is-dotfile": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", + "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", + "dev": true + }, + "is-equal-shallow": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", + "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", + "dev": true, + "requires": { + "is-primitive": "2.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "is-number": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "is-posix-bracket": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", + "dev": true + }, + "is-primitive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + }, + "isomorphic-fetch": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", + "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", + "dev": true, + "requires": { + "node-fetch": "1.7.3", + "whatwg-fetch": "2.0.3" + } + }, + "jquery": { + "version": "https://registry.npmjs.org/jquery/-/jquery-3.2.1.tgz", + "integrity": "sha1-XE2d5lKvbNCncBVKYxu6ErAVx4c=", + "dev": true + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + }, + "json-loader": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.7.tgz", + "integrity": "sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==", + "dev": true + }, + "json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "dev": true + }, + "json-stable-stringify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "dev": true, + "requires": { + "jsonify": "0.0.0" + } + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, + "jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "dev": true + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.5" + } + }, + "lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", + "dev": true + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dev": true, + "requires": { + "invert-kv": "1.0.0" + } + }, + "load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "strip-bom": "3.0.0" + } + }, + "loader-runner": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.0.tgz", + "integrity": "sha1-9IKuqC1UPgeSFwDVpG7yb9rGuKI=", + "dev": true + }, + "loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "dev": true, + "requires": { + "big.js": "3.2.0", + "emojis-list": "2.1.0", + "json5": "0.5.1", + "object-assign": "4.1.1" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "2.0.0", + "path-exists": "3.0.0" + } + }, + "lodash": { + "version": "4.17.4", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", + "dev": true + }, + "longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", + "dev": true + }, + "loose-envify": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", + "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", + "dev": true, + "requires": { + "js-tokens": "3.0.2" + } + }, + "lru-cache": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", + "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", + "dev": true, + "requires": { + "pseudomap": "1.0.2", + "yallist": "2.1.2" + } + }, + "md5.js": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", + "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", + "dev": true, + "requires": { + "hash-base": "3.0.4", + "inherits": "2.0.3" + }, + "dependencies": { + "hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "safe-buffer": "5.1.1" + } + } + } + }, + "mem": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", + "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", + "dev": true, + "requires": { + "mimic-fn": "1.1.0" + } + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, + "requires": { + "errno": "0.1.4", + "readable-stream": "2.3.3" + } + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "requires": { + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "brorand": "1.1.0" + } + }, + "mimic-fn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.1.0.tgz", + "integrity": "sha1-5md4PZLonb00KBi1IwudYqZyrRg=", + "dev": true + }, + "minimalistic-assert": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz", + "integrity": "sha1-cCvi3aazf0g2vLP121ZkG2Sh09M=", + "dev": true + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "1.1.8" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "nan": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.7.0.tgz", + "integrity": "sha1-2Vv3IeyHfgjbJ27T/G63j5CDrUY=", + "dev": true, + "optional": true + }, + "nestedtypes": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/nestedtypes/-/nestedtypes-2.0.3.tgz", + "integrity": "sha512-aCjRZ9eX6Gr/FCTidcT38ax0UvP88T7CEy62HCdv+U5GJB6RSdeivTu36SR7EOUfaT+z6r/izRRGJoxL+lzcbA==", + "dev": true + }, + "node-fetch": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", + "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", + "dev": true, + "requires": { + "encoding": "0.1.12", + "is-stream": "1.1.0" + } + }, + "node-libs-browser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.0.0.tgz", + "integrity": "sha1-o6WeyXAkmFtG6Vg3lkb5bEthZkY=", + "dev": true, + "requires": { + "assert": "1.4.1", + "browserify-zlib": "0.1.4", + "buffer": "4.9.1", + "console-browserify": "1.1.0", + "constants-browserify": "1.0.0", + "crypto-browserify": "3.11.1", + "domain-browser": "1.1.7", + "events": "1.1.1", + "https-browserify": "0.0.1", + "os-browserify": "0.2.1", + "path-browserify": "0.0.0", + "process": "0.11.10", + "punycode": "1.4.1", + "querystring-es3": "0.2.1", + "readable-stream": "2.3.3", + "stream-browserify": "2.0.1", + "stream-http": "2.7.2", + "string_decoder": "0.10.31", + "timers-browserify": "2.0.4", + "tty-browserify": "0.0.0", + "url": "0.11.0", + "util": "0.10.3", + "vm-browserify": "0.0.4" + }, + "dependencies": { + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } + } + }, + "normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "dev": true, + "requires": { + "hosted-git-info": "2.5.0", + "is-builtin-module": "1.0.0", + "semver": "5.4.1", + "validate-npm-package-license": "3.0.1" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "1.1.0" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "2.0.1" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "object.omit": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", + "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "dev": true, + "requires": { + "for-own": "0.1.5", + "is-extendable": "0.1.1" + } + }, + "os-browserify": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.2.1.tgz", + "integrity": "sha1-Y/xMzuXS13Y9Jrv4YBB45sLgBE8=", + "dev": true + }, + "os-locale": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "dev": true, + "requires": { + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" + } + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-limit": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.1.0.tgz", + "integrity": "sha1-sH/y2aXYi+yAYDWJWiurZqJ5iLw=", + "dev": true + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "1.1.0" + } + }, + "pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=", + "dev": true + }, + "parse-asn1": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz", + "integrity": "sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=", + "dev": true, + "requires": { + "asn1.js": "4.9.1", + "browserify-aes": "1.1.0", + "create-hash": "1.1.3", + "evp_bytestokey": "1.0.3", + "pbkdf2": "3.0.14" + } + }, + "parse-glob": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", + "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "dev": true, + "requires": { + "glob-base": "0.3.0", + "is-dotfile": "1.0.3", + "is-extglob": "1.0.0", + "is-glob": "2.0.1" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "1.3.1" + } + }, + "path-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", + "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "dev": true, + "requires": { + "pify": "2.3.0" + } + }, + "pbkdf2": { + "version": "3.0.14", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.14.tgz", + "integrity": "sha512-gjsZW9O34fm0R7PaLHRJmLLVfSoesxztjPjE9o6R+qtVJij90ltg1joIovN9GKrRW3t1PzhDDG3UMEMFfZ+1wA==", + "dev": true, + "requires": { + "create-hash": "1.1.3", + "create-hmac": "1.1.6", + "ripemd160": "2.0.1", + "safe-buffer": "5.1.1", + "sha.js": "2.4.9" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "preserve": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", + "dev": true + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true + }, + "promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "dev": true, + "requires": { + "asap": "2.0.6" + } + }, + "prop-types": { + "version": "15.6.0", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz", + "integrity": "sha1-zq8IMCL8RrSjX2nhPvda7Q1jmFY=", + "dev": true, + "requires": { + "fbjs": "0.8.16", + "loose-envify": "1.3.1", + "object-assign": "4.1.1" + } + }, + "prr": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz", + "integrity": "sha1-GoS4WQgyVQFBGFPQCB7j+obikmo=", + "dev": true + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "public-encrypt": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.0.tgz", + "integrity": "sha1-OfaZ86RlYN1eusvKaTyvfGXBjMY=", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "browserify-rsa": "4.0.1", + "create-hash": "1.1.3", + "parse-asn1": "5.1.0", + "randombytes": "2.0.5" + } + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "dev": true + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true + }, + "randomatic": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", + "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", + "dev": true, + "requires": { + "is-number": "3.0.0", + "kind-of": "4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.5" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "1.1.5" + } + } + } + }, + "randombytes": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.5.tgz", + "integrity": "sha512-8T7Zn1AhMsQ/HI1SjcCfT/t4ii3eAqco3yOcSzS4mozsOz69lHLsoMXmF9nZgnFanYscnSlUSgs8uZyKzpE6kg==", + "dev": true, + "requires": { + "safe-buffer": "5.1.1" + } + }, + "react": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/react/-/react-16.0.0.tgz", + "integrity": "sha1-zn348ZQbA28Cssyp29DLHw6FXi0=", + "dev": true, + "requires": { + "fbjs": "0.8.16", + "loose-envify": "1.3.1", + "object-assign": "4.1.1", + "prop-types": "15.6.0" + } + }, + "react-dom": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.0.0.tgz", + "integrity": "sha1-nMMHnD3NcNTG4BuEqrKn40wwP1g=", + "dev": true, + "requires": { + "fbjs": "0.8.16", + "loose-envify": "1.3.1", + "object-assign": "4.1.1", + "prop-types": "15.6.0" + } + }, + "read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "dev": true, + "requires": { + "load-json-file": "2.0.0", + "normalize-package-data": "2.4.0", + "path-type": "2.0.0" + } + }, + "read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "dev": true, + "requires": { + "find-up": "2.1.0", + "read-pkg": "2.0.0" + } + }, + "readable-stream": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", + "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "safe-buffer": "5.1.1", + "string_decoder": "1.0.3", + "util-deprecate": "1.0.2" + } + }, + "readdirp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", + "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "minimatch": "3.0.4", + "readable-stream": "2.3.3", + "set-immediate-shim": "1.0.1" + } + }, + "regex-cache": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", + "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", + "dev": true, + "requires": { + "is-equal-shallow": "0.1.3" + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "repeat-element": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", + "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true + }, + "right-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "dev": true, + "requires": { + "align-text": "0.1.4" + } + }, + "ripemd160": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz", + "integrity": "sha1-D0WEKVxTo2KK9+bXmsohzlfRxuc=", + "dev": true, + "requires": { + "hash-base": "2.0.2", + "inherits": "2.0.3" + } + }, + "safe-buffer": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", + "dev": true + }, + "semver": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", + "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==", + "dev": true + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "set-immediate-shim": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", + "dev": true + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true + }, + "sha.js": { + "version": "2.4.9", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.9.tgz", + "integrity": "sha512-G8zektVqbiPHrylgew9Zg1VRB1L/DtXNUVAM6q4QLy8NE3qtHlFXTf8VLL4k1Yl6c7NMjtZUTdXV+X44nFaT6A==", + "dev": true, + "requires": { + "inherits": "2.0.3", + "safe-buffer": "5.1.1" + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true + }, + "source-list-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz", + "integrity": "sha512-I2UmuJSRr/T8jisiROLU3A3ltr+swpniSmNPI4Ml3ZCX6tVnDsuZzK7F2hl5jTqbZBWCEKlj5HRQiPExXLgE8A==", + "dev": true + }, + "source-map": { + "version": "0.1.43", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", + "dev": true, + "requires": { + "amdefine": "1.0.1" + } + }, + "source-map-loader": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-0.2.2.tgz", + "integrity": "sha512-C3iYM6IqMT6jVzo6HTDmeZz9QP0ott9LtOeDJAPDQlHG5uJx+whP3c39TCMc1/FqP0feo546wCgt89JCn6DBMg==", + "dev": true, + "requires": { + "async": "0.9.2", + "loader-utils": "0.2.17", + "source-map": "0.1.43" + } + }, + "spdx-correct": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", + "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", + "dev": true, + "requires": { + "spdx-license-ids": "1.2.2" + } + }, + "spdx-expression-parse": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz", + "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=", + "dev": true + }, + "spdx-license-ids": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", + "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=", + "dev": true + }, + "stream-browserify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", + "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.3" + } + }, + "stream-http": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.7.2.tgz", + "integrity": "sha512-c0yTD2rbQzXtSsFSVhtpvY/vS6u066PcXOX9kBB3mSO76RiUQzL340uJkGBWnlBg4/HZzqiUXtaVA7wcRcJgEw==", + "dev": true, + "requires": { + "builtin-status-codes": "3.0.0", + "inherits": "2.0.3", + "readable-stream": "2.3.3", + "to-arraybuffer": "1.0.1", + "xtend": "4.0.1" + } + }, + "string_decoder": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "dev": true, + "requires": { + "safe-buffer": "5.1.1" + } + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true + }, + "supports-color": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", + "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", + "dev": true, + "requires": { + "has-flag": "2.0.0" + } + }, + "tapable": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.8.tgz", + "integrity": "sha1-mTcqXJmb8t8WCvwNdL7U9HlIzSI=", + "dev": true + }, + "timers-browserify": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.4.tgz", + "integrity": "sha512-uZYhyU3EX8O7HQP+J9fTVYwsq90Vr68xPEFo7yrVImIxYvHgukBEgOB/SgGoorWVTzGM/3Z+wUNnboA4M8jWrg==", + "dev": true, + "requires": { + "setimmediate": "1.0.5" + } + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", + "dev": true + }, + "ts-loader": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-3.0.2.tgz", + "integrity": "sha512-dy82zfGOAZtF2LRsmryU1aKebtcdIS+diswWoMjFx0wY+knHLENVI2vOvmjB7fy8i4kWRuUPK2FAxjMB4CDmCA==", + "dev": true, + "requires": { + "chalk": "2.1.0", + "enhanced-resolve": "3.4.1", + "loader-utils": "1.1.0", + "semver": "5.4.1" + }, + "dependencies": { + "loader-utils": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", + "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", + "dev": true, + "requires": { + "big.js": "3.2.0", + "emojis-list": "2.1.0", + "json5": "0.5.1" + } + } + } + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "dev": true + }, + "typescript": { + "version": "https://registry.npmjs.org/typescript/-/typescript-2.3.4.tgz", + "integrity": "sha1-PTgyGCgjHkNPKHUUlZw3qCtin0I=", + "dev": true + }, + "ua-parser-js": { + "version": "0.7.17", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.17.tgz", + "integrity": "sha512-uRdSdu1oA1rncCQL7sCj8vSyZkgtL7faaw9Tc9rZ3mGgraQ7+Pdx7w5mnOSF3gw9ZNG6oc+KXfkon3bKuROm0g==", + "dev": true + }, + "uglify-js": { + "version": "2.8.29", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "dev": true, + "requires": { + "source-map": "0.5.7", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "yargs": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "dev": true, + "requires": { + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", + "window-size": "0.1.0" + } + } + } + }, + "uglify-to-browserify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "dev": true, + "optional": true + }, + "uglifyjs-webpack-plugin": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz", + "integrity": "sha1-uVH0q7a9YX5m9j64kUmOORdj4wk=", + "dev": true, + "requires": { + "source-map": "0.5.7", + "uglify-js": "2.8.29", + "webpack-sources": "1.0.1" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "underscore": { + "version": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", + "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=", + "dev": true + }, + "unminified-webpack-plugin": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/unminified-webpack-plugin/-/unminified-webpack-plugin-1.4.1.tgz", + "integrity": "sha512-pc3L6xzyFfGcibPPvL7jk+TFx4j7BouKEjEhiw3jNHua61N1jqcftLyFuGDRdxcVJF+Hs78oTpA5Ws5+Al+eaA==", + "dev": true + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + } + } + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "requires": { + "inherits": "2.0.1" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + } + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", + "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", + "dev": true, + "requires": { + "spdx-correct": "1.0.2", + "spdx-expression-parse": "1.0.4" + } + }, + "vm-browserify": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", + "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", + "dev": true, + "requires": { + "indexof": "0.0.1" + } + }, + "watchpack": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.4.0.tgz", + "integrity": "sha1-ShRyvLuVK9Cpu0A2gB+VTfs5+qw=", + "dev": true, + "requires": { + "async": "2.5.0", + "chokidar": "1.7.0", + "graceful-fs": "4.1.11" + }, + "dependencies": { + "async": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/async/-/async-2.5.0.tgz", + "integrity": "sha512-e+lJAJeNWuPCNyxZKOBdaJGyLGHugXVQtrAwtuAe2vhxTYxFTKE73p8JuTmdH0qdQZtDvI4dhJwjZc5zsfIsYw==", + "dev": true, + "requires": { + "lodash": "4.17.4" + } + } + } + }, + "webpack": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.7.1.tgz", + "integrity": "sha512-8MR+gVfxsvtx4J1UlbRGkUJEpDQUBFmisRmpPO5cVLgF21R8UMChX39OOjDz63a+m/iswGoqATszdZB2VCsYuA==", + "dev": true, + "requires": { + "acorn": "5.1.2", + "acorn-dynamic-import": "2.0.2", + "ajv": "5.2.3", + "ajv-keywords": "2.1.0", + "async": "2.5.0", + "enhanced-resolve": "3.4.1", + "escope": "3.6.0", + "interpret": "1.0.4", + "json-loader": "0.5.7", + "json5": "0.5.1", + "loader-runner": "2.3.0", + "loader-utils": "1.1.0", + "memory-fs": "0.4.1", + "mkdirp": "0.5.1", + "node-libs-browser": "2.0.0", + "source-map": "0.5.7", + "supports-color": "4.4.0", + "tapable": "0.2.8", + "uglifyjs-webpack-plugin": "0.4.6", + "watchpack": "1.4.0", + "webpack-sources": "1.0.1", + "yargs": "8.0.2" + }, + "dependencies": { + "async": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/async/-/async-2.5.0.tgz", + "integrity": "sha512-e+lJAJeNWuPCNyxZKOBdaJGyLGHugXVQtrAwtuAe2vhxTYxFTKE73p8JuTmdH0qdQZtDvI4dhJwjZc5zsfIsYw==", + "dev": true, + "requires": { + "lodash": "4.17.4" + } + }, + "loader-utils": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", + "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", + "dev": true, + "requires": { + "big.js": "3.2.0", + "emojis-list": "2.1.0", + "json5": "0.5.1" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "webpack-sources": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.0.1.tgz", + "integrity": "sha512-05tMxipUCwHqYaVS8xc7sYPTly8PzXayRCB4dTxLhWTqlKUiwH6ezmEe0OSreL1c30LAuA3Zqmc+uEBUGFJDjw==", + "dev": true, + "requires": { + "source-list-map": "2.0.0", + "source-map": "0.5.7" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "whatwg-fetch": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz", + "integrity": "sha1-nITsLc9oGH/wC8ZOEnS0QhduHIQ=", + "dev": true + }, + "which": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", + "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", + "dev": true, + "requires": { + "isexe": "2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "window-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", + "dev": true + }, + "wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "dev": true + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1" + }, + "dependencies": { + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + } + } + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, + "yargs": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", + "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", + "dev": true, + "requires": { + "camelcase": "4.1.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.2", + "os-locale": "2.1.0", + "read-pkg-up": "2.0.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "7.0.0" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" + }, + "dependencies": { + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + } + } + } + } + }, + "yargs-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", + "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", + "dev": true, + "requires": { + "camelcase": "4.1.0" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + } + } + } + } +} diff --git a/package.json b/package.json index c74a94e..3ede229 100644 --- a/package.json +++ b/package.json @@ -32,20 +32,20 @@ "nestedtypes": "^2.0.0-rc1" }, "devDependencies": { - "@types/jquery": "^2.0.41", - "@types/prop-types": "*", - "@types/react": "*", + "@types/jquery": "^2.0.48", + "@types/prop-types": "^15.5.2", + "@types/react": "^16.0.12", "jquery": "*", - "nestedtypes": "^2.0.0-rc", - "prop-types": "*", - "react": "*", - "react-dom": "*", - "source-map-loader": "*", - "ts-loader": "*", + "nestedtypes": "^2.0.3", + "prop-types": "^15.6.0", + "react": "^16.0.0", + "react-dom": "^16.0.0", + "source-map-loader": "^0.2.2", + "ts-loader": "^3.0.2", "typescript": "<2.4.0", "underscore": "*", - "unminified-webpack-plugin": "^1.2.0", - "webpack": "*" + "unminified-webpack-plugin": "^1.4.1", + "webpack": "^3.7.1" }, "files": [ "dist", diff --git a/src/react-mvx/Link.ts b/src/react-mvx/Link.ts index c61efe3..1269b64 100644 --- a/src/react-mvx/Link.ts +++ b/src/react-mvx/Link.ts @@ -3,12 +3,12 @@ * Define value links binding mixins to the Record and Collection */ -import { Mixable, Record } from 'type-r' +import { Mixable, MixinsState, Record } from 'type-r' import { Link } from './valuelink/link' export default Link; -Mixable.mixTo( Link ); +Mixable.mixins.populate( Link as any ); interface LinksCache { [ key : string ] : RecordLink @@ -17,7 +17,7 @@ interface LinksCache { /** * Record */ -Record.mixins({ +MixinsState.get( Record ).merge([{ // Link to the record's attribute by its key. linkAt( key : string ) : RecordLink { return cacheLink( getLinksCache( this ), this, key ); @@ -47,7 +47,7 @@ Record.mixins({ return links; } -}); +}]); /** * Link to Type-R's record attribute. @@ -105,7 +105,7 @@ class RecordDeepLink extends Link< any > { } function getLinksCache( record : Record ) : LinksCache { - return ( record )._links || ( ( record )._links = new record.Attributes( {} ) ); + return ( record )._links || ( ( record )._links = new record.AttributesCopy( {} ) ); } function cacheLink( links : LinksCache, record : Record, key : string ) : RecordLink { @@ -119,7 +119,7 @@ function cacheLink( links : LinksCache, record : Record, key : string ) : Record /*********************************** * Collection */ -Record.Collection.mixins({ +MixinsState.get( Record.Collection ).merge([{ // Boolean link to the record's presence in the collection linkContains( record : Record ){ return new CollectionLink( this, record ); @@ -129,7 +129,7 @@ Record.Collection.mixins({ linkAt( prop : string ){ return Link.value( this[ prop ], x => this[ prop ] = x ); } -}); +}]); /** * Boolean link to presence of NestedType's record in collection. diff --git a/src/react-mvx/component.ts b/src/react-mvx/component.ts index 5fbd20a..07b2895 100644 --- a/src/react-mvx/component.ts +++ b/src/react-mvx/component.ts @@ -1,31 +1,42 @@ /** - * React components + * React-Type-R component base class. Overrides React component. */ import * as React from 'react' -import { Record, Store, extendable, mergeProps, mixinRules, tools, Mixable } from 'type-r' +import { Record, Store, CallbacksByEvents, mixinRules, define, mixins, definitions, tools, Messenger } from 'type-r' import Link from './Link' -import processSpec, { TypeSpecs } from './define' - -const reactMixinRules : any = { // Can't type it precisely because of weird type problem in NestedReact and NestedTypes - componentWillMount : 'reverse', - componentDidMount : 'reverse', - componentWillReceiveProps : 'reverse', - shouldComponentUpdate : 'some', - componentWillUpdate : 'reverse', - componentDidUpdate : 'reverse', - componentWillUnmount : 'sequence', - state : 'merge', - store : 'merge', - props : 'merge', - context : 'merge', - childContext : 'merge', - getChildContext : 'mergeSequence' -}; - -@extendable -@mixinRules( reactMixinRules ) -export class Component

extends React.Component { +import onDefine, { TypeSpecs } from './define' + +@define +@definitions({ + // Definitions to be extracted from mixins and statics and passed to `onDefine()` + state : mixinRules.merge, + State : mixinRules.value, + store : mixinRules.merge, + Store : mixinRules.value, + props : mixinRules.merge, + context : mixinRules.merge, + childContext : mixinRules.merge, + pureRender : mixinRules.protoValue +}) +@mixinRules( { + // Apply old-school React mixin rules. + componentWillMount : mixinRules.classLast, + componentDidMount : mixinRules.classLast, + componentWillReceiveProps : mixinRules.classLast, + componentWillUpdate : mixinRules.classLast, + componentDidUpdate : mixinRules.classLast, + componentWillUnmount : mixinRules.classFirst, + + // And a bit more to fix inheritance quirks. + shouldComponentUpdate : mixinRules.some, + getChildContext : mixinRules.defaults +} ) +// Component can send and receive events... +@mixins( Messenger ) +export class Component extends React.Component { + cid : string + static state? : TypeSpecs | typeof Record static store? : TypeSpecs | typeof Store static props? : TypeSpecs @@ -61,36 +72,77 @@ export class Component

extends React.Component { return ( this.state as any )._links; } - static define( protoProps, staticProps ){ - var BaseClass = tools.getBaseClass( this ), - staticsDefinition = tools.getChangedStatics( this, 'state', 'store', 'props', 'context', 'childContext', 'pureRender' ), - combinedDefinition = tools.assign( staticsDefinition, protoProps || {} ); - - var definition = processSpec( combinedDefinition, this.prototype ); - - const { getDefaultProps, propTypes, contextTypes, childContextTypes, ...protoDefinition } = definition; + static onDefine = onDefine; - if( getDefaultProps ) this.defaultProps = definition.getDefaultProps(); - if( propTypes ) this.propTypes = propTypes; - if( contextTypes ) this.contextTypes = contextTypes; - if( childContextTypes ) this.childContextTypes = childContextTypes; - - Mixable.define.call( this, protoDefinition, staticProps ); + readonly state : S + readonly store? : Store - return this; + constructor( props?, context? ){ + super( props, context ); + this._initializeState(); } - readonly state : Record - readonly store? : Store + _initializeState(){ + ( this as any ).state = null; + } - assignToState( x, key ){ + assignToState( x, key : string ){ this.state.assignFrom({ [ key ] : x }); } isMounted : () => boolean + + // Messenger methods... + on : ( events : string | CallbacksByEvents, callback, context? ) => this + once : ( events : string | CallbacksByEvents, callback, context? ) => this + off : ( events? : string | CallbacksByEvents, callback?, context? ) => this + trigger : (name : string, a?, b?, c?, d?, e? ) => this + + stopListening : ( source? : Messenger, a? : string | CallbacksByEvents, b? : Function ) => this + listenTo : ( source : Messenger, a : string | CallbacksByEvents, b? : Function ) => this + listenToOnce : ( source : Messenger, a : string | CallbacksByEvents, b? : Function ) => this + + dispose : () => void + + componentWillUnmount(){ + this.dispose(); + } + + /** + * Performs transactional update for both props and state. + * Suppress updates during the transaction, and force update aftewards. + * Wrapping the sequence of changes in a transactions guarantees that + * React component will be updated _after_ all the changes to the + * both props and local state are applied. + */ + transaction( fun : ( state? : Record ) => void ){ + var shouldComponentUpdate = this.shouldComponentUpdate, + isRoot = shouldComponentUpdate !== returnFalse; + + if( isRoot ){ + this.shouldComponentUpdate = returnFalse; + } + + const { state, store } = this, + withStore = store ? state => store.transaction( () => fun( state ) ) : fun; + + state ? state.transaction( withStore ) : withStore( state ); + + if( isRoot ){ + this.shouldComponentUpdate = shouldComponentUpdate; + this.asyncUpdate(); + } + } + + // Safe version of the forceUpdate suitable for asynchronous callbacks. + asyncUpdate(){ + this.shouldComponentUpdate === returnFalse || this._disposed || this.forceUpdate(); + } } -// Looks like React guys _really_ want to deprecated it. But no way. +function returnFalse(){ return false; } + +// Looks like React guys _really_ want to deprecate it. But no way. // We will work around their attempt. Object.defineProperty( Component.prototype, 'isMounted', { value : function isMounted(){ diff --git a/src/react-mvx/define/common.ts b/src/react-mvx/define/common.ts index 858615b..49c3e63 100644 --- a/src/react-mvx/define/common.ts +++ b/src/react-mvx/define/common.ts @@ -1,60 +1,12 @@ -/** - * attach async event processing and transactional support. - */ +import { + ComponentClass as ReactComponentClass, + Component +} from 'react' -import { tools, Events } from 'type-r' +import { MixableConstructor, Messenger } from 'type-r' -export default function compile( spec, baseProto ){ - // Attach common mixin - spec.mixins.push( CommonMixin ); +export interface ComponentClass extends ReactComponentClass, MixableConstructor { + prototype : Proto & ComponentProto } -export function asyncUpdate(){ - this.shouldComponentUpdate === returnFalse || this._disposed || this.forceUpdate(); -} - -function returnFalse(){ return false; } - -/** - * Mixin which is attached to all components. - */ -const CommonMixin = tools.assign( { - componentWillUnmount(){ - // Prevent memory leaks when working with events. - this.off(); - this.stopListening(); - - // Mark component as disposed. - this._disposed = true; - }, - - // Safe version of the forceUpdate suitable for asynchronous callbacks. - asyncUpdate : asyncUpdate, - - /** - * Performs transactional update for both props and state. - * Suppress updates during the transaction, and force update aftewards. - * Wrapping the sequence of changes in a transactions guarantees that - * React component will be updated _after_ all the changes to the - * both props and local state are applied. - */ - transaction( fun ){ - var shouldComponentUpdate = this.shouldComponentUpdate, - isRoot = shouldComponentUpdate !== returnFalse; - - if( isRoot ){ - this.shouldComponentUpdate = returnFalse; - } - - const { state, store } = this, - withStore = store ? state => store.transaction( () => fun( state ) ) : fun; - - state ? state.transaction( withStore ) : withStore( state ); - - if( isRoot ){ - this.shouldComponentUpdate = shouldComponentUpdate; - this.asyncUpdate(); - } - } -}, Events ); - +export type ComponentProto = Component & Messenger \ No newline at end of file diff --git a/src/react-mvx/define/context.ts b/src/react-mvx/define/context.ts index 3641f9d..897e809 100644 --- a/src/react-mvx/define/context.ts +++ b/src/react-mvx/define/context.ts @@ -1,19 +1,30 @@ -import { compileSpecs, collectSpecs } from './typeSpecs' +import { compileSpecs, TypeSpecs } from './typeSpecs' +import { tools } from 'type-r' +import { ComponentClass } from './common' + +export interface ContextDefinition { + context : TypeSpecs + childContext : TypeSpecs +} + +export interface ContextProto { + _context : TypeSpecs + _childContext : TypeSpecs +} + +export default function onDefine( this : ComponentClass, { context, childContext } : ContextDefinition, BaseClass : ComponentClass ){ + const { prototype } = this; -export default function process( spec, { _context = {}, _childContext = {} } ){ - // process context specs... - const context = collectSpecs( spec, 'context' ); if( context ){ - spec._context = { ..._context, ...context }; - spec.contextTypes = compileSpecs( context ).propTypes; - delete spec.context; + // Merge in inherited members... + prototype._context = tools.defaults( context, BaseClass.prototype._context || {} ); + + // Compile to propTypes... + this.contextTypes = compileSpecs( context ).propTypes; } - // and child context specs... - const childContext = collectSpecs( spec, 'childContext' ); if( childContext ){ - spec._childContext = { ..._childContext, ...childContext }; - spec.childContextTypes = compileSpecs( childContext ).propTypes; - delete spec.childContext; + prototype._childContext = tools.defaults( childContext, BaseClass.prototype._childContext ); + this.childContextTypes = compileSpecs( childContext ).propTypes; } } diff --git a/src/react-mvx/define/index.ts b/src/react-mvx/define/index.ts index 48e6e0e..97516df 100644 --- a/src/react-mvx/define/index.ts +++ b/src/react-mvx/define/index.ts @@ -1,21 +1,22 @@ +import { ComponentClass } from './common' +import { Messenger } from 'type-r' -import processStore from './store' -import processState from './state' -import processContext from './context' -import processCommons from './common' -import processProps from './props' +import onDefineStore, { StoreDefinition, StoreProto } from './store' +import onDefineState, { StateDefinition, StateProto } from './state' +import onDefineContext, { ContextDefinition, ContextProto } from './context' +import onDefineProps, { PropsDefinition, PropsProto } from './props' -export default function process( spec, baseProto = {} ){ - // Initialize mixins placeholder... - spec.mixins || ( spec.mixins = [] ); +export interface ComponentDefinition extends StoreDefinition, StateDefinition, ContextDefinition, PropsDefinition {} +export interface ComponentProto extends StoreProto, StateProto, ContextProto, PropsProto {} - processStore( spec, baseProto ); - processState( spec, baseProto ); - processContext( spec, baseProto ); - processProps( spec, baseProto ); - processCommons( spec, baseProto ); +export default function onDefine( this : ComponentClass, definition : ComponentDefinition, BaseClass : ComponentClass ){ + // Initialize mixins placeholder... + onDefineStore.call( this, definition, BaseClass ); + onDefineState.call( this, definition, BaseClass ); + onDefineContext.call( this, definition, BaseClass ); + onDefineProps.call( this, definition, BaseClass ); - return spec; + Messenger.onDefine.call( this, definition, BaseClass ); }; export { Node, Element, TypeSpecs } from './typeSpecs' diff --git a/src/react-mvx/define/props.ts b/src/react-mvx/define/props.ts index 8fe23d8..be1b6c1 100644 --- a/src/react-mvx/define/props.ts +++ b/src/react-mvx/define/props.ts @@ -4,43 +4,55 @@ * - pure render mixin */ -import { collectSpecs, compileSpecs, TypeSpecs } from './typeSpecs' -import createPureRenderMixin from './pureRender' +import { compileSpecs, TypeSpecs } from './typeSpecs' +import { PureRenderMixin, createChangeTokensConstructor } from './pureRender' +import { tools } from 'type-r' +import { ComponentClass } from './common' -export interface PropsMetadata { +export interface PropsDefinition { + pureRender? : boolean + props : TypeSpecs +} + + +export interface PropsProto { pureRender? : boolean _props? : TypeSpecs - _listenToPropsArray? : string[] - _listenToPropsHash? : { [ propName : string ] : Object | string } + _watchers? : any + _changeHandlers? : any + PropsChangeTokens? : any } -export default function process( spec, { pureRender, _props = {}, _listenToPropsArray = [], _listenToPropsHash = {} } : PropsMetadata ){ +export default function onDefine( this : ComponentClass, { props, pureRender } : PropsDefinition, BaseClass : ComponentClass ){ + const { prototype } = this; + // process props spec... - const props = collectSpecs( spec, 'props' ); if( props ){ - const allProps = spec._props = { ..._props, ...props }; + // Merge with inherited members... + prototype._props = tools.defaults( props, BaseClass.prototype._props || {} ); - const { propTypes, defaults, watchers, changeHandlers } = compileSpecs( allProps ); - spec.propTypes = propTypes; + const { propTypes, defaults, watchers, changeHandlers } = compileSpecs( props ); + this.propTypes = propTypes; - if( defaults ) spec.getDefaultProps = () => defaults; + if( defaults ) this.defaultProps = defaults; if( watchers ){ - spec.mixins.unshift( WatchersMixin ); - spec._watchers = watchers; + prototype._watchers = watchers; + this.mixins.merge([ WatchersMixin ]); } if( changeHandlers ){ - spec.mixins.unshift( ChangeHandlersMixin ); - spec._changeHandlers = changeHandlers; + prototype._changeHandlers = changeHandlers; + this.mixins.merge([ ChangeHandlersMixin ]); } - delete spec.props; + if( prototype.pureRender ){ + prototype.PropsChangeTokens = createChangeTokensConstructor( props ); + } } - // compile pure render mixin - if( spec._props && ( spec.pureRender || pureRender ) ){ - spec.mixins.push( createPureRenderMixin( spec._props ) ); + if( pureRender ){ + this.mixins.merge([ PureRenderMixin ]); } } diff --git a/src/react-mvx/define/pureRender.ts b/src/react-mvx/define/pureRender.ts index 6bd6d11..91847c8 100644 --- a/src/react-mvx/define/pureRender.ts +++ b/src/react-mvx/define/pureRender.ts @@ -1,30 +1,33 @@ -export default function createPureRenderMixin( props ){ - const ctorBody = [ 'var v; this._s = s && s._changeToken' ], - isChangedBody = [ 'var v; return ( s && s._changeToken !== t._s )' ]; +export function createChangeTokensConstructor( props ) { + const propNames = Object.keys( props ); - for( let name in props ){ - const propExpr = `( ( v = p.${ name }) && v._changeToken ) || v`; - ctorBody.push( `this.${ name }= ${ propExpr }`); - isChangedBody.push( `t.${ name } !== (${ propExpr })` ); - } + const PropsChangeTokens = new Function( 'p', 's', ` + var v; + this._s = s && s._changeToken; + ${ propNames.map( name => ` + this.${ name } = ( ( v = p.${ name }) && v._changeToken ) || v; + `).join( '' )} + `); + + PropsChangeTokens.prototype._hasChanges = new Function( 'p', 's', ` + var v; + return ( s && s._changeToken !== this._s ) ${ propNames.map( name => ` || + this.${ name } !== ( ( ( v = p.${ name }) && v._changeToken ) || v ) + `).join( '' )}; + `); - const ChangeTokens : any = new Function( 'p', 's', ctorBody.join( ';' ) ), - isChanged = new Function( 't', 'p', 's', isChangedBody.join( '||' ) ); + return PropsChangeTokens; +}; - ChangeTokens.prototype = null; +export const PureRenderMixin = { + shouldComponentUpdate( nextProps ){ + return this._propsChangeTokens._hasChanges( nextProps ); + }, - return { - _changeTokens : null, + componentDidMount : updateChangeTokens, + componentDidUpdate : updateChangeTokens +} - shouldComponentUpdate( nextProps ){ - return isChanged( this._changeTokens, nextProps, this.state ); - }, - - componentDidMount(){ - this._changeTokens = new ChangeTokens( this.props, this.state ); - }, - componentDidUpdate(){ - this._changeTokens = new ChangeTokens( this.props, this.state ); - } - } -}; \ No newline at end of file +function updateChangeTokens(){ + this._propsChangeTokens = new this.PropsChangeTokens( this.props, this.state ); +} \ No newline at end of file diff --git a/src/react-mvx/define/state.ts b/src/react-mvx/define/state.ts index 780b581..6916266 100644 --- a/src/react-mvx/define/state.ts +++ b/src/react-mvx/define/state.ts @@ -1,32 +1,50 @@ /***************** * State */ -import { collectSpecs } from './typeSpecs' -import { Record, Store } from 'type-r' +import { define, Record, Store } from 'type-r' +import { ComponentClass } from './common' -export default function process( spec, baseProto ){ - // process state spec... - const attributes = collectSpecs( spec, 'state' ); +export interface StateDefinition { + state? : object | typeof Record + State? : typeof Record +} - if( attributes || baseProto.State ){ - const BaseModel = baseProto.State || Record; - - spec.State = attributes ? ( - typeof attributes === 'function' ? attributes : BaseModel.defaults( attributes ) - ): BaseModel; +export interface StateProto { + State? : typeof Record +} - spec.mixins.push( StateMixin ); - spec.mixins.push( UpdateOnNestedChangesMixin ); +export default function process( this : ComponentClass, definition : StateDefinition, BaseComponentClass : ComponentClass ){ + const { prototype } = this; + + let { state, State } = definition; + + if( typeof state === 'function' ){ + State = state; + state = void 0; + } + + if( state ){ + const BaseClass = State || prototype.State || Record; + + @define class ComponentState extends BaseClass { + static attributes = state; + } + + prototype.State = ComponentState; + } + else if( State ){ + prototype.State = State; + } - delete spec.state; - delete spec.attributes; + if( state || State ){ + this.mixins.merge([ StateMixin, UpdateOnNestedChangesMixin ]); } } export const StateMixin = { //state : null, - componentWillMount(){ + _initializeState(){ // props.__keepState is used to workaround issues in Backbone intergation layer const state = this.state = this.props.__keepState || new this.State(); diff --git a/src/react-mvx/define/store.ts b/src/react-mvx/define/store.ts index 9e661c8..945d2bc 100644 --- a/src/react-mvx/define/store.ts +++ b/src/react-mvx/define/store.ts @@ -1,25 +1,44 @@ -import { collectSpecs } from './typeSpecs' -import { Store } from 'type-r' +import { define, Store } from 'type-r' import { StateMixin, UpdateOnNestedChangesMixin } from './state' +import { ComponentClass } from './common' -export default function process( spec, baseProto ){ - const store = collectSpecs( spec, 'store' ); +export interface StoreDefinition { + store? : typeof Store | Store | object + Store? : typeof Store +} + +export interface StoreProto { + store? : Store + Store? : typeof Store +} + +export default function onDefine( this : ComponentClass, definition : StoreDefinition, BaseClass : ComponentClass ){ + let { store, Store : StoreClass } = definition; + + if( store && store instanceof Store ){ + // Direct reference to an existing store. Put it to the prototype. + this.prototype.store = store; + this.mixins.merge([ ExternalStoreMixin, ExposeStoreMixin ]); + } + else if( store || definition.Store ) { + if( typeof store === 'function' ){ + StoreClass = store; + store = void 0; + } - if( store ){ - delete spec.store; + if( store ){ + const BaseClass = StoreClass || this.prototype.Store || Store; + @define class InternalStore extends BaseClass { + static attrbutes = store; + }; - if( store instanceof Store ){ - // Direct reference to an existing store. Put it to the prototype. - spec.store = store; - spec.mixins.push( ExternalStoreMixin ); + this.prototype.Store = InternalStore; } - else { - spec.Store = store; - spec.mixins.push( InternalStoreMixin ); - spec.mixins.push( UpdateOnNestedChangesMixin ); + else if( StoreClass ){ + this.prototype.Store = StoreClass; } - spec.mixins.push( ExposeStoreMixin ); + this.mixins.merge([ InternalStoreMixin, UpdateOnNestedChangesMixin, ExposeStoreMixin ]); } } diff --git a/src/react-mvx/define/typeSpecs.ts b/src/react-mvx/define/typeSpecs.ts index 7370b1c..71627e9 100644 --- a/src/react-mvx/define/typeSpecs.ts +++ b/src/react-mvx/define/typeSpecs.ts @@ -1,36 +1,9 @@ import * as PropTypes from 'prop-types' -import { Record, tools } from 'type-r' +import { Record, tools, AnyType, ChangeHandler } from 'type-r' +import { ComponentProto } from './common' export interface TypeSpecs { - [ name : string ] : Object | Function -} - -export function collectSpecs( spec, name : string ) : TypeSpecs { - var attributes = null; - - // Scan through local mixin, and gather specs. Refactor it later, it's not good. At all. - for( var i = spec.mixins.length - 1; i >= 0; i-- ){ - var mixin = spec.mixins[ i ], - mixinAttrs = mixin[ name ]; - - if( mixinAttrs ){ - attributes || ( attributes = {} ); - tools.assign( attributes, mixinAttrs ); - } - } - - // Merge it with local data. - var specAttrs = spec[ name ]; - if( specAttrs ){ - if( attributes ){ - tools.assign( attributes, specAttrs ); - } - else{ - attributes = specAttrs; - } - } - - return attributes; + [ name : string ] : object | Function } export function compileSpecs( props : TypeSpecs ){ @@ -38,9 +11,11 @@ export function compileSpecs( props : TypeSpecs ){ // Create NestedTypes model definition to process props spec. modelProto = Record.defaults( props ).prototype; - let defaults, watchers, changeHandlers; + let defaults, + watchers : { [ name : string ] : PropWatcher }, + changeHandlers : { [ name : string ] : ChangeHandler[] }; - modelProto.forEachAttr( modelProto._attributes, ( spec, name : string ) => { + modelProto.forEachAttr( modelProto._attributes, ( spec : AnyType, name : string ) => { // Skip auto-generated `id` attribute. if( name !== 'id' ){ const { value, type, options } = spec; @@ -66,7 +41,7 @@ export function compileSpecs( props : TypeSpecs ){ changeEvents = typeof options.changeEvents === 'string' ? options.changeEvents : null; handlers.push( - function( next, prev, component ){ + function( next, prev, component : any ){ prev && component.stopListening( prev ); next && component.listenTo( next, changeEvents || next._changeEventName, component.asyncUpdate ); } @@ -77,7 +52,7 @@ export function compileSpecs( props : TypeSpecs ){ if( value !== void 0 ){ //...append it to getDefaultProps function. defaults || ( defaults = {} ); - defaults[ name ] = spec.convert( value ); + defaults[ name ] = spec.convert( value, void 0, null, {} ); } } }); @@ -85,7 +60,9 @@ export function compileSpecs( props : TypeSpecs ){ return { propTypes, defaults, watchers, changeHandlers }; } -function toLocalWatcher( ref ){ +type PropWatcher = ( this : ComponentProto, propValue : any, propName : string ) => void + +function toLocalWatcher( ref ) : PropWatcher { return typeof ref === 'function' ? ref : function( value, name ){ this[ ref ] && this[ ref ]( value, name ); } diff --git a/src/react-mvx/index.ts b/src/react-mvx/index.ts index c655e39..abf7ac1 100644 --- a/src/react-mvx/index.ts +++ b/src/react-mvx/index.ts @@ -38,7 +38,7 @@ ReactMVx.Node = Node.value( null ); ReactMVx.Element = Element.value( null ); ReactMVx.Link = Link; -ReactMVx.Component = Component; +ReactMVx.Component = Component as any; const assignToState = ReactMVx.assignToState = key => { return function( prop ){ this.state.assignFrom({ [ key ] : prop && prop instanceof Link ? prop.value : prop }); diff --git a/submodules/React-MVx b/submodules/React-MVx index 189204c..c1f716d 160000 --- a/submodules/React-MVx +++ b/submodules/React-MVx @@ -1 +1 @@ -Subproject commit 189204c7b43fa463b96554171e25786dd1f4feeb +Subproject commit c1f716da39f6443045c8610eb4b64cbef31ef70b From 4c747d6e428988ba03ef30399dcde7a5592a4e72 Mon Sep 17 00:00:00 2001 From: Vlad Balin Date: Mon, 16 Oct 2017 18:53:44 -0400 Subject: [PATCH 07/25] NestedTypes updated to the next version --- lib/react-mvx/define/typeSpecs.d.ts | 3 ++- package-lock.json | 16 ++++++++-------- package.json | 4 ++-- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/lib/react-mvx/define/typeSpecs.d.ts b/lib/react-mvx/define/typeSpecs.d.ts index 9b71936..26d4ba1 100644 --- a/lib/react-mvx/define/typeSpecs.d.ts +++ b/lib/react-mvx/define/typeSpecs.d.ts @@ -1,3 +1,4 @@ +import { ChangeHandler } from 'type-r'; import { ComponentProto } from './common'; export interface TypeSpecs { [name: string]: object | Function; @@ -9,7 +10,7 @@ export declare function compileSpecs(props: TypeSpecs): { [name: string]: (this: ComponentProto, propValue: any, propName: string) => void; }; changeHandlers: { - [name: string]: any[]; + [name: string]: ChangeHandler[]; }; }; export declare class Node { diff --git a/package-lock.json b/package-lock.json index 3dd1915..dcfb243 100644 --- a/package-lock.json +++ b/package-lock.json @@ -857,7 +857,7 @@ "fsevents": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.2.tgz", - "integrity": "sha512-Sn44E5wQW4bTHXvQmvSHwqbuiXtduD6Rrjm2ZtUEGbyrig+nUH3t/QD4M4/ZXViY556TBpRgZkHLDx3JxPwxiw==", + "integrity": "sha1-MoK3E/s62A7eDp/PRhG1qm/AM/Q=", "dev": true, "optional": true, "requires": { @@ -2239,7 +2239,7 @@ "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", "dev": true, "requires": { "brace-expansion": "1.1.8" @@ -2268,9 +2268,9 @@ "optional": true }, "nestedtypes": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/nestedtypes/-/nestedtypes-2.0.3.tgz", - "integrity": "sha512-aCjRZ9eX6Gr/FCTidcT38ax0UvP88T7CEy62HCdv+U5GJB6RSdeivTu36SR7EOUfaT+z6r/izRRGJoxL+lzcbA==", + "version": "2.1.0-beta.0", + "resolved": "https://registry.npmjs.org/nestedtypes/-/nestedtypes-2.1.0-beta.0.tgz", + "integrity": "sha512-iZObN4p35COpwKhPeA37D6/312U34mwAugL56/GMks0xA6MNi1OuO2Xr7iOofFwV7QqLnetBpT0GGPZVzK5lkg==", "dev": true }, "node-fetch": { @@ -2588,7 +2588,7 @@ "randomatic": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", - "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", + "integrity": "sha1-x6vpzIuHwLqodrGf3oP9RkeX44w=", "dev": true, "requires": { "is-number": "3.0.0", @@ -2629,7 +2629,7 @@ "randombytes": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.5.tgz", - "integrity": "sha512-8T7Zn1AhMsQ/HI1SjcCfT/t4ii3eAqco3yOcSzS4mozsOz69lHLsoMXmF9nZgnFanYscnSlUSgs8uZyKzpE6kg==", + "integrity": "sha1-3ACaJGuNCaF3tLegrne8Vw9LG3k=", "dev": true, "requires": { "safe-buffer": "5.1.1" @@ -2886,7 +2886,7 @@ "stream-http": { "version": "2.7.2", "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.7.2.tgz", - "integrity": "sha512-c0yTD2rbQzXtSsFSVhtpvY/vS6u066PcXOX9kBB3mSO76RiUQzL340uJkGBWnlBg4/HZzqiUXtaVA7wcRcJgEw==", + "integrity": "sha1-QKBQ7I3DtTsz2ZCUFcAsC/Gr+60=", "dev": true, "requires": { "builtin-status-codes": "3.0.0", diff --git a/package.json b/package.json index 3ede229..e4a4962 100644 --- a/package.json +++ b/package.json @@ -29,14 +29,14 @@ "react-dom": "*", "jquery": "*", "underscore": "*", - "nestedtypes": "^2.0.0-rc1" + "nestedtypes": "*" }, "devDependencies": { "@types/jquery": "^2.0.48", "@types/prop-types": "^15.5.2", "@types/react": "^16.0.12", "jquery": "*", - "nestedtypes": "^2.0.3", + "nestedtypes": "^2.1.0-beta.0", "prop-types": "^15.6.0", "react": "^16.0.0", "react-dom": "^16.0.0", From 0a74acd5ea03f4f7d8e21081e80b0b92bd57e2a0 Mon Sep 17 00:00:00 2001 From: Vlad Balin Date: Mon, 16 Oct 2017 18:56:47 -0400 Subject: [PATCH 08/25] Successful build --- dist/index.js | 1838 +++++++++++++++++++-------------------- dist/index.min.js | 2 +- dist/index.min.js.map | 2 +- lib/view-element.d.ts | 4 +- lib/view-element.js | 4 +- lib/view-element.js.map | 2 +- src/view-element.ts | 6 +- submodules/React-MVx | 2 +- 8 files changed, 916 insertions(+), 944 deletions(-) diff --git a/dist/index.js b/dist/index.js index 0463608..386430a 100644 --- a/dist/index.js +++ b/dist/index.js @@ -7,7 +7,7 @@ exports["React"] = factory(require("nestedtypes"), require("react"), require("react-dom")); else root["React"] = factory(root["Nested"], root["React"], root["ReactDOM"]); -})(this, function(__WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_3__, __WEBPACK_EXTERNAL_MODULE_5__) { +})(this, function(__WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_2__, __WEBPACK_EXTERNAL_MODULE_7__) { return /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; @@ -43,9 +43,6 @@ return /******/ (function(modules) { // webpackBootstrap /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ -/******/ // identity function for calling harmony imports with the correct context -/******/ __webpack_require__.i = function(value) { return value; }; -/******/ /******/ // define getter function for harmony exports /******/ __webpack_require__.d = function(exports, name, getter) { /******/ if(!__webpack_require__.o(exports, name)) { @@ -73,7 +70,7 @@ return /******/ (function(modules) { // webpackBootstrap /******/ __webpack_require__.p = ""; /******/ /******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 11); +/******/ return __webpack_require__(__webpack_require__.s = 8); /******/ }) /************************************************************************/ /******/ ([ @@ -87,20 +84,20 @@ module.exports = __WEBPACK_EXTERNAL_MODULE_0__; /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "h", function() { return assignToState; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(3); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return assignToState; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(2); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__define__ = __webpack_require__(6); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__link__ = __webpack_require__(18); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__component__ = __webpack_require__(12); -/* harmony reexport (binding) */ if(__webpack_require__.o(__WEBPACK_IMPORTED_MODULE_1_type_r__, "define")) __webpack_require__.d(__webpack_exports__, "b", function() { return __WEBPACK_IMPORTED_MODULE_1_type_r__["define"]; }); -/* harmony reexport (binding) */ if(__webpack_require__.o(__WEBPACK_IMPORTED_MODULE_1_type_r__, "mixins")) __webpack_require__.d(__webpack_exports__, "c", function() { return __WEBPACK_IMPORTED_MODULE_1_type_r__["mixins"]; }); -/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return __WEBPACK_IMPORTED_MODULE_2__define__["a"]; }); -/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return __WEBPACK_IMPORTED_MODULE_2__define__["b"]; }); -/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return __WEBPACK_IMPORTED_MODULE_3__link__["a"]; }); -/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return __WEBPACK_IMPORTED_MODULE_4__component__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__define__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__link__ = __webpack_require__(17); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__component__ = __webpack_require__(20); +/* harmony reexport (binding) */ if(__webpack_require__.o(__WEBPACK_IMPORTED_MODULE_1_type_r__, "define")) __webpack_require__.d(__webpack_exports__, "g", function() { return __WEBPACK_IMPORTED_MODULE_1_type_r__["define"]; }); +/* harmony reexport (binding) */ if(__webpack_require__.o(__WEBPACK_IMPORTED_MODULE_1_type_r__, "mixins")) __webpack_require__.d(__webpack_exports__, "h", function() { return __WEBPACK_IMPORTED_MODULE_1_type_r__["mixins"]; }); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return __WEBPACK_IMPORTED_MODULE_2__define__["b"]; }); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return __WEBPACK_IMPORTED_MODULE_2__define__["a"]; }); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return __WEBPACK_IMPORTED_MODULE_3__link__["a"]; }); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return __WEBPACK_IMPORTED_MODULE_4__component__["a"]; }); @@ -113,8 +110,8 @@ ReactMVx.default = ReactMVx; // listenToProps, listenToState, model, attributes, Model ReactMVx.define = __WEBPACK_IMPORTED_MODULE_1_type_r__["define"]; ReactMVx.mixins = __WEBPACK_IMPORTED_MODULE_1_type_r__["mixins"]; -ReactMVx.Node = __WEBPACK_IMPORTED_MODULE_2__define__["a" /* Node */].value(null); -ReactMVx.Element = __WEBPACK_IMPORTED_MODULE_2__define__["b" /* Element */].value(null); +ReactMVx.Node = __WEBPACK_IMPORTED_MODULE_2__define__["b" /* Node */].value(null); +ReactMVx.Element = __WEBPACK_IMPORTED_MODULE_2__define__["a" /* Element */].value(null); ReactMVx.Link = __WEBPACK_IMPORTED_MODULE_3__link__["a" /* default */]; ReactMVx.Component = __WEBPACK_IMPORTED_MODULE_4__component__["a" /* Component */]; var assignToState = ReactMVx.assignToState = function (key) { @@ -123,47 +120,30 @@ var assignToState = ReactMVx.assignToState = function (key) { var _a; }; }; -/* harmony default export */ __webpack_exports__["a"] = (ReactMVx); +/* harmony default export */ __webpack_exports__["f"] = (ReactMVx); //# sourceMappingURL=index.js.map /***/ }), /* 2 */ +/***/ (function(module, exports) { + +module.exports = __WEBPACK_EXTERNAL_MODULE_2__; + +/***/ }), +/* 3 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* harmony export (immutable) */ __webpack_exports__["c"] = collectSpecs; -/* harmony export (immutable) */ __webpack_exports__["d"] = compileSpecs; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Node; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return Element; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types__ = __webpack_require__(4); +/* harmony export (immutable) */ __webpack_exports__["c"] = compileSpecs; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return Node; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Element; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types__ = __webpack_require__(6); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_prop_types__); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__); -function collectSpecs(spec, name) { - var attributes = null; - // Scan through local mixin, and gather specs. Refactor it later, it's not good. At all. - for (var i = spec.mixins.length - 1; i >= 0; i--) { - var mixin = spec.mixins[i], mixinAttrs = mixin[name]; - if (mixinAttrs) { - attributes || (attributes = {}); - __WEBPACK_IMPORTED_MODULE_1_type_r__["tools"].assign(attributes, mixinAttrs); - } - } - // Merge it with local data. - var specAttrs = spec[name]; - if (specAttrs) { - if (attributes) { - __WEBPACK_IMPORTED_MODULE_1_type_r__["tools"].assign(attributes, specAttrs); - } - else { - attributes = specAttrs; - } - } - return attributes; -} function compileSpecs(props) { var propTypes = {}, // Create NestedTypes model definition to process props spec. @@ -197,7 +177,7 @@ function compileSpecs(props) { if (value !== void 0) { //...append it to getDefaultProps function. defaults || (defaults = {}); - defaults[name] = spec.convert(value); + defaults[name] = spec.convert(value, void 0, null, {}); } } }); @@ -252,119 +232,100 @@ function _translateType(Type) { } //# sourceMappingURL=typeSpecs.js.map -/***/ }), -/* 3 */ -/***/ (function(module, exports) { - -module.exports = __WEBPACK_EXTERNAL_MODULE_3__; - /***/ }), /* 4 */ -/***/ (function(module, exports, __webpack_require__) { - -/** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - */ - -if (false) { - var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' && - Symbol.for && - Symbol.for('react.element')) || - 0xeac7; - - var isValidElement = function(object) { - return typeof object === 'object' && - object !== null && - object.$$typeof === REACT_ELEMENT_TYPE; - }; - - // By explicitly using `prop-types` you are opting into new development behavior. - // http://fb.me/prop-types-in-prod - var throwOnDirectAccess = true; - module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess); -} else { - // By explicitly using `prop-types` you are opting into new production behavior. - // http://fb.me/prop-types-in-prod - module.exports = __webpack_require__(23)(); -} - - -/***/ }), -/* 5 */ -/***/ (function(module, exports) { - -module.exports = __WEBPACK_EXTERNAL_MODULE_5__; - -/***/ }), -/* 6 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* harmony export (immutable) */ __webpack_exports__["c"] = process; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__store__ = __webpack_require__(17); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__state__ = __webpack_require__(7); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__context__ = __webpack_require__(14); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__common__ = __webpack_require__(13); +/* harmony export (immutable) */ __webpack_exports__["c"] = onDefine; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__store__ = __webpack_require__(9); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__state__ = __webpack_require__(5); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__context__ = __webpack_require__(10); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__props__ = __webpack_require__(15); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__typeSpecs__ = __webpack_require__(2); -/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return __WEBPACK_IMPORTED_MODULE_5__typeSpecs__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__typeSpecs__ = __webpack_require__(3); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return __WEBPACK_IMPORTED_MODULE_5__typeSpecs__["b"]; }); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return __WEBPACK_IMPORTED_MODULE_5__typeSpecs__["a"]; }); -function process(spec, baseProto) { - if (baseProto === void 0) { baseProto = {}; } +function onDefine(definition, BaseClass) { // Initialize mixins placeholder... - spec.mixins || (spec.mixins = []); - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__store__["a" /* default */])(spec, baseProto); - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__state__["a" /* default */])(spec, baseProto); - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__context__["a" /* default */])(spec, baseProto); - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__props__["a" /* default */])(spec, baseProto); - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__common__["a" /* default */])(spec, baseProto); - return spec; + __WEBPACK_IMPORTED_MODULE_1__store__["a" /* default */].call(this, definition, BaseClass); + __WEBPACK_IMPORTED_MODULE_2__state__["c" /* default */].call(this, definition, BaseClass); + __WEBPACK_IMPORTED_MODULE_3__context__["a" /* default */].call(this, definition, BaseClass); + __WEBPACK_IMPORTED_MODULE_4__props__["a" /* default */].call(this, definition, BaseClass); + __WEBPACK_IMPORTED_MODULE_0_type_r__["Messenger"].onDefine.call(this, definition, BaseClass); } ; //# sourceMappingURL=index.js.map /***/ }), -/* 7 */ +/* 5 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* harmony export (immutable) */ __webpack_exports__["a"] = process; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return StateMixin; }); +/* harmony export (immutable) */ __webpack_exports__["c"] = process; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return StateMixin; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return UpdateOnNestedChangesMixin; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(2); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__); +var __extends = (this && this.__extends) || (function () { + var extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; /***************** * State */ - -function process(spec, baseProto) { - // process state spec... - var attributes = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__["c" /* collectSpecs */])(spec, 'state'); - if (attributes || baseProto.State) { - var BaseModel = baseProto.State || __WEBPACK_IMPORTED_MODULE_1_type_r__["Record"]; - spec.State = attributes ? (typeof attributes === 'function' ? attributes : BaseModel.defaults(attributes)) : BaseModel; - spec.mixins.push(StateMixin); - spec.mixins.push(UpdateOnNestedChangesMixin); - delete spec.state; - delete spec.attributes; +function process(definition, BaseComponentClass) { + var prototype = this.prototype; + var state = definition.state, State = definition.State; + if (typeof state === 'function') { + State = state; + state = void 0; + } + if (state) { + var BaseClass = State || prototype.State || __WEBPACK_IMPORTED_MODULE_0_type_r__["Record"]; + var ComponentState = (function (_super) { + __extends(ComponentState, _super); + function ComponentState() { + return _super !== null && _super.apply(this, arguments) || this; + } + return ComponentState; + }(BaseClass)); + ComponentState.attributes = state; + ComponentState = __decorate([ + __WEBPACK_IMPORTED_MODULE_0_type_r__["define"] + ], ComponentState); + prototype.State = ComponentState; + } + else if (State) { + prototype.State = State; + } + if (state || State) { + this.mixins.merge([StateMixin, UpdateOnNestedChangesMixin]); } } var StateMixin = { //state : null, - componentWillMount: function () { + _initializeState: function () { // props.__keepState is used to workaround issues in Backbone intergation layer var state = this.state = this.props.__keepState || new this.State(); // Take ownership on state... @@ -372,7 +333,7 @@ var StateMixin = { state._ownerKey = 'state'; }, context: { - _nestedStore: __WEBPACK_IMPORTED_MODULE_1_type_r__["Store"] + _nestedStore: __WEBPACK_IMPORTED_MODULE_0_type_r__["Store"] }, // reference global store to fix model's store locator getStore: function () { @@ -397,540 +358,476 @@ var UpdateOnNestedChangesMixin = { }; //# sourceMappingURL=state.js.map +/***/ }), +/* 6 */ +/***/ (function(module, exports, __webpack_require__) { + +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +if (false) { + var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' && + Symbol.for && + Symbol.for('react.element')) || + 0xeac7; + + var isValidElement = function(object) { + return typeof object === 'object' && + object !== null && + object.$$typeof === REACT_ELEMENT_TYPE; + }; + + // By explicitly using `prop-types` you are opting into new development behavior. + // http://fb.me/prop-types-in-prod + var throwOnDirectAccess = true; + module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess); +} else { + // By explicitly using `prop-types` you are opting into new production behavior. + // http://fb.me/prop-types-in-prod + module.exports = __webpack_require__(11)(); +} + + +/***/ }), +/* 7 */ +/***/ (function(module, exports) { + +module.exports = __WEBPACK_EXTERNAL_MODULE_7__; + /***/ }), /* 8 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* harmony export (immutable) */ __webpack_exports__["a"] = use; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(3); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(5); +Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); +/* harmony export (immutable) */ __webpack_exports__["useView"] = useView; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "define", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__["g"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "mixins", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__["h"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "Node", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__["d"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "Element", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__["b"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "Link", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__["c"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "Component", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__["a"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "assignToState", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__["e"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(7); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types__ = __webpack_require__(6); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_prop_types__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__view_element__ = __webpack_require__(21); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "subview", function() { return __WEBPACK_IMPORTED_MODULE_4__view_element__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__component_view__ = __webpack_require__(22); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__createClass__ = __webpack_require__(23); +/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "PropTypes", function() { return __WEBPACK_IMPORTED_MODULE_3_prop_types__; }); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "createClass", function() { return __WEBPACK_IMPORTED_MODULE_6__createClass__["a"]; }); +// Re-export react-mvx +var NestedReact = Object.create(__WEBPACK_IMPORTED_MODULE_0__react_mvx__["f" /* default */]); +/* harmony default export */ __webpack_exports__["default"] = (NestedReact); +// NestedReact backward compatibility layer -window.Page || (window.Page = { forceResize: function () { } }); -function use(View) { - var dispose = View.prototype.dispose || function () { }, setElement = View.prototype.setElement; - var ComponentView = View.extend({ - reactClass: null, - props: {}, - element: null, - initialize: function (props) { - // memorise arguments to pass to React - this.options = props || {}; - }, - setElement: function () { - this.unmountComponent(true); - return setElement.apply(this, arguments); - }, - // cached instance of react component... - component: null, - prevState: null, - resize: function () { - window.Page.forceResize(); - }, - render: function () { - var options = this.prevState ? __WEBPACK_IMPORTED_MODULE_2_type_r__["tools"].fastAssign({ __keepState: this.prevState }, this.options) : this.options, element = __WEBPACK_IMPORTED_MODULE_0_react__["createElement"](this.reactClass, options), component = __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.render(element, this.el); - this.component || this.mountComponent(component); - }, - mountComponent: function (component) { - this.component = component; - this.prevState = null; - component.trigger && this.listenTo(component, 'all', function () { - this.trigger.apply(this, arguments); - }); - }, - unmountComponent: function (keepModel) { - var component = this.component; - if (component) { - this.prevState = component.state; - if (component.trigger) { - this.stopListening(component); - } - component._preventDispose = Boolean(keepModel); - __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.unmountComponentAtNode(this.el); - this.component = null; - } - }, - dispose: function () { - this.unmountComponent(); - return dispose.apply(this, arguments); - } - }); - Object.defineProperty(ComponentView.prototype, 'model', { - get: function () { - this.component || this.render(); - return this.component && this.component.state; - } - }); - return ComponentView; + + + +NestedReact.subview = __WEBPACK_IMPORTED_MODULE_4__view_element__["a" /* default */]; + + + +NestedReact.createClass = __WEBPACK_IMPORTED_MODULE_6__createClass__["a" /* default */]; +Object.defineProperty(NestedReact, 'PropTypes', { value: __WEBPACK_IMPORTED_MODULE_3_prop_types__ }); + +var BaseView; +// export hook to override base View class used... +function useView(View) { + BaseView = Object(__WEBPACK_IMPORTED_MODULE_5__component_view__["a" /* default */])(View); } -//# sourceMappingURL=component-view.js.map +var define = NestedReact.Component.define; +NestedReact.Component.define = function (protoProps, staticProps) { + this.View = BaseView.extend({ reactClass: this }); + return define.call(this, protoProps, staticProps); +}; +// Deprecated API for backward compatibility +var RecordProto = __WEBPACK_IMPORTED_MODULE_2_type_r__["Record"].prototype; +RecordProto.getLink = RecordProto.linkAt; +RecordProto.deepLink = RecordProto.linkPath; +var CollectionProto = __WEBPACK_IMPORTED_MODULE_2_type_r__["Record"].Collection.prototype; +CollectionProto.hasLink = CollectionProto.linkContains; +useView(__WEBPACK_IMPORTED_MODULE_2_type_r__["View"]); +// Extend react components to have backbone-style jquery accessors +var BackboneViewProps = { + el: { get: function () { return __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.findDOMNode(this); } }, + $el: { get: function () { return __WEBPACK_IMPORTED_MODULE_2_type_r___default.a.$(this.el); } }, + $: { value: function (sel) { return this.$el.find(sel); } } +}; +Object.defineProperties(NestedReact.Component.prototype, BackboneViewProps); +//# sourceMappingURL=index.js.map /***/ }), /* 9 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* harmony export (immutable) */ __webpack_exports__["a"] = createClass; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1); -var __assign = (this && this.__assign) || Object.assign || function(t) { - for (var s, i = 1, n = arguments.length; i < n; i++) { - s = arguments[i]; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) - t[p] = s[p]; - } - return t; -}; -var __rest = (this && this.__rest) || function (s, e) { - var t = {}; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) - t[p] = s[p]; - if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; - return t; +/* harmony export (immutable) */ __webpack_exports__["a"] = onDefine; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__state__ = __webpack_require__(5); +var __extends = (this && this.__extends) || (function () { + var extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; }; -var dontAutobind = [ - 'State', 'Store', 'constructor', - 'componentWillMount', 'componentDidMount', 'componentWillReceiveProps', 'shouldComponentUpdate', - 'componentWillUpdate', 'componentDidUpdate', 'componentWillUnmount', - 'render', 'getDefaultProps', 'getChildContext' -]; -/** - * ES5 components definition factory - */ -function createClass(_a) { - var statics = _a.statics, a_spec = __rest(_a, ["statics"]); - // Gather all methods to pin them to `this` later. - var methods = []; - var Subclass = __WEBPACK_IMPORTED_MODULE_0__react_mvx__["g" /* Component */].extend(__assign({ - // Override constructor to autobind all the methods... - constructor: function () { - __WEBPACK_IMPORTED_MODULE_0__react_mvx__["g" /* Component */].apply(this, this.arguments); - for (var _i = 0, methods_1 = methods; _i < methods_1.length; _i++) { - var method = methods_1[_i]; - this[method] = this[method].bind(this); - } - } }, a_spec), statics); - // Need to bind methods from mixins as well, so populate it here. - var Proto = Subclass.prototype; - for (var key in Proto) { - if (Proto.hasOwnProperty(key) && dontAutobind.indexOf(key) === -1 && typeof Proto[key] === 'function') { - methods.push(key); + +function onDefine(definition, BaseClass) { + var store = definition.store, StoreClass = definition.Store; + if (store && store instanceof __WEBPACK_IMPORTED_MODULE_0_type_r__["Store"]) { + // Direct reference to an existing store. Put it to the prototype. + this.prototype.store = store; + this.mixins.merge([ExternalStoreMixin, ExposeStoreMixin]); + } + else if (store || definition.Store) { + if (typeof store === 'function') { + StoreClass = store; + store = void 0; + } + if (store) { + var BaseClass_1 = StoreClass || this.prototype.Store || __WEBPACK_IMPORTED_MODULE_0_type_r__["Store"]; + var InternalStore = (function (_super) { + __extends(InternalStore, _super); + function InternalStore() { + return _super !== null && _super.apply(this, arguments) || this; + } + return InternalStore; + }(BaseClass_1)); + InternalStore.attrbutes = store; + InternalStore = __decorate([ + __WEBPACK_IMPORTED_MODULE_0_type_r__["define"] + ], InternalStore); + ; + this.prototype.Store = InternalStore; + } + else if (StoreClass) { + this.prototype.Store = StoreClass; } + this.mixins.merge([InternalStoreMixin, __WEBPACK_IMPORTED_MODULE_1__state__["b" /* UpdateOnNestedChangesMixin */], ExposeStoreMixin]); } - return Subclass; } -//# sourceMappingURL=createClass.js.map +/** + * Attached whenever the store declaration of any form is present in the component. + */ +var ExposeStoreMixin = { + childContext: { + _nestedStore: __WEBPACK_IMPORTED_MODULE_0_type_r__["Store"] + }, + getChildContext: function () { + return { _nestedStore: this.store }; + }, + getStore: function () { + return this.store; + }, + // Will be called by the store when the lookup will fail. + get: function (key) { + // Ask upper store. + var store = __WEBPACK_IMPORTED_MODULE_1__state__["a" /* StateMixin */].getStore.call(this, key); + return store && store.get(key); + } +}; +/** + * External store must just track the changes and trigger render. + * TBD: don't use it yet. + */ +var ExternalStoreMixin = { + componentDidMount: function () { + // Start UI updates on state changes. + this.listenTo(this.store, 'change', this.asyncUpdate); + } +}; +var InternalStoreMixin = { + componentWillMount: function () { + var store = this.store = new this.Store(); + store._owner = this; + store._ownerKey = 'store'; + }, + componentWillUnmount: function () { + this.store._ownerKey = this.store._owner = void 0; + this.store.dispose(); + this.store = void 0; + } +}; +//# sourceMappingURL=store.js.map /***/ }), /* 10 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1); +/* harmony export (immutable) */ __webpack_exports__["a"] = onDefine; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(3); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__); -var __extends = (this && this.__extends) || (function () { - var extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -var notEqual = __WEBPACK_IMPORTED_MODULE_1_type_r__["tools"].notEqual; -var BackboneView = (function (_super) { - __extends(BackboneView, _super); - function BackboneView() { - var _this = _super !== null && _super.apply(this, arguments) || this; - _this.saveRef = function (element) { - _this.root = element; - }; - return _this; +function onDefine(_a, BaseClass) { + var context = _a.context, childContext = _a.childContext; + var prototype = this.prototype; + if (context) { + // Merge in inherited members... + prototype._context = __WEBPACK_IMPORTED_MODULE_1_type_r__["tools"].defaults(context, BaseClass.prototype._context || {}); + // Compile to propTypes... + this.contextTypes = Object(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__["c" /* compileSpecs */])(context).propTypes; } - BackboneView.prototype.shouldComponentUpdate = function (next) { - var props = this.props; - return next.View !== props.View || notEqual(next.options, props.options); - }; - BackboneView.prototype.hasUnsavedChanges = function () { - var view = this.view; - return view && (typeof view.hasUnsavedChanges === 'function' ? view.hasUnsavedChanges() : view.hasUnsavedChanges); - }; - BackboneView.prototype.render = function () { - return __WEBPACK_IMPORTED_MODULE_0__react_mvx__["a" /* default */].createElement('div', { - ref: this.saveRef, - className: this.props.className - }); - }; - BackboneView.prototype.componentDidMount = function () { - this._mountView(); - }; - BackboneView.prototype.componentDidUpdate = function () { - this._dispose(); - this._mountView(); - }; - BackboneView.prototype.componentWillUnmount = function () { - this._dispose(); - }; - BackboneView.prototype._mountView = function () { - var el = this.root, p = this.props; - var view = this.view = p.options ? new p.View(p.options) : new p.View(); - el.appendChild(view.el); - view.render(); - }; - BackboneView.prototype._dispose = function () { - var view = this.view; - if (view) { - if (view.dispose) { - view.dispose(); - } - else { - view.stopListening(); - view.off(); - } - this.root.innerHTML = ""; - this.view = null; - } - }; - return BackboneView; -}(__WEBPACK_IMPORTED_MODULE_0__react_mvx__["a" /* default */].Component)); -/* harmony default export */ __webpack_exports__["a"] = (BackboneView); -//# sourceMappingURL=view-element.js.map + if (childContext) { + prototype._childContext = __WEBPACK_IMPORTED_MODULE_1_type_r__["tools"].defaults(childContext, BaseClass.prototype._childContext); + this.childContextTypes = Object(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__["c" /* compileSpecs */])(childContext).propTypes; + } +} +//# sourceMappingURL=context.js.map /***/ }), /* 11 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { "use strict"; -Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); -/* harmony export (immutable) */ __webpack_exports__["useView"] = useView; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1); -/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "define", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__["b"]; }); -/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "mixins", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__["c"]; }); -/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "Node", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__["d"]; }); -/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "Element", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__["e"]; }); -/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "Link", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__["f"]; }); -/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "Component", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__["g"]; }); -/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "assignToState", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__["h"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types__ = __webpack_require__(4); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_prop_types__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__view_element__ = __webpack_require__(10); -/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "subview", function() { return __WEBPACK_IMPORTED_MODULE_4__view_element__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__component_view__ = __webpack_require__(8); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__createClass__ = __webpack_require__(9); -/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "PropTypes", function() { return __WEBPACK_IMPORTED_MODULE_3_prop_types__; }); -/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "createClass", function() { return __WEBPACK_IMPORTED_MODULE_6__createClass__["a"]; }); -// Re-export react-mvx - -var NestedReact = Object.create(__WEBPACK_IMPORTED_MODULE_0__react_mvx__["a" /* default */]); -/* harmony default export */ __webpack_exports__["default"] = (NestedReact); - -// NestedReact backward compatibility layer - +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ -NestedReact.subview = __WEBPACK_IMPORTED_MODULE_4__view_element__["a" /* default */]; +var emptyFunction = __webpack_require__(12); +var invariant = __webpack_require__(13); +var ReactPropTypesSecret = __webpack_require__(14); +module.exports = function() { + function shim(props, propName, componentName, location, propFullName, secret) { + if (secret === ReactPropTypesSecret) { + // It is still safe when called from React. + return; + } + invariant( + false, + 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' + + 'Use PropTypes.checkPropTypes() to call them. ' + + 'Read more at http://fb.me/use-check-prop-types' + ); + }; + shim.isRequired = shim; + function getShim() { + return shim; + }; + // Important! + // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`. + var ReactPropTypes = { + array: shim, + bool: shim, + func: shim, + number: shim, + object: shim, + string: shim, + symbol: shim, + any: shim, + arrayOf: getShim, + element: shim, + instanceOf: getShim, + node: shim, + objectOf: getShim, + oneOf: getShim, + oneOfType: getShim, + shape: getShim, + exact: getShim + }; -NestedReact.createClass = __WEBPACK_IMPORTED_MODULE_6__createClass__["a" /* default */]; -Object.defineProperty(NestedReact, 'PropTypes', { value: __WEBPACK_IMPORTED_MODULE_3_prop_types__ }); + ReactPropTypes.checkPropTypes = emptyFunction; + ReactPropTypes.PropTypes = ReactPropTypes; -var BaseView; -// export hook to override base View class used... -function useView(View) { - BaseView = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__component_view__["a" /* default */])(View); -} -var define = NestedReact.Component.define; -NestedReact.Component.define = function (protoProps, staticProps) { - this.View = BaseView.extend({ reactClass: this }); - return define.call(this, protoProps, staticProps); -}; -// Deprecated API for backward compatibility -var RecordProto = __WEBPACK_IMPORTED_MODULE_2_type_r__["Record"].prototype; -RecordProto.getLink = RecordProto.linkAt; -RecordProto.deepLink = RecordProto.linkPath; -var CollectionProto = __WEBPACK_IMPORTED_MODULE_2_type_r__["Record"].Collection.prototype; -CollectionProto.hasLink = CollectionProto.linkContains; -useView(__WEBPACK_IMPORTED_MODULE_2_type_r__["View"]); -// Extend react components to have backbone-style jquery accessors -var BackboneViewProps = { - el: { get: function () { return __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.findDOMNode(this); } }, - $el: { get: function () { return __WEBPACK_IMPORTED_MODULE_2_type_r___default.a.$(this.el); } }, - $: { value: function (sel) { return this.$el.find(sel); } } + return ReactPropTypes; }; -Object.defineProperties(NestedReact.Component.prototype, BackboneViewProps); -//# sourceMappingURL=index.js.map + /***/ }), /* 12 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { "use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Component; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(3); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__define__ = __webpack_require__(6); + + /** - * React components + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * */ -var __extends = (this && this.__extends) || (function () { - var extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __rest = (this && this.__rest) || function (s, e) { - var t = {}; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) - t[p] = s[p]; - if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; - return t; -}; +function makeEmptyFunction(arg) { + return function () { + return arg; + }; +} +/** + * This function accepts and discards inputs; it has no side effects. This is + * primarily useful idiomatically for overridable function endpoints which + * always need to be callable, since JS lacks a null-call idiom ala Cocoa. + */ +var emptyFunction = function emptyFunction() {}; -var reactMixinRules = { - componentWillMount: 'reverse', - componentDidMount: 'reverse', - componentWillReceiveProps: 'reverse', - shouldComponentUpdate: 'some', - componentWillUpdate: 'reverse', - componentDidUpdate: 'reverse', - componentWillUnmount: 'sequence', - state: 'merge', - store: 'merge', - props: 'merge', - context: 'merge', - childContext: 'merge', - getChildContext: 'mergeSequence' +emptyFunction.thatReturns = makeEmptyFunction; +emptyFunction.thatReturnsFalse = makeEmptyFunction(false); +emptyFunction.thatReturnsTrue = makeEmptyFunction(true); +emptyFunction.thatReturnsNull = makeEmptyFunction(null); +emptyFunction.thatReturnsThis = function () { + return this; +}; +emptyFunction.thatReturnsArgument = function (arg) { + return arg; }; -var Component = (function (_super) { - __extends(Component, _super); - function Component() { - return _super !== null && _super.apply(this, arguments) || this; - } - Component.prototype.linkAt = function (key) { - // Quick and dirty hack to suppres type error - refactor later. - return this.state.linkAt(key); - }; - Component.prototype.linkAll = function () { - // Quick and dirty hack to suppres type error - refactor later. - var state = this.state; - return state.linkAll.apply(state, arguments); - }; - Component.prototype.linkPath = function (path) { - return this.state.linkPath(path); - }; - Object.defineProperty(Component.prototype, "links", { - get: function () { - return this.state._links; - }, - enumerable: true, - configurable: true - }); - Component.define = function (protoProps, staticProps) { - var BaseClass = __WEBPACK_IMPORTED_MODULE_1_type_r__["tools"].getBaseClass(this), staticsDefinition = __WEBPACK_IMPORTED_MODULE_1_type_r__["tools"].getChangedStatics(this, 'state', 'store', 'props', 'context', 'childContext', 'pureRender'), combinedDefinition = __WEBPACK_IMPORTED_MODULE_1_type_r__["tools"].assign(staticsDefinition, protoProps || {}); - var definition = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__define__["c" /* default */])(combinedDefinition, this.prototype); - var getDefaultProps = definition.getDefaultProps, propTypes = definition.propTypes, contextTypes = definition.contextTypes, childContextTypes = definition.childContextTypes, protoDefinition = __rest(definition, ["getDefaultProps", "propTypes", "contextTypes", "childContextTypes"]); - if (getDefaultProps) - this.defaultProps = definition.getDefaultProps(); - if (propTypes) - this.propTypes = propTypes; - if (contextTypes) - this.contextTypes = contextTypes; - if (childContextTypes) - this.childContextTypes = childContextTypes; - __WEBPACK_IMPORTED_MODULE_1_type_r__["Mixable"].define.call(this, protoDefinition, staticProps); - return this; - }; - Component.prototype.assignToState = function (x, key) { - this.state.assignFrom((_a = {}, _a[key] = x, _a)); - var _a; - }; - return Component; -}(__WEBPACK_IMPORTED_MODULE_0_react__["Component"])); -Component = __decorate([ - __WEBPACK_IMPORTED_MODULE_1_type_r__["extendable"], - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1_type_r__["mixinRules"])(reactMixinRules) -], Component); -// Looks like React guys _really_ want to deprecated it. But no way. -// We will work around their attempt. -Object.defineProperty(Component.prototype, 'isMounted', { - value: function isMounted() { - return !this._disposed; - } -}); -//# sourceMappingURL=component.js.map +module.exports = emptyFunction; /***/ }), /* 13 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { "use strict"; -/* harmony export (immutable) */ __webpack_exports__["a"] = compile; -/* unused harmony export asyncUpdate */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__); /** - * attach async event processing and transactional support. + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * */ -function compile(spec, baseProto) { - // Attach common mixin - spec.mixins.push(CommonMixin); -} -function asyncUpdate() { - this.shouldComponentUpdate === returnFalse || this._disposed || this.forceUpdate(); -} -function returnFalse() { return false; } + + /** - * Mixin which is attached to all components. + * Use invariant() to assert state which your program assumes to be true. + * + * Provide sprintf-style format (only %s is supported) and arguments + * to provide information about what broke and what you were + * expecting. + * + * The invariant message will be stripped in production, but the invariant + * will remain to ensure logic does not differ in production. */ -var CommonMixin = __WEBPACK_IMPORTED_MODULE_0_type_r__["tools"].assign({ - componentWillUnmount: function () { - // Prevent memory leaks when working with events. - this.off(); - this.stopListening(); - // Mark component as disposed. - this._disposed = true; - }, - // Safe version of the forceUpdate suitable for asynchronous callbacks. - asyncUpdate: asyncUpdate, - /** - * Performs transactional update for both props and state. - * Suppress updates during the transaction, and force update aftewards. - * Wrapping the sequence of changes in a transactions guarantees that - * React component will be updated _after_ all the changes to the - * both props and local state are applied. - */ - transaction: function (fun) { - var shouldComponentUpdate = this.shouldComponentUpdate, isRoot = shouldComponentUpdate !== returnFalse; - if (isRoot) { - this.shouldComponentUpdate = returnFalse; - } - var _a = this, state = _a.state, store = _a.store, withStore = store ? function (state) { return store.transaction(function () { return fun(state); }); } : fun; - state ? state.transaction(withStore) : withStore(state); - if (isRoot) { - this.shouldComponentUpdate = shouldComponentUpdate; - this.asyncUpdate(); - } + +var validateFormat = function validateFormat(format) {}; + +if (false) { + validateFormat = function validateFormat(format) { + if (format === undefined) { + throw new Error('invariant requires an error message argument'); + } + }; +} + +function invariant(condition, format, a, b, c, d, e, f) { + validateFormat(format); + + if (!condition) { + var error; + if (format === undefined) { + error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.'); + } else { + var args = [a, b, c, d, e, f]; + var argIndex = 0; + error = new Error(format.replace(/%s/g, function () { + return args[argIndex++]; + })); + error.name = 'Invariant Violation'; } -}, __WEBPACK_IMPORTED_MODULE_0_type_r__["Events"]); -//# sourceMappingURL=common.js.map + + error.framesToPop = 1; // we don't care about invariant's own frame + throw error; + } +} + +module.exports = invariant; /***/ }), /* 14 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { "use strict"; -/* harmony export (immutable) */ __webpack_exports__["a"] = process; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(2); -var __assign = (this && this.__assign) || Object.assign || function(t) { - for (var s, i = 1, n = arguments.length; i < n; i++) { - s = arguments[i]; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) - t[p] = s[p]; - } - return t; -}; +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + + + +var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED'; + +module.exports = ReactPropTypesSecret; -function process(spec, _a) { - var _b = _a._context, _context = _b === void 0 ? {} : _b, _c = _a._childContext, _childContext = _c === void 0 ? {} : _c; - // process context specs... - var context = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__["c" /* collectSpecs */])(spec, 'context'); - if (context) { - spec._context = __assign({}, _context, context); - spec.contextTypes = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__["d" /* compileSpecs */])(context).propTypes; - delete spec.context; - } - // and child context specs... - var childContext = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__["c" /* collectSpecs */])(spec, 'childContext'); - if (childContext) { - spec._childContext = __assign({}, _childContext, childContext); - spec.childContextTypes = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__["d" /* compileSpecs */])(childContext).propTypes; - delete spec.childContext; - } -} -//# sourceMappingURL=context.js.map /***/ }), /* 15 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* harmony export (immutable) */ __webpack_exports__["a"] = process; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(2); +/* harmony export (immutable) */ __webpack_exports__["a"] = onDefine; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(3); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__pureRender__ = __webpack_require__(16); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__); /** * Handle props specification and everything which is related: * - local listening to props changes * - pure render mixin */ -var __assign = (this && this.__assign) || Object.assign || function(t) { - for (var s, i = 1, n = arguments.length; i < n; i++) { - s = arguments[i]; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) - t[p] = s[p]; - } - return t; -}; -function process(spec, _a) { - var pureRender = _a.pureRender, _b = _a._props, _props = _b === void 0 ? {} : _b, _c = _a._listenToPropsArray, _listenToPropsArray = _c === void 0 ? [] : _c, _d = _a._listenToPropsHash, _listenToPropsHash = _d === void 0 ? {} : _d; + +function onDefine(_a, BaseClass) { + var props = _a.props, pureRender = _a.pureRender; + var prototype = this.prototype; // process props spec... - var props = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__["c" /* collectSpecs */])(spec, 'props'); if (props) { - var allProps = spec._props = __assign({}, _props, props); - var _e = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__["d" /* compileSpecs */])(allProps), propTypes = _e.propTypes, defaults_1 = _e.defaults, watchers = _e.watchers, changeHandlers = _e.changeHandlers; - spec.propTypes = propTypes; - if (defaults_1) - spec.getDefaultProps = function () { return defaults_1; }; + // Merge with inherited members... + prototype._props = __WEBPACK_IMPORTED_MODULE_2_type_r__["tools"].defaults(props, BaseClass.prototype._props || {}); + var _b = Object(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__["c" /* compileSpecs */])(props), propTypes = _b.propTypes, defaults = _b.defaults, watchers = _b.watchers, changeHandlers = _b.changeHandlers; + this.propTypes = propTypes; + if (defaults) + this.defaultProps = defaults; if (watchers) { - spec.mixins.unshift(WatchersMixin); - spec._watchers = watchers; + prototype._watchers = watchers; + this.mixins.merge([WatchersMixin]); } if (changeHandlers) { - spec.mixins.unshift(ChangeHandlersMixin); - spec._changeHandlers = changeHandlers; + prototype._changeHandlers = changeHandlers; + this.mixins.merge([ChangeHandlersMixin]); + } + if (prototype.pureRender) { + prototype.PropsChangeTokens = Object(__WEBPACK_IMPORTED_MODULE_1__pureRender__["b" /* createChangeTokensConstructor */])(props); } - delete spec.props; } - // compile pure render mixin - if (spec._props && (spec.pureRender || pureRender)) { - spec.mixins.push(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__pureRender__["a" /* default */])(spec._props)); + if (pureRender) { + this.mixins.merge([__WEBPACK_IMPORTED_MODULE_1__pureRender__["a" /* PureRenderMixin */]]); } } /** @@ -986,114 +883,35 @@ var WatchersMixin = { /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* harmony export (immutable) */ __webpack_exports__["a"] = createPureRenderMixin; -function createPureRenderMixin(props) { - var ctorBody = ['var v; this._s = s && s._changeToken'], isChangedBody = ['var v; return ( s && s._changeToken !== t._s )']; - for (var name_1 in props) { - var propExpr = "( ( v = p." + name_1 + ") && v._changeToken ) || v"; - ctorBody.push("this." + name_1 + "= " + propExpr); - isChangedBody.push("t." + name_1 + " !== (" + propExpr + ")"); - } - var ChangeTokens = new Function('p', 's', ctorBody.join(';')), isChanged = new Function('t', 'p', 's', isChangedBody.join('||')); - ChangeTokens.prototype = null; - return { - _changeTokens: null, - shouldComponentUpdate: function (nextProps) { - return isChanged(this._changeTokens, nextProps, this.state); - }, - componentDidMount: function () { - this._changeTokens = new ChangeTokens(this.props, this.state); - }, - componentDidUpdate: function () { - this._changeTokens = new ChangeTokens(this.props, this.state); - } - }; +/* harmony export (immutable) */ __webpack_exports__["b"] = createChangeTokensConstructor; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PureRenderMixin; }); +function createChangeTokensConstructor(props) { + var propNames = Object.keys(props); + var PropsChangeTokens = new Function('p', 's', "\n var v;\n this._s = s && s._changeToken;\n " + propNames.map(function (name) { return "\n this." + name + " = ( ( v = p." + name + ") && v._changeToken ) || v;\n "; }).join('') + "\n "); + PropsChangeTokens.prototype._hasChanges = new Function('p', 's', "\n var v;\n return ( s && s._changeToken !== this._s ) " + propNames.map(function (name) { return " ||\n this." + name + " !== ( ( ( v = p." + name + ") && v._changeToken ) || v )\n "; }).join('') + ";\n "); + return PropsChangeTokens; } ; -//# sourceMappingURL=pureRender.js.map - -/***/ }), -/* 17 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (immutable) */ __webpack_exports__["a"] = process; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(2); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__state__ = __webpack_require__(7); - - - -function process(spec, baseProto) { - var store = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__["c" /* collectSpecs */])(spec, 'store'); - if (store) { - delete spec.store; - if (store instanceof __WEBPACK_IMPORTED_MODULE_1_type_r__["Store"]) { - // Direct reference to an existing store. Put it to the prototype. - spec.store = store; - spec.mixins.push(ExternalStoreMixin); - } - else { - spec.Store = store; - spec.mixins.push(InternalStoreMixin); - spec.mixins.push(__WEBPACK_IMPORTED_MODULE_2__state__["b" /* UpdateOnNestedChangesMixin */]); - } - spec.mixins.push(ExposeStoreMixin); - } -} -/** - * Attached whenever the store declaration of any form is present in the component. - */ -var ExposeStoreMixin = { - childContext: { - _nestedStore: __WEBPACK_IMPORTED_MODULE_1_type_r__["Store"] - }, - getChildContext: function () { - return { _nestedStore: this.store }; - }, - getStore: function () { - return this.store; - }, - // Will be called by the store when the lookup will fail. - get: function (key) { - // Ask upper store. - var store = __WEBPACK_IMPORTED_MODULE_2__state__["c" /* StateMixin */].getStore.call(this, key); - return store && store.get(key); - } -}; -/** - * External store must just track the changes and trigger render. - * TBD: don't use it yet. - */ -var ExternalStoreMixin = { - componentDidMount: function () { - // Start UI updates on state changes. - this.listenTo(this.store, 'change', this.asyncUpdate); - } -}; -var InternalStoreMixin = { - componentWillMount: function () { - var store = this.store = new this.Store(); - store._owner = this; - store._ownerKey = 'store'; +var PureRenderMixin = { + shouldComponentUpdate: function (nextProps) { + return this._propsChangeTokens._hasChanges(nextProps); }, - componentWillUnmount: function () { - this.store._ownerKey = this.store._owner = void 0; - this.store.dispose(); - this.store = void 0; - } + componentDidMount: updateChangeTokens, + componentDidUpdate: updateChangeTokens }; -//# sourceMappingURL=store.js.map +function updateChangeTokens() { + this._propsChangeTokens = new this.PropsChangeTokens(this.props, this.state); +} +//# sourceMappingURL=pureRender.js.map /***/ }), -/* 18 */ +/* 17 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__valuelink_link__ = __webpack_require__(20); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__valuelink_link__ = __webpack_require__(18); /** * Import ValueLink library * Define value links binding mixins to the Record and Collection @@ -1111,36 +929,36 @@ var __extends = (this && this.__extends) || (function () { /* harmony default export */ __webpack_exports__["a"] = (__WEBPACK_IMPORTED_MODULE_1__valuelink_link__["a" /* Link */]); -__WEBPACK_IMPORTED_MODULE_0_type_r__["Mixable"].mixTo(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__["a" /* Link */]); +__WEBPACK_IMPORTED_MODULE_0_type_r__["Mixable"].mixins.populate(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__["a" /* Link */]); /** * Record */ -__WEBPACK_IMPORTED_MODULE_0_type_r__["Record"].mixins({ - // Link to the record's attribute by its key. - linkAt: function (key) { - return cacheLink(getLinksCache(this), this, key); - }, - // Link to the attribute of the record's tree by symbolic path. - linkPath: function (path, options) { - return new RecordDeepLink(this, path, options); - }, - // Link all (or listed) attributes and return links cache. - linkAll: function () { - var links = getLinksCache(this); - if (arguments.length) { - for (var i = 0; i < arguments.length; i++) { - cacheLink(links, this, arguments[i]); - } - } - else { - var attributes = this.attributes; - for (var key in attributes) { - attributes[key] === void 0 || cacheLink(links, this, key); +__WEBPACK_IMPORTED_MODULE_0_type_r__["MixinsState"].get(__WEBPACK_IMPORTED_MODULE_0_type_r__["Record"]).merge([{ + // Link to the record's attribute by its key. + linkAt: function (key) { + return cacheLink(getLinksCache(this), this, key); + }, + // Link to the attribute of the record's tree by symbolic path. + linkPath: function (path, options) { + return new RecordDeepLink(this, path, options); + }, + // Link all (or listed) attributes and return links cache. + linkAll: function () { + var links = getLinksCache(this); + if (arguments.length) { + for (var i = 0; i < arguments.length; i++) { + cacheLink(links, this, arguments[i]); + } + } + else { + var attributes = this.attributes; + for (var key in attributes) { + attributes[key] === void 0 || cacheLink(links, this, key); + } } + return links; } - return links; - } -}); + }]); /** * Link to Type-R's record attribute. * Strict evaluation of value, lazy evaluation of validation error. @@ -1206,7 +1024,7 @@ var RecordDeepLink = (function (_super) { return RecordDeepLink; }(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__["a" /* Link */])); function getLinksCache(record) { - return record._links || (record._links = new record.Attributes({})); + return record._links || (record._links = new record.AttributesCopy({})); } function cacheLink(links, record, key) { var cached = links[key], value = record[key]; @@ -1216,17 +1034,17 @@ function cacheLink(links, record, key) { /*********************************** * Collection */ -__WEBPACK_IMPORTED_MODULE_0_type_r__["Record"].Collection.mixins({ - // Boolean link to the record's presence in the collection - linkContains: function (record) { - return new CollectionLink(this, record); - }, - // Link to collection's property - linkAt: function (prop) { - var _this = this; - return __WEBPACK_IMPORTED_MODULE_1__valuelink_link__["a" /* Link */].value(this[prop], function (x) { return _this[prop] = x; }); - } -}); +__WEBPACK_IMPORTED_MODULE_0_type_r__["MixinsState"].get(__WEBPACK_IMPORTED_MODULE_0_type_r__["Record"].Collection).merge([{ + // Boolean link to the record's presence in the collection + linkContains: function (record) { + return new CollectionLink(this, record); + }, + // Link to collection's property + linkAt: function (prop) { + var _this = this; + return __WEBPACK_IMPORTED_MODULE_1__valuelink_link__["a" /* Link */].value(this[prop], function (x) { return _this[prop] = x; }); + } + }]); /** * Boolean link to presence of NestedType's record in collection. * Strict evaluation of value, no error. @@ -1248,78 +1066,7 @@ var CollectionLink = (function (_super) { //# sourceMappingURL=link.js.map /***/ }), -/* 19 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (immutable) */ __webpack_exports__["b"] = helpers; -/* unused harmony export objectHelpers */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return arrayHelpers; }); -var ArrayProto = Array.prototype, ObjectProto = Object.prototype; -function helpers(value) { - if (value && typeof value === 'object') { - switch (Object.getPrototypeOf(value)) { - case ArrayProto: return arrayHelpers; - case ObjectProto: return objectHelpers; - } - } - return dummyHelpers; -} -// Do nothing for types other than Array and plain Object. -var dummyHelpers = { - clone: function (value) { return value; }, - map: function (link, fun) { return []; }, - remove: function (value) { return value; } -}; -// `map` and `clone` for plain JS objects -var objectHelpers = { - // Map through the link to object - map: function (link, iterator) { - var mapped = []; - for (var key in link.value) { - var element = iterator(link.at(key), key); - element === void 0 || (mapped.push(element)); - } - return mapped; - }, - remove: function (object, key) { - delete object[key]; - return object; - }, - // Shallow clone plain JS object - clone: function (object) { - var cloned = {}; - for (var key in object) { - cloned[key] = object[key]; - } - return cloned; - } -}; -// `map` and `clone` helpers for arrays. -var arrayHelpers = { - // Shallow clone array - clone: function (array) { - return array.slice(); - }, - remove: function (array, i) { - array.splice(i, 1); - return array; - }, - // Map through the link to array - map: function (link, iterator) { - var length = link.value.length, mapped = Array(length); - for (var i = 0, j = 0; i < length; i++) { - var y = iterator(link.at(i), i); - y === void 0 || (mapped[j++] = y); - } - mapped.length === j || (mapped.length = j); - return mapped; - } -}; -//# sourceMappingURL=helpers.js.map - -/***/ }), -/* 20 */ +/* 18 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -1433,10 +1180,10 @@ var Link = (function () { this.set(array); }; Link.prototype.map = function (iterator) { - return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__helpers__["b" /* helpers */])(this.value).map(this, iterator); + return Object(__WEBPACK_IMPORTED_MODULE_0__helpers__["b" /* helpers */])(this.value).map(this, iterator); }; Link.prototype.removeAt = function (key) { - var value = this.value, _ = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__helpers__["b" /* helpers */])(value); + var value = this.value, _ = Object(__WEBPACK_IMPORTED_MODULE_0__helpers__["b" /* helpers */])(value); this.set(_.remove(_.clone(value), key)); }; Link.prototype.at = function (key) { @@ -1444,7 +1191,7 @@ var Link = (function () { }; Link.prototype.clone = function () { var value = this.value; - return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__helpers__["b" /* helpers */])(value).clone(value); + return Object(__WEBPACK_IMPORTED_MODULE_0__helpers__["b" /* helpers */])(value).clone(value); }; Link.prototype.pick = function () { var links = {}; @@ -1571,196 +1318,421 @@ var LinkAt = (function (_super) { //# sourceMappingURL=link.js.map /***/ }), -/* 21 */ -/***/ (function(module, exports, __webpack_require__) { +/* 19 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; - - -/** - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * - */ - -function makeEmptyFunction(arg) { - return function () { - return arg; - }; +/* harmony export (immutable) */ __webpack_exports__["b"] = helpers; +/* unused harmony export objectHelpers */ +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return arrayHelpers; }); +var ArrayProto = Array.prototype, ObjectProto = Object.prototype; +function helpers(value) { + if (value && typeof value === 'object') { + switch (Object.getPrototypeOf(value)) { + case ArrayProto: return arrayHelpers; + case ObjectProto: return objectHelpers; + } + } + return dummyHelpers; } - -/** - * This function accepts and discards inputs; it has no side effects. This is - * primarily useful idiomatically for overridable function endpoints which - * always need to be callable, since JS lacks a null-call idiom ala Cocoa. - */ -var emptyFunction = function emptyFunction() {}; - -emptyFunction.thatReturns = makeEmptyFunction; -emptyFunction.thatReturnsFalse = makeEmptyFunction(false); -emptyFunction.thatReturnsTrue = makeEmptyFunction(true); -emptyFunction.thatReturnsNull = makeEmptyFunction(null); -emptyFunction.thatReturnsThis = function () { - return this; +// Do nothing for types other than Array and plain Object. +var dummyHelpers = { + clone: function (value) { return value; }, + map: function (link, fun) { return []; }, + remove: function (value) { return value; } }; -emptyFunction.thatReturnsArgument = function (arg) { - return arg; +// `map` and `clone` for plain JS objects +var objectHelpers = { + // Map through the link to object + map: function (link, iterator) { + var mapped = []; + for (var key in link.value) { + var element = iterator(link.at(key), key); + element === void 0 || (mapped.push(element)); + } + return mapped; + }, + remove: function (object, key) { + delete object[key]; + return object; + }, + // Shallow clone plain JS object + clone: function (object) { + var cloned = {}; + for (var key in object) { + cloned[key] = object[key]; + } + return cloned; + } }; - -module.exports = emptyFunction; +// `map` and `clone` helpers for arrays. +var arrayHelpers = { + // Shallow clone array + clone: function (array) { + return array.slice(); + }, + remove: function (array, i) { + array.splice(i, 1); + return array; + }, + // Map through the link to array + map: function (link, iterator) { + var length = link.value.length, mapped = Array(length); + for (var i = 0, j = 0; i < length; i++) { + var y = iterator(link.at(i), i); + y === void 0 || (mapped[j++] = y); + } + mapped.length === j || (mapped.length = j); + return mapped; + } +}; +//# sourceMappingURL=helpers.js.map /***/ }), -/* 22 */ -/***/ (function(module, exports, __webpack_require__) { +/* 20 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Component; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(2); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__define__ = __webpack_require__(4); /** - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - - - -/** - * Use invariant() to assert state which your program assumes to be true. - * - * Provide sprintf-style format (only %s is supported) and arguments - * to provide information about what broke and what you were - * expecting. - * - * The invariant message will be stripped in production, but the invariant - * will remain to ensure logic does not differ in production. + * React-Type-R component base class. Overrides React component. */ +var __extends = (this && this.__extends) || (function () { + var extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; -var validateFormat = function validateFormat(format) {}; - -if (false) { - validateFormat = function validateFormat(format) { - if (format === undefined) { - throw new Error('invariant requires an error message argument'); - } - }; -} -function invariant(condition, format, a, b, c, d, e, f) { - validateFormat(format); - if (!condition) { - var error; - if (format === undefined) { - error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.'); - } else { - var args = [a, b, c, d, e, f]; - var argIndex = 0; - error = new Error(format.replace(/%s/g, function () { - return args[argIndex++]; - })); - error.name = 'Invariant Violation'; +var Component = (function (_super) { + __extends(Component, _super); + function Component(props, context) { + var _this = _super.call(this, props, context) || this; + _this._initializeState(); + return _this; } + Component.prototype.linkAt = function (key) { + // Quick and dirty hack to suppres type error - refactor later. + return this.state.linkAt(key); + }; + Component.prototype.linkAll = function () { + // Quick and dirty hack to suppres type error - refactor later. + var state = this.state; + return state.linkAll.apply(state, arguments); + }; + Component.prototype.linkPath = function (path) { + return this.state.linkPath(path); + }; + Object.defineProperty(Component.prototype, "links", { + get: function () { + return this.state._links; + }, + enumerable: true, + configurable: true + }); + Component.prototype._initializeState = function () { + this.state = null; + }; + Component.prototype.assignToState = function (x, key) { + this.state.assignFrom((_a = {}, _a[key] = x, _a)); + var _a; + }; + Component.prototype.componentWillUnmount = function () { + this.dispose(); + }; + /** + * Performs transactional update for both props and state. + * Suppress updates during the transaction, and force update aftewards. + * Wrapping the sequence of changes in a transactions guarantees that + * React component will be updated _after_ all the changes to the + * both props and local state are applied. + */ + Component.prototype.transaction = function (fun) { + var shouldComponentUpdate = this.shouldComponentUpdate, isRoot = shouldComponentUpdate !== returnFalse; + if (isRoot) { + this.shouldComponentUpdate = returnFalse; + } + var _a = this, state = _a.state, store = _a.store, withStore = store ? function (state) { return store.transaction(function () { return fun(state); }); } : fun; + state ? state.transaction(withStore) : withStore(state); + if (isRoot) { + this.shouldComponentUpdate = shouldComponentUpdate; + this.asyncUpdate(); + } + }; + // Safe version of the forceUpdate suitable for asynchronous callbacks. + Component.prototype.asyncUpdate = function () { + this.shouldComponentUpdate === returnFalse || this._disposed || this.forceUpdate(); + }; + return Component; +}(__WEBPACK_IMPORTED_MODULE_0_react__["Component"])); +Component.onDefine = __WEBPACK_IMPORTED_MODULE_2__define__["c" /* default */]; +Component = __decorate([ + __WEBPACK_IMPORTED_MODULE_1_type_r__["define"], + Object(__WEBPACK_IMPORTED_MODULE_1_type_r__["definitions"])({ + // Definitions to be extracted from mixins and statics and passed to `onDefine()` + state: __WEBPACK_IMPORTED_MODULE_1_type_r__["mixinRules"].merge, + State: __WEBPACK_IMPORTED_MODULE_1_type_r__["mixinRules"].value, + store: __WEBPACK_IMPORTED_MODULE_1_type_r__["mixinRules"].merge, + Store: __WEBPACK_IMPORTED_MODULE_1_type_r__["mixinRules"].value, + props: __WEBPACK_IMPORTED_MODULE_1_type_r__["mixinRules"].merge, + context: __WEBPACK_IMPORTED_MODULE_1_type_r__["mixinRules"].merge, + childContext: __WEBPACK_IMPORTED_MODULE_1_type_r__["mixinRules"].merge, + pureRender: __WEBPACK_IMPORTED_MODULE_1_type_r__["mixinRules"].protoValue + }), + Object(__WEBPACK_IMPORTED_MODULE_1_type_r__["mixinRules"])({ + // Apply old-school React mixin rules. + componentWillMount: __WEBPACK_IMPORTED_MODULE_1_type_r__["mixinRules"].classLast, + componentDidMount: __WEBPACK_IMPORTED_MODULE_1_type_r__["mixinRules"].classLast, + componentWillReceiveProps: __WEBPACK_IMPORTED_MODULE_1_type_r__["mixinRules"].classLast, + componentWillUpdate: __WEBPACK_IMPORTED_MODULE_1_type_r__["mixinRules"].classLast, + componentDidUpdate: __WEBPACK_IMPORTED_MODULE_1_type_r__["mixinRules"].classLast, + componentWillUnmount: __WEBPACK_IMPORTED_MODULE_1_type_r__["mixinRules"].classFirst, + // And a bit more to fix inheritance quirks. + shouldComponentUpdate: __WEBPACK_IMPORTED_MODULE_1_type_r__["mixinRules"].some, + getChildContext: __WEBPACK_IMPORTED_MODULE_1_type_r__["mixinRules"].defaults + }) + // Component can send and receive events... + , + Object(__WEBPACK_IMPORTED_MODULE_1_type_r__["mixins"])(__WEBPACK_IMPORTED_MODULE_1_type_r__["Messenger"]) +], Component); - error.framesToPop = 1; // we don't care about invariant's own frame - throw error; - } -} - -module.exports = invariant; +function returnFalse() { return false; } +// Looks like React guys _really_ want to deprecate it. But no way. +// We will work around their attempt. +Object.defineProperty(Component.prototype, 'isMounted', { + value: function isMounted() { + return !this._disposed; + } +}); +//# sourceMappingURL=component.js.map /***/ }), -/* 23 */ -/***/ (function(module, exports, __webpack_require__) { +/* 21 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - */ - - +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__); +var __extends = (this && this.__extends) || (function () { + var extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); -var emptyFunction = __webpack_require__(21); -var invariant = __webpack_require__(22); -var ReactPropTypesSecret = __webpack_require__(24); -module.exports = function() { - function shim(props, propName, componentName, location, propFullName, secret) { - if (secret === ReactPropTypesSecret) { - // It is still safe when called from React. - return; +var notEqual = __WEBPACK_IMPORTED_MODULE_1_type_r__["tools"].notEqual; +var BackboneView = (function (_super) { + __extends(BackboneView, _super); + function BackboneView() { + var _this = _super !== null && _super.apply(this, arguments) || this; + _this.saveRef = function (element) { + _this.root = element; + }; + return _this; } - invariant( - false, - 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' + - 'Use PropTypes.checkPropTypes() to call them. ' + - 'Read more at http://fb.me/use-check-prop-types' - ); - }; - shim.isRequired = shim; - function getShim() { - return shim; - }; - // Important! - // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`. - var ReactPropTypes = { - array: shim, - bool: shim, - func: shim, - number: shim, - object: shim, - string: shim, - symbol: shim, + BackboneView.prototype.shouldComponentUpdate = function (next) { + var props = this.props; + return next.View !== props.View || notEqual(next.options, props.options); + }; + BackboneView.prototype.hasUnsavedChanges = function () { + var view = this.view; + return view && (typeof view.hasUnsavedChanges === 'function' ? view.hasUnsavedChanges() : view.hasUnsavedChanges); + }; + BackboneView.prototype.render = function () { + return __WEBPACK_IMPORTED_MODULE_0__react_mvx__["f" /* default */].createElement('div', { + ref: this.saveRef, + className: this.props.className + }); + }; + BackboneView.prototype.componentDidMount = function () { + this._mountView(); + }; + BackboneView.prototype.componentDidUpdate = function () { + this._dispose(); + this._mountView(); + }; + BackboneView.prototype.componentWillUnmount = function () { + this._dispose(); + }; + BackboneView.prototype._mountView = function () { + var el = this.root, p = this.props; + var view = this.view = p.options ? new p.View(p.options) : new p.View(); + el.appendChild(view.el); + view.render(); + }; + BackboneView.prototype._dispose = function () { + var view = this.view; + if (view) { + if (view.dispose) { + view.dispose(); + } + else { + view.stopListening(); + view.off(); + } + this.root.innerHTML = ""; + this.view = null; + } + }; + return BackboneView; +}(__WEBPACK_IMPORTED_MODULE_0__react_mvx__["a" /* Component */])); +/* harmony default export */ __webpack_exports__["a"] = (BackboneView); +//# sourceMappingURL=view-element.js.map - any: shim, - arrayOf: getShim, - element: shim, - instanceOf: getShim, - node: shim, - objectOf: getShim, - oneOf: getShim, - oneOfType: getShim, - shape: getShim - }; +/***/ }), +/* 22 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { - ReactPropTypes.checkPropTypes = emptyFunction; - ReactPropTypes.PropTypes = ReactPropTypes; +"use strict"; +/* harmony export (immutable) */ __webpack_exports__["a"] = use; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(2); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(7); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__); - return ReactPropTypes; -}; +window.Page || (window.Page = { forceResize: function () { } }); +function use(View) { + var dispose = View.prototype.dispose || function () { }, setElement = View.prototype.setElement; + var ComponentView = View.extend({ + reactClass: null, + props: {}, + element: null, + initialize: function (props) { + // memorise arguments to pass to React + this.options = props || {}; + }, + setElement: function () { + this.unmountComponent(true); + return setElement.apply(this, arguments); + }, + // cached instance of react component... + component: null, + prevState: null, + resize: function () { + window.Page.forceResize(); + }, + render: function () { + var options = this.prevState ? __WEBPACK_IMPORTED_MODULE_2_type_r__["tools"].fastAssign({ __keepState: this.prevState }, this.options) : this.options, element = __WEBPACK_IMPORTED_MODULE_0_react__["createElement"](this.reactClass, options), component = __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.render(element, this.el); + this.component || this.mountComponent(component); + }, + mountComponent: function (component) { + this.component = component; + this.prevState = null; + component.trigger && this.listenTo(component, 'all', function () { + this.trigger.apply(this, arguments); + }); + }, + unmountComponent: function (keepModel) { + var component = this.component; + if (component) { + this.prevState = component.state; + if (component.trigger) { + this.stopListening(component); + } + component._preventDispose = Boolean(keepModel); + __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.unmountComponentAtNode(this.el); + this.component = null; + } + }, + dispose: function () { + this.unmountComponent(); + return dispose.apply(this, arguments); + } + }); + Object.defineProperty(ComponentView.prototype, 'model', { + get: function () { + this.component || this.render(); + return this.component && this.component.state; + } + }); + return ComponentView; +} +//# sourceMappingURL=component-view.js.map + /***/ }), -/* 24 */ -/***/ (function(module, exports, __webpack_require__) { +/* 23 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +/* harmony export (immutable) */ __webpack_exports__["a"] = createClass; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1); +var __assign = (this && this.__assign) || Object.assign || function(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; +}; +var __rest = (this && this.__rest) || function (s, e) { + var t = {}; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) + t[p] = s[p]; + if (s != null && typeof Object.getOwnPropertySymbols === "function") + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) + t[p[i]] = s[p[i]]; + return t; +}; + +var dontAutobind = [ + 'State', 'Store', 'constructor', + 'componentWillMount', 'componentDidMount', 'componentWillReceiveProps', 'shouldComponentUpdate', + 'componentWillUpdate', 'componentDidUpdate', 'componentWillUnmount', + 'render', 'getDefaultProps', 'getChildContext' +]; /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. + * ES5 components definition factory */ - - - -var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED'; - -module.exports = ReactPropTypesSecret; - +function createClass(_a) { + var statics = _a.statics, a_spec = __rest(_a, ["statics"]); + // Gather all methods to pin them to `this` later. + var methods = []; + var Subclass = __WEBPACK_IMPORTED_MODULE_0__react_mvx__["a" /* Component */].extend(__assign({ + // Override constructor to autobind all the methods... + constructor: function () { + __WEBPACK_IMPORTED_MODULE_0__react_mvx__["a" /* Component */].apply(this, this.arguments); + for (var _i = 0, methods_1 = methods; _i < methods_1.length; _i++) { + var method = methods_1[_i]; + this[method] = this[method].bind(this); + } + } }, a_spec), statics); + // Need to bind methods from mixins as well, so populate it here. + var Proto = Subclass.prototype; + for (var key in Proto) { + if (Proto.hasOwnProperty(key) && dontAutobind.indexOf(key) === -1 && typeof Proto[key] === 'function') { + methods.push(key); + } + } + return Subclass; +} +//# sourceMappingURL=createClass.js.map /***/ }) /******/ ]); diff --git a/dist/index.min.js b/dist/index.min.js index 66bc069..dc741f1 100644 --- a/dist/index.min.js +++ b/dist/index.min.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("nestedtypes"),require("react"),require("react-dom")):"function"==typeof define&&define.amd?define(["nestedtypes","react","react-dom"],e):"object"==typeof exports?exports.React=e(require("nestedtypes"),require("react"),require("react-dom")):t.React=e(t.Nested,t.React,t.ReactDOM)}(this,function(t,e,n){return function(t){function e(o){if(n[o])return n[o].exports;var r=n[o]={i:o,l:!1,exports:{}};return t[o].call(r.exports,r,r.exports,e),r.l=!0,r.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,o){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:o})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=11)}([function(e,n){e.exports=t},function(t,e,n){"use strict";n.d(e,"h",function(){return c});var o=n(3),r=(n.n(o),n(0)),i=(n.n(r),n(6)),s=n(18),u=n(12);n.o(r,"define")&&n.d(e,"b",function(){return r.define}),n.o(r,"mixins")&&n.d(e,"c",function(){return r.mixins}),n.d(e,"d",function(){return i.a}),n.d(e,"e",function(){return i.b}),n.d(e,"f",function(){return s.a}),n.d(e,"g",function(){return u.a});var a=Object.create(o);a.default=a,a.define=r.define,a.mixins=r.mixins,a.Node=i.a.value(null),a.Element=i.b.value(null),a.Link=s.a,a.Component=u.a;var c=a.assignToState=function(t){return function(e){this.state.assignFrom((n={},n[t]=e&&e instanceof s.a?e.value:e,n));var n}};e.a=a},function(t,e,n){"use strict";function o(t,e){for(var n=null,o=t.mixins.length-1;o>=0;o--){var r=t.mixins[o],i=r[e];i&&(n||(n={}),c.tools.assign(n,i))}var s=t[e];return s&&(n?c.tools.assign(n,s):n=s),n}function r(t){var e,n,o,r={},u=c.Record.defaults(t).prototype;return u.forEachAttr(u._attributes,function(t,u){if("id"!==u){var a=t.value,c=t.type,p=t.options;if(r[u]=s(c,p.isRequired),p._onChange&&(n||(n={}),n[u]=i(p._onChange)),p.changeHandlers&&p.changeHandlers.length&&(o||(o={}),o[u]=p.changeHandlers),p.changeEvents){o||(o={});var f=o[u]||(o[u]=[]),l="string"==typeof p.changeEvents?p.changeEvents:null;f.push(function(t,e,n){e&&n.stopListening(e),t&&n.listenTo(t,l||t._changeEventName,n.asyncUpdate)})}void 0!==a&&(e||(e={}),e[u]=t.convert(a))}}),{propTypes:r,defaults:e,watchers:n,changeHandlers:o}}function i(t){return"function"==typeof t?t:function(e,n){this[t]&&this[t](e,n)}}function s(t,e){var n=u(t);return e?n.isRequired:n}function u(t){switch(t){case Number:case Number.integer:return a.number;case String:return a.string;case Boolean:return a.bool;case Array:return a.array;case Function:return a.func;case Object:return a.object;case p:return a.node;case f:return a.element;case void 0:case null:return a.any;default:return a.instanceOf(t)}}e.c=o,e.d=r,n.d(e,"a",function(){return p}),n.d(e,"b",function(){return f});var a=n(4),c=(n.n(a),n(0)),p=(n.n(c),function(){function t(){}return t}()),f=function(){function t(){}return t}()},function(t,n){t.exports=e},function(t,e,n){t.exports=n(23)()},function(t,e){t.exports=n},function(t,e,n){"use strict";function o(t,e){return void 0===e&&(e={}),t.mixins||(t.mixins=[]),n.i(r.a)(t,e),n.i(i.a)(t,e),n.i(s.a)(t,e),n.i(a.a)(t,e),n.i(u.a)(t,e),t}e.c=o;var r=n(17),i=n(7),s=n(14),u=n(13),a=n(15),c=n(2);n.d(e,"a",function(){return c.a}),n.d(e,"b",function(){return c.b})},function(t,e,n){"use strict";function o(t,e){var o=n.i(r.c)(t,"state");if(o||e.State){var a=e.State||i.Record;t.State=o?"function"==typeof o?o:a.defaults(o):a,t.mixins.push(s),t.mixins.push(u),delete t.state,delete t.attributes}}e.a=o,n.d(e,"c",function(){return s}),n.d(e,"b",function(){return u});var r=n(2),i=n(0),s=(n.n(i),{componentWillMount:function(){var t=this.state=this.props.__keepState||new this.State;t._owner=this,t._ownerKey="state"},context:{_nestedStore:i.Store},getStore:function(){var t,e;return(t=this.context)&&t._nestedStore||(e=this.state)&&e._defaultStore},componentWillUnmount:function(){var t=this.state;t._owner=t._ownerKey=void 0,this._preventDispose||t.dispose(),this.state=void 0}}),u={_onChildrenChange:function(){},componentDidMount:function(){this._onChildrenChange=this.asyncUpdate}}},function(t,e,n){"use strict";function o(t){var e=t.prototype.dispose||function(){},n=t.prototype.setElement,o=t.extend({reactClass:null,props:{},element:null,initialize:function(t){this.options=t||{}},setElement:function(){return this.unmountComponent(!0),n.apply(this,arguments)},component:null,prevState:null,resize:function(){window.Page.forceResize()},render:function(){var t=this.prevState?u.tools.fastAssign({__keepState:this.prevState},this.options):this.options,e=r.createElement(this.reactClass,t),n=s.a.render(e,this.el);this.component||this.mountComponent(n)},mountComponent:function(t){this.component=t,this.prevState=null,t.trigger&&this.listenTo(t,"all",function(){this.trigger.apply(this,arguments)})},unmountComponent:function(t){var e=this.component;e&&(this.prevState=e.state,e.trigger&&this.stopListening(e),e._preventDispose=Boolean(t),s.a.unmountComponentAtNode(this.el),this.component=null)},dispose:function(){return this.unmountComponent(),e.apply(this,arguments)}});return Object.defineProperty(o.prototype,"model",{get:function(){return this.component||this.render(),this.component&&this.component.state}}),o}e.a=o;var r=n(3),i=(n.n(r),n(5)),s=n.n(i),u=n(0);n.n(u);window.Page||(window.Page={forceResize:function(){}})},function(t,e,n){"use strict";function o(t){var e=t.statics,n=s(t,["statics"]),o=[],a=r.g.extend(i({constructor:function(){r.g.apply(this,this.arguments);for(var t=0,e=o;t=0;u--)(r=t[u])&&(s=(i<3?r(s):i>3?r(e,n,s):r(e,n))||s);return i>3&&s&&Object.defineProperty(e,n,s),s},a=this&&this.__rest||function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols)for(var r=0,o=Object.getOwnPropertySymbols(t);r=0)||this;return o.parent=e,o.element=n,o}return r(e,t),e.prototype.set=function(t){var e=this,n=Boolean(t);if(this.value!==n){var o=this.parent.value,r=t?o.concat(this.element):o.filter(function(t){return t!==e.element});this.parent.set(r)}},e}(i),f="Invalid value",l=function(t){function e(e,n){var o=t.call(this,e.value[n])||this;return o.parent=e,o.key=n,o}return r(e,t),e.prototype.remove=function(){this.parent.removeAt(this.key)},e.prototype.set=function(t){var e=this;this.value!==t&&this.parent.update(function(n){return n[e.key]=t,n})},e}(i)},function(t,e,n){"use strict";function o(t){return function(){return t}}var r=function(){};r.thatReturns=o,r.thatReturnsFalse=o(!1),r.thatReturnsTrue=o(!0),r.thatReturnsNull=o(null),r.thatReturnsThis=function(){return this},r.thatReturnsArgument=function(t){return t},t.exports=r},function(t,e,n){"use strict";function o(t,e,n,o,i,s,u,a){if(r(e),!t){var c;if(void 0===e)c=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var p=[n,o,i,s,u,a],f=0;c=new Error(e.replace(/%s/g,function(){return p[f++]})),c.name="Invariant Violation"}throw c.framesToPop=1,c}}var r=function(t){};t.exports=o},function(t,e,n){"use strict";var o=n(21),r=n(22),i=n(24);t.exports=function(){function t(t,e,n,o,s,u){u!==i&&r(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function e(){return t}t.isRequired=t;var n={array:t,bool:t,func:t,number:t,object:t,string:t,symbol:t,any:t,arrayOf:e,element:t,instanceOf:e,node:t,objectOf:e,oneOf:e,oneOfType:e,shape:e};return n.checkPropTypes=o,n.PropTypes=n,n}},function(t,e,n){"use strict";t.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"}])}); +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("nestedtypes"),require("react"),require("react-dom")):"function"==typeof define&&define.amd?define(["nestedtypes","react","react-dom"],e):"object"==typeof exports?exports.React=e(require("nestedtypes"),require("react"),require("react-dom")):t.React=e(t.Nested,t.React,t.ReactDOM)}(this,function(t,e,n){return function(t){function e(o){if(n[o])return n[o].exports;var r=n[o]={i:o,l:!1,exports:{}};return t[o].call(r.exports,r,r.exports,e),r.l=!0,r.exports}var n={};return e.m=t,e.c=n,e.d=function(t,n,o){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:o})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=8)}([function(e,n){e.exports=t},function(t,e,n){"use strict";n.d(e,"e",function(){return a});var o=n(2),r=(n.n(o),n(0)),i=(n.n(r),n(4)),s=n(17),u=n(20);n.o(r,"define")&&n.d(e,"g",function(){return r.define}),n.o(r,"mixins")&&n.d(e,"h",function(){return r.mixins}),n.d(e,"d",function(){return i.b}),n.d(e,"b",function(){return i.a}),n.d(e,"c",function(){return s.a}),n.d(e,"a",function(){return u.a});var c=Object.create(o);c.default=c,c.define=r.define,c.mixins=r.mixins,c.Node=i.b.value(null),c.Element=i.a.value(null),c.Link=s.a,c.Component=u.a;var a=c.assignToState=function(t){return function(e){this.state.assignFrom((n={},n[t]=e&&e instanceof s.a?e.value:e,n));var n}};e.f=c},function(t,n){t.exports=e},function(t,e,n){"use strict";function o(t){var e,n,o,s={},u=c.Record.defaults(t).prototype;return u.forEachAttr(u._attributes,function(t,u){if("id"!==u){var c=t.value,a=t.type,p=t.options;if(s[u]=i(a,p.isRequired),p._onChange&&(n||(n={}),n[u]=r(p._onChange)),p.changeHandlers&&p.changeHandlers.length&&(o||(o={}),o[u]=p.changeHandlers),p.changeEvents){o||(o={});var f=o[u]||(o[u]=[]),l="string"==typeof p.changeEvents?p.changeEvents:null;f.push(function(t,e,n){e&&n.stopListening(e),t&&n.listenTo(t,l||t._changeEventName,n.asyncUpdate)})}void 0!==c&&(e||(e={}),e[u]=t.convert(c,void 0,null,{}))}}),{propTypes:s,defaults:e,watchers:n,changeHandlers:o}}function r(t){return"function"==typeof t?t:function(e,n){this[t]&&this[t](e,n)}}function i(t,e){var n=s(t);return e?n.isRequired:n}function s(t){switch(t){case Number:case Number.integer:return u.number;case String:return u.string;case Boolean:return u.bool;case Array:return u.array;case Function:return u.func;case Object:return u.object;case a:return u.node;case p:return u.element;case void 0:case null:return u.any;default:return u.instanceOf(t)}}e.c=o,n.d(e,"b",function(){return a}),n.d(e,"a",function(){return p});var u=n(6),c=(n.n(u),n(0)),a=(n.n(c),function(){function t(){}return t}()),p=function(){function t(){}return t}()},function(t,e,n){"use strict";function o(t,e){i.a.call(this,t,e),s.c.call(this,t,e),u.a.call(this,t,e),c.a.call(this,t,e),r.Messenger.onDefine.call(this,t,e)}e.c=o;var r=n(0),i=(n.n(r),n(9)),s=n(5),u=n(10),c=n(15),a=n(3);n.d(e,"b",function(){return a.b}),n.d(e,"a",function(){return a.a})},function(t,e,n){"use strict";function o(t,e){var n=this.prototype,o=t.state,a=t.State;if("function"==typeof o&&(a=o,o=void 0),o){var p=a||n.State||r.Record,f=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e}(p);f.attributes=o,f=s([r.define],f),n.State=f}else a&&(n.State=a);(o||a)&&this.mixins.merge([u,c])}e.c=o,n.d(e,"a",function(){return u}),n.d(e,"b",function(){return c});var r=n(0),i=(n.n(r),this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};return function(e,n){function o(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}}()),s=this&&this.__decorate||function(t,e,n,o){var r,i=arguments.length,s=i<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,o);else for(var u=t.length-1;u>=0;u--)(r=t[u])&&(s=(i<3?r(s):i>3?r(e,n,s):r(e,n))||s);return i>3&&s&&Object.defineProperty(e,n,s),s},u={_initializeState:function(){var t=this.state=this.props.__keepState||new this.State;t._owner=this,t._ownerKey="state"},context:{_nestedStore:r.Store},getStore:function(){var t,e;return(t=this.context)&&t._nestedStore||(e=this.state)&&e._defaultStore},componentWillUnmount:function(){var t=this.state;t._owner=t._ownerKey=void 0,this._preventDispose||t.dispose(),this.state=void 0}},c={_onChildrenChange:function(){},componentDidMount:function(){this._onChildrenChange=this.asyncUpdate}}},function(t,e,n){t.exports=n(11)()},function(t,e){t.exports=n},function(t,e,n){"use strict";function o(t){d=Object(f.a)(t)}Object.defineProperty(e,"__esModule",{value:!0}),e.useView=o;var r=n(1);n.d(e,"define",function(){return r.g}),n.d(e,"mixins",function(){return r.h}),n.d(e,"Node",function(){return r.d}),n.d(e,"Element",function(){return r.b}),n.d(e,"Link",function(){return r.c}),n.d(e,"Component",function(){return r.a}),n.d(e,"assignToState",function(){return r.e});var i=n(7),s=n.n(i),u=n(0),c=n.n(u),a=n(6),p=(n.n(a),n(21));n.d(e,"subview",function(){return p.a});var f=n(22),l=n(23);n.d(e,"PropTypes",function(){return a}),n.d(e,"createClass",function(){return l.a});var h=Object.create(r.f);e.default=h,h.subview=p.a,h.createClass=l.a,Object.defineProperty(h,"PropTypes",{value:a});var d,v=h.Component.define;h.Component.define=function(t,e){return this.View=d.extend({reactClass:this}),v.call(this,t,e)};var y=u.Record.prototype;y.getLink=y.linkAt,y.deepLink=y.linkPath;var m=u.Record.Collection.prototype;m.hasLink=m.linkContains,o(u.View);var _={el:{get:function(){return s.a.findDOMNode(this)}},$el:{get:function(){return c.a.$(this.el)}},$:{value:function(t){return this.$el.find(t)}}};Object.defineProperties(h.Component.prototype,_)},function(t,e,n){"use strict";function o(t,e){var n=t.store,o=t.Store;if(n&&n instanceof r.Store)this.prototype.store=n,this.mixins.merge([a,c]);else if(n||t.Store){if("function"==typeof n&&(o=n,n=void 0),n){var f=o||this.prototype.Store||r.Store,l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s(e,t),e}(f);l.attrbutes=n,l=u([r.define],l),this.prototype.Store=l}else o&&(this.prototype.Store=o);this.mixins.merge([p,i.b,c])}}e.a=o;var r=n(0),i=(n.n(r),n(5)),s=this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};return function(e,n){function o(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}}(),u=this&&this.__decorate||function(t,e,n,o){var r,i=arguments.length,s=i<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,o);else for(var u=t.length-1;u>=0;u--)(r=t[u])&&(s=(i<3?r(s):i>3?r(e,n,s):r(e,n))||s);return i>3&&s&&Object.defineProperty(e,n,s),s},c={childContext:{_nestedStore:r.Store},getChildContext:function(){return{_nestedStore:this.store}},getStore:function(){return this.store},get:function(t){var e=i.a.getStore.call(this,t);return e&&e.get(t)}},a={componentDidMount:function(){this.listenTo(this.store,"change",this.asyncUpdate)}},p={componentWillMount:function(){var t=this.store=new this.Store;t._owner=this,t._ownerKey="store"},componentWillUnmount:function(){this.store._ownerKey=this.store._owner=void 0,this.store.dispose(),this.store=void 0}}},function(t,e,n){"use strict";function o(t,e){var n=t.context,o=t.childContext,s=this.prototype;n&&(s._context=i.tools.defaults(n,e.prototype._context||{}),this.contextTypes=Object(r.c)(n).propTypes),o&&(s._childContext=i.tools.defaults(o,e.prototype._childContext),this.childContextTypes=Object(r.c)(o).propTypes)}e.a=o;var r=n(3),i=n(0);n.n(i)},function(t,e,n){"use strict";var o=n(12),r=n(13),i=n(14);t.exports=function(){function t(t,e,n,o,s,u){u!==i&&r(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function e(){return t}t.isRequired=t;var n={array:t,bool:t,func:t,number:t,object:t,string:t,symbol:t,any:t,arrayOf:e,element:t,instanceOf:e,node:t,objectOf:e,oneOf:e,oneOfType:e,shape:e,exact:e};return n.checkPropTypes=o,n.PropTypes=n,n}},function(t,e,n){"use strict";function o(t){return function(){return t}}var r=function(){};r.thatReturns=o,r.thatReturnsFalse=o(!1),r.thatReturnsTrue=o(!0),r.thatReturnsNull=o(null),r.thatReturnsThis=function(){return this},r.thatReturnsArgument=function(t){return t},t.exports=r},function(t,e,n){"use strict";function o(t,e,n,o,i,s,u,c){if(r(e),!t){var a;if(void 0===e)a=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var p=[n,o,i,s,u,c],f=0;a=new Error(e.replace(/%s/g,function(){return p[f++]})),a.name="Invariant Violation"}throw a.framesToPop=1,a}}var r=function(t){};t.exports=o},function(t,e,n){"use strict";t.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(t,e,n){"use strict";function o(t,e){var n=t.props,o=t.pureRender,r=this.prototype;if(n){r._props=u.tools.defaults(n,e.prototype._props||{});var p=Object(i.c)(n),f=p.propTypes,l=p.defaults,h=p.watchers,d=p.changeHandlers;this.propTypes=f,l&&(this.defaultProps=l),h&&(r._watchers=h,this.mixins.merge([a])),d&&(r._changeHandlers=d,this.mixins.merge([c])),r.pureRender&&(r.PropsChangeTokens=Object(s.b)(n))}o&&this.mixins.merge([s.a])}function r(t,e,n){var o=t._changeHandlers;for(var r in o)if(e[r]!==n[r])for(var i=0,s=o[r];i=0)||this;return o.parent=e,o.element=n,o}return r(e,t),e.prototype.set=function(t){var e=this,n=Boolean(t);if(this.value!==n){var o=this.parent.value,r=t?o.concat(this.element):o.filter(function(t){return t!==e.element});this.parent.set(r)}},e}(i),f="Invalid value",l=function(t){function e(e,n){var o=t.call(this,e.value[n])||this;return o.parent=e,o.key=n,o}return r(e,t),e.prototype.remove=function(){this.parent.removeAt(this.key)},e.prototype.set=function(t){var e=this;this.value!==t&&this.parent.update(function(n){return n[e.key]=t,n})},e}(i)},function(t,e,n){"use strict";function o(t){if(t&&"object"==typeof t)switch(Object.getPrototypeOf(t)){case r:return c;case i:return u}return s}e.b=o,n.d(e,"a",function(){return c});var r=Array.prototype,i=Object.prototype,s={clone:function(t){return t},map:function(t,e){return[]},remove:function(t){return t}},u={map:function(t,e){var n=[];for(var o in t.value){var r=e(t.at(o),o);void 0===r||n.push(r)}return n},remove:function(t,e){return delete t[e],t},clone:function(t){var e={};for(var n in t)e[n]=t[n];return e}},c={clone:function(t){return t.slice()},remove:function(t,e){return t.splice(e,1),t},map:function(t,e){for(var n=t.value.length,o=Array(n),r=0,i=0;r=0;u--)(r=t[u])&&(s=(i<3?r(s):i>3?r(e,n,s):r(e,n))||s);return i>3&&s&&Object.defineProperty(e,n,s),s},a=function(t){function e(e,n){var o=t.call(this,e,n)||this;return o._initializeState(),o}return u(e,t),e.prototype.linkAt=function(t){return this.state.linkAt(t)},e.prototype.linkAll=function(){var t=this.state;return t.linkAll.apply(t,arguments)},e.prototype.linkPath=function(t){return this.state.linkPath(t)},Object.defineProperty(e.prototype,"links",{get:function(){return this.state._links},enumerable:!0,configurable:!0}),e.prototype._initializeState=function(){this.state=null},e.prototype.assignToState=function(t,e){this.state.assignFrom((n={},n[e]=t,n));var n},e.prototype.componentWillUnmount=function(){this.dispose()},e.prototype.transaction=function(t){var e=this.shouldComponentUpdate,n=e!==o;n&&(this.shouldComponentUpdate=o);var r=this,i=r.state,s=r.store,u=s?function(e){return s.transaction(function(){return t(e)})}:t;i?i.transaction(u):u(i),n&&(this.shouldComponentUpdate=e,this.asyncUpdate())},e.prototype.asyncUpdate=function(){this.shouldComponentUpdate===o||this._disposed||this.forceUpdate()},e}(r.Component);a.onDefine=s.c,a=c([i.define,Object(i.definitions)({state:i.mixinRules.merge,State:i.mixinRules.value,store:i.mixinRules.merge,Store:i.mixinRules.value,props:i.mixinRules.merge,context:i.mixinRules.merge,childContext:i.mixinRules.merge,pureRender:i.mixinRules.protoValue}),Object(i.mixinRules)({componentWillMount:i.mixinRules.classLast,componentDidMount:i.mixinRules.classLast,componentWillReceiveProps:i.mixinRules.classLast,componentWillUpdate:i.mixinRules.classLast,componentDidUpdate:i.mixinRules.classLast,componentWillUnmount:i.mixinRules.classFirst,shouldComponentUpdate:i.mixinRules.some,getChildContext:i.mixinRules.defaults}),Object(i.mixins)(i.Messenger)],a),Object.defineProperty(a.prototype,"isMounted",{value:function(){return!this._disposed}})},function(t,e,n){"use strict";var o=n(1),r=n(0),i=(n.n(r),this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};return function(e,n){function o(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}}()),s=r.tools.notEqual,u=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.saveRef=function(t){e.root=t},e}return i(e,t),e.prototype.shouldComponentUpdate=function(t){var e=this.props;return t.View!==e.View||s(t.options,e.options)},e.prototype.hasUnsavedChanges=function(){var t=this.view;return t&&("function"==typeof t.hasUnsavedChanges?t.hasUnsavedChanges():t.hasUnsavedChanges)},e.prototype.render=function(){return o.f.createElement("div",{ref:this.saveRef,className:this.props.className})},e.prototype.componentDidMount=function(){this._mountView()},e.prototype.componentDidUpdate=function(){this._dispose(),this._mountView()},e.prototype.componentWillUnmount=function(){this._dispose()},e.prototype._mountView=function(){var t=this.root,e=this.props,n=this.view=e.options?new e.View(e.options):new e.View;t.appendChild(n.el),n.render()},e.prototype._dispose=function(){var t=this.view;t&&(t.dispose?t.dispose():(t.stopListening(),t.off()),this.root.innerHTML="",this.view=null)},e}(o.a);e.a=u},function(t,e,n){"use strict";function o(t){var e=t.prototype.dispose||function(){},n=t.prototype.setElement,o=t.extend({reactClass:null,props:{},element:null,initialize:function(t){this.options=t||{}},setElement:function(){return this.unmountComponent(!0),n.apply(this,arguments)},component:null,prevState:null,resize:function(){window.Page.forceResize()},render:function(){var t=this.prevState?u.tools.fastAssign({__keepState:this.prevState},this.options):this.options,e=r.createElement(this.reactClass,t),n=s.a.render(e,this.el);this.component||this.mountComponent(n)},mountComponent:function(t){this.component=t,this.prevState=null,t.trigger&&this.listenTo(t,"all",function(){this.trigger.apply(this,arguments)})},unmountComponent:function(t){var e=this.component;e&&(this.prevState=e.state,e.trigger&&this.stopListening(e),e._preventDispose=Boolean(t),s.a.unmountComponentAtNode(this.el),this.component=null)},dispose:function(){return this.unmountComponent(),e.apply(this,arguments)}});return Object.defineProperty(o.prototype,"model",{get:function(){return this.component||this.render(),this.component&&this.component.state}}),o}e.a=o;var r=n(2),i=(n.n(r),n(7)),s=n.n(i),u=n(0);n.n(u);window.Page||(window.Page={forceResize:function(){}})},function(t,e,n){"use strict";function o(t){var e=t.statics,n=s(t,["statics"]),o=[],c=r.a.extend(i({constructor:function(){r.a.apply(this,this.arguments);for(var t=0,e=o;t= 0; i--) {\n var mixin = spec.mixins[i], mixinAttrs = mixin[name];\n if (mixinAttrs) {\n attributes || (attributes = {});\n __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].assign(attributes, mixinAttrs);\n }\n }\n // Merge it with local data.\n var specAttrs = spec[name];\n if (specAttrs) {\n if (attributes) {\n __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].assign(attributes, specAttrs);\n }\n else {\n attributes = specAttrs;\n }\n }\n return attributes;\n}\nfunction compileSpecs(props) {\n var propTypes = {}, \n // Create NestedTypes model definition to process props spec.\n modelProto = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"Record\"].defaults(props).prototype;\n var defaults, watchers, changeHandlers;\n modelProto.forEachAttr(modelProto._attributes, function (spec, name) {\n // Skip auto-generated `id` attribute.\n if (name !== 'id') {\n var value = spec.value, type = spec.type, options = spec.options;\n // Translate props type to the propTypes guard.\n propTypes[name] = translateType(type, options.isRequired);\n if (options._onChange) {\n watchers || (watchers = {});\n watchers[name] = toLocalWatcher(options._onChange);\n }\n // Handle listening to event maps...\n if (options.changeHandlers && options.changeHandlers.length) {\n changeHandlers || (changeHandlers = {});\n changeHandlers[name] = options.changeHandlers;\n }\n // Handle listening to props changes...\n if (options.changeEvents) {\n changeHandlers || (changeHandlers = {});\n var handlers = changeHandlers[name] || (changeHandlers[name] = []), changeEvents_1 = typeof options.changeEvents === 'string' ? options.changeEvents : null;\n handlers.push(function (next, prev, component) {\n prev && component.stopListening(prev);\n next && component.listenTo(next, changeEvents_1 || next._changeEventName, component.asyncUpdate);\n });\n }\n // If default value is explicitly provided...\n if (value !== void 0) {\n //...append it to getDefaultProps function.\n defaults || (defaults = {});\n defaults[name] = spec.convert(value);\n }\n }\n });\n return { propTypes: propTypes, defaults: defaults, watchers: watchers, changeHandlers: changeHandlers };\n}\nfunction toLocalWatcher(ref) {\n return typeof ref === 'function' ? ref : function (value, name) {\n this[ref] && this[ref](value, name);\n };\n}\nvar Node = (function () {\n function Node() {\n }\n return Node;\n}());\n\nvar Element = (function () {\n function Element() {\n }\n return Element;\n}());\n\nfunction translateType(Type, isRequired) {\n var T = _translateType(Type);\n return isRequired ? T.isRequired : T;\n}\nfunction _translateType(Type) {\n switch (Type) {\n case Number:\n case Number.integer:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"number\"];\n case String:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"string\"];\n case Boolean:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"bool\"];\n case Array:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"array\"];\n case Function:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"func\"];\n case Object:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"object\"];\n case Node:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"node\"];\n case Element:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"element\"];\n case void 0:\n case null:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"any\"];\n default:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"instanceOf\"](Type);\n }\n}\n//# sourceMappingURL=typeSpecs.js.map\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_3__;\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\nif (false) {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = __webpack_require__(23)();\n}\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_5__;\n\n/***/ }),\n/* 6 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = process;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__store__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__state__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__context__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__common__ = __webpack_require__(13);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__props__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__typeSpecs__ = __webpack_require__(2);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_5__typeSpecs__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_5__typeSpecs__[\"b\"]; });\n\n\n\n\n\nfunction process(spec, baseProto) {\n if (baseProto === void 0) { baseProto = {}; }\n // Initialize mixins placeholder...\n spec.mixins || (spec.mixins = []);\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__store__[\"a\" /* default */])(spec, baseProto);\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__state__[\"a\" /* default */])(spec, baseProto);\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__context__[\"a\" /* default */])(spec, baseProto);\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__props__[\"a\" /* default */])(spec, baseProto);\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__common__[\"a\" /* default */])(spec, baseProto);\n return spec;\n}\n;\n\n//# sourceMappingURL=index.js.map\n\n/***/ }),\n/* 7 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = process;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return StateMixin; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return UpdateOnNestedChangesMixin; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n/*****************\n * State\n */\n\n\nfunction process(spec, baseProto) {\n // process state spec...\n var attributes = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* collectSpecs */])(spec, 'state');\n if (attributes || baseProto.State) {\n var BaseModel = baseProto.State || __WEBPACK_IMPORTED_MODULE_1_type_r__[\"Record\"];\n spec.State = attributes ? (typeof attributes === 'function' ? attributes : BaseModel.defaults(attributes)) : BaseModel;\n spec.mixins.push(StateMixin);\n spec.mixins.push(UpdateOnNestedChangesMixin);\n delete spec.state;\n delete spec.attributes;\n }\n}\nvar StateMixin = {\n //state : null,\n componentWillMount: function () {\n // props.__keepState is used to workaround issues in Backbone intergation layer\n var state = this.state = this.props.__keepState || new this.State();\n // Take ownership on state...\n state._owner = this;\n state._ownerKey = 'state';\n },\n context: {\n _nestedStore: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"Store\"]\n },\n // reference global store to fix model's store locator\n getStore: function () {\n // Attempt to get the store from the context first. Then - fallback to the state's default store.\n // TBD: Need to figure out a good way of managing local stores.\n var context, state;\n return ((context = this.context) && context._nestedStore) ||\n ((state = this.state) && state._defaultStore);\n },\n componentWillUnmount: function () {\n var state = this.state;\n state._owner = state._ownerKey = void 0;\n this._preventDispose /* hack for component-view to preserve the state */ || state.dispose();\n this.state = void 0;\n }\n};\nvar UpdateOnNestedChangesMixin = {\n _onChildrenChange: function () { },\n componentDidMount: function () {\n this._onChildrenChange = this.asyncUpdate;\n }\n};\n//# sourceMappingURL=state.js.map\n\n/***/ }),\n/* 8 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = use;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__);\n\n\n\nwindow.Page || (window.Page = { forceResize: function () { } });\nfunction use(View) {\n var dispose = View.prototype.dispose || function () { }, setElement = View.prototype.setElement;\n var ComponentView = View.extend({\n reactClass: null,\n props: {},\n element: null,\n initialize: function (props) {\n // memorise arguments to pass to React\n this.options = props || {};\n },\n setElement: function () {\n this.unmountComponent(true);\n return setElement.apply(this, arguments);\n },\n // cached instance of react component...\n component: null,\n prevState: null,\n resize: function () {\n window.Page.forceResize();\n },\n render: function () {\n var options = this.prevState ? __WEBPACK_IMPORTED_MODULE_2_type_r__[\"tools\"].fastAssign({ __keepState: this.prevState }, this.options) : this.options, element = __WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"](this.reactClass, options), component = __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.render(element, this.el);\n this.component || this.mountComponent(component);\n },\n mountComponent: function (component) {\n this.component = component;\n this.prevState = null;\n component.trigger && this.listenTo(component, 'all', function () {\n this.trigger.apply(this, arguments);\n });\n },\n unmountComponent: function (keepModel) {\n var component = this.component;\n if (component) {\n this.prevState = component.state;\n if (component.trigger) {\n this.stopListening(component);\n }\n component._preventDispose = Boolean(keepModel);\n __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.unmountComponentAtNode(this.el);\n this.component = null;\n }\n },\n dispose: function () {\n this.unmountComponent();\n return dispose.apply(this, arguments);\n }\n });\n Object.defineProperty(ComponentView.prototype, 'model', {\n get: function () {\n this.component || this.render();\n return this.component && this.component.state;\n }\n });\n return ComponentView;\n}\n//# sourceMappingURL=component-view.js.map\n\n/***/ }),\n/* 9 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = createClass;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1);\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\n\nvar dontAutobind = [\n 'State', 'Store', 'constructor',\n 'componentWillMount', 'componentDidMount', 'componentWillReceiveProps', 'shouldComponentUpdate',\n 'componentWillUpdate', 'componentDidUpdate', 'componentWillUnmount',\n 'render', 'getDefaultProps', 'getChildContext'\n];\n/**\n * ES5 components definition factory\n */\nfunction createClass(_a) {\n var statics = _a.statics, a_spec = __rest(_a, [\"statics\"]);\n // Gather all methods to pin them to `this` later.\n var methods = [];\n var Subclass = __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"g\" /* Component */].extend(__assign({ \n // Override constructor to autobind all the methods...\n constructor: function () {\n __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"g\" /* Component */].apply(this, this.arguments);\n for (var _i = 0, methods_1 = methods; _i < methods_1.length; _i++) {\n var method = methods_1[_i];\n this[method] = this[method].bind(this);\n }\n } }, a_spec), statics);\n // Need to bind methods from mixins as well, so populate it here.\n var Proto = Subclass.prototype;\n for (var key in Proto) {\n if (Proto.hasOwnProperty(key) && dontAutobind.indexOf(key) === -1 && typeof Proto[key] === 'function') {\n methods.push(key);\n }\n }\n return Subclass;\n}\n//# sourceMappingURL=createClass.js.map\n\n/***/ }),\n/* 10 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\nvar notEqual = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].notEqual;\nvar BackboneView = (function (_super) {\n __extends(BackboneView, _super);\n function BackboneView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.saveRef = function (element) {\n _this.root = element;\n };\n return _this;\n }\n BackboneView.prototype.shouldComponentUpdate = function (next) {\n var props = this.props;\n return next.View !== props.View || notEqual(next.options, props.options);\n };\n BackboneView.prototype.hasUnsavedChanges = function () {\n var view = this.view;\n return view && (typeof view.hasUnsavedChanges === 'function' ? view.hasUnsavedChanges() : view.hasUnsavedChanges);\n };\n BackboneView.prototype.render = function () {\n return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\" /* default */].createElement('div', {\n ref: this.saveRef,\n className: this.props.className\n });\n };\n BackboneView.prototype.componentDidMount = function () {\n this._mountView();\n };\n BackboneView.prototype.componentDidUpdate = function () {\n this._dispose();\n this._mountView();\n };\n BackboneView.prototype.componentWillUnmount = function () {\n this._dispose();\n };\n BackboneView.prototype._mountView = function () {\n var el = this.root, p = this.props;\n var view = this.view = p.options ? new p.View(p.options) : new p.View();\n el.appendChild(view.el);\n view.render();\n };\n BackboneView.prototype._dispose = function () {\n var view = this.view;\n if (view) {\n if (view.dispose) {\n view.dispose();\n }\n else {\n view.stopListening();\n view.off();\n }\n this.root.innerHTML = \"\";\n this.view = null;\n }\n };\n return BackboneView;\n}(__WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\" /* default */].Component));\n/* harmony default export */ __webpack_exports__[\"a\"] = (BackboneView);\n//# sourceMappingURL=view-element.js.map\n\n/***/ }),\n/* 11 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (immutable) */ __webpack_exports__[\"useView\"] = useView;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1);\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"define\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"b\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"mixins\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"c\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Node\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"d\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Element\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"e\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Link\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"f\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Component\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"g\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"assignToState\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"h\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__view_element__ = __webpack_require__(10);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"subview\", function() { return __WEBPACK_IMPORTED_MODULE_4__view_element__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__component_view__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__createClass__ = __webpack_require__(9);\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"PropTypes\", function() { return __WEBPACK_IMPORTED_MODULE_3_prop_types__; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"createClass\", function() { return __WEBPACK_IMPORTED_MODULE_6__createClass__[\"a\"]; });\n// Re-export react-mvx\n\nvar NestedReact = Object.create(__WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\" /* default */]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (NestedReact);\n\n// NestedReact backward compatibility layer\n\n\n\n\nNestedReact.subview = __WEBPACK_IMPORTED_MODULE_4__view_element__[\"a\" /* default */];\n\n\n\nNestedReact.createClass = __WEBPACK_IMPORTED_MODULE_6__createClass__[\"a\" /* default */];\nObject.defineProperty(NestedReact, 'PropTypes', { value: __WEBPACK_IMPORTED_MODULE_3_prop_types__ });\n\nvar BaseView;\n// export hook to override base View class used...\nfunction useView(View) {\n BaseView = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__component_view__[\"a\" /* default */])(View);\n}\nvar define = NestedReact.Component.define;\nNestedReact.Component.define = function (protoProps, staticProps) {\n this.View = BaseView.extend({ reactClass: this });\n return define.call(this, protoProps, staticProps);\n};\n// Deprecated API for backward compatibility\nvar RecordProto = __WEBPACK_IMPORTED_MODULE_2_type_r__[\"Record\"].prototype;\nRecordProto.getLink = RecordProto.linkAt;\nRecordProto.deepLink = RecordProto.linkPath;\nvar CollectionProto = __WEBPACK_IMPORTED_MODULE_2_type_r__[\"Record\"].Collection.prototype;\nCollectionProto.hasLink = CollectionProto.linkContains;\nuseView(__WEBPACK_IMPORTED_MODULE_2_type_r__[\"View\"]);\n// Extend react components to have backbone-style jquery accessors\nvar BackboneViewProps = {\n el: { get: function () { return __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.findDOMNode(this); } },\n $el: { get: function () { return __WEBPACK_IMPORTED_MODULE_2_type_r___default.a.$(this.el); } },\n $: { value: function (sel) { return this.$el.find(sel); } }\n};\nObject.defineProperties(NestedReact.Component.prototype, BackboneViewProps);\n//# sourceMappingURL=index.js.map\n\n/***/ }),\n/* 12 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Component; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__define__ = __webpack_require__(6);\n/**\n * React components\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\n\n\n\nvar reactMixinRules = {\n componentWillMount: 'reverse',\n componentDidMount: 'reverse',\n componentWillReceiveProps: 'reverse',\n shouldComponentUpdate: 'some',\n componentWillUpdate: 'reverse',\n componentDidUpdate: 'reverse',\n componentWillUnmount: 'sequence',\n state: 'merge',\n store: 'merge',\n props: 'merge',\n context: 'merge',\n childContext: 'merge',\n getChildContext: 'mergeSequence'\n};\nvar Component = (function (_super) {\n __extends(Component, _super);\n function Component() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Component.prototype.linkAt = function (key) {\n // Quick and dirty hack to suppres type error - refactor later.\n return this.state.linkAt(key);\n };\n Component.prototype.linkAll = function () {\n // Quick and dirty hack to suppres type error - refactor later.\n var state = this.state;\n return state.linkAll.apply(state, arguments);\n };\n Component.prototype.linkPath = function (path) {\n return this.state.linkPath(path);\n };\n Object.defineProperty(Component.prototype, \"links\", {\n get: function () {\n return this.state._links;\n },\n enumerable: true,\n configurable: true\n });\n Component.define = function (protoProps, staticProps) {\n var BaseClass = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].getBaseClass(this), staticsDefinition = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].getChangedStatics(this, 'state', 'store', 'props', 'context', 'childContext', 'pureRender'), combinedDefinition = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].assign(staticsDefinition, protoProps || {});\n var definition = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__define__[\"c\" /* default */])(combinedDefinition, this.prototype);\n var getDefaultProps = definition.getDefaultProps, propTypes = definition.propTypes, contextTypes = definition.contextTypes, childContextTypes = definition.childContextTypes, protoDefinition = __rest(definition, [\"getDefaultProps\", \"propTypes\", \"contextTypes\", \"childContextTypes\"]);\n if (getDefaultProps)\n this.defaultProps = definition.getDefaultProps();\n if (propTypes)\n this.propTypes = propTypes;\n if (contextTypes)\n this.contextTypes = contextTypes;\n if (childContextTypes)\n this.childContextTypes = childContextTypes;\n __WEBPACK_IMPORTED_MODULE_1_type_r__[\"Mixable\"].define.call(this, protoDefinition, staticProps);\n return this;\n };\n Component.prototype.assignToState = function (x, key) {\n this.state.assignFrom((_a = {}, _a[key] = x, _a));\n var _a;\n };\n return Component;\n}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]));\nComponent = __decorate([\n __WEBPACK_IMPORTED_MODULE_1_type_r__[\"extendable\"],\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"])(reactMixinRules)\n], Component);\n\n// Looks like React guys _really_ want to deprecated it. But no way.\n// We will work around their attempt.\nObject.defineProperty(Component.prototype, 'isMounted', {\n value: function isMounted() {\n return !this._disposed;\n }\n});\n//# sourceMappingURL=component.js.map\n\n/***/ }),\n/* 13 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = compile;\n/* unused harmony export asyncUpdate */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__);\n/**\n * attach async event processing and transactional support.\n */\n\nfunction compile(spec, baseProto) {\n // Attach common mixin\n spec.mixins.push(CommonMixin);\n}\nfunction asyncUpdate() {\n this.shouldComponentUpdate === returnFalse || this._disposed || this.forceUpdate();\n}\nfunction returnFalse() { return false; }\n/**\n * Mixin which is attached to all components.\n */\nvar CommonMixin = __WEBPACK_IMPORTED_MODULE_0_type_r__[\"tools\"].assign({\n componentWillUnmount: function () {\n // Prevent memory leaks when working with events.\n this.off();\n this.stopListening();\n // Mark component as disposed.\n this._disposed = true;\n },\n // Safe version of the forceUpdate suitable for asynchronous callbacks.\n asyncUpdate: asyncUpdate,\n /**\n * Performs transactional update for both props and state.\n * Suppress updates during the transaction, and force update aftewards.\n * Wrapping the sequence of changes in a transactions guarantees that\n * React component will be updated _after_ all the changes to the\n * both props and local state are applied.\n */\n transaction: function (fun) {\n var shouldComponentUpdate = this.shouldComponentUpdate, isRoot = shouldComponentUpdate !== returnFalse;\n if (isRoot) {\n this.shouldComponentUpdate = returnFalse;\n }\n var _a = this, state = _a.state, store = _a.store, withStore = store ? function (state) { return store.transaction(function () { return fun(state); }); } : fun;\n state ? state.transaction(withStore) : withStore(state);\n if (isRoot) {\n this.shouldComponentUpdate = shouldComponentUpdate;\n this.asyncUpdate();\n }\n }\n}, __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Events\"]);\n//# sourceMappingURL=common.js.map\n\n/***/ }),\n/* 14 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = process;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(2);\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\n\nfunction process(spec, _a) {\n var _b = _a._context, _context = _b === void 0 ? {} : _b, _c = _a._childContext, _childContext = _c === void 0 ? {} : _c;\n // process context specs...\n var context = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* collectSpecs */])(spec, 'context');\n if (context) {\n spec._context = __assign({}, _context, context);\n spec.contextTypes = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"d\" /* compileSpecs */])(context).propTypes;\n delete spec.context;\n }\n // and child context specs...\n var childContext = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* collectSpecs */])(spec, 'childContext');\n if (childContext) {\n spec._childContext = __assign({}, _childContext, childContext);\n spec.childContextTypes = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"d\" /* compileSpecs */])(childContext).propTypes;\n delete spec.childContext;\n }\n}\n//# sourceMappingURL=context.js.map\n\n/***/ }),\n/* 15 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = process;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__pureRender__ = __webpack_require__(16);\n/**\n * Handle props specification and everything which is related:\n * - local listening to props changes\n * - pure render mixin\n */\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\n\n\nfunction process(spec, _a) {\n var pureRender = _a.pureRender, _b = _a._props, _props = _b === void 0 ? {} : _b, _c = _a._listenToPropsArray, _listenToPropsArray = _c === void 0 ? [] : _c, _d = _a._listenToPropsHash, _listenToPropsHash = _d === void 0 ? {} : _d;\n // process props spec...\n var props = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* collectSpecs */])(spec, 'props');\n if (props) {\n var allProps = spec._props = __assign({}, _props, props);\n var _e = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"d\" /* compileSpecs */])(allProps), propTypes = _e.propTypes, defaults_1 = _e.defaults, watchers = _e.watchers, changeHandlers = _e.changeHandlers;\n spec.propTypes = propTypes;\n if (defaults_1)\n spec.getDefaultProps = function () { return defaults_1; };\n if (watchers) {\n spec.mixins.unshift(WatchersMixin);\n spec._watchers = watchers;\n }\n if (changeHandlers) {\n spec.mixins.unshift(ChangeHandlersMixin);\n spec._changeHandlers = changeHandlers;\n }\n delete spec.props;\n }\n // compile pure render mixin\n if (spec._props && (spec.pureRender || pureRender)) {\n spec.mixins.push(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__pureRender__[\"a\" /* default */])(spec._props));\n }\n}\n/**\n * ChangeHandlers are fired in sequence upon props replacement.\n * Fires _after_ UI is updated. Used for managing events subscriptions.\n */\nvar ChangeHandlersMixin = {\n componentDidMount: function () {\n handlePropsChanges(this, {}, this.props);\n },\n componentDidUpdate: function (prev) {\n handlePropsChanges(this, prev, this.props);\n },\n componentWillUnmount: function () {\n handlePropsChanges(this, this.props, {});\n }\n};\nfunction handlePropsChanges(component, prev, next) {\n var _changeHandlers = component._changeHandlers;\n for (var name_1 in _changeHandlers) {\n if (prev[name_1] !== next[name_1]) {\n for (var _i = 0, _a = _changeHandlers[name_1]; _i < _a.length; _i++) {\n var handler = _a[_i];\n handler(next[name_1], prev[name_1], component);\n }\n }\n }\n}\n/**\n * Watchers works on props replacement and fires _before_ any change will be applied and UI is updated.\n * Fired in componentWillMount as well, which makes it a nice way to sync state from props.\n */\nvar WatchersMixin = {\n componentWillReceiveProps: function (next) {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_2 in _watchers) {\n if (next[name_2] !== props[name_2]) {\n _watchers[name_2].call(this, next[name_2], name_2);\n }\n }\n },\n componentWillMount: function () {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_3 in _watchers) {\n _watchers[name_3].call(this, props[name_3], name_3);\n }\n }\n};\n//# sourceMappingURL=props.js.map\n\n/***/ }),\n/* 16 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = createPureRenderMixin;\nfunction createPureRenderMixin(props) {\n var ctorBody = ['var v; this._s = s && s._changeToken'], isChangedBody = ['var v; return ( s && s._changeToken !== t._s )'];\n for (var name_1 in props) {\n var propExpr = \"( ( v = p.\" + name_1 + \") && v._changeToken ) || v\";\n ctorBody.push(\"this.\" + name_1 + \"= \" + propExpr);\n isChangedBody.push(\"t.\" + name_1 + \" !== (\" + propExpr + \")\");\n }\n var ChangeTokens = new Function('p', 's', ctorBody.join(';')), isChanged = new Function('t', 'p', 's', isChangedBody.join('||'));\n ChangeTokens.prototype = null;\n return {\n _changeTokens: null,\n shouldComponentUpdate: function (nextProps) {\n return isChanged(this._changeTokens, nextProps, this.state);\n },\n componentDidMount: function () {\n this._changeTokens = new ChangeTokens(this.props, this.state);\n },\n componentDidUpdate: function () {\n this._changeTokens = new ChangeTokens(this.props, this.state);\n }\n };\n}\n;\n//# sourceMappingURL=pureRender.js.map\n\n/***/ }),\n/* 17 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = process;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__state__ = __webpack_require__(7);\n\n\n\nfunction process(spec, baseProto) {\n var store = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* collectSpecs */])(spec, 'store');\n if (store) {\n delete spec.store;\n if (store instanceof __WEBPACK_IMPORTED_MODULE_1_type_r__[\"Store\"]) {\n // Direct reference to an existing store. Put it to the prototype.\n spec.store = store;\n spec.mixins.push(ExternalStoreMixin);\n }\n else {\n spec.Store = store;\n spec.mixins.push(InternalStoreMixin);\n spec.mixins.push(__WEBPACK_IMPORTED_MODULE_2__state__[\"b\" /* UpdateOnNestedChangesMixin */]);\n }\n spec.mixins.push(ExposeStoreMixin);\n }\n}\n/**\n * Attached whenever the store declaration of any form is present in the component.\n */\nvar ExposeStoreMixin = {\n childContext: {\n _nestedStore: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"Store\"]\n },\n getChildContext: function () {\n return { _nestedStore: this.store };\n },\n getStore: function () {\n return this.store;\n },\n // Will be called by the store when the lookup will fail.\n get: function (key) {\n // Ask upper store.\n var store = __WEBPACK_IMPORTED_MODULE_2__state__[\"c\" /* StateMixin */].getStore.call(this, key);\n return store && store.get(key);\n }\n};\n/**\n * External store must just track the changes and trigger render.\n * TBD: don't use it yet.\n */\nvar ExternalStoreMixin = {\n componentDidMount: function () {\n // Start UI updates on state changes.\n this.listenTo(this.store, 'change', this.asyncUpdate);\n }\n};\nvar InternalStoreMixin = {\n componentWillMount: function () {\n var store = this.store = new this.Store();\n store._owner = this;\n store._ownerKey = 'store';\n },\n componentWillUnmount: function () {\n this.store._ownerKey = this.store._owner = void 0;\n this.store.dispose();\n this.store = void 0;\n }\n};\n//# sourceMappingURL=store.js.map\n\n/***/ }),\n/* 18 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__valuelink_link__ = __webpack_require__(20);\n/**\n * Import ValueLink library\n * Define value links binding mixins to the Record and Collection\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]);\n__WEBPACK_IMPORTED_MODULE_0_type_r__[\"Mixable\"].mixTo(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]);\n/**\n * Record\n */\n__WEBPACK_IMPORTED_MODULE_0_type_r__[\"Record\"].mixins({\n // Link to the record's attribute by its key.\n linkAt: function (key) {\n return cacheLink(getLinksCache(this), this, key);\n },\n // Link to the attribute of the record's tree by symbolic path.\n linkPath: function (path, options) {\n return new RecordDeepLink(this, path, options);\n },\n // Link all (or listed) attributes and return links cache.\n linkAll: function () {\n var links = getLinksCache(this);\n if (arguments.length) {\n for (var i = 0; i < arguments.length; i++) {\n cacheLink(links, this, arguments[i]);\n }\n }\n else {\n var attributes = this.attributes;\n for (var key in attributes) {\n attributes[key] === void 0 || cacheLink(links, this, key);\n }\n }\n return links;\n }\n});\n/**\n * Link to Type-R's record attribute.\n * Strict evaluation of value, lazy evaluation of validation error.\n * Links are cached in the records\n */\nvar RecordLink = (function (_super) {\n __extends(RecordLink, _super);\n function RecordLink(record, attr, value) {\n var _this = _super.call(this, value) || this;\n _this.record = record;\n _this.attr = attr;\n return _this;\n }\n RecordLink.prototype.set = function (x) {\n this.record[this.attr] = x;\n };\n Object.defineProperty(RecordLink.prototype, \"error\", {\n get: function () {\n return this._error === void 0 ?\n this.record.getValidationError(this.attr) :\n this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n return RecordLink;\n}(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]));\nvar RecordDeepLink = (function (_super) {\n __extends(RecordDeepLink, _super);\n function RecordDeepLink(record, path, options) {\n var _this = _super.call(this, record.deepGet(path)) || this;\n _this.record = record;\n _this.path = path;\n _this.options = options;\n return _this;\n }\n Object.defineProperty(RecordDeepLink.prototype, \"error\", {\n get: function () {\n if (this._error === void 0) {\n this._error = this.record.deepValidationError(this.path) || null;\n }\n return this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(RecordDeepLink.prototype, \"_changeToken\", {\n get: function () {\n return this.record._changeToken;\n },\n enumerable: true,\n configurable: true\n });\n RecordDeepLink.prototype.set = function (x) {\n this.record.deepSet(this.path, x, this.options);\n };\n return RecordDeepLink;\n}(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]));\nfunction getLinksCache(record) {\n return record._links || (record._links = new record.Attributes({}));\n}\nfunction cacheLink(links, record, key) {\n var cached = links[key], value = record[key];\n return cached && cached.value === value ? cached\n : links[key] = new RecordLink(record, key, value);\n}\n/***********************************\n * Collection\n */\n__WEBPACK_IMPORTED_MODULE_0_type_r__[\"Record\"].Collection.mixins({\n // Boolean link to the record's presence in the collection\n linkContains: function (record) {\n return new CollectionLink(this, record);\n },\n // Link to collection's property\n linkAt: function (prop) {\n var _this = this;\n return __WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */].value(this[prop], function (x) { return _this[prop] = x; });\n }\n});\n/**\n * Boolean link to presence of NestedType's record in collection.\n * Strict evaluation of value, no error.\n * Safe implementation of _changeToken.\n */\nvar CollectionLink = (function (_super) {\n __extends(CollectionLink, _super);\n function CollectionLink(collection, record) {\n var _this = _super.call(this, Boolean(collection._byId[record.cid])) || this;\n _this.collection = collection;\n _this.record = record;\n return _this;\n }\n CollectionLink.prototype.set = function (x) {\n this.collection.toggle(this.record, x);\n };\n return CollectionLink;\n}(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]));\n//# sourceMappingURL=link.js.map\n\n/***/ }),\n/* 19 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = helpers;\n/* unused harmony export objectHelpers */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return arrayHelpers; });\nvar ArrayProto = Array.prototype, ObjectProto = Object.prototype;\nfunction helpers(value) {\n if (value && typeof value === 'object') {\n switch (Object.getPrototypeOf(value)) {\n case ArrayProto: return arrayHelpers;\n case ObjectProto: return objectHelpers;\n }\n }\n return dummyHelpers;\n}\n// Do nothing for types other than Array and plain Object.\nvar dummyHelpers = {\n clone: function (value) { return value; },\n map: function (link, fun) { return []; },\n remove: function (value) { return value; }\n};\n// `map` and `clone` for plain JS objects\nvar objectHelpers = {\n // Map through the link to object\n map: function (link, iterator) {\n var mapped = [];\n for (var key in link.value) {\n var element = iterator(link.at(key), key);\n element === void 0 || (mapped.push(element));\n }\n return mapped;\n },\n remove: function (object, key) {\n delete object[key];\n return object;\n },\n // Shallow clone plain JS object\n clone: function (object) {\n var cloned = {};\n for (var key in object) {\n cloned[key] = object[key];\n }\n return cloned;\n }\n};\n// `map` and `clone` helpers for arrays.\nvar arrayHelpers = {\n // Shallow clone array\n clone: function (array) {\n return array.slice();\n },\n remove: function (array, i) {\n array.splice(i, 1);\n return array;\n },\n // Map through the link to array\n map: function (link, iterator) {\n var length = link.value.length, mapped = Array(length);\n for (var i = 0, j = 0; i < length; i++) {\n var y = iterator(link.at(i), i);\n y === void 0 || (mapped[j++] = y);\n }\n mapped.length === j || (mapped.length = j);\n return mapped;\n }\n};\n//# sourceMappingURL=helpers.js.map\n\n/***/ }),\n/* 20 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Link; });\n/* unused harmony export CustomLink */\n/* unused harmony export CloneLink */\n/* unused harmony export EqualsLink */\n/* unused harmony export EnabledLink */\n/* unused harmony export ContainsLink */\n/* unused harmony export LinkAt */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__helpers__ = __webpack_require__(19);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * Advanced React links for purely functional two-way data binding\n *\n * MIT License, (c) 2016 Vlad Balin, Volicon.\n */\n\n// Main Link class. All links must extend it.\nvar Link = (function () {\n // create \n function Link(value) {\n this.value = value;\n }\n // Create custom link to arbitrary value\n Link.value = function (value, set) {\n return new CustomLink(value, set);\n };\n Object.defineProperty(Link.prototype, \"validationError\", {\n // DEPRECATED: Old error holder for backward compatibility with Volicon code base\n get: function () { return this.error; },\n enumerable: true,\n configurable: true\n });\n Link.prototype.onChange = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n handler(x);\n _this.set(x);\n });\n };\n Object.defineProperty(Link.prototype, \"props\", {\n // \n get: function () {\n var _this = this;\n return typeof this.value === 'boolean' ? {\n checked: this.value,\n onChange: function (e) { return _this.set(Boolean(e.target.checked)); }\n } : {\n value: this.value,\n onChange: function (e) { return _this.set(e.target.value); }\n };\n },\n enumerable: true,\n configurable: true\n });\n // DEPRECATED: Old React method for backward compatibility\n Link.prototype.requestChange = function (x) {\n this.set(x);\n };\n // Immediately update the link value using given transform function.\n Link.prototype.update = function (transform, e) {\n var next = transform(this.clone(), e);\n next === void 0 || this.set(next);\n };\n // Create new link which applies transform function on set.\n Link.prototype.pipe = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n var next = handler(x, _this.value);\n next === void 0 || _this.set(next);\n });\n };\n // Create UI event handler function which will update the link with a given transform function.\n Link.prototype.action = function (transform) {\n var _this = this;\n return function (e) { return _this.update(transform, e); };\n };\n Link.prototype.equals = function (truthyValue) {\n return new EqualsLink(this, truthyValue);\n };\n Link.prototype.enabled = function (defaultValue) {\n return new EnabledLink(this, defaultValue || \"\");\n };\n // Array-only links methods\n Link.prototype.contains = function (element) {\n return new ContainsLink(this, element);\n };\n Link.prototype.push = function () {\n var array = __WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* arrayHelpers */].clone(this.value);\n Array.prototype.push.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.unshift = function () {\n var array = __WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* arrayHelpers */].clone(this.value);\n Array.prototype.unshift.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.splice = function () {\n var array = __WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* arrayHelpers */].clone(this.value);\n Array.prototype.splice.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.map = function (iterator) {\n return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* helpers */])(this.value).map(this, iterator);\n };\n Link.prototype.removeAt = function (key) {\n var value = this.value, _ = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* helpers */])(value);\n this.set(_.remove(_.clone(value), key));\n };\n Link.prototype.at = function (key) {\n return new LinkAt(this, key);\n };\n Link.prototype.clone = function () {\n var value = this.value;\n return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* helpers */])(value).clone(value);\n };\n Link.prototype.pick = function () {\n var links = {};\n for (var i = 0; i < arguments.length; i++) {\n var key = arguments[i];\n links[key] = new LinkAt(this, key);\n }\n return links;\n };\n /**\n * Validate link with validness predicate and optional custom error object. Can be chained.\n */\n Link.prototype.check = function (whenValid, error) {\n if (!this.error && !whenValid(this.value)) {\n this.error = error || whenValid.error || defaultError;\n }\n return this;\n };\n return Link;\n}());\n\nvar CustomLink = (function (_super) {\n __extends(CustomLink, _super);\n function CustomLink(value, set) {\n var _this = _super.call(this, value) || this;\n _this.set = set;\n return _this;\n }\n CustomLink.prototype.set = function (x) { };\n return CustomLink;\n}(Link));\n\nvar CloneLink = (function (_super) {\n __extends(CloneLink, _super);\n function CloneLink(parent, set) {\n var _this = _super.call(this, parent.value) || this;\n _this.set = set;\n var error = parent.error;\n if (error)\n _this.error = error;\n return _this;\n }\n CloneLink.prototype.set = function (x) { };\n return CloneLink;\n}(Link));\n\nvar EqualsLink = (function (_super) {\n __extends(EqualsLink, _super);\n function EqualsLink(parent, truthyValue) {\n var _this = _super.call(this, parent.value === truthyValue) || this;\n _this.parent = parent;\n _this.truthyValue = truthyValue;\n return _this;\n }\n EqualsLink.prototype.set = function (x) {\n this.parent.set(x ? this.truthyValue : null);\n };\n return EqualsLink;\n}(Link));\n\nvar EnabledLink = (function (_super) {\n __extends(EnabledLink, _super);\n function EnabledLink(parent, defaultValue) {\n var _this = _super.call(this, parent.value != null) || this;\n _this.parent = parent;\n _this.defaultValue = defaultValue;\n return _this;\n }\n EnabledLink.prototype.set = function (x) {\n this.parent.set(x ? this.defaultValue : null);\n };\n return EnabledLink;\n}(Link));\n\nvar ContainsLink = (function (_super) {\n __extends(ContainsLink, _super);\n function ContainsLink(parent, element) {\n var _this = _super.call(this, parent.value.indexOf(element) >= 0) || this;\n _this.parent = parent;\n _this.element = element;\n return _this;\n }\n ContainsLink.prototype.set = function (x) {\n var _this = this;\n var next = Boolean(x);\n if (this.value !== next) {\n var arr = this.parent.value, nextValue = x ? arr.concat(this.element) : arr.filter(function (el) { return el !== _this.element; });\n this.parent.set(nextValue);\n }\n };\n return ContainsLink;\n}(Link));\n\nvar defaultError = 'Invalid value';\n/**\n * Link to array or object element enclosed in parent link.\n * Performs purely functional update of the parent, shallow copying its value on `set`.\n */\nvar LinkAt = (function (_super) {\n __extends(LinkAt, _super);\n function LinkAt(parent, key) {\n var _this = _super.call(this, parent.value[key]) || this;\n _this.parent = parent;\n _this.key = key;\n return _this;\n }\n LinkAt.prototype.remove = function () {\n this.parent.removeAt(this.key);\n };\n // Set new element value to parent array or object, performing purely functional update.\n LinkAt.prototype.set = function (x) {\n var _this = this;\n if (this.value !== x) {\n this.parent.update(function (value) {\n value[_this.key] = x;\n return value;\n });\n }\n };\n ;\n return LinkAt;\n}(Link));\n\n//# sourceMappingURL=link.js.map\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (false) {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n\n\nvar emptyFunction = __webpack_require__(21);\nvar invariant = __webpack_require__(22);\nvar ReactPropTypesSecret = __webpack_require__(24);\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n invariant(\n false,\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim\n };\n\n ReactPropTypes.checkPropTypes = emptyFunction;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n\n\n/***/ })\n/******/ ]);\n});\n\n\n// WEBPACK FOOTER //\n// dist/index.min.js"," \t// The module cache\n \tvar installedModules = {};\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// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\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, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\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 = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 11);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap c3e03e34f82c95bc5b3e","module.exports = __WEBPACK_EXTERNAL_MODULE_0__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"commonjs\":\"nestedtypes\",\"commonjs2\":\"nestedtypes\",\"amd\":\"nestedtypes\",\"root\":\"Nested\"}\n// module id = 0\n// module chunks = 0","import * as React from 'react';\nimport { define, mixins } from 'type-r';\nimport { Node, Element } from './define';\nimport Link from './link';\nimport { Component } from './component';\n// extend React namespace\nvar ReactMVx = Object.create(React);\n// Make it compatible with ES6 module format.\nReactMVx.default = ReactMVx;\n// listenToProps, listenToState, model, attributes, Model\nReactMVx.define = define;\nReactMVx.mixins = mixins;\nReactMVx.Node = Node.value(null);\nReactMVx.Element = Element.value(null);\nReactMVx.Link = Link;\nReactMVx.Component = Component;\nvar assignToState = ReactMVx.assignToState = function (key) {\n return function (prop) {\n this.state.assignFrom((_a = {}, _a[key] = prop && prop instanceof Link ? prop.value : prop, _a));\n var _a;\n };\n};\nexport default ReactMVx;\nexport { define, mixins, Node, Element, Link, Component, assignToState };\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/index.js\n// module id = 1\n// module chunks = 0","import * as PropTypes from 'prop-types';\nimport { Record, tools } from 'type-r';\nexport function collectSpecs(spec, name) {\n var attributes = null;\n // Scan through local mixin, and gather specs. Refactor it later, it's not good. At all.\n for (var i = spec.mixins.length - 1; i >= 0; i--) {\n var mixin = spec.mixins[i], mixinAttrs = mixin[name];\n if (mixinAttrs) {\n attributes || (attributes = {});\n tools.assign(attributes, mixinAttrs);\n }\n }\n // Merge it with local data.\n var specAttrs = spec[name];\n if (specAttrs) {\n if (attributes) {\n tools.assign(attributes, specAttrs);\n }\n else {\n attributes = specAttrs;\n }\n }\n return attributes;\n}\nexport function compileSpecs(props) {\n var propTypes = {}, \n // Create NestedTypes model definition to process props spec.\n modelProto = Record.defaults(props).prototype;\n var defaults, watchers, changeHandlers;\n modelProto.forEachAttr(modelProto._attributes, function (spec, name) {\n // Skip auto-generated `id` attribute.\n if (name !== 'id') {\n var value = spec.value, type = spec.type, options = spec.options;\n // Translate props type to the propTypes guard.\n propTypes[name] = translateType(type, options.isRequired);\n if (options._onChange) {\n watchers || (watchers = {});\n watchers[name] = toLocalWatcher(options._onChange);\n }\n // Handle listening to event maps...\n if (options.changeHandlers && options.changeHandlers.length) {\n changeHandlers || (changeHandlers = {});\n changeHandlers[name] = options.changeHandlers;\n }\n // Handle listening to props changes...\n if (options.changeEvents) {\n changeHandlers || (changeHandlers = {});\n var handlers = changeHandlers[name] || (changeHandlers[name] = []), changeEvents_1 = typeof options.changeEvents === 'string' ? options.changeEvents : null;\n handlers.push(function (next, prev, component) {\n prev && component.stopListening(prev);\n next && component.listenTo(next, changeEvents_1 || next._changeEventName, component.asyncUpdate);\n });\n }\n // If default value is explicitly provided...\n if (value !== void 0) {\n //...append it to getDefaultProps function.\n defaults || (defaults = {});\n defaults[name] = spec.convert(value);\n }\n }\n });\n return { propTypes: propTypes, defaults: defaults, watchers: watchers, changeHandlers: changeHandlers };\n}\nfunction toLocalWatcher(ref) {\n return typeof ref === 'function' ? ref : function (value, name) {\n this[ref] && this[ref](value, name);\n };\n}\nvar Node = (function () {\n function Node() {\n }\n return Node;\n}());\nexport { Node };\nvar Element = (function () {\n function Element() {\n }\n return Element;\n}());\nexport { Element };\nfunction translateType(Type, isRequired) {\n var T = _translateType(Type);\n return isRequired ? T.isRequired : T;\n}\nfunction _translateType(Type) {\n switch (Type) {\n case Number:\n case Number.integer:\n return PropTypes.number;\n case String:\n return PropTypes.string;\n case Boolean:\n return PropTypes.bool;\n case Array:\n return PropTypes.array;\n case Function:\n return PropTypes.func;\n case Object:\n return PropTypes.object;\n case Node:\n return PropTypes.node;\n case Element:\n return PropTypes.element;\n case void 0:\n case null:\n return PropTypes.any;\n default:\n return PropTypes.instanceOf(Type);\n }\n}\n//# sourceMappingURL=typeSpecs.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/typeSpecs.js\n// module id = 2\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_3__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"commonjs\":\"react\",\"commonjs2\":\"react\",\"amd\":\"react\",\"root\":\"React\"}\n// module id = 3\n// module chunks = 0","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/prop-types/index.js\n// module id = 4\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_5__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"commonjs\":\"react-dom\",\"commonjs2\":\"react-dom\",\"amd\":\"react-dom\",\"root\":\"ReactDOM\"}\n// module id = 5\n// module chunks = 0","import processStore from './store';\nimport processState from './state';\nimport processContext from './context';\nimport processCommons from './common';\nimport processProps from './props';\nexport default function process(spec, baseProto) {\n if (baseProto === void 0) { baseProto = {}; }\n // Initialize mixins placeholder...\n spec.mixins || (spec.mixins = []);\n processStore(spec, baseProto);\n processState(spec, baseProto);\n processContext(spec, baseProto);\n processProps(spec, baseProto);\n processCommons(spec, baseProto);\n return spec;\n}\n;\nexport { Node, Element } from './typeSpecs';\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/index.js\n// module id = 6\n// module chunks = 0","/*****************\n * State\n */\nimport { collectSpecs } from './typeSpecs';\nimport { Record, Store } from 'type-r';\nexport default function process(spec, baseProto) {\n // process state spec...\n var attributes = collectSpecs(spec, 'state');\n if (attributes || baseProto.State) {\n var BaseModel = baseProto.State || Record;\n spec.State = attributes ? (typeof attributes === 'function' ? attributes : BaseModel.defaults(attributes)) : BaseModel;\n spec.mixins.push(StateMixin);\n spec.mixins.push(UpdateOnNestedChangesMixin);\n delete spec.state;\n delete spec.attributes;\n }\n}\nexport var StateMixin = {\n //state : null,\n componentWillMount: function () {\n // props.__keepState is used to workaround issues in Backbone intergation layer\n var state = this.state = this.props.__keepState || new this.State();\n // Take ownership on state...\n state._owner = this;\n state._ownerKey = 'state';\n },\n context: {\n _nestedStore: Store\n },\n // reference global store to fix model's store locator\n getStore: function () {\n // Attempt to get the store from the context first. Then - fallback to the state's default store.\n // TBD: Need to figure out a good way of managing local stores.\n var context, state;\n return ((context = this.context) && context._nestedStore) ||\n ((state = this.state) && state._defaultStore);\n },\n componentWillUnmount: function () {\n var state = this.state;\n state._owner = state._ownerKey = void 0;\n this._preventDispose /* hack for component-view to preserve the state */ || state.dispose();\n this.state = void 0;\n }\n};\nexport var UpdateOnNestedChangesMixin = {\n _onChildrenChange: function () { },\n componentDidMount: function () {\n this._onChildrenChange = this.asyncUpdate;\n }\n};\n//# sourceMappingURL=state.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/state.js\n// module id = 7\n// module chunks = 0","import * as React from 'react';\nimport ReactDOM from 'react-dom';\nimport { tools } from 'type-r';\nwindow.Page || (window.Page = { forceResize: function () { } });\nexport default function use(View) {\n var dispose = View.prototype.dispose || function () { }, setElement = View.prototype.setElement;\n var ComponentView = View.extend({\n reactClass: null,\n props: {},\n element: null,\n initialize: function (props) {\n // memorise arguments to pass to React\n this.options = props || {};\n },\n setElement: function () {\n this.unmountComponent(true);\n return setElement.apply(this, arguments);\n },\n // cached instance of react component...\n component: null,\n prevState: null,\n resize: function () {\n window.Page.forceResize();\n },\n render: function () {\n var options = this.prevState ? tools.fastAssign({ __keepState: this.prevState }, this.options) : this.options, element = React.createElement(this.reactClass, options), component = ReactDOM.render(element, this.el);\n this.component || this.mountComponent(component);\n },\n mountComponent: function (component) {\n this.component = component;\n this.prevState = null;\n component.trigger && this.listenTo(component, 'all', function () {\n this.trigger.apply(this, arguments);\n });\n },\n unmountComponent: function (keepModel) {\n var component = this.component;\n if (component) {\n this.prevState = component.state;\n if (component.trigger) {\n this.stopListening(component);\n }\n component._preventDispose = Boolean(keepModel);\n ReactDOM.unmountComponentAtNode(this.el);\n this.component = null;\n }\n },\n dispose: function () {\n this.unmountComponent();\n return dispose.apply(this, arguments);\n }\n });\n Object.defineProperty(ComponentView.prototype, 'model', {\n get: function () {\n this.component || this.render();\n return this.component && this.component.state;\n }\n });\n return ComponentView;\n}\n//# sourceMappingURL=component-view.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/component-view.js\n// module id = 8\n// module chunks = 0","var __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\nimport { Component } from './react-mvx';\nvar dontAutobind = [\n 'State', 'Store', 'constructor',\n 'componentWillMount', 'componentDidMount', 'componentWillReceiveProps', 'shouldComponentUpdate',\n 'componentWillUpdate', 'componentDidUpdate', 'componentWillUnmount',\n 'render', 'getDefaultProps', 'getChildContext'\n];\n/**\n * ES5 components definition factory\n */\nexport default function createClass(_a) {\n var statics = _a.statics, a_spec = __rest(_a, [\"statics\"]);\n // Gather all methods to pin them to `this` later.\n var methods = [];\n var Subclass = Component.extend(__assign({ \n // Override constructor to autobind all the methods...\n constructor: function () {\n Component.apply(this, this.arguments);\n for (var _i = 0, methods_1 = methods; _i < methods_1.length; _i++) {\n var method = methods_1[_i];\n this[method] = this[method].bind(this);\n }\n } }, a_spec), statics);\n // Need to bind methods from mixins as well, so populate it here.\n var Proto = Subclass.prototype;\n for (var key in Proto) {\n if (Proto.hasOwnProperty(key) && dontAutobind.indexOf(key) === -1 && typeof Proto[key] === 'function') {\n methods.push(key);\n }\n }\n return Subclass;\n}\n//# sourceMappingURL=createClass.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/createClass.js\n// module id = 9\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport React from './react-mvx';\nimport { tools } from 'type-r';\nvar notEqual = tools.notEqual;\nvar BackboneView = (function (_super) {\n __extends(BackboneView, _super);\n function BackboneView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.saveRef = function (element) {\n _this.root = element;\n };\n return _this;\n }\n BackboneView.prototype.shouldComponentUpdate = function (next) {\n var props = this.props;\n return next.View !== props.View || notEqual(next.options, props.options);\n };\n BackboneView.prototype.hasUnsavedChanges = function () {\n var view = this.view;\n return view && (typeof view.hasUnsavedChanges === 'function' ? view.hasUnsavedChanges() : view.hasUnsavedChanges);\n };\n BackboneView.prototype.render = function () {\n return React.createElement('div', {\n ref: this.saveRef,\n className: this.props.className\n });\n };\n BackboneView.prototype.componentDidMount = function () {\n this._mountView();\n };\n BackboneView.prototype.componentDidUpdate = function () {\n this._dispose();\n this._mountView();\n };\n BackboneView.prototype.componentWillUnmount = function () {\n this._dispose();\n };\n BackboneView.prototype._mountView = function () {\n var el = this.root, p = this.props;\n var view = this.view = p.options ? new p.View(p.options) : new p.View();\n el.appendChild(view.el);\n view.render();\n };\n BackboneView.prototype._dispose = function () {\n var view = this.view;\n if (view) {\n if (view.dispose) {\n view.dispose();\n }\n else {\n view.stopListening();\n view.off();\n }\n this.root.innerHTML = \"\";\n this.view = null;\n }\n };\n return BackboneView;\n}(React.Component));\nexport default BackboneView;\n//# sourceMappingURL=view-element.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/view-element.js\n// module id = 10\n// module chunks = 0","// Re-export react-mvx\nimport ReactMVx from './react-mvx';\nvar NestedReact = Object.create(ReactMVx);\nexport default NestedReact;\nexport * from './react-mvx';\n// NestedReact backward compatibility layer\nimport ReactDOM from 'react-dom';\nimport Nested, { View, Record } from 'type-r';\nimport * as PropTypes from 'prop-types';\nimport subview from './view-element';\nNestedReact.subview = subview;\nexport { subview };\nimport use from './component-view';\nimport createClass from './createClass';\nNestedReact.createClass = createClass;\nObject.defineProperty(NestedReact, 'PropTypes', { value: PropTypes });\nexport { PropTypes, createClass };\nvar BaseView;\n// export hook to override base View class used...\nexport function useView(View) {\n BaseView = use(View);\n}\nvar define = NestedReact.Component.define;\nNestedReact.Component.define = function (protoProps, staticProps) {\n this.View = BaseView.extend({ reactClass: this });\n return define.call(this, protoProps, staticProps);\n};\n// Deprecated API for backward compatibility\nvar RecordProto = Record.prototype;\nRecordProto.getLink = RecordProto.linkAt;\nRecordProto.deepLink = RecordProto.linkPath;\nvar CollectionProto = Record.Collection.prototype;\nCollectionProto.hasLink = CollectionProto.linkContains;\nuseView(View);\n// Extend react components to have backbone-style jquery accessors\nvar BackboneViewProps = {\n el: { get: function () { return ReactDOM.findDOMNode(this); } },\n $el: { get: function () { return Nested.$(this.el); } },\n $: { value: function (sel) { return this.$el.find(sel); } }\n};\nObject.defineProperties(NestedReact.Component.prototype, BackboneViewProps);\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/index.js\n// module id = 11\n// module chunks = 0","/**\n * React components\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\nimport * as React from 'react';\nimport { extendable, mixinRules, tools, Mixable } from 'type-r';\nimport processSpec from './define';\nvar reactMixinRules = {\n componentWillMount: 'reverse',\n componentDidMount: 'reverse',\n componentWillReceiveProps: 'reverse',\n shouldComponentUpdate: 'some',\n componentWillUpdate: 'reverse',\n componentDidUpdate: 'reverse',\n componentWillUnmount: 'sequence',\n state: 'merge',\n store: 'merge',\n props: 'merge',\n context: 'merge',\n childContext: 'merge',\n getChildContext: 'mergeSequence'\n};\nvar Component = (function (_super) {\n __extends(Component, _super);\n function Component() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Component.prototype.linkAt = function (key) {\n // Quick and dirty hack to suppres type error - refactor later.\n return this.state.linkAt(key);\n };\n Component.prototype.linkAll = function () {\n // Quick and dirty hack to suppres type error - refactor later.\n var state = this.state;\n return state.linkAll.apply(state, arguments);\n };\n Component.prototype.linkPath = function (path) {\n return this.state.linkPath(path);\n };\n Object.defineProperty(Component.prototype, \"links\", {\n get: function () {\n return this.state._links;\n },\n enumerable: true,\n configurable: true\n });\n Component.define = function (protoProps, staticProps) {\n var BaseClass = tools.getBaseClass(this), staticsDefinition = tools.getChangedStatics(this, 'state', 'store', 'props', 'context', 'childContext', 'pureRender'), combinedDefinition = tools.assign(staticsDefinition, protoProps || {});\n var definition = processSpec(combinedDefinition, this.prototype);\n var getDefaultProps = definition.getDefaultProps, propTypes = definition.propTypes, contextTypes = definition.contextTypes, childContextTypes = definition.childContextTypes, protoDefinition = __rest(definition, [\"getDefaultProps\", \"propTypes\", \"contextTypes\", \"childContextTypes\"]);\n if (getDefaultProps)\n this.defaultProps = definition.getDefaultProps();\n if (propTypes)\n this.propTypes = propTypes;\n if (contextTypes)\n this.contextTypes = contextTypes;\n if (childContextTypes)\n this.childContextTypes = childContextTypes;\n Mixable.define.call(this, protoDefinition, staticProps);\n return this;\n };\n Component.prototype.assignToState = function (x, key) {\n this.state.assignFrom((_a = {}, _a[key] = x, _a));\n var _a;\n };\n return Component;\n}(React.Component));\nComponent = __decorate([\n extendable,\n mixinRules(reactMixinRules)\n], Component);\nexport { Component };\n// Looks like React guys _really_ want to deprecated it. But no way.\n// We will work around their attempt.\nObject.defineProperty(Component.prototype, 'isMounted', {\n value: function isMounted() {\n return !this._disposed;\n }\n});\n//# sourceMappingURL=component.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/component.js\n// module id = 12\n// module chunks = 0","/**\n * attach async event processing and transactional support.\n */\nimport { tools, Events } from 'type-r';\nexport default function compile(spec, baseProto) {\n // Attach common mixin\n spec.mixins.push(CommonMixin);\n}\nexport function asyncUpdate() {\n this.shouldComponentUpdate === returnFalse || this._disposed || this.forceUpdate();\n}\nfunction returnFalse() { return false; }\n/**\n * Mixin which is attached to all components.\n */\nvar CommonMixin = tools.assign({\n componentWillUnmount: function () {\n // Prevent memory leaks when working with events.\n this.off();\n this.stopListening();\n // Mark component as disposed.\n this._disposed = true;\n },\n // Safe version of the forceUpdate suitable for asynchronous callbacks.\n asyncUpdate: asyncUpdate,\n /**\n * Performs transactional update for both props and state.\n * Suppress updates during the transaction, and force update aftewards.\n * Wrapping the sequence of changes in a transactions guarantees that\n * React component will be updated _after_ all the changes to the\n * both props and local state are applied.\n */\n transaction: function (fun) {\n var shouldComponentUpdate = this.shouldComponentUpdate, isRoot = shouldComponentUpdate !== returnFalse;\n if (isRoot) {\n this.shouldComponentUpdate = returnFalse;\n }\n var _a = this, state = _a.state, store = _a.store, withStore = store ? function (state) { return store.transaction(function () { return fun(state); }); } : fun;\n state ? state.transaction(withStore) : withStore(state);\n if (isRoot) {\n this.shouldComponentUpdate = shouldComponentUpdate;\n this.asyncUpdate();\n }\n }\n}, Events);\n//# sourceMappingURL=common.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/common.js\n// module id = 13\n// module chunks = 0","var __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nimport { compileSpecs, collectSpecs } from './typeSpecs';\nexport default function process(spec, _a) {\n var _b = _a._context, _context = _b === void 0 ? {} : _b, _c = _a._childContext, _childContext = _c === void 0 ? {} : _c;\n // process context specs...\n var context = collectSpecs(spec, 'context');\n if (context) {\n spec._context = __assign({}, _context, context);\n spec.contextTypes = compileSpecs(context).propTypes;\n delete spec.context;\n }\n // and child context specs...\n var childContext = collectSpecs(spec, 'childContext');\n if (childContext) {\n spec._childContext = __assign({}, _childContext, childContext);\n spec.childContextTypes = compileSpecs(childContext).propTypes;\n delete spec.childContext;\n }\n}\n//# sourceMappingURL=context.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/context.js\n// module id = 14\n// module chunks = 0","/**\n * Handle props specification and everything which is related:\n * - local listening to props changes\n * - pure render mixin\n */\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nimport { collectSpecs, compileSpecs } from './typeSpecs';\nimport createPureRenderMixin from './pureRender';\nexport default function process(spec, _a) {\n var pureRender = _a.pureRender, _b = _a._props, _props = _b === void 0 ? {} : _b, _c = _a._listenToPropsArray, _listenToPropsArray = _c === void 0 ? [] : _c, _d = _a._listenToPropsHash, _listenToPropsHash = _d === void 0 ? {} : _d;\n // process props spec...\n var props = collectSpecs(spec, 'props');\n if (props) {\n var allProps = spec._props = __assign({}, _props, props);\n var _e = compileSpecs(allProps), propTypes = _e.propTypes, defaults_1 = _e.defaults, watchers = _e.watchers, changeHandlers = _e.changeHandlers;\n spec.propTypes = propTypes;\n if (defaults_1)\n spec.getDefaultProps = function () { return defaults_1; };\n if (watchers) {\n spec.mixins.unshift(WatchersMixin);\n spec._watchers = watchers;\n }\n if (changeHandlers) {\n spec.mixins.unshift(ChangeHandlersMixin);\n spec._changeHandlers = changeHandlers;\n }\n delete spec.props;\n }\n // compile pure render mixin\n if (spec._props && (spec.pureRender || pureRender)) {\n spec.mixins.push(createPureRenderMixin(spec._props));\n }\n}\n/**\n * ChangeHandlers are fired in sequence upon props replacement.\n * Fires _after_ UI is updated. Used for managing events subscriptions.\n */\nvar ChangeHandlersMixin = {\n componentDidMount: function () {\n handlePropsChanges(this, {}, this.props);\n },\n componentDidUpdate: function (prev) {\n handlePropsChanges(this, prev, this.props);\n },\n componentWillUnmount: function () {\n handlePropsChanges(this, this.props, {});\n }\n};\nfunction handlePropsChanges(component, prev, next) {\n var _changeHandlers = component._changeHandlers;\n for (var name_1 in _changeHandlers) {\n if (prev[name_1] !== next[name_1]) {\n for (var _i = 0, _a = _changeHandlers[name_1]; _i < _a.length; _i++) {\n var handler = _a[_i];\n handler(next[name_1], prev[name_1], component);\n }\n }\n }\n}\n/**\n * Watchers works on props replacement and fires _before_ any change will be applied and UI is updated.\n * Fired in componentWillMount as well, which makes it a nice way to sync state from props.\n */\nvar WatchersMixin = {\n componentWillReceiveProps: function (next) {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_2 in _watchers) {\n if (next[name_2] !== props[name_2]) {\n _watchers[name_2].call(this, next[name_2], name_2);\n }\n }\n },\n componentWillMount: function () {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_3 in _watchers) {\n _watchers[name_3].call(this, props[name_3], name_3);\n }\n }\n};\n//# sourceMappingURL=props.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/props.js\n// module id = 15\n// module chunks = 0","export default function createPureRenderMixin(props) {\n var ctorBody = ['var v; this._s = s && s._changeToken'], isChangedBody = ['var v; return ( s && s._changeToken !== t._s )'];\n for (var name_1 in props) {\n var propExpr = \"( ( v = p.\" + name_1 + \") && v._changeToken ) || v\";\n ctorBody.push(\"this.\" + name_1 + \"= \" + propExpr);\n isChangedBody.push(\"t.\" + name_1 + \" !== (\" + propExpr + \")\");\n }\n var ChangeTokens = new Function('p', 's', ctorBody.join(';')), isChanged = new Function('t', 'p', 's', isChangedBody.join('||'));\n ChangeTokens.prototype = null;\n return {\n _changeTokens: null,\n shouldComponentUpdate: function (nextProps) {\n return isChanged(this._changeTokens, nextProps, this.state);\n },\n componentDidMount: function () {\n this._changeTokens = new ChangeTokens(this.props, this.state);\n },\n componentDidUpdate: function () {\n this._changeTokens = new ChangeTokens(this.props, this.state);\n }\n };\n}\n;\n//# sourceMappingURL=pureRender.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/pureRender.js\n// module id = 16\n// module chunks = 0","import { collectSpecs } from './typeSpecs';\nimport { Store } from 'type-r';\nimport { StateMixin, UpdateOnNestedChangesMixin } from './state';\nexport default function process(spec, baseProto) {\n var store = collectSpecs(spec, 'store');\n if (store) {\n delete spec.store;\n if (store instanceof Store) {\n // Direct reference to an existing store. Put it to the prototype.\n spec.store = store;\n spec.mixins.push(ExternalStoreMixin);\n }\n else {\n spec.Store = store;\n spec.mixins.push(InternalStoreMixin);\n spec.mixins.push(UpdateOnNestedChangesMixin);\n }\n spec.mixins.push(ExposeStoreMixin);\n }\n}\n/**\n * Attached whenever the store declaration of any form is present in the component.\n */\nvar ExposeStoreMixin = {\n childContext: {\n _nestedStore: Store\n },\n getChildContext: function () {\n return { _nestedStore: this.store };\n },\n getStore: function () {\n return this.store;\n },\n // Will be called by the store when the lookup will fail.\n get: function (key) {\n // Ask upper store.\n var store = StateMixin.getStore.call(this, key);\n return store && store.get(key);\n }\n};\n/**\n * External store must just track the changes and trigger render.\n * TBD: don't use it yet.\n */\nvar ExternalStoreMixin = {\n componentDidMount: function () {\n // Start UI updates on state changes.\n this.listenTo(this.store, 'change', this.asyncUpdate);\n }\n};\nvar InternalStoreMixin = {\n componentWillMount: function () {\n var store = this.store = new this.Store();\n store._owner = this;\n store._ownerKey = 'store';\n },\n componentWillUnmount: function () {\n this.store._ownerKey = this.store._owner = void 0;\n this.store.dispose();\n this.store = void 0;\n }\n};\n//# sourceMappingURL=store.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/store.js\n// module id = 17\n// module chunks = 0","/**\n * Import ValueLink library\n * Define value links binding mixins to the Record and Collection\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { Mixable, Record } from 'type-r';\nimport { Link } from './valuelink/link';\nexport default Link;\nMixable.mixTo(Link);\n/**\n * Record\n */\nRecord.mixins({\n // Link to the record's attribute by its key.\n linkAt: function (key) {\n return cacheLink(getLinksCache(this), this, key);\n },\n // Link to the attribute of the record's tree by symbolic path.\n linkPath: function (path, options) {\n return new RecordDeepLink(this, path, options);\n },\n // Link all (or listed) attributes and return links cache.\n linkAll: function () {\n var links = getLinksCache(this);\n if (arguments.length) {\n for (var i = 0; i < arguments.length; i++) {\n cacheLink(links, this, arguments[i]);\n }\n }\n else {\n var attributes = this.attributes;\n for (var key in attributes) {\n attributes[key] === void 0 || cacheLink(links, this, key);\n }\n }\n return links;\n }\n});\n/**\n * Link to Type-R's record attribute.\n * Strict evaluation of value, lazy evaluation of validation error.\n * Links are cached in the records\n */\nvar RecordLink = (function (_super) {\n __extends(RecordLink, _super);\n function RecordLink(record, attr, value) {\n var _this = _super.call(this, value) || this;\n _this.record = record;\n _this.attr = attr;\n return _this;\n }\n RecordLink.prototype.set = function (x) {\n this.record[this.attr] = x;\n };\n Object.defineProperty(RecordLink.prototype, \"error\", {\n get: function () {\n return this._error === void 0 ?\n this.record.getValidationError(this.attr) :\n this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n return RecordLink;\n}(Link));\nvar RecordDeepLink = (function (_super) {\n __extends(RecordDeepLink, _super);\n function RecordDeepLink(record, path, options) {\n var _this = _super.call(this, record.deepGet(path)) || this;\n _this.record = record;\n _this.path = path;\n _this.options = options;\n return _this;\n }\n Object.defineProperty(RecordDeepLink.prototype, \"error\", {\n get: function () {\n if (this._error === void 0) {\n this._error = this.record.deepValidationError(this.path) || null;\n }\n return this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(RecordDeepLink.prototype, \"_changeToken\", {\n get: function () {\n return this.record._changeToken;\n },\n enumerable: true,\n configurable: true\n });\n RecordDeepLink.prototype.set = function (x) {\n this.record.deepSet(this.path, x, this.options);\n };\n return RecordDeepLink;\n}(Link));\nfunction getLinksCache(record) {\n return record._links || (record._links = new record.Attributes({}));\n}\nfunction cacheLink(links, record, key) {\n var cached = links[key], value = record[key];\n return cached && cached.value === value ? cached\n : links[key] = new RecordLink(record, key, value);\n}\n/***********************************\n * Collection\n */\nRecord.Collection.mixins({\n // Boolean link to the record's presence in the collection\n linkContains: function (record) {\n return new CollectionLink(this, record);\n },\n // Link to collection's property\n linkAt: function (prop) {\n var _this = this;\n return Link.value(this[prop], function (x) { return _this[prop] = x; });\n }\n});\n/**\n * Boolean link to presence of NestedType's record in collection.\n * Strict evaluation of value, no error.\n * Safe implementation of _changeToken.\n */\nvar CollectionLink = (function (_super) {\n __extends(CollectionLink, _super);\n function CollectionLink(collection, record) {\n var _this = _super.call(this, Boolean(collection._byId[record.cid])) || this;\n _this.collection = collection;\n _this.record = record;\n return _this;\n }\n CollectionLink.prototype.set = function (x) {\n this.collection.toggle(this.record, x);\n };\n return CollectionLink;\n}(Link));\n//# sourceMappingURL=link.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/link.js\n// module id = 18\n// module chunks = 0","var ArrayProto = Array.prototype, ObjectProto = Object.prototype;\nexport function helpers(value) {\n if (value && typeof value === 'object') {\n switch (Object.getPrototypeOf(value)) {\n case ArrayProto: return arrayHelpers;\n case ObjectProto: return objectHelpers;\n }\n }\n return dummyHelpers;\n}\n// Do nothing for types other than Array and plain Object.\nvar dummyHelpers = {\n clone: function (value) { return value; },\n map: function (link, fun) { return []; },\n remove: function (value) { return value; }\n};\n// `map` and `clone` for plain JS objects\nexport var objectHelpers = {\n // Map through the link to object\n map: function (link, iterator) {\n var mapped = [];\n for (var key in link.value) {\n var element = iterator(link.at(key), key);\n element === void 0 || (mapped.push(element));\n }\n return mapped;\n },\n remove: function (object, key) {\n delete object[key];\n return object;\n },\n // Shallow clone plain JS object\n clone: function (object) {\n var cloned = {};\n for (var key in object) {\n cloned[key] = object[key];\n }\n return cloned;\n }\n};\n// `map` and `clone` helpers for arrays.\nexport var arrayHelpers = {\n // Shallow clone array\n clone: function (array) {\n return array.slice();\n },\n remove: function (array, i) {\n array.splice(i, 1);\n return array;\n },\n // Map through the link to array\n map: function (link, iterator) {\n var length = link.value.length, mapped = Array(length);\n for (var i = 0, j = 0; i < length; i++) {\n var y = iterator(link.at(i), i);\n y === void 0 || (mapped[j++] = y);\n }\n mapped.length === j || (mapped.length = j);\n return mapped;\n }\n};\n//# sourceMappingURL=helpers.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/valuelink/helpers.js\n// module id = 19\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * Advanced React links for purely functional two-way data binding\n *\n * MIT License, (c) 2016 Vlad Balin, Volicon.\n */\nimport { helpers, arrayHelpers } from './helpers';\n// Main Link class. All links must extend it.\nvar Link = (function () {\n // create \n function Link(value) {\n this.value = value;\n }\n // Create custom link to arbitrary value\n Link.value = function (value, set) {\n return new CustomLink(value, set);\n };\n Object.defineProperty(Link.prototype, \"validationError\", {\n // DEPRECATED: Old error holder for backward compatibility with Volicon code base\n get: function () { return this.error; },\n enumerable: true,\n configurable: true\n });\n Link.prototype.onChange = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n handler(x);\n _this.set(x);\n });\n };\n Object.defineProperty(Link.prototype, \"props\", {\n // \n get: function () {\n var _this = this;\n return typeof this.value === 'boolean' ? {\n checked: this.value,\n onChange: function (e) { return _this.set(Boolean(e.target.checked)); }\n } : {\n value: this.value,\n onChange: function (e) { return _this.set(e.target.value); }\n };\n },\n enumerable: true,\n configurable: true\n });\n // DEPRECATED: Old React method for backward compatibility\n Link.prototype.requestChange = function (x) {\n this.set(x);\n };\n // Immediately update the link value using given transform function.\n Link.prototype.update = function (transform, e) {\n var next = transform(this.clone(), e);\n next === void 0 || this.set(next);\n };\n // Create new link which applies transform function on set.\n Link.prototype.pipe = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n var next = handler(x, _this.value);\n next === void 0 || _this.set(next);\n });\n };\n // Create UI event handler function which will update the link with a given transform function.\n Link.prototype.action = function (transform) {\n var _this = this;\n return function (e) { return _this.update(transform, e); };\n };\n Link.prototype.equals = function (truthyValue) {\n return new EqualsLink(this, truthyValue);\n };\n Link.prototype.enabled = function (defaultValue) {\n return new EnabledLink(this, defaultValue || \"\");\n };\n // Array-only links methods\n Link.prototype.contains = function (element) {\n return new ContainsLink(this, element);\n };\n Link.prototype.push = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.push.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.unshift = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.unshift.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.splice = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.splice.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.map = function (iterator) {\n return helpers(this.value).map(this, iterator);\n };\n Link.prototype.removeAt = function (key) {\n var value = this.value, _ = helpers(value);\n this.set(_.remove(_.clone(value), key));\n };\n Link.prototype.at = function (key) {\n return new LinkAt(this, key);\n };\n Link.prototype.clone = function () {\n var value = this.value;\n return helpers(value).clone(value);\n };\n Link.prototype.pick = function () {\n var links = {};\n for (var i = 0; i < arguments.length; i++) {\n var key = arguments[i];\n links[key] = new LinkAt(this, key);\n }\n return links;\n };\n /**\n * Validate link with validness predicate and optional custom error object. Can be chained.\n */\n Link.prototype.check = function (whenValid, error) {\n if (!this.error && !whenValid(this.value)) {\n this.error = error || whenValid.error || defaultError;\n }\n return this;\n };\n return Link;\n}());\nexport { Link };\nvar CustomLink = (function (_super) {\n __extends(CustomLink, _super);\n function CustomLink(value, set) {\n var _this = _super.call(this, value) || this;\n _this.set = set;\n return _this;\n }\n CustomLink.prototype.set = function (x) { };\n return CustomLink;\n}(Link));\nexport { CustomLink };\nvar CloneLink = (function (_super) {\n __extends(CloneLink, _super);\n function CloneLink(parent, set) {\n var _this = _super.call(this, parent.value) || this;\n _this.set = set;\n var error = parent.error;\n if (error)\n _this.error = error;\n return _this;\n }\n CloneLink.prototype.set = function (x) { };\n return CloneLink;\n}(Link));\nexport { CloneLink };\nvar EqualsLink = (function (_super) {\n __extends(EqualsLink, _super);\n function EqualsLink(parent, truthyValue) {\n var _this = _super.call(this, parent.value === truthyValue) || this;\n _this.parent = parent;\n _this.truthyValue = truthyValue;\n return _this;\n }\n EqualsLink.prototype.set = function (x) {\n this.parent.set(x ? this.truthyValue : null);\n };\n return EqualsLink;\n}(Link));\nexport { EqualsLink };\nvar EnabledLink = (function (_super) {\n __extends(EnabledLink, _super);\n function EnabledLink(parent, defaultValue) {\n var _this = _super.call(this, parent.value != null) || this;\n _this.parent = parent;\n _this.defaultValue = defaultValue;\n return _this;\n }\n EnabledLink.prototype.set = function (x) {\n this.parent.set(x ? this.defaultValue : null);\n };\n return EnabledLink;\n}(Link));\nexport { EnabledLink };\nvar ContainsLink = (function (_super) {\n __extends(ContainsLink, _super);\n function ContainsLink(parent, element) {\n var _this = _super.call(this, parent.value.indexOf(element) >= 0) || this;\n _this.parent = parent;\n _this.element = element;\n return _this;\n }\n ContainsLink.prototype.set = function (x) {\n var _this = this;\n var next = Boolean(x);\n if (this.value !== next) {\n var arr = this.parent.value, nextValue = x ? arr.concat(this.element) : arr.filter(function (el) { return el !== _this.element; });\n this.parent.set(nextValue);\n }\n };\n return ContainsLink;\n}(Link));\nexport { ContainsLink };\nvar defaultError = 'Invalid value';\n/**\n * Link to array or object element enclosed in parent link.\n * Performs purely functional update of the parent, shallow copying its value on `set`.\n */\nvar LinkAt = (function (_super) {\n __extends(LinkAt, _super);\n function LinkAt(parent, key) {\n var _this = _super.call(this, parent.value[key]) || this;\n _this.parent = parent;\n _this.key = key;\n return _this;\n }\n LinkAt.prototype.remove = function () {\n this.parent.removeAt(this.key);\n };\n // Set new element value to parent array or object, performing purely functional update.\n LinkAt.prototype.set = function (x) {\n var _this = this;\n if (this.value !== x) {\n this.parent.update(function (value) {\n value[_this.key] = x;\n return value;\n });\n }\n };\n ;\n return LinkAt;\n}(Link));\nexport { LinkAt };\n//# sourceMappingURL=link.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/valuelink/link.js\n// module id = 20\n// module chunks = 0","\"use strict\";\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/fbjs/lib/emptyFunction.js\n// module id = 21\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (process.env.NODE_ENV !== 'production') {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/fbjs/lib/invariant.js\n// module id = 22\n// module chunks = 0","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n'use strict';\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\nvar invariant = require('fbjs/lib/invariant');\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n invariant(\n false,\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim\n };\n\n ReactPropTypes.checkPropTypes = emptyFunction;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/prop-types/factoryWithThrowingShims.js\n// module id = 23\n// module chunks = 0","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/prop-types/lib/ReactPropTypesSecret.js\n// module id = 24\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///dist/index.min.js","webpack:///webpack/bootstrap fd9bd0fa4263913507e5","webpack:///external {\"commonjs\":\"nestedtypes\",\"commonjs2\":\"nestedtypes\",\"amd\":\"nestedtypes\",\"root\":\"Nested\"}","webpack:///./lib/react-mvx/index.js","webpack:///external {\"commonjs\":\"react\",\"commonjs2\":\"react\",\"amd\":\"react\",\"root\":\"React\"}","webpack:///./lib/react-mvx/define/typeSpecs.js","webpack:///./lib/react-mvx/define/index.js","webpack:///./lib/react-mvx/define/state.js","webpack:///./node_modules/prop-types/index.js","webpack:///external {\"commonjs\":\"react-dom\",\"commonjs2\":\"react-dom\",\"amd\":\"react-dom\",\"root\":\"ReactDOM\"}","webpack:///./lib/index.js","webpack:///./lib/react-mvx/define/store.js","webpack:///./lib/react-mvx/define/context.js","webpack:///./node_modules/prop-types/factoryWithThrowingShims.js","webpack:///./node_modules/fbjs/lib/emptyFunction.js","webpack:///./node_modules/fbjs/lib/invariant.js","webpack:///./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack:///./lib/react-mvx/define/props.js","webpack:///./lib/react-mvx/define/pureRender.js","webpack:///./lib/react-mvx/link.js","webpack:///./lib/react-mvx/valuelink/link.js","webpack:///./lib/react-mvx/valuelink/helpers.js","webpack:///./lib/react-mvx/component.js","webpack:///./lib/view-element.js","webpack:///./lib/component-view.js","webpack:///./lib/createClass.js"],"names":["root","factory","exports","module","require","define","amd","this","__WEBPACK_EXTERNAL_MODULE_0__","__WEBPACK_EXTERNAL_MODULE_2__","__WEBPACK_EXTERNAL_MODULE_7__","modules","__webpack_require__","moduleId","installedModules","i","l","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","__webpack_exports__","assignToState","__WEBPACK_IMPORTED_MODULE_0_react__","__WEBPACK_IMPORTED_MODULE_1_type_r__","__WEBPACK_IMPORTED_MODULE_2__define__","__WEBPACK_IMPORTED_MODULE_3__link__","__WEBPACK_IMPORTED_MODULE_4__component__","ReactMVx","create","default","mixins","Node","value","Element","Link","Component","key","prop","state","assignFrom","_a","compileSpecs","props","defaults","watchers","changeHandlers","propTypes","modelProto","forEachAttr","_attributes","spec","type","options","translateType","isRequired","_onChange","toLocalWatcher","length","changeEvents","handlers","changeEvents_1","push","next","prev","component","stopListening","listenTo","_changeEventName","asyncUpdate","convert","ref","Type","T","_translateType","Number","integer","__WEBPACK_IMPORTED_MODULE_0_prop_types__","String","Boolean","Array","Function","onDefine","definition","BaseClass","__WEBPACK_IMPORTED_MODULE_1__store__","__WEBPACK_IMPORTED_MODULE_2__state__","__WEBPACK_IMPORTED_MODULE_3__context__","__WEBPACK_IMPORTED_MODULE_4__props__","__WEBPACK_IMPORTED_MODULE_0_type_r__","__WEBPACK_IMPORTED_MODULE_5__typeSpecs__","process","BaseComponentClass","State","ComponentState","_super","apply","arguments","__extends","attributes","__decorate","merge","StateMixin","UpdateOnNestedChangesMixin","extendStatics","setPrototypeOf","__proto__","b","__","constructor","decorators","target","desc","r","getOwnPropertyDescriptor","Reflect","decorate","_initializeState","__keepState","_owner","_ownerKey","context","_nestedStore","getStore","_defaultStore","componentWillUnmount","_preventDispose","dispose","_onChildrenChange","componentDidMount","useView","View","BaseView","__WEBPACK_IMPORTED_MODULE_5__component_view__","__WEBPACK_IMPORTED_MODULE_0__react_mvx__","__WEBPACK_IMPORTED_MODULE_1_react_dom__","__WEBPACK_IMPORTED_MODULE_1_react_dom___default","__WEBPACK_IMPORTED_MODULE_2_type_r__","__WEBPACK_IMPORTED_MODULE_2_type_r___default","__WEBPACK_IMPORTED_MODULE_3_prop_types__","__WEBPACK_IMPORTED_MODULE_4__view_element__","__WEBPACK_IMPORTED_MODULE_6__createClass__","NestedReact","subview","createClass","protoProps","staticProps","extend","reactClass","RecordProto","getLink","linkAt","deepLink","linkPath","CollectionProto","Collection","hasLink","linkContains","BackboneViewProps","el","a","findDOMNode","$el","$","sel","find","defineProperties","store","StoreClass","Store","ExternalStoreMixin","ExposeStoreMixin","BaseClass_1","InternalStore","attrbutes","InternalStoreMixin","__WEBPACK_IMPORTED_MODULE_1__state__","childContext","getChildContext","componentWillMount","_context","contextTypes","__WEBPACK_IMPORTED_MODULE_0__typeSpecs__","_childContext","childContextTypes","emptyFunction","invariant","ReactPropTypesSecret","shim","propName","componentName","location","propFullName","secret","getShim","ReactPropTypes","array","bool","func","number","string","symbol","any","arrayOf","element","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","makeEmptyFunction","arg","thatReturns","thatReturnsFalse","thatReturnsTrue","thatReturnsNull","thatReturnsThis","thatReturnsArgument","condition","format","e","f","validateFormat","error","undefined","Error","args","argIndex","replace","framesToPop","pureRender","_props","_b","defaultProps","_watchers","WatchersMixin","_changeHandlers","ChangeHandlersMixin","PropsChangeTokens","__WEBPACK_IMPORTED_MODULE_1__pureRender__","handlePropsChanges","name_1","_i","handler","componentDidUpdate","componentWillReceiveProps","name_2","name_3","createChangeTokensConstructor","propNames","keys","map","join","_hasChanges","updateChangeTokens","_propsChangeTokens","PureRenderMixin","shouldComponentUpdate","nextProps","getLinksCache","record","_links","AttributesCopy","cacheLink","links","cached","RecordLink","__WEBPACK_IMPORTED_MODULE_1__valuelink_link__","populate","path","RecordDeepLink","linkAll","attr","_this","set","x","_error","getValidationError","deepGet","deepValidationError","_changeToken","deepSet","CollectionLink","collection","_byId","cid","toggle","__WEBPACK_IMPORTED_MODULE_0__helpers__","CustomLink","onChange","CloneLink","checked","requestChange","update","transform","clone","pipe","action","equals","truthyValue","EqualsLink","enabled","defaultValue","EnabledLink","contains","ContainsLink","unshift","splice","iterator","removeAt","_","remove","at","LinkAt","pick","check","whenValid","defaultError","parent","indexOf","arr","nextValue","concat","filter","helpers","getPrototypeOf","ArrayProto","arrayHelpers","ObjectProto","objectHelpers","dummyHelpers","link","fun","mapped","cloned","slice","j","y","returnFalse","transaction","isRoot","withStore","_disposed","forceUpdate","protoValue","classLast","componentWillUpdate","classFirst","some","notEqual","BackboneView","saveRef","hasUnsavedChanges","view","render","createElement","className","_mountView","_dispose","appendChild","off","innerHTML","use","setElement","ComponentView","initialize","unmountComponent","prevState","resize","window","Page","forceResize","fastAssign","mountComponent","trigger","keepModel","unmountComponentAtNode","statics","a_spec","__rest","methods","Subclass","__assign","methods_1","method","bind","Proto","dontAutobind","assign","t","getOwnPropertySymbols"],"mappings":"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","file":"./dist/index.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"nestedtypes\"), require(\"react\"), require(\"react-dom\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"nestedtypes\", \"react\", \"react-dom\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"React\"] = factory(require(\"nestedtypes\"), require(\"react\"), require(\"react-dom\"));\n\telse\n\t\troot[\"React\"] = factory(root[\"Nested\"], root[\"React\"], root[\"ReactDOM\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_2__, __WEBPACK_EXTERNAL_MODULE_7__) {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"nestedtypes\"), require(\"react\"), require(\"react-dom\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"nestedtypes\", \"react\", \"react-dom\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"React\"] = factory(require(\"nestedtypes\"), require(\"react\"), require(\"react-dom\"));\n\telse\n\t\troot[\"React\"] = factory(root[\"Nested\"], root[\"React\"], root[\"ReactDOM\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_2__, __WEBPACK_EXTERNAL_MODULE_7__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\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, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\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 = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 8);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_0__;\n\n/***/ }),\n/* 1 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return assignToState; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__define__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__link__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__component__ = __webpack_require__(20);\n/* harmony reexport (binding) */ if(__webpack_require__.o(__WEBPACK_IMPORTED_MODULE_1_type_r__, \"define\")) __webpack_require__.d(__webpack_exports__, \"g\", function() { return __WEBPACK_IMPORTED_MODULE_1_type_r__[\"define\"]; });\n/* harmony reexport (binding) */ if(__webpack_require__.o(__WEBPACK_IMPORTED_MODULE_1_type_r__, \"mixins\")) __webpack_require__.d(__webpack_exports__, \"h\", function() { return __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixins\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return __WEBPACK_IMPORTED_MODULE_2__define__[\"b\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_2__define__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return __WEBPACK_IMPORTED_MODULE_3__link__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_4__component__[\"a\"]; });\n\n\n\n\n\n// extend React namespace\nvar ReactMVx = Object.create(__WEBPACK_IMPORTED_MODULE_0_react__);\n// Make it compatible with ES6 module format.\nReactMVx.default = ReactMVx;\n// listenToProps, listenToState, model, attributes, Model\nReactMVx.define = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"define\"];\nReactMVx.mixins = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixins\"];\nReactMVx.Node = __WEBPACK_IMPORTED_MODULE_2__define__[\"b\" /* Node */].value(null);\nReactMVx.Element = __WEBPACK_IMPORTED_MODULE_2__define__[\"a\" /* Element */].value(null);\nReactMVx.Link = __WEBPACK_IMPORTED_MODULE_3__link__[\"a\" /* default */];\nReactMVx.Component = __WEBPACK_IMPORTED_MODULE_4__component__[\"a\" /* Component */];\nvar assignToState = ReactMVx.assignToState = function (key) {\n return function (prop) {\n this.state.assignFrom((_a = {}, _a[key] = prop && prop instanceof __WEBPACK_IMPORTED_MODULE_3__link__[\"a\" /* default */] ? prop.value : prop, _a));\n var _a;\n };\n};\n/* harmony default export */ __webpack_exports__[\"f\"] = (ReactMVx);\n\n//# sourceMappingURL=index.js.map\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n/***/ }),\n/* 3 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = compileSpecs;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return Node; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Element; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n\n\nfunction compileSpecs(props) {\n var propTypes = {}, \n // Create NestedTypes model definition to process props spec.\n modelProto = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"Record\"].defaults(props).prototype;\n var defaults, watchers, changeHandlers;\n modelProto.forEachAttr(modelProto._attributes, function (spec, name) {\n // Skip auto-generated `id` attribute.\n if (name !== 'id') {\n var value = spec.value, type = spec.type, options = spec.options;\n // Translate props type to the propTypes guard.\n propTypes[name] = translateType(type, options.isRequired);\n if (options._onChange) {\n watchers || (watchers = {});\n watchers[name] = toLocalWatcher(options._onChange);\n }\n // Handle listening to event maps...\n if (options.changeHandlers && options.changeHandlers.length) {\n changeHandlers || (changeHandlers = {});\n changeHandlers[name] = options.changeHandlers;\n }\n // Handle listening to props changes...\n if (options.changeEvents) {\n changeHandlers || (changeHandlers = {});\n var handlers = changeHandlers[name] || (changeHandlers[name] = []), changeEvents_1 = typeof options.changeEvents === 'string' ? options.changeEvents : null;\n handlers.push(function (next, prev, component) {\n prev && component.stopListening(prev);\n next && component.listenTo(next, changeEvents_1 || next._changeEventName, component.asyncUpdate);\n });\n }\n // If default value is explicitly provided...\n if (value !== void 0) {\n //...append it to getDefaultProps function.\n defaults || (defaults = {});\n defaults[name] = spec.convert(value, void 0, null, {});\n }\n }\n });\n return { propTypes: propTypes, defaults: defaults, watchers: watchers, changeHandlers: changeHandlers };\n}\nfunction toLocalWatcher(ref) {\n return typeof ref === 'function' ? ref : function (value, name) {\n this[ref] && this[ref](value, name);\n };\n}\nvar Node = (function () {\n function Node() {\n }\n return Node;\n}());\n\nvar Element = (function () {\n function Element() {\n }\n return Element;\n}());\n\nfunction translateType(Type, isRequired) {\n var T = _translateType(Type);\n return isRequired ? T.isRequired : T;\n}\nfunction _translateType(Type) {\n switch (Type) {\n case Number:\n case Number.integer:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"number\"];\n case String:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"string\"];\n case Boolean:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"bool\"];\n case Array:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"array\"];\n case Function:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"func\"];\n case Object:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"object\"];\n case Node:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"node\"];\n case Element:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"element\"];\n case void 0:\n case null:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"any\"];\n default:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"instanceOf\"](Type);\n }\n}\n//# sourceMappingURL=typeSpecs.js.map\n\n/***/ }),\n/* 4 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = onDefine;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__store__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__state__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__context__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__props__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__typeSpecs__ = __webpack_require__(3);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_5__typeSpecs__[\"b\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_5__typeSpecs__[\"a\"]; });\n\n\n\n\n\nfunction onDefine(definition, BaseClass) {\n // Initialize mixins placeholder...\n __WEBPACK_IMPORTED_MODULE_1__store__[\"a\" /* default */].call(this, definition, BaseClass);\n __WEBPACK_IMPORTED_MODULE_2__state__[\"c\" /* default */].call(this, definition, BaseClass);\n __WEBPACK_IMPORTED_MODULE_3__context__[\"a\" /* default */].call(this, definition, BaseClass);\n __WEBPACK_IMPORTED_MODULE_4__props__[\"a\" /* default */].call(this, definition, BaseClass);\n __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Messenger\"].onDefine.call(this, definition, BaseClass);\n}\n;\n\n//# sourceMappingURL=index.js.map\n\n/***/ }),\n/* 5 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = process;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return StateMixin; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return UpdateOnNestedChangesMixin; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n/*****************\n * State\n */\n\nfunction process(definition, BaseComponentClass) {\n var prototype = this.prototype;\n var state = definition.state, State = definition.State;\n if (typeof state === 'function') {\n State = state;\n state = void 0;\n }\n if (state) {\n var BaseClass = State || prototype.State || __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Record\"];\n var ComponentState = (function (_super) {\n __extends(ComponentState, _super);\n function ComponentState() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return ComponentState;\n }(BaseClass));\n ComponentState.attributes = state;\n ComponentState = __decorate([\n __WEBPACK_IMPORTED_MODULE_0_type_r__[\"define\"]\n ], ComponentState);\n prototype.State = ComponentState;\n }\n else if (State) {\n prototype.State = State;\n }\n if (state || State) {\n this.mixins.merge([StateMixin, UpdateOnNestedChangesMixin]);\n }\n}\nvar StateMixin = {\n //state : null,\n _initializeState: function () {\n // props.__keepState is used to workaround issues in Backbone intergation layer\n var state = this.state = this.props.__keepState || new this.State();\n // Take ownership on state...\n state._owner = this;\n state._ownerKey = 'state';\n },\n context: {\n _nestedStore: __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Store\"]\n },\n // reference global store to fix model's store locator\n getStore: function () {\n // Attempt to get the store from the context first. Then - fallback to the state's default store.\n // TBD: Need to figure out a good way of managing local stores.\n var context, state;\n return ((context = this.context) && context._nestedStore) ||\n ((state = this.state) && state._defaultStore);\n },\n componentWillUnmount: function () {\n var state = this.state;\n state._owner = state._ownerKey = void 0;\n this._preventDispose /* hack for component-view to preserve the state */ || state.dispose();\n this.state = void 0;\n }\n};\nvar UpdateOnNestedChangesMixin = {\n _onChildrenChange: function () { },\n componentDidMount: function () {\n this._onChildrenChange = this.asyncUpdate;\n }\n};\n//# sourceMappingURL=state.js.map\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (false) {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = __webpack_require__(11)();\n}\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_7__;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (immutable) */ __webpack_exports__[\"useView\"] = useView;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1);\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"define\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"g\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"mixins\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"h\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Node\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"d\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Element\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"b\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Link\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"c\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Component\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"assignToState\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"e\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__view_element__ = __webpack_require__(21);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"subview\", function() { return __WEBPACK_IMPORTED_MODULE_4__view_element__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__component_view__ = __webpack_require__(22);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__createClass__ = __webpack_require__(23);\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"PropTypes\", function() { return __WEBPACK_IMPORTED_MODULE_3_prop_types__; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"createClass\", function() { return __WEBPACK_IMPORTED_MODULE_6__createClass__[\"a\"]; });\n// Re-export react-mvx\n\nvar NestedReact = Object.create(__WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"f\" /* default */]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (NestedReact);\n\n// NestedReact backward compatibility layer\n\n\n\n\nNestedReact.subview = __WEBPACK_IMPORTED_MODULE_4__view_element__[\"a\" /* default */];\n\n\n\nNestedReact.createClass = __WEBPACK_IMPORTED_MODULE_6__createClass__[\"a\" /* default */];\nObject.defineProperty(NestedReact, 'PropTypes', { value: __WEBPACK_IMPORTED_MODULE_3_prop_types__ });\n\nvar BaseView;\n// export hook to override base View class used...\nfunction useView(View) {\n BaseView = Object(__WEBPACK_IMPORTED_MODULE_5__component_view__[\"a\" /* default */])(View);\n}\nvar define = NestedReact.Component.define;\nNestedReact.Component.define = function (protoProps, staticProps) {\n this.View = BaseView.extend({ reactClass: this });\n return define.call(this, protoProps, staticProps);\n};\n// Deprecated API for backward compatibility\nvar RecordProto = __WEBPACK_IMPORTED_MODULE_2_type_r__[\"Record\"].prototype;\nRecordProto.getLink = RecordProto.linkAt;\nRecordProto.deepLink = RecordProto.linkPath;\nvar CollectionProto = __WEBPACK_IMPORTED_MODULE_2_type_r__[\"Record\"].Collection.prototype;\nCollectionProto.hasLink = CollectionProto.linkContains;\nuseView(__WEBPACK_IMPORTED_MODULE_2_type_r__[\"View\"]);\n// Extend react components to have backbone-style jquery accessors\nvar BackboneViewProps = {\n el: { get: function () { return __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.findDOMNode(this); } },\n $el: { get: function () { return __WEBPACK_IMPORTED_MODULE_2_type_r___default.a.$(this.el); } },\n $: { value: function (sel) { return this.$el.find(sel); } }\n};\nObject.defineProperties(NestedReact.Component.prototype, BackboneViewProps);\n//# sourceMappingURL=index.js.map\n\n/***/ }),\n/* 9 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = onDefine;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__state__ = __webpack_require__(5);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\nfunction onDefine(definition, BaseClass) {\n var store = definition.store, StoreClass = definition.Store;\n if (store && store instanceof __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Store\"]) {\n // Direct reference to an existing store. Put it to the prototype.\n this.prototype.store = store;\n this.mixins.merge([ExternalStoreMixin, ExposeStoreMixin]);\n }\n else if (store || definition.Store) {\n if (typeof store === 'function') {\n StoreClass = store;\n store = void 0;\n }\n if (store) {\n var BaseClass_1 = StoreClass || this.prototype.Store || __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Store\"];\n var InternalStore = (function (_super) {\n __extends(InternalStore, _super);\n function InternalStore() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return InternalStore;\n }(BaseClass_1));\n InternalStore.attrbutes = store;\n InternalStore = __decorate([\n __WEBPACK_IMPORTED_MODULE_0_type_r__[\"define\"]\n ], InternalStore);\n ;\n this.prototype.Store = InternalStore;\n }\n else if (StoreClass) {\n this.prototype.Store = StoreClass;\n }\n this.mixins.merge([InternalStoreMixin, __WEBPACK_IMPORTED_MODULE_1__state__[\"b\" /* UpdateOnNestedChangesMixin */], ExposeStoreMixin]);\n }\n}\n/**\n * Attached whenever the store declaration of any form is present in the component.\n */\nvar ExposeStoreMixin = {\n childContext: {\n _nestedStore: __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Store\"]\n },\n getChildContext: function () {\n return { _nestedStore: this.store };\n },\n getStore: function () {\n return this.store;\n },\n // Will be called by the store when the lookup will fail.\n get: function (key) {\n // Ask upper store.\n var store = __WEBPACK_IMPORTED_MODULE_1__state__[\"a\" /* StateMixin */].getStore.call(this, key);\n return store && store.get(key);\n }\n};\n/**\n * External store must just track the changes and trigger render.\n * TBD: don't use it yet.\n */\nvar ExternalStoreMixin = {\n componentDidMount: function () {\n // Start UI updates on state changes.\n this.listenTo(this.store, 'change', this.asyncUpdate);\n }\n};\nvar InternalStoreMixin = {\n componentWillMount: function () {\n var store = this.store = new this.Store();\n store._owner = this;\n store._ownerKey = 'store';\n },\n componentWillUnmount: function () {\n this.store._ownerKey = this.store._owner = void 0;\n this.store.dispose();\n this.store = void 0;\n }\n};\n//# sourceMappingURL=store.js.map\n\n/***/ }),\n/* 10 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = onDefine;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n\n\nfunction onDefine(_a, BaseClass) {\n var context = _a.context, childContext = _a.childContext;\n var prototype = this.prototype;\n if (context) {\n // Merge in inherited members...\n prototype._context = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].defaults(context, BaseClass.prototype._context || {});\n // Compile to propTypes...\n this.contextTypes = Object(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* compileSpecs */])(context).propTypes;\n }\n if (childContext) {\n prototype._childContext = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].defaults(childContext, BaseClass.prototype._childContext);\n this.childContextTypes = Object(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* compileSpecs */])(childContext).propTypes;\n }\n}\n//# sourceMappingURL=context.js.map\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar emptyFunction = __webpack_require__(12);\nvar invariant = __webpack_require__(13);\nvar ReactPropTypesSecret = __webpack_require__(14);\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n invariant(\n false,\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim\n };\n\n ReactPropTypes.checkPropTypes = emptyFunction;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (false) {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = onDefine;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__pureRender__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__);\n/**\n * Handle props specification and everything which is related:\n * - local listening to props changes\n * - pure render mixin\n */\n\n\n\nfunction onDefine(_a, BaseClass) {\n var props = _a.props, pureRender = _a.pureRender;\n var prototype = this.prototype;\n // process props spec...\n if (props) {\n // Merge with inherited members...\n prototype._props = __WEBPACK_IMPORTED_MODULE_2_type_r__[\"tools\"].defaults(props, BaseClass.prototype._props || {});\n var _b = Object(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* compileSpecs */])(props), propTypes = _b.propTypes, defaults = _b.defaults, watchers = _b.watchers, changeHandlers = _b.changeHandlers;\n this.propTypes = propTypes;\n if (defaults)\n this.defaultProps = defaults;\n if (watchers) {\n prototype._watchers = watchers;\n this.mixins.merge([WatchersMixin]);\n }\n if (changeHandlers) {\n prototype._changeHandlers = changeHandlers;\n this.mixins.merge([ChangeHandlersMixin]);\n }\n if (prototype.pureRender) {\n prototype.PropsChangeTokens = Object(__WEBPACK_IMPORTED_MODULE_1__pureRender__[\"b\" /* createChangeTokensConstructor */])(props);\n }\n }\n if (pureRender) {\n this.mixins.merge([__WEBPACK_IMPORTED_MODULE_1__pureRender__[\"a\" /* PureRenderMixin */]]);\n }\n}\n/**\n * ChangeHandlers are fired in sequence upon props replacement.\n * Fires _after_ UI is updated. Used for managing events subscriptions.\n */\nvar ChangeHandlersMixin = {\n componentDidMount: function () {\n handlePropsChanges(this, {}, this.props);\n },\n componentDidUpdate: function (prev) {\n handlePropsChanges(this, prev, this.props);\n },\n componentWillUnmount: function () {\n handlePropsChanges(this, this.props, {});\n }\n};\nfunction handlePropsChanges(component, prev, next) {\n var _changeHandlers = component._changeHandlers;\n for (var name_1 in _changeHandlers) {\n if (prev[name_1] !== next[name_1]) {\n for (var _i = 0, _a = _changeHandlers[name_1]; _i < _a.length; _i++) {\n var handler = _a[_i];\n handler(next[name_1], prev[name_1], component);\n }\n }\n }\n}\n/**\n * Watchers works on props replacement and fires _before_ any change will be applied and UI is updated.\n * Fired in componentWillMount as well, which makes it a nice way to sync state from props.\n */\nvar WatchersMixin = {\n componentWillReceiveProps: function (next) {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_2 in _watchers) {\n if (next[name_2] !== props[name_2]) {\n _watchers[name_2].call(this, next[name_2], name_2);\n }\n }\n },\n componentWillMount: function () {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_3 in _watchers) {\n _watchers[name_3].call(this, props[name_3], name_3);\n }\n }\n};\n//# sourceMappingURL=props.js.map\n\n/***/ }),\n/* 16 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = createChangeTokensConstructor;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return PureRenderMixin; });\nfunction createChangeTokensConstructor(props) {\n var propNames = Object.keys(props);\n var PropsChangeTokens = new Function('p', 's', \"\\n var v;\\n this._s = s && s._changeToken;\\n \" + propNames.map(function (name) { return \"\\n this.\" + name + \" = ( ( v = p.\" + name + \") && v._changeToken ) || v;\\n \"; }).join('') + \"\\n \");\n PropsChangeTokens.prototype._hasChanges = new Function('p', 's', \"\\n var v;\\n return ( s && s._changeToken !== this._s ) \" + propNames.map(function (name) { return \" ||\\n this.\" + name + \" !== ( ( ( v = p.\" + name + \") && v._changeToken ) || v )\\n \"; }).join('') + \";\\n \");\n return PropsChangeTokens;\n}\n;\nvar PureRenderMixin = {\n shouldComponentUpdate: function (nextProps) {\n return this._propsChangeTokens._hasChanges(nextProps);\n },\n componentDidMount: updateChangeTokens,\n componentDidUpdate: updateChangeTokens\n};\nfunction updateChangeTokens() {\n this._propsChangeTokens = new this.PropsChangeTokens(this.props, this.state);\n}\n//# sourceMappingURL=pureRender.js.map\n\n/***/ }),\n/* 17 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__valuelink_link__ = __webpack_require__(18);\n/**\n * Import ValueLink library\n * Define value links binding mixins to the Record and Collection\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]);\n__WEBPACK_IMPORTED_MODULE_0_type_r__[\"Mixable\"].mixins.populate(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]);\n/**\n * Record\n */\n__WEBPACK_IMPORTED_MODULE_0_type_r__[\"MixinsState\"].get(__WEBPACK_IMPORTED_MODULE_0_type_r__[\"Record\"]).merge([{\n // Link to the record's attribute by its key.\n linkAt: function (key) {\n return cacheLink(getLinksCache(this), this, key);\n },\n // Link to the attribute of the record's tree by symbolic path.\n linkPath: function (path, options) {\n return new RecordDeepLink(this, path, options);\n },\n // Link all (or listed) attributes and return links cache.\n linkAll: function () {\n var links = getLinksCache(this);\n if (arguments.length) {\n for (var i = 0; i < arguments.length; i++) {\n cacheLink(links, this, arguments[i]);\n }\n }\n else {\n var attributes = this.attributes;\n for (var key in attributes) {\n attributes[key] === void 0 || cacheLink(links, this, key);\n }\n }\n return links;\n }\n }]);\n/**\n * Link to Type-R's record attribute.\n * Strict evaluation of value, lazy evaluation of validation error.\n * Links are cached in the records\n */\nvar RecordLink = (function (_super) {\n __extends(RecordLink, _super);\n function RecordLink(record, attr, value) {\n var _this = _super.call(this, value) || this;\n _this.record = record;\n _this.attr = attr;\n return _this;\n }\n RecordLink.prototype.set = function (x) {\n this.record[this.attr] = x;\n };\n Object.defineProperty(RecordLink.prototype, \"error\", {\n get: function () {\n return this._error === void 0 ?\n this.record.getValidationError(this.attr) :\n this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n return RecordLink;\n}(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]));\nvar RecordDeepLink = (function (_super) {\n __extends(RecordDeepLink, _super);\n function RecordDeepLink(record, path, options) {\n var _this = _super.call(this, record.deepGet(path)) || this;\n _this.record = record;\n _this.path = path;\n _this.options = options;\n return _this;\n }\n Object.defineProperty(RecordDeepLink.prototype, \"error\", {\n get: function () {\n if (this._error === void 0) {\n this._error = this.record.deepValidationError(this.path) || null;\n }\n return this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(RecordDeepLink.prototype, \"_changeToken\", {\n get: function () {\n return this.record._changeToken;\n },\n enumerable: true,\n configurable: true\n });\n RecordDeepLink.prototype.set = function (x) {\n this.record.deepSet(this.path, x, this.options);\n };\n return RecordDeepLink;\n}(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]));\nfunction getLinksCache(record) {\n return record._links || (record._links = new record.AttributesCopy({}));\n}\nfunction cacheLink(links, record, key) {\n var cached = links[key], value = record[key];\n return cached && cached.value === value ? cached\n : links[key] = new RecordLink(record, key, value);\n}\n/***********************************\n * Collection\n */\n__WEBPACK_IMPORTED_MODULE_0_type_r__[\"MixinsState\"].get(__WEBPACK_IMPORTED_MODULE_0_type_r__[\"Record\"].Collection).merge([{\n // Boolean link to the record's presence in the collection\n linkContains: function (record) {\n return new CollectionLink(this, record);\n },\n // Link to collection's property\n linkAt: function (prop) {\n var _this = this;\n return __WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */].value(this[prop], function (x) { return _this[prop] = x; });\n }\n }]);\n/**\n * Boolean link to presence of NestedType's record in collection.\n * Strict evaluation of value, no error.\n * Safe implementation of _changeToken.\n */\nvar CollectionLink = (function (_super) {\n __extends(CollectionLink, _super);\n function CollectionLink(collection, record) {\n var _this = _super.call(this, Boolean(collection._byId[record.cid])) || this;\n _this.collection = collection;\n _this.record = record;\n return _this;\n }\n CollectionLink.prototype.set = function (x) {\n this.collection.toggle(this.record, x);\n };\n return CollectionLink;\n}(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]));\n//# sourceMappingURL=link.js.map\n\n/***/ }),\n/* 18 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Link; });\n/* unused harmony export CustomLink */\n/* unused harmony export CloneLink */\n/* unused harmony export EqualsLink */\n/* unused harmony export EnabledLink */\n/* unused harmony export ContainsLink */\n/* unused harmony export LinkAt */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__helpers__ = __webpack_require__(19);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * Advanced React links for purely functional two-way data binding\n *\n * MIT License, (c) 2016 Vlad Balin, Volicon.\n */\n\n// Main Link class. All links must extend it.\nvar Link = (function () {\n // create \n function Link(value) {\n this.value = value;\n }\n // Create custom link to arbitrary value\n Link.value = function (value, set) {\n return new CustomLink(value, set);\n };\n Object.defineProperty(Link.prototype, \"validationError\", {\n // DEPRECATED: Old error holder for backward compatibility with Volicon code base\n get: function () { return this.error; },\n enumerable: true,\n configurable: true\n });\n Link.prototype.onChange = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n handler(x);\n _this.set(x);\n });\n };\n Object.defineProperty(Link.prototype, \"props\", {\n // \n get: function () {\n var _this = this;\n return typeof this.value === 'boolean' ? {\n checked: this.value,\n onChange: function (e) { return _this.set(Boolean(e.target.checked)); }\n } : {\n value: this.value,\n onChange: function (e) { return _this.set(e.target.value); }\n };\n },\n enumerable: true,\n configurable: true\n });\n // DEPRECATED: Old React method for backward compatibility\n Link.prototype.requestChange = function (x) {\n this.set(x);\n };\n // Immediately update the link value using given transform function.\n Link.prototype.update = function (transform, e) {\n var next = transform(this.clone(), e);\n next === void 0 || this.set(next);\n };\n // Create new link which applies transform function on set.\n Link.prototype.pipe = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n var next = handler(x, _this.value);\n next === void 0 || _this.set(next);\n });\n };\n // Create UI event handler function which will update the link with a given transform function.\n Link.prototype.action = function (transform) {\n var _this = this;\n return function (e) { return _this.update(transform, e); };\n };\n Link.prototype.equals = function (truthyValue) {\n return new EqualsLink(this, truthyValue);\n };\n Link.prototype.enabled = function (defaultValue) {\n return new EnabledLink(this, defaultValue || \"\");\n };\n // Array-only links methods\n Link.prototype.contains = function (element) {\n return new ContainsLink(this, element);\n };\n Link.prototype.push = function () {\n var array = __WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* arrayHelpers */].clone(this.value);\n Array.prototype.push.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.unshift = function () {\n var array = __WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* arrayHelpers */].clone(this.value);\n Array.prototype.unshift.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.splice = function () {\n var array = __WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* arrayHelpers */].clone(this.value);\n Array.prototype.splice.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.map = function (iterator) {\n return Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* helpers */])(this.value).map(this, iterator);\n };\n Link.prototype.removeAt = function (key) {\n var value = this.value, _ = Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* helpers */])(value);\n this.set(_.remove(_.clone(value), key));\n };\n Link.prototype.at = function (key) {\n return new LinkAt(this, key);\n };\n Link.prototype.clone = function () {\n var value = this.value;\n return Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* helpers */])(value).clone(value);\n };\n Link.prototype.pick = function () {\n var links = {};\n for (var i = 0; i < arguments.length; i++) {\n var key = arguments[i];\n links[key] = new LinkAt(this, key);\n }\n return links;\n };\n /**\n * Validate link with validness predicate and optional custom error object. Can be chained.\n */\n Link.prototype.check = function (whenValid, error) {\n if (!this.error && !whenValid(this.value)) {\n this.error = error || whenValid.error || defaultError;\n }\n return this;\n };\n return Link;\n}());\n\nvar CustomLink = (function (_super) {\n __extends(CustomLink, _super);\n function CustomLink(value, set) {\n var _this = _super.call(this, value) || this;\n _this.set = set;\n return _this;\n }\n CustomLink.prototype.set = function (x) { };\n return CustomLink;\n}(Link));\n\nvar CloneLink = (function (_super) {\n __extends(CloneLink, _super);\n function CloneLink(parent, set) {\n var _this = _super.call(this, parent.value) || this;\n _this.set = set;\n var error = parent.error;\n if (error)\n _this.error = error;\n return _this;\n }\n CloneLink.prototype.set = function (x) { };\n return CloneLink;\n}(Link));\n\nvar EqualsLink = (function (_super) {\n __extends(EqualsLink, _super);\n function EqualsLink(parent, truthyValue) {\n var _this = _super.call(this, parent.value === truthyValue) || this;\n _this.parent = parent;\n _this.truthyValue = truthyValue;\n return _this;\n }\n EqualsLink.prototype.set = function (x) {\n this.parent.set(x ? this.truthyValue : null);\n };\n return EqualsLink;\n}(Link));\n\nvar EnabledLink = (function (_super) {\n __extends(EnabledLink, _super);\n function EnabledLink(parent, defaultValue) {\n var _this = _super.call(this, parent.value != null) || this;\n _this.parent = parent;\n _this.defaultValue = defaultValue;\n return _this;\n }\n EnabledLink.prototype.set = function (x) {\n this.parent.set(x ? this.defaultValue : null);\n };\n return EnabledLink;\n}(Link));\n\nvar ContainsLink = (function (_super) {\n __extends(ContainsLink, _super);\n function ContainsLink(parent, element) {\n var _this = _super.call(this, parent.value.indexOf(element) >= 0) || this;\n _this.parent = parent;\n _this.element = element;\n return _this;\n }\n ContainsLink.prototype.set = function (x) {\n var _this = this;\n var next = Boolean(x);\n if (this.value !== next) {\n var arr = this.parent.value, nextValue = x ? arr.concat(this.element) : arr.filter(function (el) { return el !== _this.element; });\n this.parent.set(nextValue);\n }\n };\n return ContainsLink;\n}(Link));\n\nvar defaultError = 'Invalid value';\n/**\n * Link to array or object element enclosed in parent link.\n * Performs purely functional update of the parent, shallow copying its value on `set`.\n */\nvar LinkAt = (function (_super) {\n __extends(LinkAt, _super);\n function LinkAt(parent, key) {\n var _this = _super.call(this, parent.value[key]) || this;\n _this.parent = parent;\n _this.key = key;\n return _this;\n }\n LinkAt.prototype.remove = function () {\n this.parent.removeAt(this.key);\n };\n // Set new element value to parent array or object, performing purely functional update.\n LinkAt.prototype.set = function (x) {\n var _this = this;\n if (this.value !== x) {\n this.parent.update(function (value) {\n value[_this.key] = x;\n return value;\n });\n }\n };\n ;\n return LinkAt;\n}(Link));\n\n//# sourceMappingURL=link.js.map\n\n/***/ }),\n/* 19 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = helpers;\n/* unused harmony export objectHelpers */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return arrayHelpers; });\nvar ArrayProto = Array.prototype, ObjectProto = Object.prototype;\nfunction helpers(value) {\n if (value && typeof value === 'object') {\n switch (Object.getPrototypeOf(value)) {\n case ArrayProto: return arrayHelpers;\n case ObjectProto: return objectHelpers;\n }\n }\n return dummyHelpers;\n}\n// Do nothing for types other than Array and plain Object.\nvar dummyHelpers = {\n clone: function (value) { return value; },\n map: function (link, fun) { return []; },\n remove: function (value) { return value; }\n};\n// `map` and `clone` for plain JS objects\nvar objectHelpers = {\n // Map through the link to object\n map: function (link, iterator) {\n var mapped = [];\n for (var key in link.value) {\n var element = iterator(link.at(key), key);\n element === void 0 || (mapped.push(element));\n }\n return mapped;\n },\n remove: function (object, key) {\n delete object[key];\n return object;\n },\n // Shallow clone plain JS object\n clone: function (object) {\n var cloned = {};\n for (var key in object) {\n cloned[key] = object[key];\n }\n return cloned;\n }\n};\n// `map` and `clone` helpers for arrays.\nvar arrayHelpers = {\n // Shallow clone array\n clone: function (array) {\n return array.slice();\n },\n remove: function (array, i) {\n array.splice(i, 1);\n return array;\n },\n // Map through the link to array\n map: function (link, iterator) {\n var length = link.value.length, mapped = Array(length);\n for (var i = 0, j = 0; i < length; i++) {\n var y = iterator(link.at(i), i);\n y === void 0 || (mapped[j++] = y);\n }\n mapped.length === j || (mapped.length = j);\n return mapped;\n }\n};\n//# sourceMappingURL=helpers.js.map\n\n/***/ }),\n/* 20 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Component; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__define__ = __webpack_require__(4);\n/**\n * React-Type-R component base class. Overrides React component.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\nvar Component = (function (_super) {\n __extends(Component, _super);\n function Component(props, context) {\n var _this = _super.call(this, props, context) || this;\n _this._initializeState();\n return _this;\n }\n Component.prototype.linkAt = function (key) {\n // Quick and dirty hack to suppres type error - refactor later.\n return this.state.linkAt(key);\n };\n Component.prototype.linkAll = function () {\n // Quick and dirty hack to suppres type error - refactor later.\n var state = this.state;\n return state.linkAll.apply(state, arguments);\n };\n Component.prototype.linkPath = function (path) {\n return this.state.linkPath(path);\n };\n Object.defineProperty(Component.prototype, \"links\", {\n get: function () {\n return this.state._links;\n },\n enumerable: true,\n configurable: true\n });\n Component.prototype._initializeState = function () {\n this.state = null;\n };\n Component.prototype.assignToState = function (x, key) {\n this.state.assignFrom((_a = {}, _a[key] = x, _a));\n var _a;\n };\n Component.prototype.componentWillUnmount = function () {\n this.dispose();\n };\n /**\n * Performs transactional update for both props and state.\n * Suppress updates during the transaction, and force update aftewards.\n * Wrapping the sequence of changes in a transactions guarantees that\n * React component will be updated _after_ all the changes to the\n * both props and local state are applied.\n */\n Component.prototype.transaction = function (fun) {\n var shouldComponentUpdate = this.shouldComponentUpdate, isRoot = shouldComponentUpdate !== returnFalse;\n if (isRoot) {\n this.shouldComponentUpdate = returnFalse;\n }\n var _a = this, state = _a.state, store = _a.store, withStore = store ? function (state) { return store.transaction(function () { return fun(state); }); } : fun;\n state ? state.transaction(withStore) : withStore(state);\n if (isRoot) {\n this.shouldComponentUpdate = shouldComponentUpdate;\n this.asyncUpdate();\n }\n };\n // Safe version of the forceUpdate suitable for asynchronous callbacks.\n Component.prototype.asyncUpdate = function () {\n this.shouldComponentUpdate === returnFalse || this._disposed || this.forceUpdate();\n };\n return Component;\n}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]));\nComponent.onDefine = __WEBPACK_IMPORTED_MODULE_2__define__[\"c\" /* default */];\nComponent = __decorate([\n __WEBPACK_IMPORTED_MODULE_1_type_r__[\"define\"],\n Object(__WEBPACK_IMPORTED_MODULE_1_type_r__[\"definitions\"])({\n // Definitions to be extracted from mixins and statics and passed to `onDefine()`\n state: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].merge,\n State: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].value,\n store: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].merge,\n Store: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].value,\n props: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].merge,\n context: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].merge,\n childContext: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].merge,\n pureRender: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].protoValue\n }),\n Object(__WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"])({\n // Apply old-school React mixin rules.\n componentWillMount: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classLast,\n componentDidMount: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classLast,\n componentWillReceiveProps: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classLast,\n componentWillUpdate: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classLast,\n componentDidUpdate: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classLast,\n componentWillUnmount: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classFirst,\n // And a bit more to fix inheritance quirks.\n shouldComponentUpdate: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].some,\n getChildContext: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].defaults\n })\n // Component can send and receive events...\n ,\n Object(__WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixins\"])(__WEBPACK_IMPORTED_MODULE_1_type_r__[\"Messenger\"])\n], Component);\n\nfunction returnFalse() { return false; }\n// Looks like React guys _really_ want to deprecate it. But no way.\n// We will work around their attempt.\nObject.defineProperty(Component.prototype, 'isMounted', {\n value: function isMounted() {\n return !this._disposed;\n }\n});\n//# sourceMappingURL=component.js.map\n\n/***/ }),\n/* 21 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\nvar notEqual = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].notEqual;\nvar BackboneView = (function (_super) {\n __extends(BackboneView, _super);\n function BackboneView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.saveRef = function (element) {\n _this.root = element;\n };\n return _this;\n }\n BackboneView.prototype.shouldComponentUpdate = function (next) {\n var props = this.props;\n return next.View !== props.View || notEqual(next.options, props.options);\n };\n BackboneView.prototype.hasUnsavedChanges = function () {\n var view = this.view;\n return view && (typeof view.hasUnsavedChanges === 'function' ? view.hasUnsavedChanges() : view.hasUnsavedChanges);\n };\n BackboneView.prototype.render = function () {\n return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"f\" /* default */].createElement('div', {\n ref: this.saveRef,\n className: this.props.className\n });\n };\n BackboneView.prototype.componentDidMount = function () {\n this._mountView();\n };\n BackboneView.prototype.componentDidUpdate = function () {\n this._dispose();\n this._mountView();\n };\n BackboneView.prototype.componentWillUnmount = function () {\n this._dispose();\n };\n BackboneView.prototype._mountView = function () {\n var el = this.root, p = this.props;\n var view = this.view = p.options ? new p.View(p.options) : new p.View();\n el.appendChild(view.el);\n view.render();\n };\n BackboneView.prototype._dispose = function () {\n var view = this.view;\n if (view) {\n if (view.dispose) {\n view.dispose();\n }\n else {\n view.stopListening();\n view.off();\n }\n this.root.innerHTML = \"\";\n this.view = null;\n }\n };\n return BackboneView;\n}(__WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\" /* Component */]));\n/* harmony default export */ __webpack_exports__[\"a\"] = (BackboneView);\n//# sourceMappingURL=view-element.js.map\n\n/***/ }),\n/* 22 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = use;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__);\n\n\n\nwindow.Page || (window.Page = { forceResize: function () { } });\nfunction use(View) {\n var dispose = View.prototype.dispose || function () { }, setElement = View.prototype.setElement;\n var ComponentView = View.extend({\n reactClass: null,\n props: {},\n element: null,\n initialize: function (props) {\n // memorise arguments to pass to React\n this.options = props || {};\n },\n setElement: function () {\n this.unmountComponent(true);\n return setElement.apply(this, arguments);\n },\n // cached instance of react component...\n component: null,\n prevState: null,\n resize: function () {\n window.Page.forceResize();\n },\n render: function () {\n var options = this.prevState ? __WEBPACK_IMPORTED_MODULE_2_type_r__[\"tools\"].fastAssign({ __keepState: this.prevState }, this.options) : this.options, element = __WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"](this.reactClass, options), component = __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.render(element, this.el);\n this.component || this.mountComponent(component);\n },\n mountComponent: function (component) {\n this.component = component;\n this.prevState = null;\n component.trigger && this.listenTo(component, 'all', function () {\n this.trigger.apply(this, arguments);\n });\n },\n unmountComponent: function (keepModel) {\n var component = this.component;\n if (component) {\n this.prevState = component.state;\n if (component.trigger) {\n this.stopListening(component);\n }\n component._preventDispose = Boolean(keepModel);\n __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.unmountComponentAtNode(this.el);\n this.component = null;\n }\n },\n dispose: function () {\n this.unmountComponent();\n return dispose.apply(this, arguments);\n }\n });\n Object.defineProperty(ComponentView.prototype, 'model', {\n get: function () {\n this.component || this.render();\n return this.component && this.component.state;\n }\n });\n return ComponentView;\n}\n//# sourceMappingURL=component-view.js.map\n\n/***/ }),\n/* 23 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = createClass;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1);\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\n\nvar dontAutobind = [\n 'State', 'Store', 'constructor',\n 'componentWillMount', 'componentDidMount', 'componentWillReceiveProps', 'shouldComponentUpdate',\n 'componentWillUpdate', 'componentDidUpdate', 'componentWillUnmount',\n 'render', 'getDefaultProps', 'getChildContext'\n];\n/**\n * ES5 components definition factory\n */\nfunction createClass(_a) {\n var statics = _a.statics, a_spec = __rest(_a, [\"statics\"]);\n // Gather all methods to pin them to `this` later.\n var methods = [];\n var Subclass = __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\" /* Component */].extend(__assign({ \n // Override constructor to autobind all the methods...\n constructor: function () {\n __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\" /* Component */].apply(this, this.arguments);\n for (var _i = 0, methods_1 = methods; _i < methods_1.length; _i++) {\n var method = methods_1[_i];\n this[method] = this[method].bind(this);\n }\n } }, a_spec), statics);\n // Need to bind methods from mixins as well, so populate it here.\n var Proto = Subclass.prototype;\n for (var key in Proto) {\n if (Proto.hasOwnProperty(key) && dontAutobind.indexOf(key) === -1 && typeof Proto[key] === 'function') {\n methods.push(key);\n }\n }\n return Subclass;\n}\n//# sourceMappingURL=createClass.js.map\n\n/***/ })\n/******/ ]);\n});\n\n\n// WEBPACK FOOTER //\n// dist/index.min.js"," \t// The module cache\n \tvar installedModules = {};\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, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\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 = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 8);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap fd9bd0fa4263913507e5","module.exports = __WEBPACK_EXTERNAL_MODULE_0__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"commonjs\":\"nestedtypes\",\"commonjs2\":\"nestedtypes\",\"amd\":\"nestedtypes\",\"root\":\"Nested\"}\n// module id = 0\n// module chunks = 0","import * as React from 'react';\nimport { define, mixins } from 'type-r';\nimport { Node, Element } from './define';\nimport Link from './link';\nimport { Component } from './component';\n// extend React namespace\nvar ReactMVx = Object.create(React);\n// Make it compatible with ES6 module format.\nReactMVx.default = ReactMVx;\n// listenToProps, listenToState, model, attributes, Model\nReactMVx.define = define;\nReactMVx.mixins = mixins;\nReactMVx.Node = Node.value(null);\nReactMVx.Element = Element.value(null);\nReactMVx.Link = Link;\nReactMVx.Component = Component;\nvar assignToState = ReactMVx.assignToState = function (key) {\n return function (prop) {\n this.state.assignFrom((_a = {}, _a[key] = prop && prop instanceof Link ? prop.value : prop, _a));\n var _a;\n };\n};\nexport default ReactMVx;\nexport { define, mixins, Node, Element, Link, Component, assignToState };\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/index.js\n// module id = 1\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"commonjs\":\"react\",\"commonjs2\":\"react\",\"amd\":\"react\",\"root\":\"React\"}\n// module id = 2\n// module chunks = 0","import * as PropTypes from 'prop-types';\nimport { Record } from 'type-r';\nexport function compileSpecs(props) {\n var propTypes = {}, \n // Create NestedTypes model definition to process props spec.\n modelProto = Record.defaults(props).prototype;\n var defaults, watchers, changeHandlers;\n modelProto.forEachAttr(modelProto._attributes, function (spec, name) {\n // Skip auto-generated `id` attribute.\n if (name !== 'id') {\n var value = spec.value, type = spec.type, options = spec.options;\n // Translate props type to the propTypes guard.\n propTypes[name] = translateType(type, options.isRequired);\n if (options._onChange) {\n watchers || (watchers = {});\n watchers[name] = toLocalWatcher(options._onChange);\n }\n // Handle listening to event maps...\n if (options.changeHandlers && options.changeHandlers.length) {\n changeHandlers || (changeHandlers = {});\n changeHandlers[name] = options.changeHandlers;\n }\n // Handle listening to props changes...\n if (options.changeEvents) {\n changeHandlers || (changeHandlers = {});\n var handlers = changeHandlers[name] || (changeHandlers[name] = []), changeEvents_1 = typeof options.changeEvents === 'string' ? options.changeEvents : null;\n handlers.push(function (next, prev, component) {\n prev && component.stopListening(prev);\n next && component.listenTo(next, changeEvents_1 || next._changeEventName, component.asyncUpdate);\n });\n }\n // If default value is explicitly provided...\n if (value !== void 0) {\n //...append it to getDefaultProps function.\n defaults || (defaults = {});\n defaults[name] = spec.convert(value, void 0, null, {});\n }\n }\n });\n return { propTypes: propTypes, defaults: defaults, watchers: watchers, changeHandlers: changeHandlers };\n}\nfunction toLocalWatcher(ref) {\n return typeof ref === 'function' ? ref : function (value, name) {\n this[ref] && this[ref](value, name);\n };\n}\nvar Node = (function () {\n function Node() {\n }\n return Node;\n}());\nexport { Node };\nvar Element = (function () {\n function Element() {\n }\n return Element;\n}());\nexport { Element };\nfunction translateType(Type, isRequired) {\n var T = _translateType(Type);\n return isRequired ? T.isRequired : T;\n}\nfunction _translateType(Type) {\n switch (Type) {\n case Number:\n case Number.integer:\n return PropTypes.number;\n case String:\n return PropTypes.string;\n case Boolean:\n return PropTypes.bool;\n case Array:\n return PropTypes.array;\n case Function:\n return PropTypes.func;\n case Object:\n return PropTypes.object;\n case Node:\n return PropTypes.node;\n case Element:\n return PropTypes.element;\n case void 0:\n case null:\n return PropTypes.any;\n default:\n return PropTypes.instanceOf(Type);\n }\n}\n//# sourceMappingURL=typeSpecs.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/typeSpecs.js\n// module id = 3\n// module chunks = 0","import { Messenger } from 'type-r';\nimport onDefineStore from './store';\nimport onDefineState from './state';\nimport onDefineContext from './context';\nimport onDefineProps from './props';\nexport default function onDefine(definition, BaseClass) {\n // Initialize mixins placeholder...\n onDefineStore.call(this, definition, BaseClass);\n onDefineState.call(this, definition, BaseClass);\n onDefineContext.call(this, definition, BaseClass);\n onDefineProps.call(this, definition, BaseClass);\n Messenger.onDefine.call(this, definition, BaseClass);\n}\n;\nexport { Node, Element } from './typeSpecs';\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/index.js\n// module id = 4\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n/*****************\n * State\n */\nimport { define, Record, Store } from 'type-r';\nexport default function process(definition, BaseComponentClass) {\n var prototype = this.prototype;\n var state = definition.state, State = definition.State;\n if (typeof state === 'function') {\n State = state;\n state = void 0;\n }\n if (state) {\n var BaseClass = State || prototype.State || Record;\n var ComponentState = (function (_super) {\n __extends(ComponentState, _super);\n function ComponentState() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return ComponentState;\n }(BaseClass));\n ComponentState.attributes = state;\n ComponentState = __decorate([\n define\n ], ComponentState);\n prototype.State = ComponentState;\n }\n else if (State) {\n prototype.State = State;\n }\n if (state || State) {\n this.mixins.merge([StateMixin, UpdateOnNestedChangesMixin]);\n }\n}\nexport var StateMixin = {\n //state : null,\n _initializeState: function () {\n // props.__keepState is used to workaround issues in Backbone intergation layer\n var state = this.state = this.props.__keepState || new this.State();\n // Take ownership on state...\n state._owner = this;\n state._ownerKey = 'state';\n },\n context: {\n _nestedStore: Store\n },\n // reference global store to fix model's store locator\n getStore: function () {\n // Attempt to get the store from the context first. Then - fallback to the state's default store.\n // TBD: Need to figure out a good way of managing local stores.\n var context, state;\n return ((context = this.context) && context._nestedStore) ||\n ((state = this.state) && state._defaultStore);\n },\n componentWillUnmount: function () {\n var state = this.state;\n state._owner = state._ownerKey = void 0;\n this._preventDispose /* hack for component-view to preserve the state */ || state.dispose();\n this.state = void 0;\n }\n};\nexport var UpdateOnNestedChangesMixin = {\n _onChildrenChange: function () { },\n componentDidMount: function () {\n this._onChildrenChange = this.asyncUpdate;\n }\n};\n//# sourceMappingURL=state.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/state.js\n// module id = 5\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/prop-types/index.js\n// module id = 6\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_7__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"commonjs\":\"react-dom\",\"commonjs2\":\"react-dom\",\"amd\":\"react-dom\",\"root\":\"ReactDOM\"}\n// module id = 7\n// module chunks = 0","// Re-export react-mvx\nimport ReactMVx from './react-mvx';\nvar NestedReact = Object.create(ReactMVx);\nexport default NestedReact;\nexport * from './react-mvx';\n// NestedReact backward compatibility layer\nimport ReactDOM from 'react-dom';\nimport Nested, { View, Record } from 'type-r';\nimport * as PropTypes from 'prop-types';\nimport subview from './view-element';\nNestedReact.subview = subview;\nexport { subview };\nimport use from './component-view';\nimport createClass from './createClass';\nNestedReact.createClass = createClass;\nObject.defineProperty(NestedReact, 'PropTypes', { value: PropTypes });\nexport { PropTypes, createClass };\nvar BaseView;\n// export hook to override base View class used...\nexport function useView(View) {\n BaseView = use(View);\n}\nvar define = NestedReact.Component.define;\nNestedReact.Component.define = function (protoProps, staticProps) {\n this.View = BaseView.extend({ reactClass: this });\n return define.call(this, protoProps, staticProps);\n};\n// Deprecated API for backward compatibility\nvar RecordProto = Record.prototype;\nRecordProto.getLink = RecordProto.linkAt;\nRecordProto.deepLink = RecordProto.linkPath;\nvar CollectionProto = Record.Collection.prototype;\nCollectionProto.hasLink = CollectionProto.linkContains;\nuseView(View);\n// Extend react components to have backbone-style jquery accessors\nvar BackboneViewProps = {\n el: { get: function () { return ReactDOM.findDOMNode(this); } },\n $el: { get: function () { return Nested.$(this.el); } },\n $: { value: function (sel) { return this.$el.find(sel); } }\n};\nObject.defineProperties(NestedReact.Component.prototype, BackboneViewProps);\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/index.js\n// module id = 8\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { define, Store } from 'type-r';\nimport { StateMixin, UpdateOnNestedChangesMixin } from './state';\nexport default function onDefine(definition, BaseClass) {\n var store = definition.store, StoreClass = definition.Store;\n if (store && store instanceof Store) {\n // Direct reference to an existing store. Put it to the prototype.\n this.prototype.store = store;\n this.mixins.merge([ExternalStoreMixin, ExposeStoreMixin]);\n }\n else if (store || definition.Store) {\n if (typeof store === 'function') {\n StoreClass = store;\n store = void 0;\n }\n if (store) {\n var BaseClass_1 = StoreClass || this.prototype.Store || Store;\n var InternalStore = (function (_super) {\n __extends(InternalStore, _super);\n function InternalStore() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return InternalStore;\n }(BaseClass_1));\n InternalStore.attrbutes = store;\n InternalStore = __decorate([\n define\n ], InternalStore);\n ;\n this.prototype.Store = InternalStore;\n }\n else if (StoreClass) {\n this.prototype.Store = StoreClass;\n }\n this.mixins.merge([InternalStoreMixin, UpdateOnNestedChangesMixin, ExposeStoreMixin]);\n }\n}\n/**\n * Attached whenever the store declaration of any form is present in the component.\n */\nvar ExposeStoreMixin = {\n childContext: {\n _nestedStore: Store\n },\n getChildContext: function () {\n return { _nestedStore: this.store };\n },\n getStore: function () {\n return this.store;\n },\n // Will be called by the store when the lookup will fail.\n get: function (key) {\n // Ask upper store.\n var store = StateMixin.getStore.call(this, key);\n return store && store.get(key);\n }\n};\n/**\n * External store must just track the changes and trigger render.\n * TBD: don't use it yet.\n */\nvar ExternalStoreMixin = {\n componentDidMount: function () {\n // Start UI updates on state changes.\n this.listenTo(this.store, 'change', this.asyncUpdate);\n }\n};\nvar InternalStoreMixin = {\n componentWillMount: function () {\n var store = this.store = new this.Store();\n store._owner = this;\n store._ownerKey = 'store';\n },\n componentWillUnmount: function () {\n this.store._ownerKey = this.store._owner = void 0;\n this.store.dispose();\n this.store = void 0;\n }\n};\n//# sourceMappingURL=store.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/store.js\n// module id = 9\n// module chunks = 0","import { compileSpecs } from './typeSpecs';\nimport { tools } from 'type-r';\nexport default function onDefine(_a, BaseClass) {\n var context = _a.context, childContext = _a.childContext;\n var prototype = this.prototype;\n if (context) {\n // Merge in inherited members...\n prototype._context = tools.defaults(context, BaseClass.prototype._context || {});\n // Compile to propTypes...\n this.contextTypes = compileSpecs(context).propTypes;\n }\n if (childContext) {\n prototype._childContext = tools.defaults(childContext, BaseClass.prototype._childContext);\n this.childContextTypes = compileSpecs(childContext).propTypes;\n }\n}\n//# sourceMappingURL=context.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/context.js\n// module id = 10\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\nvar invariant = require('fbjs/lib/invariant');\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n invariant(\n false,\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim\n };\n\n ReactPropTypes.checkPropTypes = emptyFunction;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/prop-types/factoryWithThrowingShims.js\n// module id = 11\n// module chunks = 0","\"use strict\";\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/fbjs/lib/emptyFunction.js\n// module id = 12\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (process.env.NODE_ENV !== 'production') {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/fbjs/lib/invariant.js\n// module id = 13\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/prop-types/lib/ReactPropTypesSecret.js\n// module id = 14\n// module chunks = 0","/**\n * Handle props specification and everything which is related:\n * - local listening to props changes\n * - pure render mixin\n */\nimport { compileSpecs } from './typeSpecs';\nimport { PureRenderMixin, createChangeTokensConstructor } from './pureRender';\nimport { tools } from 'type-r';\nexport default function onDefine(_a, BaseClass) {\n var props = _a.props, pureRender = _a.pureRender;\n var prototype = this.prototype;\n // process props spec...\n if (props) {\n // Merge with inherited members...\n prototype._props = tools.defaults(props, BaseClass.prototype._props || {});\n var _b = compileSpecs(props), propTypes = _b.propTypes, defaults = _b.defaults, watchers = _b.watchers, changeHandlers = _b.changeHandlers;\n this.propTypes = propTypes;\n if (defaults)\n this.defaultProps = defaults;\n if (watchers) {\n prototype._watchers = watchers;\n this.mixins.merge([WatchersMixin]);\n }\n if (changeHandlers) {\n prototype._changeHandlers = changeHandlers;\n this.mixins.merge([ChangeHandlersMixin]);\n }\n if (prototype.pureRender) {\n prototype.PropsChangeTokens = createChangeTokensConstructor(props);\n }\n }\n if (pureRender) {\n this.mixins.merge([PureRenderMixin]);\n }\n}\n/**\n * ChangeHandlers are fired in sequence upon props replacement.\n * Fires _after_ UI is updated. Used for managing events subscriptions.\n */\nvar ChangeHandlersMixin = {\n componentDidMount: function () {\n handlePropsChanges(this, {}, this.props);\n },\n componentDidUpdate: function (prev) {\n handlePropsChanges(this, prev, this.props);\n },\n componentWillUnmount: function () {\n handlePropsChanges(this, this.props, {});\n }\n};\nfunction handlePropsChanges(component, prev, next) {\n var _changeHandlers = component._changeHandlers;\n for (var name_1 in _changeHandlers) {\n if (prev[name_1] !== next[name_1]) {\n for (var _i = 0, _a = _changeHandlers[name_1]; _i < _a.length; _i++) {\n var handler = _a[_i];\n handler(next[name_1], prev[name_1], component);\n }\n }\n }\n}\n/**\n * Watchers works on props replacement and fires _before_ any change will be applied and UI is updated.\n * Fired in componentWillMount as well, which makes it a nice way to sync state from props.\n */\nvar WatchersMixin = {\n componentWillReceiveProps: function (next) {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_2 in _watchers) {\n if (next[name_2] !== props[name_2]) {\n _watchers[name_2].call(this, next[name_2], name_2);\n }\n }\n },\n componentWillMount: function () {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_3 in _watchers) {\n _watchers[name_3].call(this, props[name_3], name_3);\n }\n }\n};\n//# sourceMappingURL=props.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/props.js\n// module id = 15\n// module chunks = 0","export function createChangeTokensConstructor(props) {\n var propNames = Object.keys(props);\n var PropsChangeTokens = new Function('p', 's', \"\\n var v;\\n this._s = s && s._changeToken;\\n \" + propNames.map(function (name) { return \"\\n this.\" + name + \" = ( ( v = p.\" + name + \") && v._changeToken ) || v;\\n \"; }).join('') + \"\\n \");\n PropsChangeTokens.prototype._hasChanges = new Function('p', 's', \"\\n var v;\\n return ( s && s._changeToken !== this._s ) \" + propNames.map(function (name) { return \" ||\\n this.\" + name + \" !== ( ( ( v = p.\" + name + \") && v._changeToken ) || v )\\n \"; }).join('') + \";\\n \");\n return PropsChangeTokens;\n}\n;\nexport var PureRenderMixin = {\n shouldComponentUpdate: function (nextProps) {\n return this._propsChangeTokens._hasChanges(nextProps);\n },\n componentDidMount: updateChangeTokens,\n componentDidUpdate: updateChangeTokens\n};\nfunction updateChangeTokens() {\n this._propsChangeTokens = new this.PropsChangeTokens(this.props, this.state);\n}\n//# sourceMappingURL=pureRender.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/pureRender.js\n// module id = 16\n// module chunks = 0","/**\n * Import ValueLink library\n * Define value links binding mixins to the Record and Collection\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { Mixable, MixinsState, Record } from 'type-r';\nimport { Link } from './valuelink/link';\nexport default Link;\nMixable.mixins.populate(Link);\n/**\n * Record\n */\nMixinsState.get(Record).merge([{\n // Link to the record's attribute by its key.\n linkAt: function (key) {\n return cacheLink(getLinksCache(this), this, key);\n },\n // Link to the attribute of the record's tree by symbolic path.\n linkPath: function (path, options) {\n return new RecordDeepLink(this, path, options);\n },\n // Link all (or listed) attributes and return links cache.\n linkAll: function () {\n var links = getLinksCache(this);\n if (arguments.length) {\n for (var i = 0; i < arguments.length; i++) {\n cacheLink(links, this, arguments[i]);\n }\n }\n else {\n var attributes = this.attributes;\n for (var key in attributes) {\n attributes[key] === void 0 || cacheLink(links, this, key);\n }\n }\n return links;\n }\n }]);\n/**\n * Link to Type-R's record attribute.\n * Strict evaluation of value, lazy evaluation of validation error.\n * Links are cached in the records\n */\nvar RecordLink = (function (_super) {\n __extends(RecordLink, _super);\n function RecordLink(record, attr, value) {\n var _this = _super.call(this, value) || this;\n _this.record = record;\n _this.attr = attr;\n return _this;\n }\n RecordLink.prototype.set = function (x) {\n this.record[this.attr] = x;\n };\n Object.defineProperty(RecordLink.prototype, \"error\", {\n get: function () {\n return this._error === void 0 ?\n this.record.getValidationError(this.attr) :\n this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n return RecordLink;\n}(Link));\nvar RecordDeepLink = (function (_super) {\n __extends(RecordDeepLink, _super);\n function RecordDeepLink(record, path, options) {\n var _this = _super.call(this, record.deepGet(path)) || this;\n _this.record = record;\n _this.path = path;\n _this.options = options;\n return _this;\n }\n Object.defineProperty(RecordDeepLink.prototype, \"error\", {\n get: function () {\n if (this._error === void 0) {\n this._error = this.record.deepValidationError(this.path) || null;\n }\n return this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(RecordDeepLink.prototype, \"_changeToken\", {\n get: function () {\n return this.record._changeToken;\n },\n enumerable: true,\n configurable: true\n });\n RecordDeepLink.prototype.set = function (x) {\n this.record.deepSet(this.path, x, this.options);\n };\n return RecordDeepLink;\n}(Link));\nfunction getLinksCache(record) {\n return record._links || (record._links = new record.AttributesCopy({}));\n}\nfunction cacheLink(links, record, key) {\n var cached = links[key], value = record[key];\n return cached && cached.value === value ? cached\n : links[key] = new RecordLink(record, key, value);\n}\n/***********************************\n * Collection\n */\nMixinsState.get(Record.Collection).merge([{\n // Boolean link to the record's presence in the collection\n linkContains: function (record) {\n return new CollectionLink(this, record);\n },\n // Link to collection's property\n linkAt: function (prop) {\n var _this = this;\n return Link.value(this[prop], function (x) { return _this[prop] = x; });\n }\n }]);\n/**\n * Boolean link to presence of NestedType's record in collection.\n * Strict evaluation of value, no error.\n * Safe implementation of _changeToken.\n */\nvar CollectionLink = (function (_super) {\n __extends(CollectionLink, _super);\n function CollectionLink(collection, record) {\n var _this = _super.call(this, Boolean(collection._byId[record.cid])) || this;\n _this.collection = collection;\n _this.record = record;\n return _this;\n }\n CollectionLink.prototype.set = function (x) {\n this.collection.toggle(this.record, x);\n };\n return CollectionLink;\n}(Link));\n//# sourceMappingURL=link.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/link.js\n// module id = 17\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * Advanced React links for purely functional two-way data binding\n *\n * MIT License, (c) 2016 Vlad Balin, Volicon.\n */\nimport { helpers, arrayHelpers } from './helpers';\n// Main Link class. All links must extend it.\nvar Link = (function () {\n // create \n function Link(value) {\n this.value = value;\n }\n // Create custom link to arbitrary value\n Link.value = function (value, set) {\n return new CustomLink(value, set);\n };\n Object.defineProperty(Link.prototype, \"validationError\", {\n // DEPRECATED: Old error holder for backward compatibility with Volicon code base\n get: function () { return this.error; },\n enumerable: true,\n configurable: true\n });\n Link.prototype.onChange = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n handler(x);\n _this.set(x);\n });\n };\n Object.defineProperty(Link.prototype, \"props\", {\n // \n get: function () {\n var _this = this;\n return typeof this.value === 'boolean' ? {\n checked: this.value,\n onChange: function (e) { return _this.set(Boolean(e.target.checked)); }\n } : {\n value: this.value,\n onChange: function (e) { return _this.set(e.target.value); }\n };\n },\n enumerable: true,\n configurable: true\n });\n // DEPRECATED: Old React method for backward compatibility\n Link.prototype.requestChange = function (x) {\n this.set(x);\n };\n // Immediately update the link value using given transform function.\n Link.prototype.update = function (transform, e) {\n var next = transform(this.clone(), e);\n next === void 0 || this.set(next);\n };\n // Create new link which applies transform function on set.\n Link.prototype.pipe = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n var next = handler(x, _this.value);\n next === void 0 || _this.set(next);\n });\n };\n // Create UI event handler function which will update the link with a given transform function.\n Link.prototype.action = function (transform) {\n var _this = this;\n return function (e) { return _this.update(transform, e); };\n };\n Link.prototype.equals = function (truthyValue) {\n return new EqualsLink(this, truthyValue);\n };\n Link.prototype.enabled = function (defaultValue) {\n return new EnabledLink(this, defaultValue || \"\");\n };\n // Array-only links methods\n Link.prototype.contains = function (element) {\n return new ContainsLink(this, element);\n };\n Link.prototype.push = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.push.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.unshift = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.unshift.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.splice = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.splice.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.map = function (iterator) {\n return helpers(this.value).map(this, iterator);\n };\n Link.prototype.removeAt = function (key) {\n var value = this.value, _ = helpers(value);\n this.set(_.remove(_.clone(value), key));\n };\n Link.prototype.at = function (key) {\n return new LinkAt(this, key);\n };\n Link.prototype.clone = function () {\n var value = this.value;\n return helpers(value).clone(value);\n };\n Link.prototype.pick = function () {\n var links = {};\n for (var i = 0; i < arguments.length; i++) {\n var key = arguments[i];\n links[key] = new LinkAt(this, key);\n }\n return links;\n };\n /**\n * Validate link with validness predicate and optional custom error object. Can be chained.\n */\n Link.prototype.check = function (whenValid, error) {\n if (!this.error && !whenValid(this.value)) {\n this.error = error || whenValid.error || defaultError;\n }\n return this;\n };\n return Link;\n}());\nexport { Link };\nvar CustomLink = (function (_super) {\n __extends(CustomLink, _super);\n function CustomLink(value, set) {\n var _this = _super.call(this, value) || this;\n _this.set = set;\n return _this;\n }\n CustomLink.prototype.set = function (x) { };\n return CustomLink;\n}(Link));\nexport { CustomLink };\nvar CloneLink = (function (_super) {\n __extends(CloneLink, _super);\n function CloneLink(parent, set) {\n var _this = _super.call(this, parent.value) || this;\n _this.set = set;\n var error = parent.error;\n if (error)\n _this.error = error;\n return _this;\n }\n CloneLink.prototype.set = function (x) { };\n return CloneLink;\n}(Link));\nexport { CloneLink };\nvar EqualsLink = (function (_super) {\n __extends(EqualsLink, _super);\n function EqualsLink(parent, truthyValue) {\n var _this = _super.call(this, parent.value === truthyValue) || this;\n _this.parent = parent;\n _this.truthyValue = truthyValue;\n return _this;\n }\n EqualsLink.prototype.set = function (x) {\n this.parent.set(x ? this.truthyValue : null);\n };\n return EqualsLink;\n}(Link));\nexport { EqualsLink };\nvar EnabledLink = (function (_super) {\n __extends(EnabledLink, _super);\n function EnabledLink(parent, defaultValue) {\n var _this = _super.call(this, parent.value != null) || this;\n _this.parent = parent;\n _this.defaultValue = defaultValue;\n return _this;\n }\n EnabledLink.prototype.set = function (x) {\n this.parent.set(x ? this.defaultValue : null);\n };\n return EnabledLink;\n}(Link));\nexport { EnabledLink };\nvar ContainsLink = (function (_super) {\n __extends(ContainsLink, _super);\n function ContainsLink(parent, element) {\n var _this = _super.call(this, parent.value.indexOf(element) >= 0) || this;\n _this.parent = parent;\n _this.element = element;\n return _this;\n }\n ContainsLink.prototype.set = function (x) {\n var _this = this;\n var next = Boolean(x);\n if (this.value !== next) {\n var arr = this.parent.value, nextValue = x ? arr.concat(this.element) : arr.filter(function (el) { return el !== _this.element; });\n this.parent.set(nextValue);\n }\n };\n return ContainsLink;\n}(Link));\nexport { ContainsLink };\nvar defaultError = 'Invalid value';\n/**\n * Link to array or object element enclosed in parent link.\n * Performs purely functional update of the parent, shallow copying its value on `set`.\n */\nvar LinkAt = (function (_super) {\n __extends(LinkAt, _super);\n function LinkAt(parent, key) {\n var _this = _super.call(this, parent.value[key]) || this;\n _this.parent = parent;\n _this.key = key;\n return _this;\n }\n LinkAt.prototype.remove = function () {\n this.parent.removeAt(this.key);\n };\n // Set new element value to parent array or object, performing purely functional update.\n LinkAt.prototype.set = function (x) {\n var _this = this;\n if (this.value !== x) {\n this.parent.update(function (value) {\n value[_this.key] = x;\n return value;\n });\n }\n };\n ;\n return LinkAt;\n}(Link));\nexport { LinkAt };\n//# sourceMappingURL=link.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/valuelink/link.js\n// module id = 18\n// module chunks = 0","var ArrayProto = Array.prototype, ObjectProto = Object.prototype;\nexport function helpers(value) {\n if (value && typeof value === 'object') {\n switch (Object.getPrototypeOf(value)) {\n case ArrayProto: return arrayHelpers;\n case ObjectProto: return objectHelpers;\n }\n }\n return dummyHelpers;\n}\n// Do nothing for types other than Array and plain Object.\nvar dummyHelpers = {\n clone: function (value) { return value; },\n map: function (link, fun) { return []; },\n remove: function (value) { return value; }\n};\n// `map` and `clone` for plain JS objects\nexport var objectHelpers = {\n // Map through the link to object\n map: function (link, iterator) {\n var mapped = [];\n for (var key in link.value) {\n var element = iterator(link.at(key), key);\n element === void 0 || (mapped.push(element));\n }\n return mapped;\n },\n remove: function (object, key) {\n delete object[key];\n return object;\n },\n // Shallow clone plain JS object\n clone: function (object) {\n var cloned = {};\n for (var key in object) {\n cloned[key] = object[key];\n }\n return cloned;\n }\n};\n// `map` and `clone` helpers for arrays.\nexport var arrayHelpers = {\n // Shallow clone array\n clone: function (array) {\n return array.slice();\n },\n remove: function (array, i) {\n array.splice(i, 1);\n return array;\n },\n // Map through the link to array\n map: function (link, iterator) {\n var length = link.value.length, mapped = Array(length);\n for (var i = 0, j = 0; i < length; i++) {\n var y = iterator(link.at(i), i);\n y === void 0 || (mapped[j++] = y);\n }\n mapped.length === j || (mapped.length = j);\n return mapped;\n }\n};\n//# sourceMappingURL=helpers.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/valuelink/helpers.js\n// module id = 19\n// module chunks = 0","/**\n * React-Type-R component base class. Overrides React component.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport * as React from 'react';\nimport { mixinRules, define, mixins, definitions, Messenger } from 'type-r';\nimport onDefine from './define';\nvar Component = (function (_super) {\n __extends(Component, _super);\n function Component(props, context) {\n var _this = _super.call(this, props, context) || this;\n _this._initializeState();\n return _this;\n }\n Component.prototype.linkAt = function (key) {\n // Quick and dirty hack to suppres type error - refactor later.\n return this.state.linkAt(key);\n };\n Component.prototype.linkAll = function () {\n // Quick and dirty hack to suppres type error - refactor later.\n var state = this.state;\n return state.linkAll.apply(state, arguments);\n };\n Component.prototype.linkPath = function (path) {\n return this.state.linkPath(path);\n };\n Object.defineProperty(Component.prototype, \"links\", {\n get: function () {\n return this.state._links;\n },\n enumerable: true,\n configurable: true\n });\n Component.prototype._initializeState = function () {\n this.state = null;\n };\n Component.prototype.assignToState = function (x, key) {\n this.state.assignFrom((_a = {}, _a[key] = x, _a));\n var _a;\n };\n Component.prototype.componentWillUnmount = function () {\n this.dispose();\n };\n /**\n * Performs transactional update for both props and state.\n * Suppress updates during the transaction, and force update aftewards.\n * Wrapping the sequence of changes in a transactions guarantees that\n * React component will be updated _after_ all the changes to the\n * both props and local state are applied.\n */\n Component.prototype.transaction = function (fun) {\n var shouldComponentUpdate = this.shouldComponentUpdate, isRoot = shouldComponentUpdate !== returnFalse;\n if (isRoot) {\n this.shouldComponentUpdate = returnFalse;\n }\n var _a = this, state = _a.state, store = _a.store, withStore = store ? function (state) { return store.transaction(function () { return fun(state); }); } : fun;\n state ? state.transaction(withStore) : withStore(state);\n if (isRoot) {\n this.shouldComponentUpdate = shouldComponentUpdate;\n this.asyncUpdate();\n }\n };\n // Safe version of the forceUpdate suitable for asynchronous callbacks.\n Component.prototype.asyncUpdate = function () {\n this.shouldComponentUpdate === returnFalse || this._disposed || this.forceUpdate();\n };\n return Component;\n}(React.Component));\nComponent.onDefine = onDefine;\nComponent = __decorate([\n define,\n definitions({\n // Definitions to be extracted from mixins and statics and passed to `onDefine()`\n state: mixinRules.merge,\n State: mixinRules.value,\n store: mixinRules.merge,\n Store: mixinRules.value,\n props: mixinRules.merge,\n context: mixinRules.merge,\n childContext: mixinRules.merge,\n pureRender: mixinRules.protoValue\n }),\n mixinRules({\n // Apply old-school React mixin rules.\n componentWillMount: mixinRules.classLast,\n componentDidMount: mixinRules.classLast,\n componentWillReceiveProps: mixinRules.classLast,\n componentWillUpdate: mixinRules.classLast,\n componentDidUpdate: mixinRules.classLast,\n componentWillUnmount: mixinRules.classFirst,\n // And a bit more to fix inheritance quirks.\n shouldComponentUpdate: mixinRules.some,\n getChildContext: mixinRules.defaults\n })\n // Component can send and receive events...\n ,\n mixins(Messenger)\n], Component);\nexport { Component };\nfunction returnFalse() { return false; }\n// Looks like React guys _really_ want to deprecate it. But no way.\n// We will work around their attempt.\nObject.defineProperty(Component.prototype, 'isMounted', {\n value: function isMounted() {\n return !this._disposed;\n }\n});\n//# sourceMappingURL=component.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/component.js\n// module id = 20\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport React, { Component } from './react-mvx';\nimport { tools } from 'type-r';\nvar notEqual = tools.notEqual;\nvar BackboneView = (function (_super) {\n __extends(BackboneView, _super);\n function BackboneView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.saveRef = function (element) {\n _this.root = element;\n };\n return _this;\n }\n BackboneView.prototype.shouldComponentUpdate = function (next) {\n var props = this.props;\n return next.View !== props.View || notEqual(next.options, props.options);\n };\n BackboneView.prototype.hasUnsavedChanges = function () {\n var view = this.view;\n return view && (typeof view.hasUnsavedChanges === 'function' ? view.hasUnsavedChanges() : view.hasUnsavedChanges);\n };\n BackboneView.prototype.render = function () {\n return React.createElement('div', {\n ref: this.saveRef,\n className: this.props.className\n });\n };\n BackboneView.prototype.componentDidMount = function () {\n this._mountView();\n };\n BackboneView.prototype.componentDidUpdate = function () {\n this._dispose();\n this._mountView();\n };\n BackboneView.prototype.componentWillUnmount = function () {\n this._dispose();\n };\n BackboneView.prototype._mountView = function () {\n var el = this.root, p = this.props;\n var view = this.view = p.options ? new p.View(p.options) : new p.View();\n el.appendChild(view.el);\n view.render();\n };\n BackboneView.prototype._dispose = function () {\n var view = this.view;\n if (view) {\n if (view.dispose) {\n view.dispose();\n }\n else {\n view.stopListening();\n view.off();\n }\n this.root.innerHTML = \"\";\n this.view = null;\n }\n };\n return BackboneView;\n}(Component));\nexport default BackboneView;\n//# sourceMappingURL=view-element.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/view-element.js\n// module id = 21\n// module chunks = 0","import * as React from 'react';\nimport ReactDOM from 'react-dom';\nimport { tools } from 'type-r';\nwindow.Page || (window.Page = { forceResize: function () { } });\nexport default function use(View) {\n var dispose = View.prototype.dispose || function () { }, setElement = View.prototype.setElement;\n var ComponentView = View.extend({\n reactClass: null,\n props: {},\n element: null,\n initialize: function (props) {\n // memorise arguments to pass to React\n this.options = props || {};\n },\n setElement: function () {\n this.unmountComponent(true);\n return setElement.apply(this, arguments);\n },\n // cached instance of react component...\n component: null,\n prevState: null,\n resize: function () {\n window.Page.forceResize();\n },\n render: function () {\n var options = this.prevState ? tools.fastAssign({ __keepState: this.prevState }, this.options) : this.options, element = React.createElement(this.reactClass, options), component = ReactDOM.render(element, this.el);\n this.component || this.mountComponent(component);\n },\n mountComponent: function (component) {\n this.component = component;\n this.prevState = null;\n component.trigger && this.listenTo(component, 'all', function () {\n this.trigger.apply(this, arguments);\n });\n },\n unmountComponent: function (keepModel) {\n var component = this.component;\n if (component) {\n this.prevState = component.state;\n if (component.trigger) {\n this.stopListening(component);\n }\n component._preventDispose = Boolean(keepModel);\n ReactDOM.unmountComponentAtNode(this.el);\n this.component = null;\n }\n },\n dispose: function () {\n this.unmountComponent();\n return dispose.apply(this, arguments);\n }\n });\n Object.defineProperty(ComponentView.prototype, 'model', {\n get: function () {\n this.component || this.render();\n return this.component && this.component.state;\n }\n });\n return ComponentView;\n}\n//# sourceMappingURL=component-view.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/component-view.js\n// module id = 22\n// module chunks = 0","var __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\nimport { Component } from './react-mvx';\nvar dontAutobind = [\n 'State', 'Store', 'constructor',\n 'componentWillMount', 'componentDidMount', 'componentWillReceiveProps', 'shouldComponentUpdate',\n 'componentWillUpdate', 'componentDidUpdate', 'componentWillUnmount',\n 'render', 'getDefaultProps', 'getChildContext'\n];\n/**\n * ES5 components definition factory\n */\nexport default function createClass(_a) {\n var statics = _a.statics, a_spec = __rest(_a, [\"statics\"]);\n // Gather all methods to pin them to `this` later.\n var methods = [];\n var Subclass = Component.extend(__assign({ \n // Override constructor to autobind all the methods...\n constructor: function () {\n Component.apply(this, this.arguments);\n for (var _i = 0, methods_1 = methods; _i < methods_1.length; _i++) {\n var method = methods_1[_i];\n this[method] = this[method].bind(this);\n }\n } }, a_spec), statics);\n // Need to bind methods from mixins as well, so populate it here.\n var Proto = Subclass.prototype;\n for (var key in Proto) {\n if (Proto.hasOwnProperty(key) && dontAutobind.indexOf(key) === -1 && typeof Proto[key] === 'function') {\n methods.push(key);\n }\n }\n return Subclass;\n}\n//# sourceMappingURL=createClass.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/createClass.js\n// module id = 23\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file diff --git a/lib/view-element.d.ts b/lib/view-element.d.ts index 944ee67..f6be018 100644 --- a/lib/view-element.d.ts +++ b/lib/view-element.d.ts @@ -1,11 +1,11 @@ /// -import React from './react-mvx'; +import { Component } from './react-mvx'; export interface BackboneViewProps { View: any; options: object; className?: string; } -export default class BackboneView extends React.Component { +export default class BackboneView extends Component { shouldComponentUpdate(next: any): boolean; view: any; hasUnsavedChanges(): any; diff --git a/lib/view-element.js b/lib/view-element.js index a8a5a08..bce257e 100644 --- a/lib/view-element.js +++ b/lib/view-element.js @@ -8,7 +8,7 @@ var __extends = (this && this.__extends) || (function () { d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); -import React from './react-mvx'; +import React, { Component } from './react-mvx'; import { tools } from 'type-r'; var notEqual = tools.notEqual; var BackboneView = (function (_super) { @@ -65,6 +65,6 @@ var BackboneView = (function (_super) { } }; return BackboneView; -}(React.Component)); +}(Component)); export default BackboneView; //# sourceMappingURL=view-element.js.map \ No newline at end of file diff --git a/lib/view-element.js.map b/lib/view-element.js.map index 6791564..9454b6f 100644 --- a/lib/view-element.js.map +++ b/lib/view-element.js.map @@ -1 +1 @@ -{"version":3,"file":"view-element.js","sourceRoot":"","sources":["../src/view-element.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,KAAiB,MAAM,aAAa,CAAA;AAE3C,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAEtB,IAAA,yBAAQ,CAAW;AAQ3B;IAA0C,gCAAoC;IAA9E;QAAA,qEAkEC;QAjDG,aAAO,GAAG,UAAA,OAAO;YACb,KAAI,CAAC,IAAI,GAAG,OAAO,CAAC;QACxB,CAAC,CAAA;;IA+CL,CAAC;IAjEG,4CAAqB,GAArB,UAAuB,IAAI;QACvB,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACvB,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,QAAQ,CAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAE,CAAC;IAC/E,CAAC;IAID,wCAAiB,GAAjB;QACI,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAErB,MAAM,CAAC,IAAI,IAAI,CACX,OAAO,IAAI,CAAC,iBAAiB,KAAK,UAAU,GAAG,IAAI,CAAC,iBAAiB,EAAE,GAAG,IAAI,CAAC,iBAAiB,CACnG,CAAC;IACN,CAAC;IAOD,6BAAM,GAAN;QACI,MAAM,CAAC,KAAK,CAAC,aAAa,CAAE,KAAK,EAAE;YAC/B,GAAG,EAAS,IAAI,CAAC,OAAO;YACxB,SAAS,EAAG,IAAI,CAAC,KAAK,CAAC,SAAS;SACnC,CAAE,CAAC;IACR,CAAC;IAED,wCAAiB,GAAjB;QACI,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;IAED,yCAAkB,GAAlB;QACI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;IAED,2CAAoB,GAApB;QACI,IAAI,CAAC,QAAQ,EAAE,CAAC;IACpB,CAAC;IAED,iCAAU,GAAV;QACI,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,EACd,CAAC,GAAI,IAAI,CAAC,KAAK,CAAC;QAEpB,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,IAAI,CAAE,CAAC,CAAC,OAAO,CAAE,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;QAE1E,EAAE,CAAC,WAAW,CAAE,IAAI,CAAC,EAAE,CAAE,CAAC;QAC1B,IAAI,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC;IAED,+BAAQ,GAAR;QACI,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACrB,EAAE,CAAA,CAAE,IAAK,CAAC,CAAA,CAAC;YACP,EAAE,CAAA,CAAE,IAAI,CAAC,OAAQ,CAAC,CAAA,CAAC;gBACf,IAAI,CAAC,OAAO,EAAE,CAAC;YACnB,CAAC;YACD,IAAI,CAAA,CAAC;gBACD,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,IAAI,CAAC,GAAG,EAAE,CAAC;YACf,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,GAAqB,IAAI,CAAC;QACvC,CAAC;IACL,CAAC;IACL,mBAAC;AAAD,CAAC,AAlED,CAA0C,KAAK,CAAC,SAAS,GAkExD"} \ No newline at end of file +{"version":3,"file":"view-element.js","sourceRoot":"","sources":["../src/view-element.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAU,SAAS,EAAE,MAAM,aAAa,CAAA;AAEtD,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAEtB,IAAA,yBAAQ,CAAW;AAQ3B;IAA0C,gCAAoC;IAA9E;QAAA,qEAkEC;QAjDG,aAAO,GAAG,UAAA,OAAO;YACb,KAAI,CAAC,IAAI,GAAG,OAAO,CAAC;QACxB,CAAC,CAAA;;IA+CL,CAAC;IAjEG,4CAAqB,GAArB,UAAuB,IAAI;QACvB,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACvB,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,QAAQ,CAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAE,CAAC;IAC/E,CAAC;IAID,wCAAiB,GAAjB;QACI,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAErB,MAAM,CAAC,IAAI,IAAI,CACX,OAAO,IAAI,CAAC,iBAAiB,KAAK,UAAU,GAAG,IAAI,CAAC,iBAAiB,EAAE,GAAG,IAAI,CAAC,iBAAiB,CACnG,CAAC;IACN,CAAC;IAOD,6BAAM,GAAN;QACI,MAAM,CAAC,KAAK,CAAC,aAAa,CAAE,KAAK,EAAE;YAC/B,GAAG,EAAS,IAAI,CAAC,OAAO;YACxB,SAAS,EAAG,IAAI,CAAC,KAAK,CAAC,SAAS;SACnC,CAAE,CAAC;IACR,CAAC;IAED,wCAAiB,GAAjB;QACI,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;IAED,yCAAkB,GAAlB;QACI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;IAED,2CAAoB,GAApB;QACI,IAAI,CAAC,QAAQ,EAAE,CAAC;IACpB,CAAC;IAED,iCAAU,GAAV;QACI,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,EACd,CAAC,GAAI,IAAI,CAAC,KAAK,CAAC;QAEpB,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,IAAI,CAAE,CAAC,CAAC,OAAO,CAAE,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;QAE1E,EAAE,CAAC,WAAW,CAAE,IAAI,CAAC,EAAE,CAAE,CAAC;QAC1B,IAAI,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC;IAED,+BAAQ,GAAR;QACI,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACrB,EAAE,CAAA,CAAE,IAAK,CAAC,CAAA,CAAC;YACP,EAAE,CAAA,CAAE,IAAI,CAAC,OAAQ,CAAC,CAAA,CAAC;gBACf,IAAI,CAAC,OAAO,EAAE,CAAC;YACnB,CAAC;YACD,IAAI,CAAA,CAAC;gBACD,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,IAAI,CAAC,GAAG,EAAE,CAAC;YACf,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,GAAI,IAAI,CAAC;QACtB,CAAC;IACL,CAAC;IACL,mBAAC;AAAD,CAAC,AAlED,CAA0C,SAAS,GAkElD"} \ No newline at end of file diff --git a/src/view-element.ts b/src/view-element.ts index d3b62a9..b036a38 100644 --- a/src/view-element.ts +++ b/src/view-element.ts @@ -1,4 +1,4 @@ -import React, { define } from './react-mvx' +import React, { define, Component } from './react-mvx' import ReactDOM from 'react-dom' import { tools } from 'type-r' @@ -10,7 +10,7 @@ export interface BackboneViewProps{ className? : string } -export default class BackboneView extends React.Component< BackboneViewProps >{ +export default class BackboneView extends Component< BackboneViewProps, null >{ shouldComponentUpdate( next ){ var props = this.props; return next.View !== props.View || notEqual( next.options, props.options ); @@ -73,7 +73,7 @@ export default class BackboneView extends React.Component< BackboneViewProps >{ } this.root.innerHTML = ""; - this.view = null; + this.view = null; } } } \ No newline at end of file diff --git a/submodules/React-MVx b/submodules/React-MVx index c1f716d..2d3af0c 160000 --- a/submodules/React-MVx +++ b/submodules/React-MVx @@ -1 +1 @@ -Subproject commit c1f716da39f6443045c8610eb4b64cbef31ef70b +Subproject commit 2d3af0c39a5804aee54751f42d485f17ec60b956 From 729ded6efccbeba8649cb9f6b0e0a7c184dcf0c8 Mon Sep 17 00:00:00 2001 From: Vlad Balin Date: Mon, 16 Oct 2017 19:01:15 -0400 Subject: [PATCH 09/25] small bugs --- dist/index.js | 6 +++--- dist/index.min.js | 2 +- dist/index.min.js.map | 2 +- lib/index.js | 6 +++--- lib/index.js.map | 2 +- src/index.ts | 6 +++--- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/dist/index.js b/dist/index.js index 386430a..7a62222 100644 --- a/dist/index.js +++ b/dist/index.js @@ -447,10 +447,10 @@ var BaseView; function useView(View) { BaseView = Object(__WEBPACK_IMPORTED_MODULE_5__component_view__["a" /* default */])(View); } -var define = NestedReact.Component.define; -NestedReact.Component.define = function (protoProps, staticProps) { +var onDefine = NestedReact.Component.onDefine; +NestedReact.Component.onDefine = function (definitions, BaseClass) { this.View = BaseView.extend({ reactClass: this }); - return define.call(this, protoProps, staticProps); + return onDefine.call(this, definitions, BaseClass); }; // Deprecated API for backward compatibility var RecordProto = __WEBPACK_IMPORTED_MODULE_2_type_r__["Record"].prototype; diff --git a/dist/index.min.js b/dist/index.min.js index dc741f1..b14a392 100644 --- a/dist/index.min.js +++ b/dist/index.min.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("nestedtypes"),require("react"),require("react-dom")):"function"==typeof define&&define.amd?define(["nestedtypes","react","react-dom"],e):"object"==typeof exports?exports.React=e(require("nestedtypes"),require("react"),require("react-dom")):t.React=e(t.Nested,t.React,t.ReactDOM)}(this,function(t,e,n){return function(t){function e(o){if(n[o])return n[o].exports;var r=n[o]={i:o,l:!1,exports:{}};return t[o].call(r.exports,r,r.exports,e),r.l=!0,r.exports}var n={};return e.m=t,e.c=n,e.d=function(t,n,o){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:o})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=8)}([function(e,n){e.exports=t},function(t,e,n){"use strict";n.d(e,"e",function(){return a});var o=n(2),r=(n.n(o),n(0)),i=(n.n(r),n(4)),s=n(17),u=n(20);n.o(r,"define")&&n.d(e,"g",function(){return r.define}),n.o(r,"mixins")&&n.d(e,"h",function(){return r.mixins}),n.d(e,"d",function(){return i.b}),n.d(e,"b",function(){return i.a}),n.d(e,"c",function(){return s.a}),n.d(e,"a",function(){return u.a});var c=Object.create(o);c.default=c,c.define=r.define,c.mixins=r.mixins,c.Node=i.b.value(null),c.Element=i.a.value(null),c.Link=s.a,c.Component=u.a;var a=c.assignToState=function(t){return function(e){this.state.assignFrom((n={},n[t]=e&&e instanceof s.a?e.value:e,n));var n}};e.f=c},function(t,n){t.exports=e},function(t,e,n){"use strict";function o(t){var e,n,o,s={},u=c.Record.defaults(t).prototype;return u.forEachAttr(u._attributes,function(t,u){if("id"!==u){var c=t.value,a=t.type,p=t.options;if(s[u]=i(a,p.isRequired),p._onChange&&(n||(n={}),n[u]=r(p._onChange)),p.changeHandlers&&p.changeHandlers.length&&(o||(o={}),o[u]=p.changeHandlers),p.changeEvents){o||(o={});var f=o[u]||(o[u]=[]),l="string"==typeof p.changeEvents?p.changeEvents:null;f.push(function(t,e,n){e&&n.stopListening(e),t&&n.listenTo(t,l||t._changeEventName,n.asyncUpdate)})}void 0!==c&&(e||(e={}),e[u]=t.convert(c,void 0,null,{}))}}),{propTypes:s,defaults:e,watchers:n,changeHandlers:o}}function r(t){return"function"==typeof t?t:function(e,n){this[t]&&this[t](e,n)}}function i(t,e){var n=s(t);return e?n.isRequired:n}function s(t){switch(t){case Number:case Number.integer:return u.number;case String:return u.string;case Boolean:return u.bool;case Array:return u.array;case Function:return u.func;case Object:return u.object;case a:return u.node;case p:return u.element;case void 0:case null:return u.any;default:return u.instanceOf(t)}}e.c=o,n.d(e,"b",function(){return a}),n.d(e,"a",function(){return p});var u=n(6),c=(n.n(u),n(0)),a=(n.n(c),function(){function t(){}return t}()),p=function(){function t(){}return t}()},function(t,e,n){"use strict";function o(t,e){i.a.call(this,t,e),s.c.call(this,t,e),u.a.call(this,t,e),c.a.call(this,t,e),r.Messenger.onDefine.call(this,t,e)}e.c=o;var r=n(0),i=(n.n(r),n(9)),s=n(5),u=n(10),c=n(15),a=n(3);n.d(e,"b",function(){return a.b}),n.d(e,"a",function(){return a.a})},function(t,e,n){"use strict";function o(t,e){var n=this.prototype,o=t.state,a=t.State;if("function"==typeof o&&(a=o,o=void 0),o){var p=a||n.State||r.Record,f=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e}(p);f.attributes=o,f=s([r.define],f),n.State=f}else a&&(n.State=a);(o||a)&&this.mixins.merge([u,c])}e.c=o,n.d(e,"a",function(){return u}),n.d(e,"b",function(){return c});var r=n(0),i=(n.n(r),this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};return function(e,n){function o(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}}()),s=this&&this.__decorate||function(t,e,n,o){var r,i=arguments.length,s=i<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,o);else for(var u=t.length-1;u>=0;u--)(r=t[u])&&(s=(i<3?r(s):i>3?r(e,n,s):r(e,n))||s);return i>3&&s&&Object.defineProperty(e,n,s),s},u={_initializeState:function(){var t=this.state=this.props.__keepState||new this.State;t._owner=this,t._ownerKey="state"},context:{_nestedStore:r.Store},getStore:function(){var t,e;return(t=this.context)&&t._nestedStore||(e=this.state)&&e._defaultStore},componentWillUnmount:function(){var t=this.state;t._owner=t._ownerKey=void 0,this._preventDispose||t.dispose(),this.state=void 0}},c={_onChildrenChange:function(){},componentDidMount:function(){this._onChildrenChange=this.asyncUpdate}}},function(t,e,n){t.exports=n(11)()},function(t,e){t.exports=n},function(t,e,n){"use strict";function o(t){d=Object(f.a)(t)}Object.defineProperty(e,"__esModule",{value:!0}),e.useView=o;var r=n(1);n.d(e,"define",function(){return r.g}),n.d(e,"mixins",function(){return r.h}),n.d(e,"Node",function(){return r.d}),n.d(e,"Element",function(){return r.b}),n.d(e,"Link",function(){return r.c}),n.d(e,"Component",function(){return r.a}),n.d(e,"assignToState",function(){return r.e});var i=n(7),s=n.n(i),u=n(0),c=n.n(u),a=n(6),p=(n.n(a),n(21));n.d(e,"subview",function(){return p.a});var f=n(22),l=n(23);n.d(e,"PropTypes",function(){return a}),n.d(e,"createClass",function(){return l.a});var h=Object.create(r.f);e.default=h,h.subview=p.a,h.createClass=l.a,Object.defineProperty(h,"PropTypes",{value:a});var d,v=h.Component.define;h.Component.define=function(t,e){return this.View=d.extend({reactClass:this}),v.call(this,t,e)};var y=u.Record.prototype;y.getLink=y.linkAt,y.deepLink=y.linkPath;var m=u.Record.Collection.prototype;m.hasLink=m.linkContains,o(u.View);var _={el:{get:function(){return s.a.findDOMNode(this)}},$el:{get:function(){return c.a.$(this.el)}},$:{value:function(t){return this.$el.find(t)}}};Object.defineProperties(h.Component.prototype,_)},function(t,e,n){"use strict";function o(t,e){var n=t.store,o=t.Store;if(n&&n instanceof r.Store)this.prototype.store=n,this.mixins.merge([a,c]);else if(n||t.Store){if("function"==typeof n&&(o=n,n=void 0),n){var f=o||this.prototype.Store||r.Store,l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s(e,t),e}(f);l.attrbutes=n,l=u([r.define],l),this.prototype.Store=l}else o&&(this.prototype.Store=o);this.mixins.merge([p,i.b,c])}}e.a=o;var r=n(0),i=(n.n(r),n(5)),s=this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};return function(e,n){function o(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}}(),u=this&&this.__decorate||function(t,e,n,o){var r,i=arguments.length,s=i<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,o);else for(var u=t.length-1;u>=0;u--)(r=t[u])&&(s=(i<3?r(s):i>3?r(e,n,s):r(e,n))||s);return i>3&&s&&Object.defineProperty(e,n,s),s},c={childContext:{_nestedStore:r.Store},getChildContext:function(){return{_nestedStore:this.store}},getStore:function(){return this.store},get:function(t){var e=i.a.getStore.call(this,t);return e&&e.get(t)}},a={componentDidMount:function(){this.listenTo(this.store,"change",this.asyncUpdate)}},p={componentWillMount:function(){var t=this.store=new this.Store;t._owner=this,t._ownerKey="store"},componentWillUnmount:function(){this.store._ownerKey=this.store._owner=void 0,this.store.dispose(),this.store=void 0}}},function(t,e,n){"use strict";function o(t,e){var n=t.context,o=t.childContext,s=this.prototype;n&&(s._context=i.tools.defaults(n,e.prototype._context||{}),this.contextTypes=Object(r.c)(n).propTypes),o&&(s._childContext=i.tools.defaults(o,e.prototype._childContext),this.childContextTypes=Object(r.c)(o).propTypes)}e.a=o;var r=n(3),i=n(0);n.n(i)},function(t,e,n){"use strict";var o=n(12),r=n(13),i=n(14);t.exports=function(){function t(t,e,n,o,s,u){u!==i&&r(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function e(){return t}t.isRequired=t;var n={array:t,bool:t,func:t,number:t,object:t,string:t,symbol:t,any:t,arrayOf:e,element:t,instanceOf:e,node:t,objectOf:e,oneOf:e,oneOfType:e,shape:e,exact:e};return n.checkPropTypes=o,n.PropTypes=n,n}},function(t,e,n){"use strict";function o(t){return function(){return t}}var r=function(){};r.thatReturns=o,r.thatReturnsFalse=o(!1),r.thatReturnsTrue=o(!0),r.thatReturnsNull=o(null),r.thatReturnsThis=function(){return this},r.thatReturnsArgument=function(t){return t},t.exports=r},function(t,e,n){"use strict";function o(t,e,n,o,i,s,u,c){if(r(e),!t){var a;if(void 0===e)a=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var p=[n,o,i,s,u,c],f=0;a=new Error(e.replace(/%s/g,function(){return p[f++]})),a.name="Invariant Violation"}throw a.framesToPop=1,a}}var r=function(t){};t.exports=o},function(t,e,n){"use strict";t.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(t,e,n){"use strict";function o(t,e){var n=t.props,o=t.pureRender,r=this.prototype;if(n){r._props=u.tools.defaults(n,e.prototype._props||{});var p=Object(i.c)(n),f=p.propTypes,l=p.defaults,h=p.watchers,d=p.changeHandlers;this.propTypes=f,l&&(this.defaultProps=l),h&&(r._watchers=h,this.mixins.merge([a])),d&&(r._changeHandlers=d,this.mixins.merge([c])),r.pureRender&&(r.PropsChangeTokens=Object(s.b)(n))}o&&this.mixins.merge([s.a])}function r(t,e,n){var o=t._changeHandlers;for(var r in o)if(e[r]!==n[r])for(var i=0,s=o[r];i=0)||this;return o.parent=e,o.element=n,o}return r(e,t),e.prototype.set=function(t){var e=this,n=Boolean(t);if(this.value!==n){var o=this.parent.value,r=t?o.concat(this.element):o.filter(function(t){return t!==e.element});this.parent.set(r)}},e}(i),f="Invalid value",l=function(t){function e(e,n){var o=t.call(this,e.value[n])||this;return o.parent=e,o.key=n,o}return r(e,t),e.prototype.remove=function(){this.parent.removeAt(this.key)},e.prototype.set=function(t){var e=this;this.value!==t&&this.parent.update(function(n){return n[e.key]=t,n})},e}(i)},function(t,e,n){"use strict";function o(t){if(t&&"object"==typeof t)switch(Object.getPrototypeOf(t)){case r:return c;case i:return u}return s}e.b=o,n.d(e,"a",function(){return c});var r=Array.prototype,i=Object.prototype,s={clone:function(t){return t},map:function(t,e){return[]},remove:function(t){return t}},u={map:function(t,e){var n=[];for(var o in t.value){var r=e(t.at(o),o);void 0===r||n.push(r)}return n},remove:function(t,e){return delete t[e],t},clone:function(t){var e={};for(var n in t)e[n]=t[n];return e}},c={clone:function(t){return t.slice()},remove:function(t,e){return t.splice(e,1),t},map:function(t,e){for(var n=t.value.length,o=Array(n),r=0,i=0;r=0;u--)(r=t[u])&&(s=(i<3?r(s):i>3?r(e,n,s):r(e,n))||s);return i>3&&s&&Object.defineProperty(e,n,s),s},a=function(t){function e(e,n){var o=t.call(this,e,n)||this;return o._initializeState(),o}return u(e,t),e.prototype.linkAt=function(t){return this.state.linkAt(t)},e.prototype.linkAll=function(){var t=this.state;return t.linkAll.apply(t,arguments)},e.prototype.linkPath=function(t){return this.state.linkPath(t)},Object.defineProperty(e.prototype,"links",{get:function(){return this.state._links},enumerable:!0,configurable:!0}),e.prototype._initializeState=function(){this.state=null},e.prototype.assignToState=function(t,e){this.state.assignFrom((n={},n[e]=t,n));var n},e.prototype.componentWillUnmount=function(){this.dispose()},e.prototype.transaction=function(t){var e=this.shouldComponentUpdate,n=e!==o;n&&(this.shouldComponentUpdate=o);var r=this,i=r.state,s=r.store,u=s?function(e){return s.transaction(function(){return t(e)})}:t;i?i.transaction(u):u(i),n&&(this.shouldComponentUpdate=e,this.asyncUpdate())},e.prototype.asyncUpdate=function(){this.shouldComponentUpdate===o||this._disposed||this.forceUpdate()},e}(r.Component);a.onDefine=s.c,a=c([i.define,Object(i.definitions)({state:i.mixinRules.merge,State:i.mixinRules.value,store:i.mixinRules.merge,Store:i.mixinRules.value,props:i.mixinRules.merge,context:i.mixinRules.merge,childContext:i.mixinRules.merge,pureRender:i.mixinRules.protoValue}),Object(i.mixinRules)({componentWillMount:i.mixinRules.classLast,componentDidMount:i.mixinRules.classLast,componentWillReceiveProps:i.mixinRules.classLast,componentWillUpdate:i.mixinRules.classLast,componentDidUpdate:i.mixinRules.classLast,componentWillUnmount:i.mixinRules.classFirst,shouldComponentUpdate:i.mixinRules.some,getChildContext:i.mixinRules.defaults}),Object(i.mixins)(i.Messenger)],a),Object.defineProperty(a.prototype,"isMounted",{value:function(){return!this._disposed}})},function(t,e,n){"use strict";var o=n(1),r=n(0),i=(n.n(r),this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};return function(e,n){function o(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}}()),s=r.tools.notEqual,u=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.saveRef=function(t){e.root=t},e}return i(e,t),e.prototype.shouldComponentUpdate=function(t){var e=this.props;return t.View!==e.View||s(t.options,e.options)},e.prototype.hasUnsavedChanges=function(){var t=this.view;return t&&("function"==typeof t.hasUnsavedChanges?t.hasUnsavedChanges():t.hasUnsavedChanges)},e.prototype.render=function(){return o.f.createElement("div",{ref:this.saveRef,className:this.props.className})},e.prototype.componentDidMount=function(){this._mountView()},e.prototype.componentDidUpdate=function(){this._dispose(),this._mountView()},e.prototype.componentWillUnmount=function(){this._dispose()},e.prototype._mountView=function(){var t=this.root,e=this.props,n=this.view=e.options?new e.View(e.options):new e.View;t.appendChild(n.el),n.render()},e.prototype._dispose=function(){var t=this.view;t&&(t.dispose?t.dispose():(t.stopListening(),t.off()),this.root.innerHTML="",this.view=null)},e}(o.a);e.a=u},function(t,e,n){"use strict";function o(t){var e=t.prototype.dispose||function(){},n=t.prototype.setElement,o=t.extend({reactClass:null,props:{},element:null,initialize:function(t){this.options=t||{}},setElement:function(){return this.unmountComponent(!0),n.apply(this,arguments)},component:null,prevState:null,resize:function(){window.Page.forceResize()},render:function(){var t=this.prevState?u.tools.fastAssign({__keepState:this.prevState},this.options):this.options,e=r.createElement(this.reactClass,t),n=s.a.render(e,this.el);this.component||this.mountComponent(n)},mountComponent:function(t){this.component=t,this.prevState=null,t.trigger&&this.listenTo(t,"all",function(){this.trigger.apply(this,arguments)})},unmountComponent:function(t){var e=this.component;e&&(this.prevState=e.state,e.trigger&&this.stopListening(e),e._preventDispose=Boolean(t),s.a.unmountComponentAtNode(this.el),this.component=null)},dispose:function(){return this.unmountComponent(),e.apply(this,arguments)}});return Object.defineProperty(o.prototype,"model",{get:function(){return this.component||this.render(),this.component&&this.component.state}}),o}e.a=o;var r=n(2),i=(n.n(r),n(7)),s=n.n(i),u=n(0);n.n(u);window.Page||(window.Page={forceResize:function(){}})},function(t,e,n){"use strict";function o(t){var e=t.statics,n=s(t,["statics"]),o=[],c=r.a.extend(i({constructor:function(){r.a.apply(this,this.arguments);for(var t=0,e=o;t=0;u--)(r=t[u])&&(s=(i<3?r(s):i>3?r(e,n,s):r(e,n))||s);return i>3&&s&&Object.defineProperty(e,n,s),s},u={_initializeState:function(){var t=this.state=this.props.__keepState||new this.State;t._owner=this,t._ownerKey="state"},context:{_nestedStore:r.Store},getStore:function(){var t,e;return(t=this.context)&&t._nestedStore||(e=this.state)&&e._defaultStore},componentWillUnmount:function(){var t=this.state;t._owner=t._ownerKey=void 0,this._preventDispose||t.dispose(),this.state=void 0}},c={_onChildrenChange:function(){},componentDidMount:function(){this._onChildrenChange=this.asyncUpdate}}},function(t,e,n){t.exports=n(11)()},function(t,e){t.exports=n},function(t,e,n){"use strict";function o(t){d=Object(f.a)(t)}Object.defineProperty(e,"__esModule",{value:!0}),e.useView=o;var r=n(1);n.d(e,"define",function(){return r.g}),n.d(e,"mixins",function(){return r.h}),n.d(e,"Node",function(){return r.d}),n.d(e,"Element",function(){return r.b}),n.d(e,"Link",function(){return r.c}),n.d(e,"Component",function(){return r.a}),n.d(e,"assignToState",function(){return r.e});var i=n(7),s=n.n(i),u=n(0),c=n.n(u),a=n(6),p=(n.n(a),n(21));n.d(e,"subview",function(){return p.a});var f=n(22),l=n(23);n.d(e,"PropTypes",function(){return a}),n.d(e,"createClass",function(){return l.a});var h=Object.create(r.f);e.default=h,h.subview=p.a,h.createClass=l.a,Object.defineProperty(h,"PropTypes",{value:a});var d,v=h.Component.onDefine;h.Component.onDefine=function(t,e){return this.View=d.extend({reactClass:this}),v.call(this,t,e)};var y=u.Record.prototype;y.getLink=y.linkAt,y.deepLink=y.linkPath;var m=u.Record.Collection.prototype;m.hasLink=m.linkContains,o(u.View);var _={el:{get:function(){return s.a.findDOMNode(this)}},$el:{get:function(){return c.a.$(this.el)}},$:{value:function(t){return this.$el.find(t)}}};Object.defineProperties(h.Component.prototype,_)},function(t,e,n){"use strict";function o(t,e){var n=t.store,o=t.Store;if(n&&n instanceof r.Store)this.prototype.store=n,this.mixins.merge([a,c]);else if(n||t.Store){if("function"==typeof n&&(o=n,n=void 0),n){var f=o||this.prototype.Store||r.Store,l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s(e,t),e}(f);l.attrbutes=n,l=u([r.define],l),this.prototype.Store=l}else o&&(this.prototype.Store=o);this.mixins.merge([p,i.b,c])}}e.a=o;var r=n(0),i=(n.n(r),n(5)),s=this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};return function(e,n){function o(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}}(),u=this&&this.__decorate||function(t,e,n,o){var r,i=arguments.length,s=i<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,o);else for(var u=t.length-1;u>=0;u--)(r=t[u])&&(s=(i<3?r(s):i>3?r(e,n,s):r(e,n))||s);return i>3&&s&&Object.defineProperty(e,n,s),s},c={childContext:{_nestedStore:r.Store},getChildContext:function(){return{_nestedStore:this.store}},getStore:function(){return this.store},get:function(t){var e=i.a.getStore.call(this,t);return e&&e.get(t)}},a={componentDidMount:function(){this.listenTo(this.store,"change",this.asyncUpdate)}},p={componentWillMount:function(){var t=this.store=new this.Store;t._owner=this,t._ownerKey="store"},componentWillUnmount:function(){this.store._ownerKey=this.store._owner=void 0,this.store.dispose(),this.store=void 0}}},function(t,e,n){"use strict";function o(t,e){var n=t.context,o=t.childContext,s=this.prototype;n&&(s._context=i.tools.defaults(n,e.prototype._context||{}),this.contextTypes=Object(r.c)(n).propTypes),o&&(s._childContext=i.tools.defaults(o,e.prototype._childContext),this.childContextTypes=Object(r.c)(o).propTypes)}e.a=o;var r=n(3),i=n(0);n.n(i)},function(t,e,n){"use strict";var o=n(12),r=n(13),i=n(14);t.exports=function(){function t(t,e,n,o,s,u){u!==i&&r(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function e(){return t}t.isRequired=t;var n={array:t,bool:t,func:t,number:t,object:t,string:t,symbol:t,any:t,arrayOf:e,element:t,instanceOf:e,node:t,objectOf:e,oneOf:e,oneOfType:e,shape:e,exact:e};return n.checkPropTypes=o,n.PropTypes=n,n}},function(t,e,n){"use strict";function o(t){return function(){return t}}var r=function(){};r.thatReturns=o,r.thatReturnsFalse=o(!1),r.thatReturnsTrue=o(!0),r.thatReturnsNull=o(null),r.thatReturnsThis=function(){return this},r.thatReturnsArgument=function(t){return t},t.exports=r},function(t,e,n){"use strict";function o(t,e,n,o,i,s,u,c){if(r(e),!t){var a;if(void 0===e)a=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var p=[n,o,i,s,u,c],f=0;a=new Error(e.replace(/%s/g,function(){return p[f++]})),a.name="Invariant Violation"}throw a.framesToPop=1,a}}var r=function(t){};t.exports=o},function(t,e,n){"use strict";t.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(t,e,n){"use strict";function o(t,e){var n=t.props,o=t.pureRender,r=this.prototype;if(n){r._props=u.tools.defaults(n,e.prototype._props||{});var p=Object(i.c)(n),f=p.propTypes,l=p.defaults,h=p.watchers,d=p.changeHandlers;this.propTypes=f,l&&(this.defaultProps=l),h&&(r._watchers=h,this.mixins.merge([a])),d&&(r._changeHandlers=d,this.mixins.merge([c])),r.pureRender&&(r.PropsChangeTokens=Object(s.b)(n))}o&&this.mixins.merge([s.a])}function r(t,e,n){var o=t._changeHandlers;for(var r in o)if(e[r]!==n[r])for(var i=0,s=o[r];i=0)||this;return o.parent=e,o.element=n,o}return r(e,t),e.prototype.set=function(t){var e=this,n=Boolean(t);if(this.value!==n){var o=this.parent.value,r=t?o.concat(this.element):o.filter(function(t){return t!==e.element});this.parent.set(r)}},e}(i),f="Invalid value",l=function(t){function e(e,n){var o=t.call(this,e.value[n])||this;return o.parent=e,o.key=n,o}return r(e,t),e.prototype.remove=function(){this.parent.removeAt(this.key)},e.prototype.set=function(t){var e=this;this.value!==t&&this.parent.update(function(n){return n[e.key]=t,n})},e}(i)},function(t,e,n){"use strict";function o(t){if(t&&"object"==typeof t)switch(Object.getPrototypeOf(t)){case r:return c;case i:return u}return s}e.b=o,n.d(e,"a",function(){return c});var r=Array.prototype,i=Object.prototype,s={clone:function(t){return t},map:function(t,e){return[]},remove:function(t){return t}},u={map:function(t,e){var n=[];for(var o in t.value){var r=e(t.at(o),o);void 0===r||n.push(r)}return n},remove:function(t,e){return delete t[e],t},clone:function(t){var e={};for(var n in t)e[n]=t[n];return e}},c={clone:function(t){return t.slice()},remove:function(t,e){return t.splice(e,1),t},map:function(t,e){for(var n=t.value.length,o=Array(n),r=0,i=0;r=0;u--)(r=t[u])&&(s=(i<3?r(s):i>3?r(e,n,s):r(e,n))||s);return i>3&&s&&Object.defineProperty(e,n,s),s},a=function(t){function e(e,n){var o=t.call(this,e,n)||this;return o._initializeState(),o}return u(e,t),e.prototype.linkAt=function(t){return this.state.linkAt(t)},e.prototype.linkAll=function(){var t=this.state;return t.linkAll.apply(t,arguments)},e.prototype.linkPath=function(t){return this.state.linkPath(t)},Object.defineProperty(e.prototype,"links",{get:function(){return this.state._links},enumerable:!0,configurable:!0}),e.prototype._initializeState=function(){this.state=null},e.prototype.assignToState=function(t,e){this.state.assignFrom((n={},n[e]=t,n));var n},e.prototype.componentWillUnmount=function(){this.dispose()},e.prototype.transaction=function(t){var e=this.shouldComponentUpdate,n=e!==o;n&&(this.shouldComponentUpdate=o);var r=this,i=r.state,s=r.store,u=s?function(e){return s.transaction(function(){return t(e)})}:t;i?i.transaction(u):u(i),n&&(this.shouldComponentUpdate=e,this.asyncUpdate())},e.prototype.asyncUpdate=function(){this.shouldComponentUpdate===o||this._disposed||this.forceUpdate()},e}(r.Component);a.onDefine=s.c,a=c([i.define,Object(i.definitions)({state:i.mixinRules.merge,State:i.mixinRules.value,store:i.mixinRules.merge,Store:i.mixinRules.value,props:i.mixinRules.merge,context:i.mixinRules.merge,childContext:i.mixinRules.merge,pureRender:i.mixinRules.protoValue}),Object(i.mixinRules)({componentWillMount:i.mixinRules.classLast,componentDidMount:i.mixinRules.classLast,componentWillReceiveProps:i.mixinRules.classLast,componentWillUpdate:i.mixinRules.classLast,componentDidUpdate:i.mixinRules.classLast,componentWillUnmount:i.mixinRules.classFirst,shouldComponentUpdate:i.mixinRules.some,getChildContext:i.mixinRules.defaults}),Object(i.mixins)(i.Messenger)],a),Object.defineProperty(a.prototype,"isMounted",{value:function(){return!this._disposed}})},function(t,e,n){"use strict";var o=n(1),r=n(0),i=(n.n(r),this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};return function(e,n){function o(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}}()),s=r.tools.notEqual,u=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.saveRef=function(t){e.root=t},e}return i(e,t),e.prototype.shouldComponentUpdate=function(t){var e=this.props;return t.View!==e.View||s(t.options,e.options)},e.prototype.hasUnsavedChanges=function(){var t=this.view;return t&&("function"==typeof t.hasUnsavedChanges?t.hasUnsavedChanges():t.hasUnsavedChanges)},e.prototype.render=function(){return o.f.createElement("div",{ref:this.saveRef,className:this.props.className})},e.prototype.componentDidMount=function(){this._mountView()},e.prototype.componentDidUpdate=function(){this._dispose(),this._mountView()},e.prototype.componentWillUnmount=function(){this._dispose()},e.prototype._mountView=function(){var t=this.root,e=this.props,n=this.view=e.options?new e.View(e.options):new e.View;t.appendChild(n.el),n.render()},e.prototype._dispose=function(){var t=this.view;t&&(t.dispose?t.dispose():(t.stopListening(),t.off()),this.root.innerHTML="",this.view=null)},e}(o.a);e.a=u},function(t,e,n){"use strict";function o(t){var e=t.prototype.dispose||function(){},n=t.prototype.setElement,o=t.extend({reactClass:null,props:{},element:null,initialize:function(t){this.options=t||{}},setElement:function(){return this.unmountComponent(!0),n.apply(this,arguments)},component:null,prevState:null,resize:function(){window.Page.forceResize()},render:function(){var t=this.prevState?u.tools.fastAssign({__keepState:this.prevState},this.options):this.options,e=r.createElement(this.reactClass,t),n=s.a.render(e,this.el);this.component||this.mountComponent(n)},mountComponent:function(t){this.component=t,this.prevState=null,t.trigger&&this.listenTo(t,"all",function(){this.trigger.apply(this,arguments)})},unmountComponent:function(t){var e=this.component;e&&(this.prevState=e.state,e.trigger&&this.stopListening(e),e._preventDispose=Boolean(t),s.a.unmountComponentAtNode(this.el),this.component=null)},dispose:function(){return this.unmountComponent(),e.apply(this,arguments)}});return Object.defineProperty(o.prototype,"model",{get:function(){return this.component||this.render(),this.component&&this.component.state}}),o}e.a=o;var r=n(2),i=(n.n(r),n(7)),s=n.n(i),u=n(0);n.n(u);window.Page||(window.Page={forceResize:function(){}})},function(t,e,n){"use strict";function o(t){var e=t.statics,n=s(t,["statics"]),o=[],c=r.a.extend(i({constructor:function(){r.a.apply(this,this.arguments);for(var t=0,e=o;t= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n/*****************\n * State\n */\n\nfunction process(definition, BaseComponentClass) {\n var prototype = this.prototype;\n var state = definition.state, State = definition.State;\n if (typeof state === 'function') {\n State = state;\n state = void 0;\n }\n if (state) {\n var BaseClass = State || prototype.State || __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Record\"];\n var ComponentState = (function (_super) {\n __extends(ComponentState, _super);\n function ComponentState() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return ComponentState;\n }(BaseClass));\n ComponentState.attributes = state;\n ComponentState = __decorate([\n __WEBPACK_IMPORTED_MODULE_0_type_r__[\"define\"]\n ], ComponentState);\n prototype.State = ComponentState;\n }\n else if (State) {\n prototype.State = State;\n }\n if (state || State) {\n this.mixins.merge([StateMixin, UpdateOnNestedChangesMixin]);\n }\n}\nvar StateMixin = {\n //state : null,\n _initializeState: function () {\n // props.__keepState is used to workaround issues in Backbone intergation layer\n var state = this.state = this.props.__keepState || new this.State();\n // Take ownership on state...\n state._owner = this;\n state._ownerKey = 'state';\n },\n context: {\n _nestedStore: __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Store\"]\n },\n // reference global store to fix model's store locator\n getStore: function () {\n // Attempt to get the store from the context first. Then - fallback to the state's default store.\n // TBD: Need to figure out a good way of managing local stores.\n var context, state;\n return ((context = this.context) && context._nestedStore) ||\n ((state = this.state) && state._defaultStore);\n },\n componentWillUnmount: function () {\n var state = this.state;\n state._owner = state._ownerKey = void 0;\n this._preventDispose /* hack for component-view to preserve the state */ || state.dispose();\n this.state = void 0;\n }\n};\nvar UpdateOnNestedChangesMixin = {\n _onChildrenChange: function () { },\n componentDidMount: function () {\n this._onChildrenChange = this.asyncUpdate;\n }\n};\n//# sourceMappingURL=state.js.map\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (false) {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = __webpack_require__(11)();\n}\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_7__;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (immutable) */ __webpack_exports__[\"useView\"] = useView;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1);\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"define\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"g\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"mixins\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"h\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Node\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"d\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Element\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"b\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Link\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"c\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Component\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"assignToState\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"e\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__view_element__ = __webpack_require__(21);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"subview\", function() { return __WEBPACK_IMPORTED_MODULE_4__view_element__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__component_view__ = __webpack_require__(22);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__createClass__ = __webpack_require__(23);\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"PropTypes\", function() { return __WEBPACK_IMPORTED_MODULE_3_prop_types__; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"createClass\", function() { return __WEBPACK_IMPORTED_MODULE_6__createClass__[\"a\"]; });\n// Re-export react-mvx\n\nvar NestedReact = Object.create(__WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"f\" /* default */]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (NestedReact);\n\n// NestedReact backward compatibility layer\n\n\n\n\nNestedReact.subview = __WEBPACK_IMPORTED_MODULE_4__view_element__[\"a\" /* default */];\n\n\n\nNestedReact.createClass = __WEBPACK_IMPORTED_MODULE_6__createClass__[\"a\" /* default */];\nObject.defineProperty(NestedReact, 'PropTypes', { value: __WEBPACK_IMPORTED_MODULE_3_prop_types__ });\n\nvar BaseView;\n// export hook to override base View class used...\nfunction useView(View) {\n BaseView = Object(__WEBPACK_IMPORTED_MODULE_5__component_view__[\"a\" /* default */])(View);\n}\nvar define = NestedReact.Component.define;\nNestedReact.Component.define = function (protoProps, staticProps) {\n this.View = BaseView.extend({ reactClass: this });\n return define.call(this, protoProps, staticProps);\n};\n// Deprecated API for backward compatibility\nvar RecordProto = __WEBPACK_IMPORTED_MODULE_2_type_r__[\"Record\"].prototype;\nRecordProto.getLink = RecordProto.linkAt;\nRecordProto.deepLink = RecordProto.linkPath;\nvar CollectionProto = __WEBPACK_IMPORTED_MODULE_2_type_r__[\"Record\"].Collection.prototype;\nCollectionProto.hasLink = CollectionProto.linkContains;\nuseView(__WEBPACK_IMPORTED_MODULE_2_type_r__[\"View\"]);\n// Extend react components to have backbone-style jquery accessors\nvar BackboneViewProps = {\n el: { get: function () { return __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.findDOMNode(this); } },\n $el: { get: function () { return __WEBPACK_IMPORTED_MODULE_2_type_r___default.a.$(this.el); } },\n $: { value: function (sel) { return this.$el.find(sel); } }\n};\nObject.defineProperties(NestedReact.Component.prototype, BackboneViewProps);\n//# sourceMappingURL=index.js.map\n\n/***/ }),\n/* 9 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = onDefine;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__state__ = __webpack_require__(5);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\nfunction onDefine(definition, BaseClass) {\n var store = definition.store, StoreClass = definition.Store;\n if (store && store instanceof __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Store\"]) {\n // Direct reference to an existing store. Put it to the prototype.\n this.prototype.store = store;\n this.mixins.merge([ExternalStoreMixin, ExposeStoreMixin]);\n }\n else if (store || definition.Store) {\n if (typeof store === 'function') {\n StoreClass = store;\n store = void 0;\n }\n if (store) {\n var BaseClass_1 = StoreClass || this.prototype.Store || __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Store\"];\n var InternalStore = (function (_super) {\n __extends(InternalStore, _super);\n function InternalStore() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return InternalStore;\n }(BaseClass_1));\n InternalStore.attrbutes = store;\n InternalStore = __decorate([\n __WEBPACK_IMPORTED_MODULE_0_type_r__[\"define\"]\n ], InternalStore);\n ;\n this.prototype.Store = InternalStore;\n }\n else if (StoreClass) {\n this.prototype.Store = StoreClass;\n }\n this.mixins.merge([InternalStoreMixin, __WEBPACK_IMPORTED_MODULE_1__state__[\"b\" /* UpdateOnNestedChangesMixin */], ExposeStoreMixin]);\n }\n}\n/**\n * Attached whenever the store declaration of any form is present in the component.\n */\nvar ExposeStoreMixin = {\n childContext: {\n _nestedStore: __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Store\"]\n },\n getChildContext: function () {\n return { _nestedStore: this.store };\n },\n getStore: function () {\n return this.store;\n },\n // Will be called by the store when the lookup will fail.\n get: function (key) {\n // Ask upper store.\n var store = __WEBPACK_IMPORTED_MODULE_1__state__[\"a\" /* StateMixin */].getStore.call(this, key);\n return store && store.get(key);\n }\n};\n/**\n * External store must just track the changes and trigger render.\n * TBD: don't use it yet.\n */\nvar ExternalStoreMixin = {\n componentDidMount: function () {\n // Start UI updates on state changes.\n this.listenTo(this.store, 'change', this.asyncUpdate);\n }\n};\nvar InternalStoreMixin = {\n componentWillMount: function () {\n var store = this.store = new this.Store();\n store._owner = this;\n store._ownerKey = 'store';\n },\n componentWillUnmount: function () {\n this.store._ownerKey = this.store._owner = void 0;\n this.store.dispose();\n this.store = void 0;\n }\n};\n//# sourceMappingURL=store.js.map\n\n/***/ }),\n/* 10 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = onDefine;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n\n\nfunction onDefine(_a, BaseClass) {\n var context = _a.context, childContext = _a.childContext;\n var prototype = this.prototype;\n if (context) {\n // Merge in inherited members...\n prototype._context = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].defaults(context, BaseClass.prototype._context || {});\n // Compile to propTypes...\n this.contextTypes = Object(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* compileSpecs */])(context).propTypes;\n }\n if (childContext) {\n prototype._childContext = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].defaults(childContext, BaseClass.prototype._childContext);\n this.childContextTypes = Object(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* compileSpecs */])(childContext).propTypes;\n }\n}\n//# sourceMappingURL=context.js.map\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar emptyFunction = __webpack_require__(12);\nvar invariant = __webpack_require__(13);\nvar ReactPropTypesSecret = __webpack_require__(14);\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n invariant(\n false,\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim\n };\n\n ReactPropTypes.checkPropTypes = emptyFunction;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (false) {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = onDefine;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__pureRender__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__);\n/**\n * Handle props specification and everything which is related:\n * - local listening to props changes\n * - pure render mixin\n */\n\n\n\nfunction onDefine(_a, BaseClass) {\n var props = _a.props, pureRender = _a.pureRender;\n var prototype = this.prototype;\n // process props spec...\n if (props) {\n // Merge with inherited members...\n prototype._props = __WEBPACK_IMPORTED_MODULE_2_type_r__[\"tools\"].defaults(props, BaseClass.prototype._props || {});\n var _b = Object(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* compileSpecs */])(props), propTypes = _b.propTypes, defaults = _b.defaults, watchers = _b.watchers, changeHandlers = _b.changeHandlers;\n this.propTypes = propTypes;\n if (defaults)\n this.defaultProps = defaults;\n if (watchers) {\n prototype._watchers = watchers;\n this.mixins.merge([WatchersMixin]);\n }\n if (changeHandlers) {\n prototype._changeHandlers = changeHandlers;\n this.mixins.merge([ChangeHandlersMixin]);\n }\n if (prototype.pureRender) {\n prototype.PropsChangeTokens = Object(__WEBPACK_IMPORTED_MODULE_1__pureRender__[\"b\" /* createChangeTokensConstructor */])(props);\n }\n }\n if (pureRender) {\n this.mixins.merge([__WEBPACK_IMPORTED_MODULE_1__pureRender__[\"a\" /* PureRenderMixin */]]);\n }\n}\n/**\n * ChangeHandlers are fired in sequence upon props replacement.\n * Fires _after_ UI is updated. Used for managing events subscriptions.\n */\nvar ChangeHandlersMixin = {\n componentDidMount: function () {\n handlePropsChanges(this, {}, this.props);\n },\n componentDidUpdate: function (prev) {\n handlePropsChanges(this, prev, this.props);\n },\n componentWillUnmount: function () {\n handlePropsChanges(this, this.props, {});\n }\n};\nfunction handlePropsChanges(component, prev, next) {\n var _changeHandlers = component._changeHandlers;\n for (var name_1 in _changeHandlers) {\n if (prev[name_1] !== next[name_1]) {\n for (var _i = 0, _a = _changeHandlers[name_1]; _i < _a.length; _i++) {\n var handler = _a[_i];\n handler(next[name_1], prev[name_1], component);\n }\n }\n }\n}\n/**\n * Watchers works on props replacement and fires _before_ any change will be applied and UI is updated.\n * Fired in componentWillMount as well, which makes it a nice way to sync state from props.\n */\nvar WatchersMixin = {\n componentWillReceiveProps: function (next) {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_2 in _watchers) {\n if (next[name_2] !== props[name_2]) {\n _watchers[name_2].call(this, next[name_2], name_2);\n }\n }\n },\n componentWillMount: function () {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_3 in _watchers) {\n _watchers[name_3].call(this, props[name_3], name_3);\n }\n }\n};\n//# sourceMappingURL=props.js.map\n\n/***/ }),\n/* 16 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = createChangeTokensConstructor;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return PureRenderMixin; });\nfunction createChangeTokensConstructor(props) {\n var propNames = Object.keys(props);\n var PropsChangeTokens = new Function('p', 's', \"\\n var v;\\n this._s = s && s._changeToken;\\n \" + propNames.map(function (name) { return \"\\n this.\" + name + \" = ( ( v = p.\" + name + \") && v._changeToken ) || v;\\n \"; }).join('') + \"\\n \");\n PropsChangeTokens.prototype._hasChanges = new Function('p', 's', \"\\n var v;\\n return ( s && s._changeToken !== this._s ) \" + propNames.map(function (name) { return \" ||\\n this.\" + name + \" !== ( ( ( v = p.\" + name + \") && v._changeToken ) || v )\\n \"; }).join('') + \";\\n \");\n return PropsChangeTokens;\n}\n;\nvar PureRenderMixin = {\n shouldComponentUpdate: function (nextProps) {\n return this._propsChangeTokens._hasChanges(nextProps);\n },\n componentDidMount: updateChangeTokens,\n componentDidUpdate: updateChangeTokens\n};\nfunction updateChangeTokens() {\n this._propsChangeTokens = new this.PropsChangeTokens(this.props, this.state);\n}\n//# sourceMappingURL=pureRender.js.map\n\n/***/ }),\n/* 17 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__valuelink_link__ = __webpack_require__(18);\n/**\n * Import ValueLink library\n * Define value links binding mixins to the Record and Collection\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]);\n__WEBPACK_IMPORTED_MODULE_0_type_r__[\"Mixable\"].mixins.populate(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]);\n/**\n * Record\n */\n__WEBPACK_IMPORTED_MODULE_0_type_r__[\"MixinsState\"].get(__WEBPACK_IMPORTED_MODULE_0_type_r__[\"Record\"]).merge([{\n // Link to the record's attribute by its key.\n linkAt: function (key) {\n return cacheLink(getLinksCache(this), this, key);\n },\n // Link to the attribute of the record's tree by symbolic path.\n linkPath: function (path, options) {\n return new RecordDeepLink(this, path, options);\n },\n // Link all (or listed) attributes and return links cache.\n linkAll: function () {\n var links = getLinksCache(this);\n if (arguments.length) {\n for (var i = 0; i < arguments.length; i++) {\n cacheLink(links, this, arguments[i]);\n }\n }\n else {\n var attributes = this.attributes;\n for (var key in attributes) {\n attributes[key] === void 0 || cacheLink(links, this, key);\n }\n }\n return links;\n }\n }]);\n/**\n * Link to Type-R's record attribute.\n * Strict evaluation of value, lazy evaluation of validation error.\n * Links are cached in the records\n */\nvar RecordLink = (function (_super) {\n __extends(RecordLink, _super);\n function RecordLink(record, attr, value) {\n var _this = _super.call(this, value) || this;\n _this.record = record;\n _this.attr = attr;\n return _this;\n }\n RecordLink.prototype.set = function (x) {\n this.record[this.attr] = x;\n };\n Object.defineProperty(RecordLink.prototype, \"error\", {\n get: function () {\n return this._error === void 0 ?\n this.record.getValidationError(this.attr) :\n this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n return RecordLink;\n}(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]));\nvar RecordDeepLink = (function (_super) {\n __extends(RecordDeepLink, _super);\n function RecordDeepLink(record, path, options) {\n var _this = _super.call(this, record.deepGet(path)) || this;\n _this.record = record;\n _this.path = path;\n _this.options = options;\n return _this;\n }\n Object.defineProperty(RecordDeepLink.prototype, \"error\", {\n get: function () {\n if (this._error === void 0) {\n this._error = this.record.deepValidationError(this.path) || null;\n }\n return this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(RecordDeepLink.prototype, \"_changeToken\", {\n get: function () {\n return this.record._changeToken;\n },\n enumerable: true,\n configurable: true\n });\n RecordDeepLink.prototype.set = function (x) {\n this.record.deepSet(this.path, x, this.options);\n };\n return RecordDeepLink;\n}(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]));\nfunction getLinksCache(record) {\n return record._links || (record._links = new record.AttributesCopy({}));\n}\nfunction cacheLink(links, record, key) {\n var cached = links[key], value = record[key];\n return cached && cached.value === value ? cached\n : links[key] = new RecordLink(record, key, value);\n}\n/***********************************\n * Collection\n */\n__WEBPACK_IMPORTED_MODULE_0_type_r__[\"MixinsState\"].get(__WEBPACK_IMPORTED_MODULE_0_type_r__[\"Record\"].Collection).merge([{\n // Boolean link to the record's presence in the collection\n linkContains: function (record) {\n return new CollectionLink(this, record);\n },\n // Link to collection's property\n linkAt: function (prop) {\n var _this = this;\n return __WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */].value(this[prop], function (x) { return _this[prop] = x; });\n }\n }]);\n/**\n * Boolean link to presence of NestedType's record in collection.\n * Strict evaluation of value, no error.\n * Safe implementation of _changeToken.\n */\nvar CollectionLink = (function (_super) {\n __extends(CollectionLink, _super);\n function CollectionLink(collection, record) {\n var _this = _super.call(this, Boolean(collection._byId[record.cid])) || this;\n _this.collection = collection;\n _this.record = record;\n return _this;\n }\n CollectionLink.prototype.set = function (x) {\n this.collection.toggle(this.record, x);\n };\n return CollectionLink;\n}(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]));\n//# sourceMappingURL=link.js.map\n\n/***/ }),\n/* 18 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Link; });\n/* unused harmony export CustomLink */\n/* unused harmony export CloneLink */\n/* unused harmony export EqualsLink */\n/* unused harmony export EnabledLink */\n/* unused harmony export ContainsLink */\n/* unused harmony export LinkAt */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__helpers__ = __webpack_require__(19);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * Advanced React links for purely functional two-way data binding\n *\n * MIT License, (c) 2016 Vlad Balin, Volicon.\n */\n\n// Main Link class. All links must extend it.\nvar Link = (function () {\n // create \n function Link(value) {\n this.value = value;\n }\n // Create custom link to arbitrary value\n Link.value = function (value, set) {\n return new CustomLink(value, set);\n };\n Object.defineProperty(Link.prototype, \"validationError\", {\n // DEPRECATED: Old error holder for backward compatibility with Volicon code base\n get: function () { return this.error; },\n enumerable: true,\n configurable: true\n });\n Link.prototype.onChange = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n handler(x);\n _this.set(x);\n });\n };\n Object.defineProperty(Link.prototype, \"props\", {\n // \n get: function () {\n var _this = this;\n return typeof this.value === 'boolean' ? {\n checked: this.value,\n onChange: function (e) { return _this.set(Boolean(e.target.checked)); }\n } : {\n value: this.value,\n onChange: function (e) { return _this.set(e.target.value); }\n };\n },\n enumerable: true,\n configurable: true\n });\n // DEPRECATED: Old React method for backward compatibility\n Link.prototype.requestChange = function (x) {\n this.set(x);\n };\n // Immediately update the link value using given transform function.\n Link.prototype.update = function (transform, e) {\n var next = transform(this.clone(), e);\n next === void 0 || this.set(next);\n };\n // Create new link which applies transform function on set.\n Link.prototype.pipe = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n var next = handler(x, _this.value);\n next === void 0 || _this.set(next);\n });\n };\n // Create UI event handler function which will update the link with a given transform function.\n Link.prototype.action = function (transform) {\n var _this = this;\n return function (e) { return _this.update(transform, e); };\n };\n Link.prototype.equals = function (truthyValue) {\n return new EqualsLink(this, truthyValue);\n };\n Link.prototype.enabled = function (defaultValue) {\n return new EnabledLink(this, defaultValue || \"\");\n };\n // Array-only links methods\n Link.prototype.contains = function (element) {\n return new ContainsLink(this, element);\n };\n Link.prototype.push = function () {\n var array = __WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* arrayHelpers */].clone(this.value);\n Array.prototype.push.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.unshift = function () {\n var array = __WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* arrayHelpers */].clone(this.value);\n Array.prototype.unshift.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.splice = function () {\n var array = __WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* arrayHelpers */].clone(this.value);\n Array.prototype.splice.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.map = function (iterator) {\n return Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* helpers */])(this.value).map(this, iterator);\n };\n Link.prototype.removeAt = function (key) {\n var value = this.value, _ = Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* helpers */])(value);\n this.set(_.remove(_.clone(value), key));\n };\n Link.prototype.at = function (key) {\n return new LinkAt(this, key);\n };\n Link.prototype.clone = function () {\n var value = this.value;\n return Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* helpers */])(value).clone(value);\n };\n Link.prototype.pick = function () {\n var links = {};\n for (var i = 0; i < arguments.length; i++) {\n var key = arguments[i];\n links[key] = new LinkAt(this, key);\n }\n return links;\n };\n /**\n * Validate link with validness predicate and optional custom error object. Can be chained.\n */\n Link.prototype.check = function (whenValid, error) {\n if (!this.error && !whenValid(this.value)) {\n this.error = error || whenValid.error || defaultError;\n }\n return this;\n };\n return Link;\n}());\n\nvar CustomLink = (function (_super) {\n __extends(CustomLink, _super);\n function CustomLink(value, set) {\n var _this = _super.call(this, value) || this;\n _this.set = set;\n return _this;\n }\n CustomLink.prototype.set = function (x) { };\n return CustomLink;\n}(Link));\n\nvar CloneLink = (function (_super) {\n __extends(CloneLink, _super);\n function CloneLink(parent, set) {\n var _this = _super.call(this, parent.value) || this;\n _this.set = set;\n var error = parent.error;\n if (error)\n _this.error = error;\n return _this;\n }\n CloneLink.prototype.set = function (x) { };\n return CloneLink;\n}(Link));\n\nvar EqualsLink = (function (_super) {\n __extends(EqualsLink, _super);\n function EqualsLink(parent, truthyValue) {\n var _this = _super.call(this, parent.value === truthyValue) || this;\n _this.parent = parent;\n _this.truthyValue = truthyValue;\n return _this;\n }\n EqualsLink.prototype.set = function (x) {\n this.parent.set(x ? this.truthyValue : null);\n };\n return EqualsLink;\n}(Link));\n\nvar EnabledLink = (function (_super) {\n __extends(EnabledLink, _super);\n function EnabledLink(parent, defaultValue) {\n var _this = _super.call(this, parent.value != null) || this;\n _this.parent = parent;\n _this.defaultValue = defaultValue;\n return _this;\n }\n EnabledLink.prototype.set = function (x) {\n this.parent.set(x ? this.defaultValue : null);\n };\n return EnabledLink;\n}(Link));\n\nvar ContainsLink = (function (_super) {\n __extends(ContainsLink, _super);\n function ContainsLink(parent, element) {\n var _this = _super.call(this, parent.value.indexOf(element) >= 0) || this;\n _this.parent = parent;\n _this.element = element;\n return _this;\n }\n ContainsLink.prototype.set = function (x) {\n var _this = this;\n var next = Boolean(x);\n if (this.value !== next) {\n var arr = this.parent.value, nextValue = x ? arr.concat(this.element) : arr.filter(function (el) { return el !== _this.element; });\n this.parent.set(nextValue);\n }\n };\n return ContainsLink;\n}(Link));\n\nvar defaultError = 'Invalid value';\n/**\n * Link to array or object element enclosed in parent link.\n * Performs purely functional update of the parent, shallow copying its value on `set`.\n */\nvar LinkAt = (function (_super) {\n __extends(LinkAt, _super);\n function LinkAt(parent, key) {\n var _this = _super.call(this, parent.value[key]) || this;\n _this.parent = parent;\n _this.key = key;\n return _this;\n }\n LinkAt.prototype.remove = function () {\n this.parent.removeAt(this.key);\n };\n // Set new element value to parent array or object, performing purely functional update.\n LinkAt.prototype.set = function (x) {\n var _this = this;\n if (this.value !== x) {\n this.parent.update(function (value) {\n value[_this.key] = x;\n return value;\n });\n }\n };\n ;\n return LinkAt;\n}(Link));\n\n//# sourceMappingURL=link.js.map\n\n/***/ }),\n/* 19 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = helpers;\n/* unused harmony export objectHelpers */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return arrayHelpers; });\nvar ArrayProto = Array.prototype, ObjectProto = Object.prototype;\nfunction helpers(value) {\n if (value && typeof value === 'object') {\n switch (Object.getPrototypeOf(value)) {\n case ArrayProto: return arrayHelpers;\n case ObjectProto: return objectHelpers;\n }\n }\n return dummyHelpers;\n}\n// Do nothing for types other than Array and plain Object.\nvar dummyHelpers = {\n clone: function (value) { return value; },\n map: function (link, fun) { return []; },\n remove: function (value) { return value; }\n};\n// `map` and `clone` for plain JS objects\nvar objectHelpers = {\n // Map through the link to object\n map: function (link, iterator) {\n var mapped = [];\n for (var key in link.value) {\n var element = iterator(link.at(key), key);\n element === void 0 || (mapped.push(element));\n }\n return mapped;\n },\n remove: function (object, key) {\n delete object[key];\n return object;\n },\n // Shallow clone plain JS object\n clone: function (object) {\n var cloned = {};\n for (var key in object) {\n cloned[key] = object[key];\n }\n return cloned;\n }\n};\n// `map` and `clone` helpers for arrays.\nvar arrayHelpers = {\n // Shallow clone array\n clone: function (array) {\n return array.slice();\n },\n remove: function (array, i) {\n array.splice(i, 1);\n return array;\n },\n // Map through the link to array\n map: function (link, iterator) {\n var length = link.value.length, mapped = Array(length);\n for (var i = 0, j = 0; i < length; i++) {\n var y = iterator(link.at(i), i);\n y === void 0 || (mapped[j++] = y);\n }\n mapped.length === j || (mapped.length = j);\n return mapped;\n }\n};\n//# sourceMappingURL=helpers.js.map\n\n/***/ }),\n/* 20 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Component; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__define__ = __webpack_require__(4);\n/**\n * React-Type-R component base class. Overrides React component.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\nvar Component = (function (_super) {\n __extends(Component, _super);\n function Component(props, context) {\n var _this = _super.call(this, props, context) || this;\n _this._initializeState();\n return _this;\n }\n Component.prototype.linkAt = function (key) {\n // Quick and dirty hack to suppres type error - refactor later.\n return this.state.linkAt(key);\n };\n Component.prototype.linkAll = function () {\n // Quick and dirty hack to suppres type error - refactor later.\n var state = this.state;\n return state.linkAll.apply(state, arguments);\n };\n Component.prototype.linkPath = function (path) {\n return this.state.linkPath(path);\n };\n Object.defineProperty(Component.prototype, \"links\", {\n get: function () {\n return this.state._links;\n },\n enumerable: true,\n configurable: true\n });\n Component.prototype._initializeState = function () {\n this.state = null;\n };\n Component.prototype.assignToState = function (x, key) {\n this.state.assignFrom((_a = {}, _a[key] = x, _a));\n var _a;\n };\n Component.prototype.componentWillUnmount = function () {\n this.dispose();\n };\n /**\n * Performs transactional update for both props and state.\n * Suppress updates during the transaction, and force update aftewards.\n * Wrapping the sequence of changes in a transactions guarantees that\n * React component will be updated _after_ all the changes to the\n * both props and local state are applied.\n */\n Component.prototype.transaction = function (fun) {\n var shouldComponentUpdate = this.shouldComponentUpdate, isRoot = shouldComponentUpdate !== returnFalse;\n if (isRoot) {\n this.shouldComponentUpdate = returnFalse;\n }\n var _a = this, state = _a.state, store = _a.store, withStore = store ? function (state) { return store.transaction(function () { return fun(state); }); } : fun;\n state ? state.transaction(withStore) : withStore(state);\n if (isRoot) {\n this.shouldComponentUpdate = shouldComponentUpdate;\n this.asyncUpdate();\n }\n };\n // Safe version of the forceUpdate suitable for asynchronous callbacks.\n Component.prototype.asyncUpdate = function () {\n this.shouldComponentUpdate === returnFalse || this._disposed || this.forceUpdate();\n };\n return Component;\n}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]));\nComponent.onDefine = __WEBPACK_IMPORTED_MODULE_2__define__[\"c\" /* default */];\nComponent = __decorate([\n __WEBPACK_IMPORTED_MODULE_1_type_r__[\"define\"],\n Object(__WEBPACK_IMPORTED_MODULE_1_type_r__[\"definitions\"])({\n // Definitions to be extracted from mixins and statics and passed to `onDefine()`\n state: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].merge,\n State: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].value,\n store: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].merge,\n Store: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].value,\n props: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].merge,\n context: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].merge,\n childContext: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].merge,\n pureRender: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].protoValue\n }),\n Object(__WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"])({\n // Apply old-school React mixin rules.\n componentWillMount: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classLast,\n componentDidMount: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classLast,\n componentWillReceiveProps: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classLast,\n componentWillUpdate: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classLast,\n componentDidUpdate: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classLast,\n componentWillUnmount: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classFirst,\n // And a bit more to fix inheritance quirks.\n shouldComponentUpdate: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].some,\n getChildContext: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].defaults\n })\n // Component can send and receive events...\n ,\n Object(__WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixins\"])(__WEBPACK_IMPORTED_MODULE_1_type_r__[\"Messenger\"])\n], Component);\n\nfunction returnFalse() { return false; }\n// Looks like React guys _really_ want to deprecate it. But no way.\n// We will work around their attempt.\nObject.defineProperty(Component.prototype, 'isMounted', {\n value: function isMounted() {\n return !this._disposed;\n }\n});\n//# sourceMappingURL=component.js.map\n\n/***/ }),\n/* 21 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\nvar notEqual = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].notEqual;\nvar BackboneView = (function (_super) {\n __extends(BackboneView, _super);\n function BackboneView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.saveRef = function (element) {\n _this.root = element;\n };\n return _this;\n }\n BackboneView.prototype.shouldComponentUpdate = function (next) {\n var props = this.props;\n return next.View !== props.View || notEqual(next.options, props.options);\n };\n BackboneView.prototype.hasUnsavedChanges = function () {\n var view = this.view;\n return view && (typeof view.hasUnsavedChanges === 'function' ? view.hasUnsavedChanges() : view.hasUnsavedChanges);\n };\n BackboneView.prototype.render = function () {\n return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"f\" /* default */].createElement('div', {\n ref: this.saveRef,\n className: this.props.className\n });\n };\n BackboneView.prototype.componentDidMount = function () {\n this._mountView();\n };\n BackboneView.prototype.componentDidUpdate = function () {\n this._dispose();\n this._mountView();\n };\n BackboneView.prototype.componentWillUnmount = function () {\n this._dispose();\n };\n BackboneView.prototype._mountView = function () {\n var el = this.root, p = this.props;\n var view = this.view = p.options ? new p.View(p.options) : new p.View();\n el.appendChild(view.el);\n view.render();\n };\n BackboneView.prototype._dispose = function () {\n var view = this.view;\n if (view) {\n if (view.dispose) {\n view.dispose();\n }\n else {\n view.stopListening();\n view.off();\n }\n this.root.innerHTML = \"\";\n this.view = null;\n }\n };\n return BackboneView;\n}(__WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\" /* Component */]));\n/* harmony default export */ __webpack_exports__[\"a\"] = (BackboneView);\n//# sourceMappingURL=view-element.js.map\n\n/***/ }),\n/* 22 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = use;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__);\n\n\n\nwindow.Page || (window.Page = { forceResize: function () { } });\nfunction use(View) {\n var dispose = View.prototype.dispose || function () { }, setElement = View.prototype.setElement;\n var ComponentView = View.extend({\n reactClass: null,\n props: {},\n element: null,\n initialize: function (props) {\n // memorise arguments to pass to React\n this.options = props || {};\n },\n setElement: function () {\n this.unmountComponent(true);\n return setElement.apply(this, arguments);\n },\n // cached instance of react component...\n component: null,\n prevState: null,\n resize: function () {\n window.Page.forceResize();\n },\n render: function () {\n var options = this.prevState ? __WEBPACK_IMPORTED_MODULE_2_type_r__[\"tools\"].fastAssign({ __keepState: this.prevState }, this.options) : this.options, element = __WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"](this.reactClass, options), component = __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.render(element, this.el);\n this.component || this.mountComponent(component);\n },\n mountComponent: function (component) {\n this.component = component;\n this.prevState = null;\n component.trigger && this.listenTo(component, 'all', function () {\n this.trigger.apply(this, arguments);\n });\n },\n unmountComponent: function (keepModel) {\n var component = this.component;\n if (component) {\n this.prevState = component.state;\n if (component.trigger) {\n this.stopListening(component);\n }\n component._preventDispose = Boolean(keepModel);\n __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.unmountComponentAtNode(this.el);\n this.component = null;\n }\n },\n dispose: function () {\n this.unmountComponent();\n return dispose.apply(this, arguments);\n }\n });\n Object.defineProperty(ComponentView.prototype, 'model', {\n get: function () {\n this.component || this.render();\n return this.component && this.component.state;\n }\n });\n return ComponentView;\n}\n//# sourceMappingURL=component-view.js.map\n\n/***/ }),\n/* 23 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = createClass;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1);\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\n\nvar dontAutobind = [\n 'State', 'Store', 'constructor',\n 'componentWillMount', 'componentDidMount', 'componentWillReceiveProps', 'shouldComponentUpdate',\n 'componentWillUpdate', 'componentDidUpdate', 'componentWillUnmount',\n 'render', 'getDefaultProps', 'getChildContext'\n];\n/**\n * ES5 components definition factory\n */\nfunction createClass(_a) {\n var statics = _a.statics, a_spec = __rest(_a, [\"statics\"]);\n // Gather all methods to pin them to `this` later.\n var methods = [];\n var Subclass = __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\" /* Component */].extend(__assign({ \n // Override constructor to autobind all the methods...\n constructor: function () {\n __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\" /* Component */].apply(this, this.arguments);\n for (var _i = 0, methods_1 = methods; _i < methods_1.length; _i++) {\n var method = methods_1[_i];\n this[method] = this[method].bind(this);\n }\n } }, a_spec), statics);\n // Need to bind methods from mixins as well, so populate it here.\n var Proto = Subclass.prototype;\n for (var key in Proto) {\n if (Proto.hasOwnProperty(key) && dontAutobind.indexOf(key) === -1 && typeof Proto[key] === 'function') {\n methods.push(key);\n }\n }\n return Subclass;\n}\n//# sourceMappingURL=createClass.js.map\n\n/***/ })\n/******/ ]);\n});\n\n\n// WEBPACK FOOTER //\n// dist/index.min.js"," \t// The module cache\n \tvar installedModules = {};\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, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\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 = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 8);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap fd9bd0fa4263913507e5","module.exports = __WEBPACK_EXTERNAL_MODULE_0__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"commonjs\":\"nestedtypes\",\"commonjs2\":\"nestedtypes\",\"amd\":\"nestedtypes\",\"root\":\"Nested\"}\n// module id = 0\n// module chunks = 0","import * as React from 'react';\nimport { define, mixins } from 'type-r';\nimport { Node, Element } from './define';\nimport Link from './link';\nimport { Component } from './component';\n// extend React namespace\nvar ReactMVx = Object.create(React);\n// Make it compatible with ES6 module format.\nReactMVx.default = ReactMVx;\n// listenToProps, listenToState, model, attributes, Model\nReactMVx.define = define;\nReactMVx.mixins = mixins;\nReactMVx.Node = Node.value(null);\nReactMVx.Element = Element.value(null);\nReactMVx.Link = Link;\nReactMVx.Component = Component;\nvar assignToState = ReactMVx.assignToState = function (key) {\n return function (prop) {\n this.state.assignFrom((_a = {}, _a[key] = prop && prop instanceof Link ? prop.value : prop, _a));\n var _a;\n };\n};\nexport default ReactMVx;\nexport { define, mixins, Node, Element, Link, Component, assignToState };\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/index.js\n// module id = 1\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"commonjs\":\"react\",\"commonjs2\":\"react\",\"amd\":\"react\",\"root\":\"React\"}\n// module id = 2\n// module chunks = 0","import * as PropTypes from 'prop-types';\nimport { Record } from 'type-r';\nexport function compileSpecs(props) {\n var propTypes = {}, \n // Create NestedTypes model definition to process props spec.\n modelProto = Record.defaults(props).prototype;\n var defaults, watchers, changeHandlers;\n modelProto.forEachAttr(modelProto._attributes, function (spec, name) {\n // Skip auto-generated `id` attribute.\n if (name !== 'id') {\n var value = spec.value, type = spec.type, options = spec.options;\n // Translate props type to the propTypes guard.\n propTypes[name] = translateType(type, options.isRequired);\n if (options._onChange) {\n watchers || (watchers = {});\n watchers[name] = toLocalWatcher(options._onChange);\n }\n // Handle listening to event maps...\n if (options.changeHandlers && options.changeHandlers.length) {\n changeHandlers || (changeHandlers = {});\n changeHandlers[name] = options.changeHandlers;\n }\n // Handle listening to props changes...\n if (options.changeEvents) {\n changeHandlers || (changeHandlers = {});\n var handlers = changeHandlers[name] || (changeHandlers[name] = []), changeEvents_1 = typeof options.changeEvents === 'string' ? options.changeEvents : null;\n handlers.push(function (next, prev, component) {\n prev && component.stopListening(prev);\n next && component.listenTo(next, changeEvents_1 || next._changeEventName, component.asyncUpdate);\n });\n }\n // If default value is explicitly provided...\n if (value !== void 0) {\n //...append it to getDefaultProps function.\n defaults || (defaults = {});\n defaults[name] = spec.convert(value, void 0, null, {});\n }\n }\n });\n return { propTypes: propTypes, defaults: defaults, watchers: watchers, changeHandlers: changeHandlers };\n}\nfunction toLocalWatcher(ref) {\n return typeof ref === 'function' ? ref : function (value, name) {\n this[ref] && this[ref](value, name);\n };\n}\nvar Node = (function () {\n function Node() {\n }\n return Node;\n}());\nexport { Node };\nvar Element = (function () {\n function Element() {\n }\n return Element;\n}());\nexport { Element };\nfunction translateType(Type, isRequired) {\n var T = _translateType(Type);\n return isRequired ? T.isRequired : T;\n}\nfunction _translateType(Type) {\n switch (Type) {\n case Number:\n case Number.integer:\n return PropTypes.number;\n case String:\n return PropTypes.string;\n case Boolean:\n return PropTypes.bool;\n case Array:\n return PropTypes.array;\n case Function:\n return PropTypes.func;\n case Object:\n return PropTypes.object;\n case Node:\n return PropTypes.node;\n case Element:\n return PropTypes.element;\n case void 0:\n case null:\n return PropTypes.any;\n default:\n return PropTypes.instanceOf(Type);\n }\n}\n//# sourceMappingURL=typeSpecs.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/typeSpecs.js\n// module id = 3\n// module chunks = 0","import { Messenger } from 'type-r';\nimport onDefineStore from './store';\nimport onDefineState from './state';\nimport onDefineContext from './context';\nimport onDefineProps from './props';\nexport default function onDefine(definition, BaseClass) {\n // Initialize mixins placeholder...\n onDefineStore.call(this, definition, BaseClass);\n onDefineState.call(this, definition, BaseClass);\n onDefineContext.call(this, definition, BaseClass);\n onDefineProps.call(this, definition, BaseClass);\n Messenger.onDefine.call(this, definition, BaseClass);\n}\n;\nexport { Node, Element } from './typeSpecs';\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/index.js\n// module id = 4\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n/*****************\n * State\n */\nimport { define, Record, Store } from 'type-r';\nexport default function process(definition, BaseComponentClass) {\n var prototype = this.prototype;\n var state = definition.state, State = definition.State;\n if (typeof state === 'function') {\n State = state;\n state = void 0;\n }\n if (state) {\n var BaseClass = State || prototype.State || Record;\n var ComponentState = (function (_super) {\n __extends(ComponentState, _super);\n function ComponentState() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return ComponentState;\n }(BaseClass));\n ComponentState.attributes = state;\n ComponentState = __decorate([\n define\n ], ComponentState);\n prototype.State = ComponentState;\n }\n else if (State) {\n prototype.State = State;\n }\n if (state || State) {\n this.mixins.merge([StateMixin, UpdateOnNestedChangesMixin]);\n }\n}\nexport var StateMixin = {\n //state : null,\n _initializeState: function () {\n // props.__keepState is used to workaround issues in Backbone intergation layer\n var state = this.state = this.props.__keepState || new this.State();\n // Take ownership on state...\n state._owner = this;\n state._ownerKey = 'state';\n },\n context: {\n _nestedStore: Store\n },\n // reference global store to fix model's store locator\n getStore: function () {\n // Attempt to get the store from the context first. Then - fallback to the state's default store.\n // TBD: Need to figure out a good way of managing local stores.\n var context, state;\n return ((context = this.context) && context._nestedStore) ||\n ((state = this.state) && state._defaultStore);\n },\n componentWillUnmount: function () {\n var state = this.state;\n state._owner = state._ownerKey = void 0;\n this._preventDispose /* hack for component-view to preserve the state */ || state.dispose();\n this.state = void 0;\n }\n};\nexport var UpdateOnNestedChangesMixin = {\n _onChildrenChange: function () { },\n componentDidMount: function () {\n this._onChildrenChange = this.asyncUpdate;\n }\n};\n//# sourceMappingURL=state.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/state.js\n// module id = 5\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/prop-types/index.js\n// module id = 6\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_7__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"commonjs\":\"react-dom\",\"commonjs2\":\"react-dom\",\"amd\":\"react-dom\",\"root\":\"ReactDOM\"}\n// module id = 7\n// module chunks = 0","// Re-export react-mvx\nimport ReactMVx from './react-mvx';\nvar NestedReact = Object.create(ReactMVx);\nexport default NestedReact;\nexport * from './react-mvx';\n// NestedReact backward compatibility layer\nimport ReactDOM from 'react-dom';\nimport Nested, { View, Record } from 'type-r';\nimport * as PropTypes from 'prop-types';\nimport subview from './view-element';\nNestedReact.subview = subview;\nexport { subview };\nimport use from './component-view';\nimport createClass from './createClass';\nNestedReact.createClass = createClass;\nObject.defineProperty(NestedReact, 'PropTypes', { value: PropTypes });\nexport { PropTypes, createClass };\nvar BaseView;\n// export hook to override base View class used...\nexport function useView(View) {\n BaseView = use(View);\n}\nvar define = NestedReact.Component.define;\nNestedReact.Component.define = function (protoProps, staticProps) {\n this.View = BaseView.extend({ reactClass: this });\n return define.call(this, protoProps, staticProps);\n};\n// Deprecated API for backward compatibility\nvar RecordProto = Record.prototype;\nRecordProto.getLink = RecordProto.linkAt;\nRecordProto.deepLink = RecordProto.linkPath;\nvar CollectionProto = Record.Collection.prototype;\nCollectionProto.hasLink = CollectionProto.linkContains;\nuseView(View);\n// Extend react components to have backbone-style jquery accessors\nvar BackboneViewProps = {\n el: { get: function () { return ReactDOM.findDOMNode(this); } },\n $el: { get: function () { return Nested.$(this.el); } },\n $: { value: function (sel) { return this.$el.find(sel); } }\n};\nObject.defineProperties(NestedReact.Component.prototype, BackboneViewProps);\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/index.js\n// module id = 8\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { define, Store } from 'type-r';\nimport { StateMixin, UpdateOnNestedChangesMixin } from './state';\nexport default function onDefine(definition, BaseClass) {\n var store = definition.store, StoreClass = definition.Store;\n if (store && store instanceof Store) {\n // Direct reference to an existing store. Put it to the prototype.\n this.prototype.store = store;\n this.mixins.merge([ExternalStoreMixin, ExposeStoreMixin]);\n }\n else if (store || definition.Store) {\n if (typeof store === 'function') {\n StoreClass = store;\n store = void 0;\n }\n if (store) {\n var BaseClass_1 = StoreClass || this.prototype.Store || Store;\n var InternalStore = (function (_super) {\n __extends(InternalStore, _super);\n function InternalStore() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return InternalStore;\n }(BaseClass_1));\n InternalStore.attrbutes = store;\n InternalStore = __decorate([\n define\n ], InternalStore);\n ;\n this.prototype.Store = InternalStore;\n }\n else if (StoreClass) {\n this.prototype.Store = StoreClass;\n }\n this.mixins.merge([InternalStoreMixin, UpdateOnNestedChangesMixin, ExposeStoreMixin]);\n }\n}\n/**\n * Attached whenever the store declaration of any form is present in the component.\n */\nvar ExposeStoreMixin = {\n childContext: {\n _nestedStore: Store\n },\n getChildContext: function () {\n return { _nestedStore: this.store };\n },\n getStore: function () {\n return this.store;\n },\n // Will be called by the store when the lookup will fail.\n get: function (key) {\n // Ask upper store.\n var store = StateMixin.getStore.call(this, key);\n return store && store.get(key);\n }\n};\n/**\n * External store must just track the changes and trigger render.\n * TBD: don't use it yet.\n */\nvar ExternalStoreMixin = {\n componentDidMount: function () {\n // Start UI updates on state changes.\n this.listenTo(this.store, 'change', this.asyncUpdate);\n }\n};\nvar InternalStoreMixin = {\n componentWillMount: function () {\n var store = this.store = new this.Store();\n store._owner = this;\n store._ownerKey = 'store';\n },\n componentWillUnmount: function () {\n this.store._ownerKey = this.store._owner = void 0;\n this.store.dispose();\n this.store = void 0;\n }\n};\n//# sourceMappingURL=store.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/store.js\n// module id = 9\n// module chunks = 0","import { compileSpecs } from './typeSpecs';\nimport { tools } from 'type-r';\nexport default function onDefine(_a, BaseClass) {\n var context = _a.context, childContext = _a.childContext;\n var prototype = this.prototype;\n if (context) {\n // Merge in inherited members...\n prototype._context = tools.defaults(context, BaseClass.prototype._context || {});\n // Compile to propTypes...\n this.contextTypes = compileSpecs(context).propTypes;\n }\n if (childContext) {\n prototype._childContext = tools.defaults(childContext, BaseClass.prototype._childContext);\n this.childContextTypes = compileSpecs(childContext).propTypes;\n }\n}\n//# sourceMappingURL=context.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/context.js\n// module id = 10\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\nvar invariant = require('fbjs/lib/invariant');\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n invariant(\n false,\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim\n };\n\n ReactPropTypes.checkPropTypes = emptyFunction;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/prop-types/factoryWithThrowingShims.js\n// module id = 11\n// module chunks = 0","\"use strict\";\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/fbjs/lib/emptyFunction.js\n// module id = 12\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (process.env.NODE_ENV !== 'production') {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/fbjs/lib/invariant.js\n// module id = 13\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/prop-types/lib/ReactPropTypesSecret.js\n// module id = 14\n// module chunks = 0","/**\n * Handle props specification and everything which is related:\n * - local listening to props changes\n * - pure render mixin\n */\nimport { compileSpecs } from './typeSpecs';\nimport { PureRenderMixin, createChangeTokensConstructor } from './pureRender';\nimport { tools } from 'type-r';\nexport default function onDefine(_a, BaseClass) {\n var props = _a.props, pureRender = _a.pureRender;\n var prototype = this.prototype;\n // process props spec...\n if (props) {\n // Merge with inherited members...\n prototype._props = tools.defaults(props, BaseClass.prototype._props || {});\n var _b = compileSpecs(props), propTypes = _b.propTypes, defaults = _b.defaults, watchers = _b.watchers, changeHandlers = _b.changeHandlers;\n this.propTypes = propTypes;\n if (defaults)\n this.defaultProps = defaults;\n if (watchers) {\n prototype._watchers = watchers;\n this.mixins.merge([WatchersMixin]);\n }\n if (changeHandlers) {\n prototype._changeHandlers = changeHandlers;\n this.mixins.merge([ChangeHandlersMixin]);\n }\n if (prototype.pureRender) {\n prototype.PropsChangeTokens = createChangeTokensConstructor(props);\n }\n }\n if (pureRender) {\n this.mixins.merge([PureRenderMixin]);\n }\n}\n/**\n * ChangeHandlers are fired in sequence upon props replacement.\n * Fires _after_ UI is updated. Used for managing events subscriptions.\n */\nvar ChangeHandlersMixin = {\n componentDidMount: function () {\n handlePropsChanges(this, {}, this.props);\n },\n componentDidUpdate: function (prev) {\n handlePropsChanges(this, prev, this.props);\n },\n componentWillUnmount: function () {\n handlePropsChanges(this, this.props, {});\n }\n};\nfunction handlePropsChanges(component, prev, next) {\n var _changeHandlers = component._changeHandlers;\n for (var name_1 in _changeHandlers) {\n if (prev[name_1] !== next[name_1]) {\n for (var _i = 0, _a = _changeHandlers[name_1]; _i < _a.length; _i++) {\n var handler = _a[_i];\n handler(next[name_1], prev[name_1], component);\n }\n }\n }\n}\n/**\n * Watchers works on props replacement and fires _before_ any change will be applied and UI is updated.\n * Fired in componentWillMount as well, which makes it a nice way to sync state from props.\n */\nvar WatchersMixin = {\n componentWillReceiveProps: function (next) {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_2 in _watchers) {\n if (next[name_2] !== props[name_2]) {\n _watchers[name_2].call(this, next[name_2], name_2);\n }\n }\n },\n componentWillMount: function () {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_3 in _watchers) {\n _watchers[name_3].call(this, props[name_3], name_3);\n }\n }\n};\n//# sourceMappingURL=props.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/props.js\n// module id = 15\n// module chunks = 0","export function createChangeTokensConstructor(props) {\n var propNames = Object.keys(props);\n var PropsChangeTokens = new Function('p', 's', \"\\n var v;\\n this._s = s && s._changeToken;\\n \" + propNames.map(function (name) { return \"\\n this.\" + name + \" = ( ( v = p.\" + name + \") && v._changeToken ) || v;\\n \"; }).join('') + \"\\n \");\n PropsChangeTokens.prototype._hasChanges = new Function('p', 's', \"\\n var v;\\n return ( s && s._changeToken !== this._s ) \" + propNames.map(function (name) { return \" ||\\n this.\" + name + \" !== ( ( ( v = p.\" + name + \") && v._changeToken ) || v )\\n \"; }).join('') + \";\\n \");\n return PropsChangeTokens;\n}\n;\nexport var PureRenderMixin = {\n shouldComponentUpdate: function (nextProps) {\n return this._propsChangeTokens._hasChanges(nextProps);\n },\n componentDidMount: updateChangeTokens,\n componentDidUpdate: updateChangeTokens\n};\nfunction updateChangeTokens() {\n this._propsChangeTokens = new this.PropsChangeTokens(this.props, this.state);\n}\n//# sourceMappingURL=pureRender.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/pureRender.js\n// module id = 16\n// module chunks = 0","/**\n * Import ValueLink library\n * Define value links binding mixins to the Record and Collection\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { Mixable, MixinsState, Record } from 'type-r';\nimport { Link } from './valuelink/link';\nexport default Link;\nMixable.mixins.populate(Link);\n/**\n * Record\n */\nMixinsState.get(Record).merge([{\n // Link to the record's attribute by its key.\n linkAt: function (key) {\n return cacheLink(getLinksCache(this), this, key);\n },\n // Link to the attribute of the record's tree by symbolic path.\n linkPath: function (path, options) {\n return new RecordDeepLink(this, path, options);\n },\n // Link all (or listed) attributes and return links cache.\n linkAll: function () {\n var links = getLinksCache(this);\n if (arguments.length) {\n for (var i = 0; i < arguments.length; i++) {\n cacheLink(links, this, arguments[i]);\n }\n }\n else {\n var attributes = this.attributes;\n for (var key in attributes) {\n attributes[key] === void 0 || cacheLink(links, this, key);\n }\n }\n return links;\n }\n }]);\n/**\n * Link to Type-R's record attribute.\n * Strict evaluation of value, lazy evaluation of validation error.\n * Links are cached in the records\n */\nvar RecordLink = (function (_super) {\n __extends(RecordLink, _super);\n function RecordLink(record, attr, value) {\n var _this = _super.call(this, value) || this;\n _this.record = record;\n _this.attr = attr;\n return _this;\n }\n RecordLink.prototype.set = function (x) {\n this.record[this.attr] = x;\n };\n Object.defineProperty(RecordLink.prototype, \"error\", {\n get: function () {\n return this._error === void 0 ?\n this.record.getValidationError(this.attr) :\n this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n return RecordLink;\n}(Link));\nvar RecordDeepLink = (function (_super) {\n __extends(RecordDeepLink, _super);\n function RecordDeepLink(record, path, options) {\n var _this = _super.call(this, record.deepGet(path)) || this;\n _this.record = record;\n _this.path = path;\n _this.options = options;\n return _this;\n }\n Object.defineProperty(RecordDeepLink.prototype, \"error\", {\n get: function () {\n if (this._error === void 0) {\n this._error = this.record.deepValidationError(this.path) || null;\n }\n return this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(RecordDeepLink.prototype, \"_changeToken\", {\n get: function () {\n return this.record._changeToken;\n },\n enumerable: true,\n configurable: true\n });\n RecordDeepLink.prototype.set = function (x) {\n this.record.deepSet(this.path, x, this.options);\n };\n return RecordDeepLink;\n}(Link));\nfunction getLinksCache(record) {\n return record._links || (record._links = new record.AttributesCopy({}));\n}\nfunction cacheLink(links, record, key) {\n var cached = links[key], value = record[key];\n return cached && cached.value === value ? cached\n : links[key] = new RecordLink(record, key, value);\n}\n/***********************************\n * Collection\n */\nMixinsState.get(Record.Collection).merge([{\n // Boolean link to the record's presence in the collection\n linkContains: function (record) {\n return new CollectionLink(this, record);\n },\n // Link to collection's property\n linkAt: function (prop) {\n var _this = this;\n return Link.value(this[prop], function (x) { return _this[prop] = x; });\n }\n }]);\n/**\n * Boolean link to presence of NestedType's record in collection.\n * Strict evaluation of value, no error.\n * Safe implementation of _changeToken.\n */\nvar CollectionLink = (function (_super) {\n __extends(CollectionLink, _super);\n function CollectionLink(collection, record) {\n var _this = _super.call(this, Boolean(collection._byId[record.cid])) || this;\n _this.collection = collection;\n _this.record = record;\n return _this;\n }\n CollectionLink.prototype.set = function (x) {\n this.collection.toggle(this.record, x);\n };\n return CollectionLink;\n}(Link));\n//# sourceMappingURL=link.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/link.js\n// module id = 17\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * Advanced React links for purely functional two-way data binding\n *\n * MIT License, (c) 2016 Vlad Balin, Volicon.\n */\nimport { helpers, arrayHelpers } from './helpers';\n// Main Link class. All links must extend it.\nvar Link = (function () {\n // create \n function Link(value) {\n this.value = value;\n }\n // Create custom link to arbitrary value\n Link.value = function (value, set) {\n return new CustomLink(value, set);\n };\n Object.defineProperty(Link.prototype, \"validationError\", {\n // DEPRECATED: Old error holder for backward compatibility with Volicon code base\n get: function () { return this.error; },\n enumerable: true,\n configurable: true\n });\n Link.prototype.onChange = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n handler(x);\n _this.set(x);\n });\n };\n Object.defineProperty(Link.prototype, \"props\", {\n // \n get: function () {\n var _this = this;\n return typeof this.value === 'boolean' ? {\n checked: this.value,\n onChange: function (e) { return _this.set(Boolean(e.target.checked)); }\n } : {\n value: this.value,\n onChange: function (e) { return _this.set(e.target.value); }\n };\n },\n enumerable: true,\n configurable: true\n });\n // DEPRECATED: Old React method for backward compatibility\n Link.prototype.requestChange = function (x) {\n this.set(x);\n };\n // Immediately update the link value using given transform function.\n Link.prototype.update = function (transform, e) {\n var next = transform(this.clone(), e);\n next === void 0 || this.set(next);\n };\n // Create new link which applies transform function on set.\n Link.prototype.pipe = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n var next = handler(x, _this.value);\n next === void 0 || _this.set(next);\n });\n };\n // Create UI event handler function which will update the link with a given transform function.\n Link.prototype.action = function (transform) {\n var _this = this;\n return function (e) { return _this.update(transform, e); };\n };\n Link.prototype.equals = function (truthyValue) {\n return new EqualsLink(this, truthyValue);\n };\n Link.prototype.enabled = function (defaultValue) {\n return new EnabledLink(this, defaultValue || \"\");\n };\n // Array-only links methods\n Link.prototype.contains = function (element) {\n return new ContainsLink(this, element);\n };\n Link.prototype.push = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.push.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.unshift = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.unshift.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.splice = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.splice.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.map = function (iterator) {\n return helpers(this.value).map(this, iterator);\n };\n Link.prototype.removeAt = function (key) {\n var value = this.value, _ = helpers(value);\n this.set(_.remove(_.clone(value), key));\n };\n Link.prototype.at = function (key) {\n return new LinkAt(this, key);\n };\n Link.prototype.clone = function () {\n var value = this.value;\n return helpers(value).clone(value);\n };\n Link.prototype.pick = function () {\n var links = {};\n for (var i = 0; i < arguments.length; i++) {\n var key = arguments[i];\n links[key] = new LinkAt(this, key);\n }\n return links;\n };\n /**\n * Validate link with validness predicate and optional custom error object. Can be chained.\n */\n Link.prototype.check = function (whenValid, error) {\n if (!this.error && !whenValid(this.value)) {\n this.error = error || whenValid.error || defaultError;\n }\n return this;\n };\n return Link;\n}());\nexport { Link };\nvar CustomLink = (function (_super) {\n __extends(CustomLink, _super);\n function CustomLink(value, set) {\n var _this = _super.call(this, value) || this;\n _this.set = set;\n return _this;\n }\n CustomLink.prototype.set = function (x) { };\n return CustomLink;\n}(Link));\nexport { CustomLink };\nvar CloneLink = (function (_super) {\n __extends(CloneLink, _super);\n function CloneLink(parent, set) {\n var _this = _super.call(this, parent.value) || this;\n _this.set = set;\n var error = parent.error;\n if (error)\n _this.error = error;\n return _this;\n }\n CloneLink.prototype.set = function (x) { };\n return CloneLink;\n}(Link));\nexport { CloneLink };\nvar EqualsLink = (function (_super) {\n __extends(EqualsLink, _super);\n function EqualsLink(parent, truthyValue) {\n var _this = _super.call(this, parent.value === truthyValue) || this;\n _this.parent = parent;\n _this.truthyValue = truthyValue;\n return _this;\n }\n EqualsLink.prototype.set = function (x) {\n this.parent.set(x ? this.truthyValue : null);\n };\n return EqualsLink;\n}(Link));\nexport { EqualsLink };\nvar EnabledLink = (function (_super) {\n __extends(EnabledLink, _super);\n function EnabledLink(parent, defaultValue) {\n var _this = _super.call(this, parent.value != null) || this;\n _this.parent = parent;\n _this.defaultValue = defaultValue;\n return _this;\n }\n EnabledLink.prototype.set = function (x) {\n this.parent.set(x ? this.defaultValue : null);\n };\n return EnabledLink;\n}(Link));\nexport { EnabledLink };\nvar ContainsLink = (function (_super) {\n __extends(ContainsLink, _super);\n function ContainsLink(parent, element) {\n var _this = _super.call(this, parent.value.indexOf(element) >= 0) || this;\n _this.parent = parent;\n _this.element = element;\n return _this;\n }\n ContainsLink.prototype.set = function (x) {\n var _this = this;\n var next = Boolean(x);\n if (this.value !== next) {\n var arr = this.parent.value, nextValue = x ? arr.concat(this.element) : arr.filter(function (el) { return el !== _this.element; });\n this.parent.set(nextValue);\n }\n };\n return ContainsLink;\n}(Link));\nexport { ContainsLink };\nvar defaultError = 'Invalid value';\n/**\n * Link to array or object element enclosed in parent link.\n * Performs purely functional update of the parent, shallow copying its value on `set`.\n */\nvar LinkAt = (function (_super) {\n __extends(LinkAt, _super);\n function LinkAt(parent, key) {\n var _this = _super.call(this, parent.value[key]) || this;\n _this.parent = parent;\n _this.key = key;\n return _this;\n }\n LinkAt.prototype.remove = function () {\n this.parent.removeAt(this.key);\n };\n // Set new element value to parent array or object, performing purely functional update.\n LinkAt.prototype.set = function (x) {\n var _this = this;\n if (this.value !== x) {\n this.parent.update(function (value) {\n value[_this.key] = x;\n return value;\n });\n }\n };\n ;\n return LinkAt;\n}(Link));\nexport { LinkAt };\n//# sourceMappingURL=link.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/valuelink/link.js\n// module id = 18\n// module chunks = 0","var ArrayProto = Array.prototype, ObjectProto = Object.prototype;\nexport function helpers(value) {\n if (value && typeof value === 'object') {\n switch (Object.getPrototypeOf(value)) {\n case ArrayProto: return arrayHelpers;\n case ObjectProto: return objectHelpers;\n }\n }\n return dummyHelpers;\n}\n// Do nothing for types other than Array and plain Object.\nvar dummyHelpers = {\n clone: function (value) { return value; },\n map: function (link, fun) { return []; },\n remove: function (value) { return value; }\n};\n// `map` and `clone` for plain JS objects\nexport var objectHelpers = {\n // Map through the link to object\n map: function (link, iterator) {\n var mapped = [];\n for (var key in link.value) {\n var element = iterator(link.at(key), key);\n element === void 0 || (mapped.push(element));\n }\n return mapped;\n },\n remove: function (object, key) {\n delete object[key];\n return object;\n },\n // Shallow clone plain JS object\n clone: function (object) {\n var cloned = {};\n for (var key in object) {\n cloned[key] = object[key];\n }\n return cloned;\n }\n};\n// `map` and `clone` helpers for arrays.\nexport var arrayHelpers = {\n // Shallow clone array\n clone: function (array) {\n return array.slice();\n },\n remove: function (array, i) {\n array.splice(i, 1);\n return array;\n },\n // Map through the link to array\n map: function (link, iterator) {\n var length = link.value.length, mapped = Array(length);\n for (var i = 0, j = 0; i < length; i++) {\n var y = iterator(link.at(i), i);\n y === void 0 || (mapped[j++] = y);\n }\n mapped.length === j || (mapped.length = j);\n return mapped;\n }\n};\n//# sourceMappingURL=helpers.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/valuelink/helpers.js\n// module id = 19\n// module chunks = 0","/**\n * React-Type-R component base class. Overrides React component.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport * as React from 'react';\nimport { mixinRules, define, mixins, definitions, Messenger } from 'type-r';\nimport onDefine from './define';\nvar Component = (function (_super) {\n __extends(Component, _super);\n function Component(props, context) {\n var _this = _super.call(this, props, context) || this;\n _this._initializeState();\n return _this;\n }\n Component.prototype.linkAt = function (key) {\n // Quick and dirty hack to suppres type error - refactor later.\n return this.state.linkAt(key);\n };\n Component.prototype.linkAll = function () {\n // Quick and dirty hack to suppres type error - refactor later.\n var state = this.state;\n return state.linkAll.apply(state, arguments);\n };\n Component.prototype.linkPath = function (path) {\n return this.state.linkPath(path);\n };\n Object.defineProperty(Component.prototype, \"links\", {\n get: function () {\n return this.state._links;\n },\n enumerable: true,\n configurable: true\n });\n Component.prototype._initializeState = function () {\n this.state = null;\n };\n Component.prototype.assignToState = function (x, key) {\n this.state.assignFrom((_a = {}, _a[key] = x, _a));\n var _a;\n };\n Component.prototype.componentWillUnmount = function () {\n this.dispose();\n };\n /**\n * Performs transactional update for both props and state.\n * Suppress updates during the transaction, and force update aftewards.\n * Wrapping the sequence of changes in a transactions guarantees that\n * React component will be updated _after_ all the changes to the\n * both props and local state are applied.\n */\n Component.prototype.transaction = function (fun) {\n var shouldComponentUpdate = this.shouldComponentUpdate, isRoot = shouldComponentUpdate !== returnFalse;\n if (isRoot) {\n this.shouldComponentUpdate = returnFalse;\n }\n var _a = this, state = _a.state, store = _a.store, withStore = store ? function (state) { return store.transaction(function () { return fun(state); }); } : fun;\n state ? state.transaction(withStore) : withStore(state);\n if (isRoot) {\n this.shouldComponentUpdate = shouldComponentUpdate;\n this.asyncUpdate();\n }\n };\n // Safe version of the forceUpdate suitable for asynchronous callbacks.\n Component.prototype.asyncUpdate = function () {\n this.shouldComponentUpdate === returnFalse || this._disposed || this.forceUpdate();\n };\n return Component;\n}(React.Component));\nComponent.onDefine = onDefine;\nComponent = __decorate([\n define,\n definitions({\n // Definitions to be extracted from mixins and statics and passed to `onDefine()`\n state: mixinRules.merge,\n State: mixinRules.value,\n store: mixinRules.merge,\n Store: mixinRules.value,\n props: mixinRules.merge,\n context: mixinRules.merge,\n childContext: mixinRules.merge,\n pureRender: mixinRules.protoValue\n }),\n mixinRules({\n // Apply old-school React mixin rules.\n componentWillMount: mixinRules.classLast,\n componentDidMount: mixinRules.classLast,\n componentWillReceiveProps: mixinRules.classLast,\n componentWillUpdate: mixinRules.classLast,\n componentDidUpdate: mixinRules.classLast,\n componentWillUnmount: mixinRules.classFirst,\n // And a bit more to fix inheritance quirks.\n shouldComponentUpdate: mixinRules.some,\n getChildContext: mixinRules.defaults\n })\n // Component can send and receive events...\n ,\n mixins(Messenger)\n], Component);\nexport { Component };\nfunction returnFalse() { return false; }\n// Looks like React guys _really_ want to deprecate it. But no way.\n// We will work around their attempt.\nObject.defineProperty(Component.prototype, 'isMounted', {\n value: function isMounted() {\n return !this._disposed;\n }\n});\n//# sourceMappingURL=component.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/component.js\n// module id = 20\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport React, { Component } from './react-mvx';\nimport { tools } from 'type-r';\nvar notEqual = tools.notEqual;\nvar BackboneView = (function (_super) {\n __extends(BackboneView, _super);\n function BackboneView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.saveRef = function (element) {\n _this.root = element;\n };\n return _this;\n }\n BackboneView.prototype.shouldComponentUpdate = function (next) {\n var props = this.props;\n return next.View !== props.View || notEqual(next.options, props.options);\n };\n BackboneView.prototype.hasUnsavedChanges = function () {\n var view = this.view;\n return view && (typeof view.hasUnsavedChanges === 'function' ? view.hasUnsavedChanges() : view.hasUnsavedChanges);\n };\n BackboneView.prototype.render = function () {\n return React.createElement('div', {\n ref: this.saveRef,\n className: this.props.className\n });\n };\n BackboneView.prototype.componentDidMount = function () {\n this._mountView();\n };\n BackboneView.prototype.componentDidUpdate = function () {\n this._dispose();\n this._mountView();\n };\n BackboneView.prototype.componentWillUnmount = function () {\n this._dispose();\n };\n BackboneView.prototype._mountView = function () {\n var el = this.root, p = this.props;\n var view = this.view = p.options ? new p.View(p.options) : new p.View();\n el.appendChild(view.el);\n view.render();\n };\n BackboneView.prototype._dispose = function () {\n var view = this.view;\n if (view) {\n if (view.dispose) {\n view.dispose();\n }\n else {\n view.stopListening();\n view.off();\n }\n this.root.innerHTML = \"\";\n this.view = null;\n }\n };\n return BackboneView;\n}(Component));\nexport default BackboneView;\n//# sourceMappingURL=view-element.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/view-element.js\n// module id = 21\n// module chunks = 0","import * as React from 'react';\nimport ReactDOM from 'react-dom';\nimport { tools } from 'type-r';\nwindow.Page || (window.Page = { forceResize: function () { } });\nexport default function use(View) {\n var dispose = View.prototype.dispose || function () { }, setElement = View.prototype.setElement;\n var ComponentView = View.extend({\n reactClass: null,\n props: {},\n element: null,\n initialize: function (props) {\n // memorise arguments to pass to React\n this.options = props || {};\n },\n setElement: function () {\n this.unmountComponent(true);\n return setElement.apply(this, arguments);\n },\n // cached instance of react component...\n component: null,\n prevState: null,\n resize: function () {\n window.Page.forceResize();\n },\n render: function () {\n var options = this.prevState ? tools.fastAssign({ __keepState: this.prevState }, this.options) : this.options, element = React.createElement(this.reactClass, options), component = ReactDOM.render(element, this.el);\n this.component || this.mountComponent(component);\n },\n mountComponent: function (component) {\n this.component = component;\n this.prevState = null;\n component.trigger && this.listenTo(component, 'all', function () {\n this.trigger.apply(this, arguments);\n });\n },\n unmountComponent: function (keepModel) {\n var component = this.component;\n if (component) {\n this.prevState = component.state;\n if (component.trigger) {\n this.stopListening(component);\n }\n component._preventDispose = Boolean(keepModel);\n ReactDOM.unmountComponentAtNode(this.el);\n this.component = null;\n }\n },\n dispose: function () {\n this.unmountComponent();\n return dispose.apply(this, arguments);\n }\n });\n Object.defineProperty(ComponentView.prototype, 'model', {\n get: function () {\n this.component || this.render();\n return this.component && this.component.state;\n }\n });\n return ComponentView;\n}\n//# sourceMappingURL=component-view.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/component-view.js\n// module id = 22\n// module chunks = 0","var __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\nimport { Component } from './react-mvx';\nvar dontAutobind = [\n 'State', 'Store', 'constructor',\n 'componentWillMount', 'componentDidMount', 'componentWillReceiveProps', 'shouldComponentUpdate',\n 'componentWillUpdate', 'componentDidUpdate', 'componentWillUnmount',\n 'render', 'getDefaultProps', 'getChildContext'\n];\n/**\n * ES5 components definition factory\n */\nexport default function createClass(_a) {\n var statics = _a.statics, a_spec = __rest(_a, [\"statics\"]);\n // Gather all methods to pin them to `this` later.\n var methods = [];\n var Subclass = Component.extend(__assign({ \n // Override constructor to autobind all the methods...\n constructor: function () {\n Component.apply(this, this.arguments);\n for (var _i = 0, methods_1 = methods; _i < methods_1.length; _i++) {\n var method = methods_1[_i];\n this[method] = this[method].bind(this);\n }\n } }, a_spec), statics);\n // Need to bind methods from mixins as well, so populate it here.\n var Proto = Subclass.prototype;\n for (var key in Proto) {\n if (Proto.hasOwnProperty(key) && dontAutobind.indexOf(key) === -1 && typeof Proto[key] === 'function') {\n methods.push(key);\n }\n }\n return Subclass;\n}\n//# sourceMappingURL=createClass.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/createClass.js\n// module id = 23\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///dist/index.min.js","webpack:///webpack/bootstrap bcffa4043cccd0bcc27f","webpack:///external {\"commonjs\":\"nestedtypes\",\"commonjs2\":\"nestedtypes\",\"amd\":\"nestedtypes\",\"root\":\"Nested\"}","webpack:///./lib/react-mvx/index.js","webpack:///external {\"commonjs\":\"react\",\"commonjs2\":\"react\",\"amd\":\"react\",\"root\":\"React\"}","webpack:///./lib/react-mvx/define/typeSpecs.js","webpack:///./lib/react-mvx/define/index.js","webpack:///./lib/react-mvx/define/state.js","webpack:///./node_modules/prop-types/index.js","webpack:///external {\"commonjs\":\"react-dom\",\"commonjs2\":\"react-dom\",\"amd\":\"react-dom\",\"root\":\"ReactDOM\"}","webpack:///./lib/index.js","webpack:///./lib/react-mvx/define/store.js","webpack:///./lib/react-mvx/define/context.js","webpack:///./node_modules/prop-types/factoryWithThrowingShims.js","webpack:///./node_modules/fbjs/lib/emptyFunction.js","webpack:///./node_modules/fbjs/lib/invariant.js","webpack:///./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack:///./lib/react-mvx/define/props.js","webpack:///./lib/react-mvx/define/pureRender.js","webpack:///./lib/react-mvx/link.js","webpack:///./lib/react-mvx/valuelink/link.js","webpack:///./lib/react-mvx/valuelink/helpers.js","webpack:///./lib/react-mvx/component.js","webpack:///./lib/view-element.js","webpack:///./lib/component-view.js","webpack:///./lib/createClass.js"],"names":["root","factory","exports","module","require","define","amd","this","__WEBPACK_EXTERNAL_MODULE_0__","__WEBPACK_EXTERNAL_MODULE_2__","__WEBPACK_EXTERNAL_MODULE_7__","modules","__webpack_require__","moduleId","installedModules","i","l","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","__webpack_exports__","assignToState","__WEBPACK_IMPORTED_MODULE_0_react__","__WEBPACK_IMPORTED_MODULE_1_type_r__","__WEBPACK_IMPORTED_MODULE_2__define__","__WEBPACK_IMPORTED_MODULE_3__link__","__WEBPACK_IMPORTED_MODULE_4__component__","ReactMVx","create","default","mixins","Node","value","Element","Link","Component","key","prop","state","assignFrom","_a","compileSpecs","props","defaults","watchers","changeHandlers","propTypes","modelProto","forEachAttr","_attributes","spec","type","options","translateType","isRequired","_onChange","toLocalWatcher","length","changeEvents","handlers","changeEvents_1","push","next","prev","component","stopListening","listenTo","_changeEventName","asyncUpdate","convert","ref","Type","T","_translateType","Number","integer","__WEBPACK_IMPORTED_MODULE_0_prop_types__","String","Boolean","Array","Function","onDefine","definition","BaseClass","__WEBPACK_IMPORTED_MODULE_1__store__","__WEBPACK_IMPORTED_MODULE_2__state__","__WEBPACK_IMPORTED_MODULE_3__context__","__WEBPACK_IMPORTED_MODULE_4__props__","__WEBPACK_IMPORTED_MODULE_0_type_r__","__WEBPACK_IMPORTED_MODULE_5__typeSpecs__","process","BaseComponentClass","State","ComponentState","_super","apply","arguments","__extends","attributes","__decorate","merge","StateMixin","UpdateOnNestedChangesMixin","extendStatics","setPrototypeOf","__proto__","b","__","constructor","decorators","target","desc","r","getOwnPropertyDescriptor","Reflect","decorate","_initializeState","__keepState","_owner","_ownerKey","context","_nestedStore","getStore","_defaultStore","componentWillUnmount","_preventDispose","dispose","_onChildrenChange","componentDidMount","useView","View","BaseView","__WEBPACK_IMPORTED_MODULE_5__component_view__","__WEBPACK_IMPORTED_MODULE_0__react_mvx__","__WEBPACK_IMPORTED_MODULE_1_react_dom__","__WEBPACK_IMPORTED_MODULE_1_react_dom___default","__WEBPACK_IMPORTED_MODULE_2_type_r__","__WEBPACK_IMPORTED_MODULE_2_type_r___default","__WEBPACK_IMPORTED_MODULE_3_prop_types__","__WEBPACK_IMPORTED_MODULE_4__view_element__","__WEBPACK_IMPORTED_MODULE_6__createClass__","NestedReact","subview","createClass","definitions","extend","reactClass","RecordProto","getLink","linkAt","deepLink","linkPath","CollectionProto","Collection","hasLink","linkContains","BackboneViewProps","el","a","findDOMNode","$el","$","sel","find","defineProperties","store","StoreClass","Store","ExternalStoreMixin","ExposeStoreMixin","BaseClass_1","InternalStore","attrbutes","InternalStoreMixin","__WEBPACK_IMPORTED_MODULE_1__state__","childContext","getChildContext","componentWillMount","_context","contextTypes","__WEBPACK_IMPORTED_MODULE_0__typeSpecs__","_childContext","childContextTypes","emptyFunction","invariant","ReactPropTypesSecret","shim","propName","componentName","location","propFullName","secret","getShim","ReactPropTypes","array","bool","func","number","string","symbol","any","arrayOf","element","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","makeEmptyFunction","arg","thatReturns","thatReturnsFalse","thatReturnsTrue","thatReturnsNull","thatReturnsThis","thatReturnsArgument","condition","format","e","f","validateFormat","error","undefined","Error","args","argIndex","replace","framesToPop","pureRender","_props","_b","defaultProps","_watchers","WatchersMixin","_changeHandlers","ChangeHandlersMixin","PropsChangeTokens","__WEBPACK_IMPORTED_MODULE_1__pureRender__","handlePropsChanges","name_1","_i","handler","componentDidUpdate","componentWillReceiveProps","name_2","name_3","createChangeTokensConstructor","propNames","keys","map","join","_hasChanges","updateChangeTokens","_propsChangeTokens","PureRenderMixin","shouldComponentUpdate","nextProps","getLinksCache","record","_links","AttributesCopy","cacheLink","links","cached","RecordLink","__WEBPACK_IMPORTED_MODULE_1__valuelink_link__","populate","path","RecordDeepLink","linkAll","attr","_this","set","x","_error","getValidationError","deepGet","deepValidationError","_changeToken","deepSet","CollectionLink","collection","_byId","cid","toggle","__WEBPACK_IMPORTED_MODULE_0__helpers__","CustomLink","onChange","CloneLink","checked","requestChange","update","transform","clone","pipe","action","equals","truthyValue","EqualsLink","enabled","defaultValue","EnabledLink","contains","ContainsLink","unshift","splice","iterator","removeAt","_","remove","at","LinkAt","pick","check","whenValid","defaultError","parent","indexOf","arr","nextValue","concat","filter","helpers","getPrototypeOf","ArrayProto","arrayHelpers","ObjectProto","objectHelpers","dummyHelpers","link","fun","mapped","cloned","slice","j","y","returnFalse","transaction","isRoot","withStore","_disposed","forceUpdate","protoValue","classLast","componentWillUpdate","classFirst","some","notEqual","BackboneView","saveRef","hasUnsavedChanges","view","render","createElement","className","_mountView","_dispose","appendChild","off","innerHTML","use","setElement","ComponentView","initialize","unmountComponent","prevState","resize","window","Page","forceResize","fastAssign","mountComponent","trigger","keepModel","unmountComponentAtNode","statics","a_spec","__rest","methods","Subclass","__assign","methods_1","method","bind","Proto","dontAutobind","assign","t","getOwnPropertySymbols"],"mappings":"CAAA,SAAAA,EAAAC,GACA,gBAAAC,UAAA,gBAAAC,QACAA,OAAAD,QAAAD,EAAAG,QAAA,eAAAA,QAAA,SAAAA,QAAA,cACA,kBAAAC,gBAAAC,IACAD,QAAA,mCAAAJ,GACA,gBAAAC,SACAA,QAAA,MAAAD,EAAAG,QAAA,eAAAA,QAAA,SAAAA,QAAA,cAEAJ,EAAA,MAAAC,EAAAD,EAAA,OAAAA,EAAA,MAAAA,EAAA,WACCO,KAAA,SAAAC,EAAAC,EAAAC,GACD,MCAgB,UAAUC,GCN1B,QAAAC,GAAAC,GAGA,GAAAC,EAAAD,GACA,MAAAC,GAAAD,GAAAX,OAGA,IAAAC,GAAAW,EAAAD,IACAE,EAAAF,EACAG,GAAA,EACAd,WAUA,OANAS,GAAAE,GAAAI,KAAAd,EAAAD,QAAAC,IAAAD,QAAAU,GAGAT,EAAAa,GAAA,EAGAb,EAAAD,QAvBA,GAAAY,KA4DA,OAhCAF,GAAAM,EAAAP,EAGAC,EAAAO,EAAAL,EAGAF,EAAAQ,EAAA,SAAAlB,EAAAmB,EAAAC,GACAV,EAAAW,EAAArB,EAAAmB,IACAG,OAAAC,eAAAvB,EAAAmB,GACAK,cAAA,EACAC,YAAA,EACAC,IAAAN,KAMAV,EAAAiB,EAAA,SAAA1B,GACA,GAAAmB,GAAAnB,KAAA2B,WACA,WAA2B,MAAA3B,GAAA,SAC3B,WAAiC,MAAAA,GAEjC,OADAS,GAAAQ,EAAAE,EAAA,IAAAA,GACAA,GAIAV,EAAAW,EAAA,SAAAQ,EAAAC,GAAsD,MAAAR,QAAAS,UAAAC,eAAAjB,KAAAc,EAAAC,IAGtDpB,EAAAuB,EAAA,GAGAvB,IAAAwB,EAAA,KDgBM,SAAUjC,EAAQD,GE7ExBC,EAAAD,QAAAM,GFmFM,SAAUL,EAAQkC,EAAqBzB,GAE7C,YAC+BA,GAAoBQ,EAAEiB,EAAqB,IAAK,WAAa,MAAOC,IAC9E,IAAIC,GAAsC3B,EAAoB,GAE1D4B,GAD8C5B,EAAoBiB,EAAEU,GAC7B3B,EAAoB,IAE3D6B,GAD+C7B,EAAoBiB,EAAEW,GAC7B5B,EAAoB,IAC5D8B,EAAsC9B,EAAoB,IAC1D+B,EAA2C/B,EAAoB,GACpDA,GAAoBW,EAAEiB,EAAsC,WAAW5B,EAAoBQ,EAAEiB,EAAqB,IAAK,WAAa,MAAOG,GAA6C,SACxL5B,EAAoBW,EAAEiB,EAAsC,WAAW5B,EAAoBQ,EAAEiB,EAAqB,IAAK,WAAa,MAAOG,GAA6C,SAC3L5B,EAAoBQ,EAAEiB,EAAqB,IAAK,WAAa,MAAOI,GAAyC,IAC7G7B,EAAoBQ,EAAEiB,EAAqB,IAAK,WAAa,MAAOI,GAAyC,IAC7G7B,EAAoBQ,EAAEiB,EAAqB,IAAK,WAAa,MAAOK,GAAuC,IAC3G9B,EAAoBQ,EAAEiB,EAAqB,IAAK,WAAa,MAAOM,GAA4C,GG7FjJ,IAAAC,GAAApB,OAAAqB,OAAAN,EAEAK,GAAAE,QAAAF,EAEAA,EAAAvC,OAAAmC,EAAA,OACAI,EAAAG,OAAAP,EAAA,OACAI,EAAAI,KAAAP,EAAA,EAAAQ,MAAA,MACAL,EAAAM,QAAAT,EAAA,EAAAQ,MAAA,MACAL,EAAAO,KAAAT,EAAA,EACAE,EAAAQ,UAAAT,EAAA,CACA,IAAAL,GAAAM,EAAAN,cAAA,SAAAe,GACA,gBAAAC,GACA/C,KAAAgD,MAAAC,YAAAC,KAAsCA,EAAAJ,GAAAC,eAAAZ,GAAA,EAAAY,EAAAL,MAAAK,EAAAG,GACtC,IAAAA,IAGApB,GAAA,KH0GM,SAAUlC,EAAQD,GIhIxBC,EAAAD,QAAAO,GJsIM,SAAUN,EAAQkC,EAAqBzB,GAE7C,YKtIA,SAAA8C,GAAAC,GACA,GAGAC,GAAAC,EAAAC,EAHAC,KAEAC,EAAAxB,EAAA,OAAAoB,SAAAD,GAAA1B,SAkCA,OAhCA+B,GAAAC,YAAAD,EAAAE,YAAA,SAAAC,EAAA9C,GAEA,UAAAA,EAAA,CACA,GAAA4B,GAAAkB,EAAAlB,MAAAmB,EAAAD,EAAAC,KAAAC,EAAAF,EAAAE,OAaA,IAXAN,EAAA1C,GAAAiD,EAAAF,EAAAC,EAAAE,YACAF,EAAAG,YACAX,UACAA,EAAAxC,GAAAoD,EAAAJ,EAAAG,YAGAH,EAAAP,gBAAAO,EAAAP,eAAAY,SACAZ,UACAA,EAAAzC,GAAAgD,EAAAP,gBAGAO,EAAAM,aAAA,CACAb,SACA,IAAAc,GAAAd,EAAAzC,KAAAyC,EAAAzC,OAAAwD,EAAA,gBAAAR,GAAAM,aAAAN,EAAAM,aAAA,IACAC,GAAAE,KAAA,SAAAC,EAAAC,EAAAC,GACAD,GAAAC,EAAAC,cAAAF,GACAD,GAAAE,EAAAE,SAAAJ,EAAAF,GAAAE,EAAAK,iBAAAH,EAAAI,mBAIA,KAAApC,IAEAW,UACAA,EAAAvC,GAAA8C,EAAAmB,QAAArC,MAAA,iBAIYc,YAAAH,WAAAC,WAAAC,kBAEZ,QAAAW,GAAAc,GACA,wBAAAA,KAAA,SAAAtC,EAAA5B,GACAd,KAAAgF,IAAAhF,KAAAgF,GAAAtC,EAAA5B,IAeA,QAAAiD,GAAAkB,EAAAjB,GACA,GAAAkB,GAAAC,EAAAF,EACA,OAAAjB,GAAAkB,EAAAlB,WAAAkB,EAEA,QAAAC,GAAAF,GACA,OAAAA,GACA,IAAAG,QACA,IAAAA,QAAAC,QACA,MAAAC,GAAA,MACA,KAAAC,QACA,MAAAD,GAAA,MACA,KAAAE,SACA,MAAAF,GAAA,IACA,KAAAG,OACA,MAAAH,GAAA,KACA,KAAAI,UACA,MAAAJ,GAAA,IACA,KAAArE,QACA,MAAAqE,GAAA,MACA,KAAA7C,GACA,MAAA6C,GAAA,IACA,KAAA3C,GACA,MAAA2C,GAAA,OACA,aACA,UACA,MAAAA,GAAA,GACA,SACA,MAAAA,GAAA,WAAAL,ILoDiCnD,EAAuB,EAAIqB,EAC7B9C,EAAoBQ,EAAEiB,EAAqB,IAAK,WAAa,MAAOW,KACpEpC,EAAoBQ,EAAEiB,EAAqB,IAAK,WAAa,MAAOa,IAC9E,IAAI2C,GAA2CjF,EAAoB,GAE/D4B,GADmD5B,EAAoBiB,EAAEgE,GAClCjF,EAAoB,IKhGpFoC,GLiGwEpC,EAAoBiB,EAAEW,GKjG9F,WACA,QAAAQ,MAEA,MAAAA,OAGAE,EAAA,WACA,QAAAA,MAEA,MAAAA,OLqLM,SAAU/C,EAAQkC,EAAqBzB,GAE7C,YMzOA,SAAAsF,GAAAC,EAAAC,GAEAC,EAAA,EAAApF,KAAAV,KAAA4F,EAAAC,GACAE,EAAA,EAAArF,KAAAV,KAAA4F,EAAAC,GACAG,EAAA,EAAAtF,KAAAV,KAAA4F,EAAAC,GACAI,EAAA,EAAAvF,KAAAV,KAAA4F,EAAAC,GACAK,EAAA,UAAAP,SAAAjF,KAAAV,KAAA4F,EAAAC,GNoOiC/D,EAAuB,EAAI6D,CACvC,IAAIO,GAAuC7F,EAAoB,GAE3DyF,GAD+CzF,EAAoBiB,EAAE4E,GAC9B7F,EAAoB,IAC3D0F,EAAuC1F,EAAoB,GAC3D2F,EAAyC3F,EAAoB,IAC7D4F,EAAuC5F,EAAoB,IAC3D8F,EAA2C9F,EAAoB,EACvDA,GAAoBQ,EAAEiB,EAAqB,IAAK,WAAa,MAAOqE,GAA4C,IAChH9F,EAAoBQ,EAAEiB,EAAqB,IAAK,WAAa,MAAOqE,GAA4C,KAoB3I,SAAUvG,EAAQkC,EAAqBzB,GAE7C,YO1PA,SAAA+F,GAAAR,EAAAS,GACA,GAAA3E,GAAA1B,KAAA0B,UACAsB,EAAA4C,EAAA5C,MAAAsD,EAAAV,EAAAU,KAKA,IAJA,kBAAAtD,KACAsD,EAAAtD,EACAA,MAAA,IAEAA,EAAA,CACA,GAAA6C,GAAAS,GAAA5E,EAAA4E,OAAAJ,EAAA,OACAK,EAAA,SAAAC,GAEA,QAAAD,KACA,cAAAC,KAAAC,MAAAzG,KAAA0G,YAAA1G,KAEA,MAJA2G,GAAAJ,EAAAC,GAIAD,GACSV,EACTU,GAAAK,WAAA5D,EACAuD,EAAAM,GACAX,EAAA,QACAK,GACA7E,EAAA4E,MAAAC,MAEAD,KACA5E,EAAA4E,UAEAtD,GAAAsD,IACAtG,KAAAwC,OAAAsE,OAAAC,EAAAC,IPiOiClF,EAAuB,EAAIsE,EAC7B/F,EAAoBQ,EAAEiB,EAAqB,IAAK,WAAa,MAAOiF,KACpE1G,EAAoBQ,EAAEiB,EAAqB,IAAK,WAAa,MAAOkF,IOjRnG,IAAAd,GAAA7F,EAAA,GAAAsG,GAAAtG,EAAAiB,EAAA4E,GAAAlG,WAAA2G,WAAA,WACA,GAAAM,GAAAhG,OAAAiG,iBACUC,uBAAgB1B,QAAA,SAAA5E,EAAAuG,GAAsCvG,EAAAsG,UAAAC,IAChE,SAAAvG,EAAAuG,GAAyB,OAAAxF,KAAAwF,KAAAzF,eAAAC,KAAAf,EAAAe,GAAAwF,EAAAxF,IACzB,iBAAAf,EAAAuG,GAEA,QAAAC,KAAuBrH,KAAAsH,YAAAzG,EADvBoG,EAAApG,EAAAuG,GAEAvG,EAAAa,UAAA,OAAA0F,EAAAnG,OAAAqB,OAAA8E,IAAAC,EAAA3F,UAAA0F,EAAA1F,UAAA,GAAA2F,SAGAR,EAAA7G,WAAA6G,YAAA,SAAAU,EAAAC,EAAA1E,EAAA2E,GACA,GAAA5G,GAAAD,EAAA8F,UAAAvC,OAAAuD,EAAA9G,EAAA,EAAA4G,EAAA,OAAAC,IAAAxG,OAAA0G,yBAAAH,EAAA1E,GAAA2E,CACA,oBAAAG,UAAA,kBAAAA,SAAAC,SAAAH,EAAAE,QAAAC,SAAAN,EAAAC,EAAA1E,EAAA2E,OACA,QAAAjH,GAAA+G,EAAApD,OAAA,EAA4C3D,GAAA,EAAQA,KAAAK,EAAA0G,EAAA/G,MAAAkH,GAAA9G,EAAA,EAAAC,EAAA6G,GAAA9G,EAAA,EAAAC,EAAA2G,EAAA1E,EAAA4E,GAAA7G,EAAA2G,EAAA1E,KAAA4E,EACpD,OAAA9G,GAAA,GAAA8G,GAAAzG,OAAAC,eAAAsG,EAAA1E,EAAA4E,MAmCAX,GAEAe,iBAAA,WAEA,GAAA9E,GAAAhD,KAAAgD,MAAAhD,KAAAoD,MAAA2E,aAAA,GAAA/H,MAAAsG,KAEAtD,GAAAgF,OAAAhI,KACAgD,EAAAiF,UAAA,SAEAC,SACAC,aAAAjC,EAAA,OAGAkC,SAAA,WAGA,GAAAF,GAAAlF,CACA,QAAAkF,EAAAlI,KAAAkI,YAAAC,eACAnF,EAAAhD,KAAAgD,UAAAqF,eAEAC,qBAAA,WACA,GAAAtF,GAAAhD,KAAAgD,KACAA,GAAAgF,OAAAhF,EAAAiF,cAAA,GACAjI,KAAAuI,iBAAAvF,EAAAwF,UACAxI,KAAAgD,UAAA,KAGAgE,GACAyB,kBAAA,aACAC,kBAAA,WACA1I,KAAAyI,kBAAAzI,KAAA8E,eP2RM,SAAUlF,EAAQD,EAASU,GQhVjCT,EAAAD,QAAAU,EAAA,ORkXM,SAAUT,EAAQD,GS5YxBC,EAAAD,QAAAQ,GTkZM,SAAUP,EAAQkC,EAAqBzB,GAE7C,YUjYA,SAAAsI,GAAAC,GACAC,EAAA5H,OAAA6H,EAAA,GAAAF,GViYA3H,OAAOC,eAAeY,EAAqB,cAAgBY,OAAO,IACjCZ,EAA6B,QAAI6G,CAC7C,IAAII,GAA2C1I,EAAoB,EACzCA,GAAoBQ,EAAEiB,EAAqB,SAAU,WAAa,MAAOiH,GAA4C,IACrH1I,EAAoBQ,EAAEiB,EAAqB,SAAU,WAAa,MAAOiH,GAA4C,IACrH1I,EAAoBQ,EAAEiB,EAAqB,OAAQ,WAAa,MAAOiH,GAA4C,IACnH1I,EAAoBQ,EAAEiB,EAAqB,UAAW,WAAa,MAAOiH,GAA4C,IACtH1I,EAAoBQ,EAAEiB,EAAqB,OAAQ,WAAa,MAAOiH,GAA4C,IACnH1I,EAAoBQ,EAAEiB,EAAqB,YAAa,WAAa,MAAOiH,GAA4C,IACxH1I,EAAoBQ,EAAEiB,EAAqB,gBAAiB,WAAa,MAAOiH,GAA4C,GACtJ,IAAIC,GAA0C3I,EAAoB,GAC9D4I,EAAkD5I,EAAoBiB,EAAE0H,GACxEE,EAAuC7I,EAAoB,GAC3D8I,EAA+C9I,EAAoBiB,EAAE4H,GACrEE,EAA2C/I,EAAoB,GAE/DgJ,GADmDhJ,EAAoBiB,EAAE8H,GAC3B/I,EAAoB,IAC1DA,GAAoBQ,EAAEiB,EAAqB,UAAW,WAAa,MAAOuH,GAA+C,GACrI,IAAIP,GAAgDzI,EAAoB,IACpEiJ,EAA6CjJ,EAAoB,GACnDA,GAAoBQ,EAAEiB,EAAqB,YAAa,WAAa,MAAOsH,KUzanH/I,EAAAQ,EAAAiB,EAAA,+BAAAwH,GAAA,GAEA,IAAAC,GAAAtI,OAAAqB,OAAAyG,EAAA,EV4a6BjH,GAA6B,QAAI,EUpa9DyH,EAAAC,QAAAH,EAAA,EAIAE,EAAAE,YAAAH,EAAA,EACArI,OAAAC,eAAAqI,EAAA,aAAiD7G,MAAA0G,GAEjD,IAAAP,GAKAlD,EAAA4D,EAAA1G,UAAA8C,QACA4D,GAAA1G,UAAA8C,SAAA,SAAA+D,EAAA7D,GAEA,MADA7F,MAAA4I,KAAAC,EAAAc,QAAiCC,WAAA5J,OACjC2F,EAAAjF,KAAAV,KAAA0J,EAAA7D,GAGA,IAAAgE,GAAAX,EAAA,OAAAxH,SACAmI,GAAAC,QAAAD,EAAAE,OACAF,EAAAG,SAAAH,EAAAI,QACA,IAAAC,GAAAhB,EAAA,OAAAiB,WAAAzI,SACAwI,GAAAE,QAAAF,EAAAG,aACA1B,EAAAO,EAAA,KAEA,IAAAoB,IACAC,IAASlJ,IAAA,WAAmB,MAAA4H,GAAAuB,EAAAC,YAAAzK,QAC5B0K,KAAUrJ,IAAA,WAAmB,MAAA8H,GAAAqB,EAAAG,EAAA3K,KAAAuK,MAC7BI,GAAQjI,MAAA,SAAAkI,GAAwB,MAAA5K,MAAA0K,IAAAG,KAAAD,KAEhC3J,QAAA6J,iBAAAvB,EAAA1G,UAAAnB,UAAA4I,IVgbM,SAAU1K,EAAQkC,EAAqBzB,GAE7C,YWxcA,SAAAsF,GAAAC,EAAAC,GACA,GAAAkF,GAAAnF,EAAAmF,MAAAC,EAAApF,EAAAqF,KACA,IAAAF,eAAA7E,GAAA,MAEAlG,KAAA0B,UAAAqJ,QACA/K,KAAAwC,OAAAsE,OAAAoE,EAAAC,QAEA,IAAAJ,GAAAnF,EAAAqF,MAAA,CAKA,GAJA,kBAAAF,KACAC,EAAAD,EACAA,MAAA,IAEAA,EAAA,CACA,GAAAK,GAAAJ,GAAAhL,KAAA0B,UAAAuJ,OAAA/E,EAAA,MACAmF,EAAA,SAAA7E,GAEA,QAAA6E,KACA,cAAA7E,KAAAC,MAAAzG,KAAA0G,YAAA1G,KAEA,MAJA2G,GAAA0E,EAAA7E,GAIA6E,GACaD,EACbC,GAAAC,UAAAP,EACAM,EAAAxE,GACAX,EAAA,QACAmF,GAEArL,KAAA0B,UAAAuJ,MAAAI,MAEAL,KACAhL,KAAA0B,UAAAuJ,MAAAD,EAEAhL,MAAAwC,OAAAsE,OAAAyE,EAAAC,EAAA,EAAAL,KX0aiCrJ,EAAuB,EAAI6D,CACvC,IAAIO,GAAuC7F,EAAoB,GW5dpFmL,GX6dwEnL,EAAoBiB,EAAE4E,GW7d9F7F,EAAA,IAAAsG,EAAA3G,WAAA2G,WAAA,WACA,GAAAM,GAAAhG,OAAAiG,iBACUC,uBAAgB1B,QAAA,SAAA5E,EAAAuG,GAAsCvG,EAAAsG,UAAAC,IAChE,SAAAvG,EAAAuG,GAAyB,OAAAxF,KAAAwF,KAAAzF,eAAAC,KAAAf,EAAAe,GAAAwF,EAAAxF,IACzB,iBAAAf,EAAAuG,GAEA,QAAAC,KAAuBrH,KAAAsH,YAAAzG,EADvBoG,EAAApG,EAAAuG,GAEAvG,EAAAa,UAAA,OAAA0F,EAAAnG,OAAAqB,OAAA8E,IAAAC,EAAA3F,UAAA0F,EAAA1F,UAAA,GAAA2F,QAGAR,EAAA7G,WAAA6G,YAAA,SAAAU,EAAAC,EAAA1E,EAAA2E,GACA,GAAA5G,GAAAD,EAAA8F,UAAAvC,OAAAuD,EAAA9G,EAAA,EAAA4G,EAAA,OAAAC,IAAAxG,OAAA0G,yBAAAH,EAAA1E,GAAA2E,CACA,oBAAAG,UAAA,kBAAAA,SAAAC,SAAAH,EAAAE,QAAAC,SAAAN,EAAAC,EAAA1E,EAAA2E,OACA,QAAAjH,GAAA+G,EAAApD,OAAA,EAA4C3D,GAAA,EAAQA,KAAAK,EAAA0G,EAAA/G,MAAAkH,GAAA9G,EAAA,EAAAC,EAAA6G,GAAA9G,EAAA,EAAAC,EAAA2G,EAAA1E,EAAA4E,GAAA7G,EAAA2G,EAAA1E,KAAA4E,EACpD,OAAA9G,GAAA,GAAA8G,GAAAzG,OAAAC,eAAAsG,EAAA1E,EAAA4E,MAyCAyD,GACAM,cACAtD,aAAAjC,EAAA,OAEAwF,gBAAA,WACA,OAAgBvD,aAAAnI,KAAA+K,QAEhB3C,SAAA,WACA,MAAApI,MAAA+K,OAGA1J,IAAA,SAAAyB,GAEA,GAAAiI,GAAAS,EAAA,EAAApD,SAAA1H,KAAAV,KAAA8C,EACA,OAAAiI,MAAA1J,IAAAyB,KAOAoI,GACAxC,kBAAA,WAEA1I,KAAA4E,SAAA5E,KAAA+K,MAAA,SAAA/K,KAAA8E,eAGAyG,GACAI,mBAAA,WACA,GAAAZ,GAAA/K,KAAA+K,MAAA,GAAA/K,MAAAiL,KACAF,GAAA/C,OAAAhI,KACA+K,EAAA9C,UAAA,SAEAK,qBAAA,WACAtI,KAAA+K,MAAA9C,UAAAjI,KAAA+K,MAAA/C,WAAA,GACAhI,KAAA+K,MAAAvC,UACAxI,KAAA+K,UAAA,MXseM,SAAUnL,EAAQkC,EAAqBzB,GAE7C,YYjkBA,SAAAsF,GAAAzC,EAAA2C,GACA,GAAAqC,GAAAhF,EAAAgF,QAAAuD,EAAAvI,EAAAuI,aACA/J,EAAA1B,KAAA0B,SACAwG,KAEAxG,EAAAkK,SAAA3J,EAAA,MAAAoB,SAAA6E,EAAArC,EAAAnE,UAAAkK,cAEA5L,KAAA6L,aAAA5K,OAAA6K,EAAA,GAAA5D,GAAA1E,WAEAiI,IACA/J,EAAAqK,cAAA9J,EAAA,MAAAoB,SAAAoI,EAAA5F,EAAAnE,UAAAqK,eACA/L,KAAAgM,kBAAA/K,OAAA6K,EAAA,GAAAL,GAAAjI,WZujBiC1B,EAAuB,EAAI6D,CACvC,IAAImG,GAA2CzL,EAAoB,GAC/D4B,EAAuC5B,EAAoB,EACZA,GAAoBiB,EAAEW,IAqBxF,SAAUrC,EAAQD,EAASU,GAEjC,YarlBA,IAAA4L,GAAA5L,EAAA,IACA6L,EAAA7L,EAAA,IACA8L,EAAA9L,EAAA,GAEAT,GAAAD,QAAA,WACA,QAAAyM,GAAAhJ,EAAAiJ,EAAAC,EAAAC,EAAAC,EAAAC,GACAA,IAAAN,GAIAD,GACA,EACA,mLAMA,QAAAQ,KACA,MAAAN,GAFAA,EAAApI,WAAAoI,CAMA,IAAAO,IACAC,MAAAR,EACAS,KAAAT,EACAU,KAAAV,EACAW,OAAAX,EACA5K,OAAA4K,EACAY,OAAAZ,EACAa,OAAAb,EAEAc,IAAAd,EACAe,QAAAT,EACAU,QAAAhB,EACAiB,WAAAX,EACAY,KAAAlB,EACAmB,SAAAb,EACAc,MAAAd,EACAe,UAAAf,EACAgB,MAAAhB,EACAiB,MAAAjB,EAMA,OAHAC,GAAAiB,eAAA3B,EACAU,EAAAkB,UAAAlB,EAEAA,IbqmBM,SAAU/M,EAAQD,EAASU,GAEjC,YcppBA,SAAAyN,GAAAC,GACA,kBACA,MAAAA,IASA,GAAA9B,GAAA,YAEAA,GAAA+B,YAAAF,EACA7B,EAAAgC,iBAAAH,GAAA,GACA7B,EAAAiC,gBAAAJ,GAAA,GACA7B,EAAAkC,gBAAAL,EAAA,MACA7B,EAAAmC,gBAAA,WACA,MAAApO,OAEAiM,EAAAoC,oBAAA,SAAAN,GACA,MAAAA,IAGAnO,EAAAD,QAAAsM,GdoqBM,SAAUrM,EAAQD,EAASU,GAEjC,Ye1qBA,SAAA6L,GAAAoC,EAAAC,EAAA/D,EAAApD,EAAAxG,EAAAC,EAAA2N,EAAAC,GAGA,GAFAC,EAAAH,IAEAD,EAAA,CACA,GAAAK,EACA,QAAAC,KAAAL,EACAI,EAAA,GAAAE,OAAA,qIACK,CACL,GAAAC,IAAAtE,EAAApD,EAAAxG,EAAAC,EAAA2N,EAAAC,GACAM,EAAA,CACAJ,GAAA,GAAAE,OAAAN,EAAAS,QAAA,iBACA,MAAAF,GAAAC,QAEAJ,EAAA7N,KAAA,sBAIA,KADA6N,GAAAM,YAAA,EACAN,GA3BA,GAAAD,GAAA,SAAAH,IA+BA3O,GAAAD,QAAAuM,Gf8sBM,SAAUtM,EAAQD,EAASU,GAEjC,YgBzvBAT,GAAAD,QAFA,gDhB4wBM,SAAUC,EAAQkC,EAAqBzB,GAE7C,YiB/wBA,SAAAsF,GAAAzC,EAAA2C,GACA,GAAAzC,GAAAF,EAAAE,MAAA8L,EAAAhM,EAAAgM,WACAxN,EAAA1B,KAAA0B,SAEA,IAAA0B,EAAA,CAEA1B,EAAAyN,OAAAjG,EAAA,MAAA7F,SAAAD,EAAAyC,EAAAnE,UAAAyN,WACA,IAAAC,GAAAnO,OAAA6K,EAAA,GAAA1I,GAAAI,EAAA4L,EAAA5L,UAAAH,EAAA+L,EAAA/L,SAAAC,EAAA8L,EAAA9L,SAAAC,EAAA6L,EAAA7L,cACAvD,MAAAwD,YACAH,IACArD,KAAAqP,aAAAhM,GACAC,IACA5B,EAAA4N,UAAAhM,EACAtD,KAAAwC,OAAAsE,OAAAyI,KAEAhM,IACA7B,EAAA8N,gBAAAjM,EACAvD,KAAAwC,OAAAsE,OAAA2I,KAEA/N,EAAAwN,aACAxN,EAAAgO,kBAAAzO,OAAA0O,EAAA,GAAAvM,IAGA8L,GACAlP,KAAAwC,OAAAsE,OAAA6I,EAAA,IAkBA,QAAAC,GAAAlL,EAAAD,EAAAD,GACA,GAAAgL,GAAA9K,EAAA8K,eACA,QAAAK,KAAAL,GACA,GAAA/K,EAAAoL,KAAArL,EAAAqL,GACA,OAAAC,GAAA,EAAA5M,EAAAsM,EAAAK,GAA0DC,EAAA5M,EAAAiB,OAAgB2L,IAAA,CAC1E,GAAAC,GAAA7M,EAAA4M,EACAC,GAAAvL,EAAAqL,GAAApL,EAAAoL,GAAAnL,IjBguBiC5C,EAAuB,EAAI6D,CACvC,IAAImG,GAA2CzL,EAAoB,GAC/DsP,EAA4CtP,EAAoB,IiB1xBzF6I,EAAA7I,EAAA,GAuCAoP,GAvCApP,EAAAiB,EAAA4H,IAwCAR,kBAAA,WACAkH,EAAA5P,QAAmCA,KAAAoD,QAEnC4M,mBAAA,SAAAvL,GACAmL,EAAA5P,KAAAyE,EAAAzE,KAAAoD,QAEAkF,qBAAA,WACAsH,EAAA5P,UAAAoD,aAkBAmM,GACAU,0BAAA,SAAAzL,GACA,GAAAtB,GAAAlD,KAAAsP,EAAApM,EAAAoM,UAAAlM,EAAAF,EAAAE,KACA,QAAA8M,KAAAZ,GACA9K,EAAA0L,KAAA9M,EAAA8M,IACAZ,EAAAY,GAAAxP,KAAAV,KAAAwE,EAAA0L,OAIAvE,mBAAA,WACA,GAAAzI,GAAAlD,KAAAsP,EAAApM,EAAAoM,UAAAlM,EAAAF,EAAAE,KACA,QAAA+M,KAAAb,GACAA,EAAAa,GAAAzP,KAAAV,KAAAoD,EAAA+M,SjBqyBM,SAAUvQ,EAAQkC,EAAqBzB,GAE7C,YkBp3BA,SAAA+P,GAAAhN,GACA,GAAAiN,GAAApP,OAAAqP,KAAAlN,GACAsM,EAAA,GAAAhK,UAAA,6EAA4G2K,EAAAE,IAAA,SAAAzP,GAA6C,4BAAAA,EAAA,gBAAAA,EAAA,0CAA0G0P,KAAA,aAEnQ,OADAd,GAAAhO,UAAA+O,YAAA,GAAA/K,UAAA,gFAAsF2K,EAAAE,IAAA,SAAAzP,GAAwF,+BAAAA,EAAA,oBAAAA,EAAA,2CAAkH0P,KAAA,eAChSd,EAUA,QAAAgB,KACA1Q,KAAA2Q,mBAAA,GAAA3Q,MAAA0P,kBAAA1P,KAAAoD,MAAApD,KAAAgD,OlBs2BiClB,EAAuB,EAAIsO,EAC7B/P,EAAoBQ,EAAEiB,EAAqB,IAAK,WAAa,MAAO8O,IkB/2BnG,IAAAA,IACAC,sBAAA,SAAAC,GACA,MAAA9Q,MAAA2Q,mBAAAF,YAAAK,IAEApI,kBAAAgI,EACAV,mBAAAU,IlBg4BM,SAAU9Q,EAAQkC,EAAqBzB,GAE7C,YmB/xBA,SAAA0Q,GAAAC,GACA,MAAAA,GAAAC,SAAAD,EAAAC,OAAA,GAAAD,GAAAE,oBAEA,QAAAC,GAAAC,EAAAJ,EAAAlO,GACA,GAAAuO,GAAAD,EAAAtO,GAAAJ,EAAAsO,EAAAlO,EACA,OAAAuO,MAAA3O,UAAA2O,EACAD,EAAAtO,GAAA,GAAAwO,GAAAN,EAAAlO,EAAAJ,GnB0xBqB,GAAIwD,GAAuC7F,EAAoB,GmB/4BpFkR,GnBg5BwElR,EAAoBiB,EAAE4E,GmBh5B9F7F,EAAA,KAIAsG,EAAA3G,WAAA2G,WAAA,WACA,GAAAM,GAAAhG,OAAAiG,iBACUC,uBAAgB1B,QAAA,SAAA5E,EAAAuG,GAAsCvG,EAAAsG,UAAAC,IAChE,SAAAvG,EAAAuG,GAAyB,OAAAxF,KAAAwF,KAAAzF,eAAAC,KAAAf,EAAAe,GAAAwF,EAAAxF,IACzB,iBAAAf,EAAAuG,GAEA,QAAAC,KAAuBrH,KAAAsH,YAAAzG,EADvBoG,EAAApG,EAAAuG,GAEAvG,EAAAa,UAAA,OAAA0F,EAAAnG,OAAAqB,OAAA8E,IAAAC,EAAA3F,UAAA0F,EAAA1F,UAAA,GAAA2F,OAKAvF,GAAA,EAAAyP,EAAA,EACArL,EAAA,QAAA1D,OAAAgP,SAAAD,EAAA,GAIArL,EAAA,YAAA7E,IAAA6E,EAAA,QAAAY,QAEAiD,OAAA,SAAAjH,GACA,MAAAqO,GAAAJ,EAAA/Q,WAAA8C,IAGAmH,SAAA,SAAAwH,EAAA3N,GACA,UAAA4N,GAAA1R,KAAAyR,EAAA3N,IAGA6N,QAAA,WACA,GAAAP,GAAAL,EAAA/Q,KACA,IAAA0G,UAAAvC,OACA,OAAA3D,GAAA,EAA+BA,EAAAkG,UAAAvC,OAAsB3D,IACrD2Q,EAAAC,EAAApR,KAAA0G,UAAAlG,QAGA,CACA,GAAAoG,GAAA5G,KAAA4G,UACA,QAAA9D,KAAA8D,OACA,KAAAA,EAAA9D,IAAAqO,EAAAC,EAAApR,KAAA8C,GAGA,MAAAsO,MAQA,IAAAE,GAAA,SAAA9K,GAEA,QAAA8K,GAAAN,EAAAY,EAAAlP,GACA,GAAAmP,GAAArL,EAAA9F,KAAAV,KAAA0C,IAAA1C,IAGA,OAFA6R,GAAAb,SACAa,EAAAD,OACAC,EAiBA,MAtBAlL,GAAA2K,EAAA9K,GAOA8K,EAAA5P,UAAAoQ,IAAA,SAAAC,GACA/R,KAAAgR,OAAAhR,KAAA4R,MAAAG,GAEA9Q,OAAAC,eAAAoQ,EAAA5P,UAAA,SACAL,IAAA,WACA,gBAAArB,KAAAgS,OACAhS,KAAAgR,OAAAiB,mBAAAjS,KAAA4R,MACA5R,KAAAgS,QAEAF,IAAA,SAAAC,GACA/R,KAAAgS,OAAAD,GAEA3Q,YAAA,EACAD,cAAA,IAEAmQ,GACCC,EAAA,GACDG,EAAA,SAAAlL,GAEA,QAAAkL,GAAAV,EAAAS,EAAA3N,GACA,GAAA+N,GAAArL,EAAA9F,KAAAV,KAAAgR,EAAAkB,QAAAT,KAAAzR,IAIA,OAHA6R,GAAAb,SACAa,EAAAJ,OACAI,EAAA/N,UACA+N,EAyBA,MA/BAlL,GAAA+K,EAAAlL,GAQAvF,OAAAC,eAAAwQ,EAAAhQ,UAAA,SACAL,IAAA,WAIA,WAHA,KAAArB,KAAAgS,SACAhS,KAAAgS,OAAAhS,KAAAgR,OAAAmB,oBAAAnS,KAAAyR,OAAA,MAEAzR,KAAAgS,QAEAF,IAAA,SAAAC,GACA/R,KAAAgS,OAAAD,GAEA3Q,YAAA,EACAD,cAAA,IAEAF,OAAAC,eAAAwQ,EAAAhQ,UAAA,gBACAL,IAAA,WACA,MAAArB,MAAAgR,OAAAoB,cAEAhR,YAAA,EACAD,cAAA,IAEAuQ,EAAAhQ,UAAAoQ,IAAA,SAAAC,GACA/R,KAAAgR,OAAAqB,QAAArS,KAAAyR,KAAAM,EAAA/R,KAAA8D,UAEA4N,GACCH,EAAA,EAYDrL,GAAA,YAAA7E,IAAA6E,EAAA,OAAAiE,YAAArD,QAEAuD,aAAA,SAAA2G,GACA,UAAAsB,GAAAtS,KAAAgR,IAGAjH,OAAA,SAAAhH,GACA,GAAA8O,GAAA7R,IACA,OAAAuR,GAAA,EAAA7O,MAAA1C,KAAA+C,GAAA,SAAAgP,GAAwD,MAAAF,GAAA9O,GAAAgP,OAQxD,IAAAO,GAAA,SAAA9L,GAEA,QAAA8L,GAAAC,EAAAvB,GACA,GAAAa,GAAArL,EAAA9F,KAAAV,KAAAwF,QAAA+M,EAAAC,MAAAxB,EAAAyB,QAAAzS,IAGA,OAFA6R,GAAAU,aACAV,EAAAb,SACAa,EAKA,MAVAlL,GAAA2L,EAAA9L,GAOA8L,EAAA5Q,UAAAoQ,IAAA,SAAAC,GACA/R,KAAAuS,WAAAG,OAAA1S,KAAAgR,OAAAe,IAEAO,GACCf,EAAA,InBu5BK,SAAU3R,EAAQkC,EAAqBzB,GAE7C,YAC+BA,GAAoBQ,EAAEiB,EAAqB,IAAK,WAAa,MAAOc,IoBhjCnG,IAAA+P,GAAAtS,EAAA,IAAAsG,EAAA3G,WAAA2G,WAAA,WACA,GAAAM,GAAAhG,OAAAiG,iBACUC,uBAAgB1B,QAAA,SAAA5E,EAAAuG,GAAsCvG,EAAAsG,UAAAC,IAChE,SAAAvG,EAAAuG,GAAyB,OAAAxF,KAAAwF,KAAAzF,eAAAC,KAAAf,EAAAe,GAAAwF,EAAAxF,IACzB,iBAAAf,EAAAuG,GAEA,QAAAC,KAAuBrH,KAAAsH,YAAAzG,EADvBoG,EAAApG,EAAAuG,GAEAvG,EAAAa,UAAA,OAAA0F,EAAAnG,OAAAqB,OAAA8E,IAAAC,EAAA3F,UAAA0F,EAAA1F,UAAA,GAAA2F,QAUAzE,EAAA,WAEA,QAAAA,GAAAF,GACA1C,KAAA0C,QAgHA,MA7GAE,GAAAF,MAAA,SAAAA,EAAAoP,GACA,UAAAc,GAAAlQ,EAAAoP,IAEA7Q,OAAAC,eAAA0B,EAAAlB,UAAA,mBAEAL,IAAA,WAA0B,MAAArB,MAAA2O,OAC1BvN,YAAA,EACAD,cAAA,IAEAyB,EAAAlB,UAAAmR,SAAA,SAAA9C,GACA,GAAA8B,GAAA7R,IACA,WAAA8S,GAAA9S,KAAA,SAAA+R,GACAhC,EAAAgC,GACAF,EAAAC,IAAAC,MAGA9Q,OAAAC,eAAA0B,EAAAlB,UAAA,SAEAL,IAAA,WACA,GAAAwQ,GAAA7R,IACA,wBAAAA,MAAA0C,OACAqQ,QAAA/S,KAAA0C,MACAmQ,SAAA,SAAArE,GAAwC,MAAAqD,GAAAC,IAAAtM,QAAAgJ,EAAAhH,OAAAuL,aAExCrQ,MAAA1C,KAAA0C,MACAmQ,SAAA,SAAArE,GAAwC,MAAAqD,GAAAC,IAAAtD,EAAAhH,OAAA9E,UAGxCtB,YAAA,EACAD,cAAA,IAGAyB,EAAAlB,UAAAsR,cAAA,SAAAjB,GACA/R,KAAA8R,IAAAC,IAGAnP,EAAAlB,UAAAuR,OAAA,SAAAC,EAAA1E,GACA,GAAAhK,GAAA0O,EAAAlT,KAAAmT,QAAA3E,OACA,KAAAhK,GAAAxE,KAAA8R,IAAAtN,IAGA5B,EAAAlB,UAAA0R,KAAA,SAAArD,GACA,GAAA8B,GAAA7R,IACA,WAAA8S,GAAA9S,KAAA,SAAA+R,GACA,GAAAvN,GAAAuL,EAAAgC,EAAAF,EAAAnP,WACA,KAAA8B,GAAAqN,EAAAC,IAAAtN,MAIA5B,EAAAlB,UAAA2R,OAAA,SAAAH,GACA,GAAArB,GAAA7R,IACA,iBAAAwO,GAA6B,MAAAqD,GAAAoB,OAAAC,EAAA1E,KAE7B5L,EAAAlB,UAAA4R,OAAA,SAAAC,GACA,UAAAC,GAAAxT,KAAAuT,IAEA3Q,EAAAlB,UAAA+R,QAAA,SAAAC,GACA,UAAAC,GAAA3T,KAAA0T,GAAA,KAGA9Q,EAAAlB,UAAAkS,SAAA,SAAAxG,GACA,UAAAyG,GAAA7T,KAAAoN,IAEAxK,EAAAlB,UAAA6C,KAAA,WACA,GAAAqI,GAAA+F,EAAA,EAAAQ,MAAAnT,KAAA0C,MACA+C,OAAA/D,UAAA6C,KAAAkC,MAAAmG,EAAAlG,WACA1G,KAAA8R,IAAAlF,IAEAhK,EAAAlB,UAAAoS,QAAA,WACA,GAAAlH,GAAA+F,EAAA,EAAAQ,MAAAnT,KAAA0C,MACA+C,OAAA/D,UAAAoS,QAAArN,MAAAmG,EAAAlG,WACA1G,KAAA8R,IAAAlF,IAEAhK,EAAAlB,UAAAqS,OAAA,WACA,GAAAnH,GAAA+F,EAAA,EAAAQ,MAAAnT,KAAA0C,MACA+C,OAAA/D,UAAAqS,OAAAtN,MAAAmG,EAAAlG,WACA1G,KAAA8R,IAAAlF,IAEAhK,EAAAlB,UAAA6O,IAAA,SAAAyD,GACA,MAAA/S,QAAA0R,EAAA,GAAA3S,KAAA0C,OAAA6N,IAAAvQ,KAAAgU,IAEApR,EAAAlB,UAAAuS,SAAA,SAAAnR,GACA,GAAAJ,GAAA1C,KAAA0C,MAAAwR,EAAAjT,OAAA0R,EAAA,GAAAjQ,EACA1C,MAAA8R,IAAAoC,EAAAC,OAAAD,EAAAf,MAAAzQ,GAAAI,KAEAF,EAAAlB,UAAA0S,GAAA,SAAAtR,GACA,UAAAuR,GAAArU,KAAA8C,IAEAF,EAAAlB,UAAAyR,MAAA,WACA,GAAAzQ,GAAA1C,KAAA0C,KACA,OAAAzB,QAAA0R,EAAA,GAAAjQ,GAAAyQ,MAAAzQ,IAEAE,EAAAlB,UAAA4S,KAAA,WAEA,OADAlD,MACA5Q,EAAA,EAAuBA,EAAAkG,UAAAvC,OAAsB3D,IAAA,CAC7C,GAAAsC,GAAA4D,UAAAlG,EACA4Q,GAAAtO,GAAA,GAAAuR,GAAArU,KAAA8C,GAEA,MAAAsO,IAKAxO,EAAAlB,UAAA6S,MAAA,SAAAC,EAAA7F,GAIA,MAHA3O,MAAA2O,OAAA6F,EAAAxU,KAAA0C,SACA1C,KAAA2O,SAAA6F,EAAA7F,OAAA8F,GAEAzU,MAEA4C,KAGAgQ,EAAA,SAAApM,GAEA,QAAAoM,GAAAlQ,EAAAoP,GACA,GAAAD,GAAArL,EAAA9F,KAAAV,KAAA0C,IAAA1C,IAEA,OADA6R,GAAAC,MACAD,EAGA,MAPAlL,GAAAiM,EAAApM,GAMAoM,EAAAlR,UAAAoQ,IAAA,SAAAC,KACAa,GACChQ,GAEDkQ,EAAA,SAAAtM,GAEA,QAAAsM,GAAA4B,EAAA5C,GACA,GAAAD,GAAArL,EAAA9F,KAAAV,KAAA0U,EAAAhS,QAAA1C,IACA6R,GAAAC,KACA,IAAAnD,GAAA+F,EAAA/F,KAGA,OAFAA,KACAkD,EAAAlD,SACAkD,EAGA,MAVAlL,GAAAmM,EAAAtM,GASAsM,EAAApR,UAAAoQ,IAAA,SAAAC,KACAe,GACClQ,GAED4Q,EAAA,SAAAhN,GAEA,QAAAgN,GAAAkB,EAAAnB,GACA,GAAA1B,GAAArL,EAAA9F,KAAAV,KAAA0U,EAAAhS,QAAA6Q,IAAAvT,IAGA,OAFA6R,GAAA6C,SACA7C,EAAA0B,cACA1B,EAKA,MAVAlL,GAAA6M,EAAAhN,GAOAgN,EAAA9R,UAAAoQ,IAAA,SAAAC,GACA/R,KAAA0U,OAAA5C,IAAAC,EAAA/R,KAAAuT,YAAA,OAEAC,GACC5Q,GAED+Q,EAAA,SAAAnN,GAEA,QAAAmN,GAAAe,EAAAhB,GACA,GAAA7B,GAAArL,EAAA9F,KAAAV,KAAA,MAAA0U,EAAAhS,QAAA1C,IAGA,OAFA6R,GAAA6C,SACA7C,EAAA6B,eACA7B,EAKA,MAVAlL,GAAAgN,EAAAnN,GAOAmN,EAAAjS,UAAAoQ,IAAA,SAAAC,GACA/R,KAAA0U,OAAA5C,IAAAC,EAAA/R,KAAA0T,aAAA,OAEAC,GACC/Q,GAEDiR,EAAA,SAAArN,GAEA,QAAAqN,GAAAa,EAAAtH,GACA,GAAAyE,GAAArL,EAAA9F,KAAAV,KAAA0U,EAAAhS,MAAAiS,QAAAvH,IAAA,IAAApN,IAGA,OAFA6R,GAAA6C,SACA7C,EAAAzE,UACAyE,EAUA,MAfAlL,GAAAkN,EAAArN,GAOAqN,EAAAnS,UAAAoQ,IAAA,SAAAC,GACA,GAAAF,GAAA7R,KACAwE,EAAAgB,QAAAuM,EACA,IAAA/R,KAAA0C,QAAA8B,EAAA,CACA,GAAAoQ,GAAA5U,KAAA0U,OAAAhS,MAAAmS,EAAA9C,EAAA6C,EAAAE,OAAA9U,KAAAoN,SAAAwH,EAAAG,OAAA,SAAAxK,GAA8G,MAAAA,KAAAsH,EAAAzE,SAC9GpN,MAAA0U,OAAA5C,IAAA+C,KAGAhB,GACCjR,GAED6R,EAAA,gBAKAJ,EAAA,SAAA7N,GAEA,QAAA6N,GAAAK,EAAA5R,GACA,GAAA+O,GAAArL,EAAA9F,KAAAV,KAAA0U,EAAAhS,MAAAI,KAAA9C,IAGA,OAFA6R,GAAA6C,SACA7C,EAAA/O,MACA+O,EAgBA,MArBAlL,GAAA0N,EAAA7N,GAOA6N,EAAA3S,UAAAyS,OAAA,WACAnU,KAAA0U,OAAAT,SAAAjU,KAAA8C,MAGAuR,EAAA3S,UAAAoQ,IAAA,SAAAC,GACA,GAAAF,GAAA7R,IACAA,MAAA0C,QAAAqP,GACA/R,KAAA0U,OAAAzB,OAAA,SAAAvQ,GAEA,MADAA,GAAAmP,EAAA/O,KAAAiP,EACArP,KAKA2R,GACCzR,IpB8jCK,SAAUhD,EAAQkC,EAAqBzB,GAE7C,YqB1yCA,SAAA2U,GAAAtS,GACA,GAAAA,GAAA,gBAAAA,GACA,OAAAzB,OAAAgU,eAAAvS,IACA,IAAAwS,GAAA,MAAAC,EACA,KAAAC,GAAA,MAAAC,GAGA,MAAAC,GrBoyCiCxT,EAAuB,EAAIkT,EqB5yC5D3U,EAAAQ,EAAAiB,EAAA,qBAAAqT,IAAA,IAAAD,GAAAzP,MAAA/D,UAAA0T,EAAAnU,OAAAS,UAWA4T,GACAnC,MAAA,SAAAzQ,GAA6B,MAAAA,IAC7B6N,IAAA,SAAAgF,EAAAC,GAA+B,UAC/BrB,OAAA,SAAAzR,GAA8B,MAAAA,KAG9B2S,GAEA9E,IAAA,SAAAgF,EAAAvB,GACA,GAAAyB,KACA,QAAA3S,KAAAyS,GAAA7S,MAAA,CACA,GAAA0K,GAAA4G,EAAAuB,EAAAnB,GAAAtR,UACA,KAAAsK,GAAAqI,EAAAlR,KAAA6I,GAEA,MAAAqI,IAEAtB,OAAA,SAAA3S,EAAAsB,GAEA,aADAtB,GAAAsB,GACAtB,GAGA2R,MAAA,SAAA3R,GACA,GAAAkU,KACA,QAAA5S,KAAAtB,GACAkU,EAAA5S,GAAAtB,EAAAsB,EAEA,OAAA4S,KAIAP,GAEAhC,MAAA,SAAAvG,GACA,MAAAA,GAAA+I,SAEAxB,OAAA,SAAAvH,EAAApM,GAEA,MADAoM,GAAAmH,OAAAvT,EAAA,GACAoM,GAGA2D,IAAA,SAAAgF,EAAAvB,GAEA,OADA7P,GAAAoR,EAAA7S,MAAAyB,OAAAsR,EAAAhQ,MAAAtB,GACA3D,EAAA,EAAAoV,EAAA,EAA8BpV,EAAA2D,EAAY3D,IAAA,CAC1C,GAAAqV,GAAA7B,EAAAuB,EAAAnB,GAAA5T,UACA,KAAAqV,IAAAJ,EAAAG,KAAAC,GAGA,MADAJ,GAAAtR,SAAAyR,IAAAH,EAAAtR,OAAAyR,GACAH,KrBszCM,SAAU7V,EAAQkC,EAAqBzB,GAE7C,YsBhwCA,SAAAyV,KAAwB,StBiwCOzV,EAAoBQ,EAAEiB,EAAqB,IAAK,WAAa,MAAOe,IAC9E,IAAIb,GAAsC3B,EAAoB,GAE1D4B,GAD8C5B,EAAoBiB,EAAEU,GAC7B3B,EAAoB,IsBt3CpF6B,GtBu3CwE7B,EAAoBiB,EAAEW,GsBv3C9F5B,EAAA,IAGAsG,EAAA3G,WAAA2G,WAAA,WACA,GAAAM,GAAAhG,OAAAiG,iBACUC,uBAAgB1B,QAAA,SAAA5E,EAAAuG,GAAsCvG,EAAAsG,UAAAC,IAChE,SAAAvG,EAAAuG,GAAyB,OAAAxF,KAAAwF,KAAAzF,eAAAC,KAAAf,EAAAe,GAAAwF,EAAAxF,IACzB,iBAAAf,EAAAuG,GAEA,QAAAC,KAAuBrH,KAAAsH,YAAAzG,EADvBoG,EAAApG,EAAAuG,GAEAvG,EAAAa,UAAA,OAAA0F,EAAAnG,OAAAqB,OAAA8E,IAAAC,EAAA3F,UAAA0F,EAAA1F,UAAA,GAAA2F,QAGAR,EAAA7G,WAAA6G,YAAA,SAAAU,EAAAC,EAAA1E,EAAA2E,GACA,GAAA5G,GAAAD,EAAA8F,UAAAvC,OAAAuD,EAAA9G,EAAA,EAAA4G,EAAA,OAAAC,IAAAxG,OAAA0G,yBAAAH,EAAA1E,GAAA2E,CACA,oBAAAG,UAAA,kBAAAA,SAAAC,SAAAH,EAAAE,QAAAC,SAAAN,EAAAC,EAAA1E,EAAA2E,OACA,QAAAjH,GAAA+G,EAAApD,OAAA,EAA4C3D,GAAA,EAAQA,KAAAK,EAAA0G,EAAA/G,MAAAkH,GAAA9G,EAAA,EAAAC,EAAA6G,GAAA9G,EAAA,EAAAC,EAAA2G,EAAA1E,EAAA4E,GAAA7G,EAAA2G,EAAA1E,KAAA4E,EACpD,OAAA9G,GAAA,GAAA8G,GAAAzG,OAAAC,eAAAsG,EAAA1E,EAAA4E,MAKA7E,EAAA,SAAA2D,GAEA,QAAA3D,GAAAO,EAAA8E,GACA,GAAA2J,GAAArL,EAAA9F,KAAAV,KAAAoD,EAAA8E,IAAAlI,IAEA,OADA6R,GAAA/J,mBACA+J,EAsDA,MA1DAlL,GAAA9D,EAAA2D,GAMA3D,EAAAnB,UAAAqI,OAAA,SAAAjH,GAEA,MAAA9C,MAAAgD,MAAA+G,OAAAjH,IAEAD,EAAAnB,UAAAiQ,QAAA,WAEA,GAAA3O,GAAAhD,KAAAgD,KACA,OAAAA,GAAA2O,QAAAlL,MAAAzD,EAAA0D,YAEA7D,EAAAnB,UAAAuI,SAAA,SAAAwH,GACA,MAAAzR,MAAAgD,MAAAiH,SAAAwH,IAEAxQ,OAAAC,eAAA2B,EAAAnB,UAAA,SACAL,IAAA,WACA,MAAArB,MAAAgD,MAAAiO,QAEA7P,YAAA,EACAD,cAAA,IAEA0B,EAAAnB,UAAAoG,iBAAA,WACA9H,KAAAgD,MAAA,MAEAH,EAAAnB,UAAAK,cAAA,SAAAgQ,EAAAjP,GACA9C,KAAAgD,MAAAC,YAAAC,KAAsCA,EAAAJ,GAAAiP,EAAA7O,GACtC,IAAAA,IAEAL,EAAAnB,UAAA4G,qBAAA,WACAtI,KAAAwI,WASA3F,EAAAnB,UAAAqU,YAAA,SAAAP,GACA,GAAA3E,GAAA7Q,KAAA6Q,sBAAAmF,EAAAnF,IAAAiF,CACAE,KACAhW,KAAA6Q,sBAAAiF,EAEA,IAAA5S,GAAAlD,KAAAgD,EAAAE,EAAAF,MAAA+H,EAAA7H,EAAA6H,MAAAkL,EAAAlL,EAAA,SAAA/H,GAAiG,MAAA+H,GAAAgL,YAAA,WAAuC,MAAAP,GAAAxS,MAAyBwS,CACjKxS,KAAA+S,YAAAE,KAAAjT,GACAgT,IACAhW,KAAA6Q,wBACA7Q,KAAA8E,gBAIAjC,EAAAnB,UAAAoD,YAAA,WACA9E,KAAA6Q,wBAAAiF,GAAA9V,KAAAkW,WAAAlW,KAAAmW,eAEAtT,GACCb,EAAA,UACDa,GAAA8C,SAAAzD,EAAA,EACAW,EAAAgE,GACA5E,EAAA,OACAhB,OAAAgB,EAAA,cAEAe,MAAAf,EAAA,WAAA6E,MACAR,MAAArE,EAAA,WAAAS,MACAqI,MAAA9I,EAAA,WAAA6E,MACAmE,MAAAhJ,EAAA,WAAAS,MACAU,MAAAnB,EAAA,WAAA6E,MACAoB,QAAAjG,EAAA,WAAA6E,MACA2E,aAAAxJ,EAAA,WAAA6E,MACAoI,WAAAjN,EAAA,WAAAmU,aAEAnV,OAAAgB,EAAA,aAEA0J,mBAAA1J,EAAA,WAAAoU,UACA3N,kBAAAzG,EAAA,WAAAoU,UACApG,0BAAAhO,EAAA,WAAAoU,UACAC,oBAAArU,EAAA,WAAAoU,UACArG,mBAAA/N,EAAA,WAAAoU,UACA/N,qBAAArG,EAAA,WAAAsU,WAEA1F,sBAAA5O,EAAA,WAAAuU,KACA9K,gBAAAzJ,EAAA,WAAAoB,WAIApC,OAAAgB,EAAA,QAAAA,EAAA,YACAY,GAKA5B,OAAAC,eAAA2B,EAAAnB,UAAA,aACAgB,MAAA,WACA,OAAA1C,KAAAkW,ctBg4CM,SAAUtW,EAAQkC,EAAqBzB,GAE7C,YACqB,IAAI0I,GAA2C1I,EAAoB,GuB1/CxF4B,EAAA5B,EAAA,GAAAsG,GAAAtG,EAAAiB,EAAAW,GAAAjC,WAAA2G,WAAA,WACA,GAAAM,GAAAhG,OAAAiG,iBACUC,uBAAgB1B,QAAA,SAAA5E,EAAAuG,GAAsCvG,EAAAsG,UAAAC,IAChE,SAAAvG,EAAAuG,GAAyB,OAAAxF,KAAAwF,KAAAzF,eAAAC,KAAAf,EAAAe,GAAAwF,EAAAxF,IACzB,iBAAAf,EAAAuG,GAEA,QAAAC,KAAuBrH,KAAAsH,YAAAzG,EADvBoG,EAAApG,EAAAuG,GAEAvG,EAAAa,UAAA,OAAA0F,EAAAnG,OAAAqB,OAAA8E,IAAAC,EAAA3F,UAAA0F,EAAA1F,UAAA,GAAA2F,SAKAoP,EAAAxU,EAAA,MAAAwU,SACAC,EAAA,SAAAlQ,GAEA,QAAAkQ,KACA,GAAA7E,GAAA,OAAArL,KAAAC,MAAAzG,KAAA0G,YAAA1G,IAIA,OAHA6R,GAAA8E,QAAA,SAAAvJ,GACAyE,EAAApS,KAAA2N,GAEAyE,EA8CA,MApDAlL,GAAA+P,EAAAlQ,GAQAkQ,EAAAhV,UAAAmP,sBAAA,SAAArM,GACA,GAAApB,GAAApD,KAAAoD,KACA,OAAAoB,GAAAoE,OAAAxF,EAAAwF,MAAA6N,EAAAjS,EAAAV,QAAAV,EAAAU,UAEA4S,EAAAhV,UAAAkV,kBAAA,WACA,GAAAC,GAAA7W,KAAA6W,IACA,OAAAA,KAAA,kBAAAA,GAAAD,kBAAAC,EAAAD,oBAAAC,EAAAD,oBAEAF,EAAAhV,UAAAoV,OAAA,WACA,MAAA/N,GAAA,EAAAgO,cAAA,OACA/R,IAAAhF,KAAA2W,QACAK,UAAAhX,KAAAoD,MAAA4T,aAGAN,EAAAhV,UAAAgH,kBAAA,WACA1I,KAAAiX,cAEAP,EAAAhV,UAAAsO,mBAAA,WACAhQ,KAAAkX,WACAlX,KAAAiX,cAEAP,EAAAhV,UAAA4G,qBAAA,WACAtI,KAAAkX,YAEAR,EAAAhV,UAAAuV,WAAA,WACA,GAAA1M,GAAAvK,KAAAP,KAAAmC,EAAA5B,KAAAoD,MACAyT,EAAA7W,KAAA6W,KAAAjV,EAAAkC,QAAA,GAAAlC,GAAAgH,KAAAhH,EAAAkC,SAAA,GAAAlC,GAAAgH,IACA2B,GAAA4M,YAAAN,EAAAtM,IACAsM,EAAAC,UAEAJ,EAAAhV,UAAAwV,SAAA,WACA,GAAAL,GAAA7W,KAAA6W,IACAA,KACAA,EAAArO,QACAqO,EAAArO,WAGAqO,EAAAlS,gBACAkS,EAAAO,OAEApX,KAAAP,KAAA4X,UAAA,GACArX,KAAA6W,KAAA,OAGAH,GACC3N,EAAA,EACDjH,GAAA,KvBkgDM,SAAUlC,EAAQkC,EAAqBzB,GAE7C,YwBpkDA,SAAAiX,GAAA1O,GACA,GAAAJ,GAAAI,EAAAlH,UAAA8G,SAAA,aAA2D+O,EAAA3O,EAAAlH,UAAA6V,WAC3DC,EAAA5O,EAAAe,QACAC,WAAA,KACAxG,SACAgK,QAAA,KACAqK,WAAA,SAAArU,GAEApD,KAAA8D,QAAAV,OAEAmU,WAAA,WAEA,MADAvX,MAAA0X,kBAAA,GACAH,EAAA9Q,MAAAzG,KAAA0G,YAGAhC,UAAA,KACAiT,UAAA,KACAC,OAAA,WACAC,OAAAC,KAAAC,eAEAjB,OAAA,WACA,GAAAhT,GAAA9D,KAAA2X,UAAAzO,EAAA,MAAA8O,YAA6DjQ,YAAA/H,KAAA2X,WAA8B3X,KAAA8D,SAAA9D,KAAA8D,QAAAsJ,EAAApL,EAAA,cAAAhC,KAAA4J,WAAA9F,GAAAY,EAAAuE,EAAAuB,EAAAsM,OAAA1J,EAAApN,KAAAuK,GAC3FvK,MAAA0E,WAAA1E,KAAAiY,eAAAvT,IAEAuT,eAAA,SAAAvT,GACA1E,KAAA0E,YACA1E,KAAA2X,UAAA,KACAjT,EAAAwT,SAAAlY,KAAA4E,SAAAF,EAAA,iBACA1E,KAAAkY,QAAAzR,MAAAzG,KAAA0G,cAGAgR,iBAAA,SAAAS,GACA,GAAAzT,GAAA1E,KAAA0E,SACAA,KACA1E,KAAA2X,UAAAjT,EAAA1B,MACA0B,EAAAwT,SACAlY,KAAA2E,cAAAD,GAEAA,EAAA6D,gBAAA/C,QAAA2S,GACAlP,EAAAuB,EAAA4N,uBAAApY,KAAAuK,IACAvK,KAAA0E,UAAA,OAGA8D,QAAA,WAEA,MADAxI,MAAA0X,mBACAlP,EAAA/B,MAAAzG,KAAA0G,aASA,OANAzF,QAAAC,eAAAsW,EAAA9V,UAAA,SACAL,IAAA,WAEA,MADArB,MAAA0E,WAAA1E,KAAA8W,SACA9W,KAAA0E,WAAA1E,KAAA0E,UAAA1B,SAGAwU,ExB+gDiC1V,EAAuB,EAAIwV,CACvC,IAAItV,GAAsC3B,EAAoB,GAE1D2I,GAD8C3I,EAAoBiB,EAAEU,GAC1B3B,EAAoB,IAC9D4I,EAAkD5I,EAAoBiB,EAAE0H,GACxEE,EAAuC7I,EAAoB,EACZA,GAAoBiB,EAAE4H,EwB5kD9F2O,QAAAC,OAAAD,OAAAC,MAA+BC,YAAA,gBxB6oDzB,SAAUnY,EAAQkC,EAAqBzB,GAE7C,YyBvnDA,SAAAoJ,GAAAvG,GACA,GAAAmV,GAAAnV,EAAAmV,QAAAC,EAAAC,EAAArV,GAAA,YAEAsV,KACAC,EAAA1P,EAAA,EAAAY,OAAA+O,GAEApR,YAAA,WACAyB,EAAA,EAAAtC,MAAAzG,UAAA0G,UACA,QAAAoJ,GAAA,EAAA6I,EAAAH,EAAiD1I,EAAA6I,EAAAxU,OAAuB2L,IAAA,CACxE,GAAA8I,GAAAD,EAAA7I,EACA9P,MAAA4Y,GAAA5Y,KAAA4Y,GAAAC,KAAA7Y,SAEWsY,GAAAD,GAEXS,EAAAL,EAAA/W,SACA,QAAAoB,KAAAgW,GACAA,EAAAnX,eAAAmB,KAAA,IAAAiW,EAAApE,QAAA7R,IAAA,kBAAAgW,GAAAhW,IACA0V,EAAAjU,KAAAzB,EAGA,OAAA2V,GzBomDiC3W,EAAuB,EAAI2H,CyBnpD5D,IAAAV,GAAA1I,EAAA,GAAAqY,EAAA1Y,WAAA0Y,UAAAzX,OAAA+X,QAAA,SAAAC,GACA,OAAApX,GAAArB,EAAA,EAAAc,EAAAoF,UAAAvC,OAA4C3D,EAAAc,EAAOd,IAAA,CACnDqB,EAAA6E,UAAAlG,EACA,QAAAoB,KAAAC,GAAAZ,OAAAS,UAAAC,eAAAjB,KAAAmB,EAAAD,KACAqX,EAAArX,GAAAC,EAAAD,IAEA,MAAAqX,IAEAV,EAAAvY,WAAAuY,QAAA,SAAA1W,EAAA2M,GACA,GAAAyK,KACA,QAAArX,KAAAC,GAAAZ,OAAAS,UAAAC,eAAAjB,KAAAmB,EAAAD,IAAA4M,EAAAmG,QAAA/S,GAAA,IACAqX,EAAArX,GAAAC,EAAAD,GACA,UAAAC,GAAA,kBAAAZ,QAAAiY,sBACA,OAAA1Y,GAAA,EAAAoB,EAAAX,OAAAiY,sBAAArX,GAA4DrB,EAAAoB,EAAAuC,OAAc3D,IAAAgO,EAAAmG,QAAA/S,EAAApB,IAAA,IAC1EyY,EAAArX,EAAApB,IAAAqB,EAAAD,EAAApB,IACA,OAAAyY,IAGAF,GACA,8BACA,6FACA,kEACA","file":"./dist/index.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"nestedtypes\"), require(\"react\"), require(\"react-dom\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"nestedtypes\", \"react\", \"react-dom\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"React\"] = factory(require(\"nestedtypes\"), require(\"react\"), require(\"react-dom\"));\n\telse\n\t\troot[\"React\"] = factory(root[\"Nested\"], root[\"React\"], root[\"ReactDOM\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_2__, __WEBPACK_EXTERNAL_MODULE_7__) {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"nestedtypes\"), require(\"react\"), require(\"react-dom\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"nestedtypes\", \"react\", \"react-dom\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"React\"] = factory(require(\"nestedtypes\"), require(\"react\"), require(\"react-dom\"));\n\telse\n\t\troot[\"React\"] = factory(root[\"Nested\"], root[\"React\"], root[\"ReactDOM\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_2__, __WEBPACK_EXTERNAL_MODULE_7__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\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, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\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 = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 8);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_0__;\n\n/***/ }),\n/* 1 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return assignToState; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__define__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__link__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__component__ = __webpack_require__(20);\n/* harmony reexport (binding) */ if(__webpack_require__.o(__WEBPACK_IMPORTED_MODULE_1_type_r__, \"define\")) __webpack_require__.d(__webpack_exports__, \"g\", function() { return __WEBPACK_IMPORTED_MODULE_1_type_r__[\"define\"]; });\n/* harmony reexport (binding) */ if(__webpack_require__.o(__WEBPACK_IMPORTED_MODULE_1_type_r__, \"mixins\")) __webpack_require__.d(__webpack_exports__, \"h\", function() { return __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixins\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return __WEBPACK_IMPORTED_MODULE_2__define__[\"b\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_2__define__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return __WEBPACK_IMPORTED_MODULE_3__link__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_4__component__[\"a\"]; });\n\n\n\n\n\n// extend React namespace\nvar ReactMVx = Object.create(__WEBPACK_IMPORTED_MODULE_0_react__);\n// Make it compatible with ES6 module format.\nReactMVx.default = ReactMVx;\n// listenToProps, listenToState, model, attributes, Model\nReactMVx.define = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"define\"];\nReactMVx.mixins = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixins\"];\nReactMVx.Node = __WEBPACK_IMPORTED_MODULE_2__define__[\"b\" /* Node */].value(null);\nReactMVx.Element = __WEBPACK_IMPORTED_MODULE_2__define__[\"a\" /* Element */].value(null);\nReactMVx.Link = __WEBPACK_IMPORTED_MODULE_3__link__[\"a\" /* default */];\nReactMVx.Component = __WEBPACK_IMPORTED_MODULE_4__component__[\"a\" /* Component */];\nvar assignToState = ReactMVx.assignToState = function (key) {\n return function (prop) {\n this.state.assignFrom((_a = {}, _a[key] = prop && prop instanceof __WEBPACK_IMPORTED_MODULE_3__link__[\"a\" /* default */] ? prop.value : prop, _a));\n var _a;\n };\n};\n/* harmony default export */ __webpack_exports__[\"f\"] = (ReactMVx);\n\n//# sourceMappingURL=index.js.map\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n/***/ }),\n/* 3 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = compileSpecs;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return Node; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Element; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n\n\nfunction compileSpecs(props) {\n var propTypes = {}, \n // Create NestedTypes model definition to process props spec.\n modelProto = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"Record\"].defaults(props).prototype;\n var defaults, watchers, changeHandlers;\n modelProto.forEachAttr(modelProto._attributes, function (spec, name) {\n // Skip auto-generated `id` attribute.\n if (name !== 'id') {\n var value = spec.value, type = spec.type, options = spec.options;\n // Translate props type to the propTypes guard.\n propTypes[name] = translateType(type, options.isRequired);\n if (options._onChange) {\n watchers || (watchers = {});\n watchers[name] = toLocalWatcher(options._onChange);\n }\n // Handle listening to event maps...\n if (options.changeHandlers && options.changeHandlers.length) {\n changeHandlers || (changeHandlers = {});\n changeHandlers[name] = options.changeHandlers;\n }\n // Handle listening to props changes...\n if (options.changeEvents) {\n changeHandlers || (changeHandlers = {});\n var handlers = changeHandlers[name] || (changeHandlers[name] = []), changeEvents_1 = typeof options.changeEvents === 'string' ? options.changeEvents : null;\n handlers.push(function (next, prev, component) {\n prev && component.stopListening(prev);\n next && component.listenTo(next, changeEvents_1 || next._changeEventName, component.asyncUpdate);\n });\n }\n // If default value is explicitly provided...\n if (value !== void 0) {\n //...append it to getDefaultProps function.\n defaults || (defaults = {});\n defaults[name] = spec.convert(value, void 0, null, {});\n }\n }\n });\n return { propTypes: propTypes, defaults: defaults, watchers: watchers, changeHandlers: changeHandlers };\n}\nfunction toLocalWatcher(ref) {\n return typeof ref === 'function' ? ref : function (value, name) {\n this[ref] && this[ref](value, name);\n };\n}\nvar Node = (function () {\n function Node() {\n }\n return Node;\n}());\n\nvar Element = (function () {\n function Element() {\n }\n return Element;\n}());\n\nfunction translateType(Type, isRequired) {\n var T = _translateType(Type);\n return isRequired ? T.isRequired : T;\n}\nfunction _translateType(Type) {\n switch (Type) {\n case Number:\n case Number.integer:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"number\"];\n case String:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"string\"];\n case Boolean:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"bool\"];\n case Array:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"array\"];\n case Function:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"func\"];\n case Object:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"object\"];\n case Node:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"node\"];\n case Element:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"element\"];\n case void 0:\n case null:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"any\"];\n default:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"instanceOf\"](Type);\n }\n}\n//# sourceMappingURL=typeSpecs.js.map\n\n/***/ }),\n/* 4 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = onDefine;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__store__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__state__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__context__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__props__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__typeSpecs__ = __webpack_require__(3);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_5__typeSpecs__[\"b\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_5__typeSpecs__[\"a\"]; });\n\n\n\n\n\nfunction onDefine(definition, BaseClass) {\n // Initialize mixins placeholder...\n __WEBPACK_IMPORTED_MODULE_1__store__[\"a\" /* default */].call(this, definition, BaseClass);\n __WEBPACK_IMPORTED_MODULE_2__state__[\"c\" /* default */].call(this, definition, BaseClass);\n __WEBPACK_IMPORTED_MODULE_3__context__[\"a\" /* default */].call(this, definition, BaseClass);\n __WEBPACK_IMPORTED_MODULE_4__props__[\"a\" /* default */].call(this, definition, BaseClass);\n __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Messenger\"].onDefine.call(this, definition, BaseClass);\n}\n;\n\n//# sourceMappingURL=index.js.map\n\n/***/ }),\n/* 5 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = process;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return StateMixin; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return UpdateOnNestedChangesMixin; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n/*****************\n * State\n */\n\nfunction process(definition, BaseComponentClass) {\n var prototype = this.prototype;\n var state = definition.state, State = definition.State;\n if (typeof state === 'function') {\n State = state;\n state = void 0;\n }\n if (state) {\n var BaseClass = State || prototype.State || __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Record\"];\n var ComponentState = (function (_super) {\n __extends(ComponentState, _super);\n function ComponentState() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return ComponentState;\n }(BaseClass));\n ComponentState.attributes = state;\n ComponentState = __decorate([\n __WEBPACK_IMPORTED_MODULE_0_type_r__[\"define\"]\n ], ComponentState);\n prototype.State = ComponentState;\n }\n else if (State) {\n prototype.State = State;\n }\n if (state || State) {\n this.mixins.merge([StateMixin, UpdateOnNestedChangesMixin]);\n }\n}\nvar StateMixin = {\n //state : null,\n _initializeState: function () {\n // props.__keepState is used to workaround issues in Backbone intergation layer\n var state = this.state = this.props.__keepState || new this.State();\n // Take ownership on state...\n state._owner = this;\n state._ownerKey = 'state';\n },\n context: {\n _nestedStore: __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Store\"]\n },\n // reference global store to fix model's store locator\n getStore: function () {\n // Attempt to get the store from the context first. Then - fallback to the state's default store.\n // TBD: Need to figure out a good way of managing local stores.\n var context, state;\n return ((context = this.context) && context._nestedStore) ||\n ((state = this.state) && state._defaultStore);\n },\n componentWillUnmount: function () {\n var state = this.state;\n state._owner = state._ownerKey = void 0;\n this._preventDispose /* hack for component-view to preserve the state */ || state.dispose();\n this.state = void 0;\n }\n};\nvar UpdateOnNestedChangesMixin = {\n _onChildrenChange: function () { },\n componentDidMount: function () {\n this._onChildrenChange = this.asyncUpdate;\n }\n};\n//# sourceMappingURL=state.js.map\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (false) {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = __webpack_require__(11)();\n}\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_7__;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (immutable) */ __webpack_exports__[\"useView\"] = useView;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1);\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"define\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"g\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"mixins\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"h\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Node\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"d\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Element\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"b\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Link\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"c\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Component\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"assignToState\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"e\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__view_element__ = __webpack_require__(21);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"subview\", function() { return __WEBPACK_IMPORTED_MODULE_4__view_element__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__component_view__ = __webpack_require__(22);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__createClass__ = __webpack_require__(23);\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"PropTypes\", function() { return __WEBPACK_IMPORTED_MODULE_3_prop_types__; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"createClass\", function() { return __WEBPACK_IMPORTED_MODULE_6__createClass__[\"a\"]; });\n// Re-export react-mvx\n\nvar NestedReact = Object.create(__WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"f\" /* default */]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (NestedReact);\n\n// NestedReact backward compatibility layer\n\n\n\n\nNestedReact.subview = __WEBPACK_IMPORTED_MODULE_4__view_element__[\"a\" /* default */];\n\n\n\nNestedReact.createClass = __WEBPACK_IMPORTED_MODULE_6__createClass__[\"a\" /* default */];\nObject.defineProperty(NestedReact, 'PropTypes', { value: __WEBPACK_IMPORTED_MODULE_3_prop_types__ });\n\nvar BaseView;\n// export hook to override base View class used...\nfunction useView(View) {\n BaseView = Object(__WEBPACK_IMPORTED_MODULE_5__component_view__[\"a\" /* default */])(View);\n}\nvar onDefine = NestedReact.Component.onDefine;\nNestedReact.Component.onDefine = function (definitions, BaseClass) {\n this.View = BaseView.extend({ reactClass: this });\n return onDefine.call(this, definitions, BaseClass);\n};\n// Deprecated API for backward compatibility\nvar RecordProto = __WEBPACK_IMPORTED_MODULE_2_type_r__[\"Record\"].prototype;\nRecordProto.getLink = RecordProto.linkAt;\nRecordProto.deepLink = RecordProto.linkPath;\nvar CollectionProto = __WEBPACK_IMPORTED_MODULE_2_type_r__[\"Record\"].Collection.prototype;\nCollectionProto.hasLink = CollectionProto.linkContains;\nuseView(__WEBPACK_IMPORTED_MODULE_2_type_r__[\"View\"]);\n// Extend react components to have backbone-style jquery accessors\nvar BackboneViewProps = {\n el: { get: function () { return __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.findDOMNode(this); } },\n $el: { get: function () { return __WEBPACK_IMPORTED_MODULE_2_type_r___default.a.$(this.el); } },\n $: { value: function (sel) { return this.$el.find(sel); } }\n};\nObject.defineProperties(NestedReact.Component.prototype, BackboneViewProps);\n//# sourceMappingURL=index.js.map\n\n/***/ }),\n/* 9 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = onDefine;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__state__ = __webpack_require__(5);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\nfunction onDefine(definition, BaseClass) {\n var store = definition.store, StoreClass = definition.Store;\n if (store && store instanceof __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Store\"]) {\n // Direct reference to an existing store. Put it to the prototype.\n this.prototype.store = store;\n this.mixins.merge([ExternalStoreMixin, ExposeStoreMixin]);\n }\n else if (store || definition.Store) {\n if (typeof store === 'function') {\n StoreClass = store;\n store = void 0;\n }\n if (store) {\n var BaseClass_1 = StoreClass || this.prototype.Store || __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Store\"];\n var InternalStore = (function (_super) {\n __extends(InternalStore, _super);\n function InternalStore() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return InternalStore;\n }(BaseClass_1));\n InternalStore.attrbutes = store;\n InternalStore = __decorate([\n __WEBPACK_IMPORTED_MODULE_0_type_r__[\"define\"]\n ], InternalStore);\n ;\n this.prototype.Store = InternalStore;\n }\n else if (StoreClass) {\n this.prototype.Store = StoreClass;\n }\n this.mixins.merge([InternalStoreMixin, __WEBPACK_IMPORTED_MODULE_1__state__[\"b\" /* UpdateOnNestedChangesMixin */], ExposeStoreMixin]);\n }\n}\n/**\n * Attached whenever the store declaration of any form is present in the component.\n */\nvar ExposeStoreMixin = {\n childContext: {\n _nestedStore: __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Store\"]\n },\n getChildContext: function () {\n return { _nestedStore: this.store };\n },\n getStore: function () {\n return this.store;\n },\n // Will be called by the store when the lookup will fail.\n get: function (key) {\n // Ask upper store.\n var store = __WEBPACK_IMPORTED_MODULE_1__state__[\"a\" /* StateMixin */].getStore.call(this, key);\n return store && store.get(key);\n }\n};\n/**\n * External store must just track the changes and trigger render.\n * TBD: don't use it yet.\n */\nvar ExternalStoreMixin = {\n componentDidMount: function () {\n // Start UI updates on state changes.\n this.listenTo(this.store, 'change', this.asyncUpdate);\n }\n};\nvar InternalStoreMixin = {\n componentWillMount: function () {\n var store = this.store = new this.Store();\n store._owner = this;\n store._ownerKey = 'store';\n },\n componentWillUnmount: function () {\n this.store._ownerKey = this.store._owner = void 0;\n this.store.dispose();\n this.store = void 0;\n }\n};\n//# sourceMappingURL=store.js.map\n\n/***/ }),\n/* 10 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = onDefine;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n\n\nfunction onDefine(_a, BaseClass) {\n var context = _a.context, childContext = _a.childContext;\n var prototype = this.prototype;\n if (context) {\n // Merge in inherited members...\n prototype._context = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].defaults(context, BaseClass.prototype._context || {});\n // Compile to propTypes...\n this.contextTypes = Object(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* compileSpecs */])(context).propTypes;\n }\n if (childContext) {\n prototype._childContext = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].defaults(childContext, BaseClass.prototype._childContext);\n this.childContextTypes = Object(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* compileSpecs */])(childContext).propTypes;\n }\n}\n//# sourceMappingURL=context.js.map\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar emptyFunction = __webpack_require__(12);\nvar invariant = __webpack_require__(13);\nvar ReactPropTypesSecret = __webpack_require__(14);\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n invariant(\n false,\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim\n };\n\n ReactPropTypes.checkPropTypes = emptyFunction;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (false) {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = onDefine;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__pureRender__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__);\n/**\n * Handle props specification and everything which is related:\n * - local listening to props changes\n * - pure render mixin\n */\n\n\n\nfunction onDefine(_a, BaseClass) {\n var props = _a.props, pureRender = _a.pureRender;\n var prototype = this.prototype;\n // process props spec...\n if (props) {\n // Merge with inherited members...\n prototype._props = __WEBPACK_IMPORTED_MODULE_2_type_r__[\"tools\"].defaults(props, BaseClass.prototype._props || {});\n var _b = Object(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* compileSpecs */])(props), propTypes = _b.propTypes, defaults = _b.defaults, watchers = _b.watchers, changeHandlers = _b.changeHandlers;\n this.propTypes = propTypes;\n if (defaults)\n this.defaultProps = defaults;\n if (watchers) {\n prototype._watchers = watchers;\n this.mixins.merge([WatchersMixin]);\n }\n if (changeHandlers) {\n prototype._changeHandlers = changeHandlers;\n this.mixins.merge([ChangeHandlersMixin]);\n }\n if (prototype.pureRender) {\n prototype.PropsChangeTokens = Object(__WEBPACK_IMPORTED_MODULE_1__pureRender__[\"b\" /* createChangeTokensConstructor */])(props);\n }\n }\n if (pureRender) {\n this.mixins.merge([__WEBPACK_IMPORTED_MODULE_1__pureRender__[\"a\" /* PureRenderMixin */]]);\n }\n}\n/**\n * ChangeHandlers are fired in sequence upon props replacement.\n * Fires _after_ UI is updated. Used for managing events subscriptions.\n */\nvar ChangeHandlersMixin = {\n componentDidMount: function () {\n handlePropsChanges(this, {}, this.props);\n },\n componentDidUpdate: function (prev) {\n handlePropsChanges(this, prev, this.props);\n },\n componentWillUnmount: function () {\n handlePropsChanges(this, this.props, {});\n }\n};\nfunction handlePropsChanges(component, prev, next) {\n var _changeHandlers = component._changeHandlers;\n for (var name_1 in _changeHandlers) {\n if (prev[name_1] !== next[name_1]) {\n for (var _i = 0, _a = _changeHandlers[name_1]; _i < _a.length; _i++) {\n var handler = _a[_i];\n handler(next[name_1], prev[name_1], component);\n }\n }\n }\n}\n/**\n * Watchers works on props replacement and fires _before_ any change will be applied and UI is updated.\n * Fired in componentWillMount as well, which makes it a nice way to sync state from props.\n */\nvar WatchersMixin = {\n componentWillReceiveProps: function (next) {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_2 in _watchers) {\n if (next[name_2] !== props[name_2]) {\n _watchers[name_2].call(this, next[name_2], name_2);\n }\n }\n },\n componentWillMount: function () {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_3 in _watchers) {\n _watchers[name_3].call(this, props[name_3], name_3);\n }\n }\n};\n//# sourceMappingURL=props.js.map\n\n/***/ }),\n/* 16 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = createChangeTokensConstructor;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return PureRenderMixin; });\nfunction createChangeTokensConstructor(props) {\n var propNames = Object.keys(props);\n var PropsChangeTokens = new Function('p', 's', \"\\n var v;\\n this._s = s && s._changeToken;\\n \" + propNames.map(function (name) { return \"\\n this.\" + name + \" = ( ( v = p.\" + name + \") && v._changeToken ) || v;\\n \"; }).join('') + \"\\n \");\n PropsChangeTokens.prototype._hasChanges = new Function('p', 's', \"\\n var v;\\n return ( s && s._changeToken !== this._s ) \" + propNames.map(function (name) { return \" ||\\n this.\" + name + \" !== ( ( ( v = p.\" + name + \") && v._changeToken ) || v )\\n \"; }).join('') + \";\\n \");\n return PropsChangeTokens;\n}\n;\nvar PureRenderMixin = {\n shouldComponentUpdate: function (nextProps) {\n return this._propsChangeTokens._hasChanges(nextProps);\n },\n componentDidMount: updateChangeTokens,\n componentDidUpdate: updateChangeTokens\n};\nfunction updateChangeTokens() {\n this._propsChangeTokens = new this.PropsChangeTokens(this.props, this.state);\n}\n//# sourceMappingURL=pureRender.js.map\n\n/***/ }),\n/* 17 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__valuelink_link__ = __webpack_require__(18);\n/**\n * Import ValueLink library\n * Define value links binding mixins to the Record and Collection\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]);\n__WEBPACK_IMPORTED_MODULE_0_type_r__[\"Mixable\"].mixins.populate(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]);\n/**\n * Record\n */\n__WEBPACK_IMPORTED_MODULE_0_type_r__[\"MixinsState\"].get(__WEBPACK_IMPORTED_MODULE_0_type_r__[\"Record\"]).merge([{\n // Link to the record's attribute by its key.\n linkAt: function (key) {\n return cacheLink(getLinksCache(this), this, key);\n },\n // Link to the attribute of the record's tree by symbolic path.\n linkPath: function (path, options) {\n return new RecordDeepLink(this, path, options);\n },\n // Link all (or listed) attributes and return links cache.\n linkAll: function () {\n var links = getLinksCache(this);\n if (arguments.length) {\n for (var i = 0; i < arguments.length; i++) {\n cacheLink(links, this, arguments[i]);\n }\n }\n else {\n var attributes = this.attributes;\n for (var key in attributes) {\n attributes[key] === void 0 || cacheLink(links, this, key);\n }\n }\n return links;\n }\n }]);\n/**\n * Link to Type-R's record attribute.\n * Strict evaluation of value, lazy evaluation of validation error.\n * Links are cached in the records\n */\nvar RecordLink = (function (_super) {\n __extends(RecordLink, _super);\n function RecordLink(record, attr, value) {\n var _this = _super.call(this, value) || this;\n _this.record = record;\n _this.attr = attr;\n return _this;\n }\n RecordLink.prototype.set = function (x) {\n this.record[this.attr] = x;\n };\n Object.defineProperty(RecordLink.prototype, \"error\", {\n get: function () {\n return this._error === void 0 ?\n this.record.getValidationError(this.attr) :\n this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n return RecordLink;\n}(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]));\nvar RecordDeepLink = (function (_super) {\n __extends(RecordDeepLink, _super);\n function RecordDeepLink(record, path, options) {\n var _this = _super.call(this, record.deepGet(path)) || this;\n _this.record = record;\n _this.path = path;\n _this.options = options;\n return _this;\n }\n Object.defineProperty(RecordDeepLink.prototype, \"error\", {\n get: function () {\n if (this._error === void 0) {\n this._error = this.record.deepValidationError(this.path) || null;\n }\n return this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(RecordDeepLink.prototype, \"_changeToken\", {\n get: function () {\n return this.record._changeToken;\n },\n enumerable: true,\n configurable: true\n });\n RecordDeepLink.prototype.set = function (x) {\n this.record.deepSet(this.path, x, this.options);\n };\n return RecordDeepLink;\n}(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]));\nfunction getLinksCache(record) {\n return record._links || (record._links = new record.AttributesCopy({}));\n}\nfunction cacheLink(links, record, key) {\n var cached = links[key], value = record[key];\n return cached && cached.value === value ? cached\n : links[key] = new RecordLink(record, key, value);\n}\n/***********************************\n * Collection\n */\n__WEBPACK_IMPORTED_MODULE_0_type_r__[\"MixinsState\"].get(__WEBPACK_IMPORTED_MODULE_0_type_r__[\"Record\"].Collection).merge([{\n // Boolean link to the record's presence in the collection\n linkContains: function (record) {\n return new CollectionLink(this, record);\n },\n // Link to collection's property\n linkAt: function (prop) {\n var _this = this;\n return __WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */].value(this[prop], function (x) { return _this[prop] = x; });\n }\n }]);\n/**\n * Boolean link to presence of NestedType's record in collection.\n * Strict evaluation of value, no error.\n * Safe implementation of _changeToken.\n */\nvar CollectionLink = (function (_super) {\n __extends(CollectionLink, _super);\n function CollectionLink(collection, record) {\n var _this = _super.call(this, Boolean(collection._byId[record.cid])) || this;\n _this.collection = collection;\n _this.record = record;\n return _this;\n }\n CollectionLink.prototype.set = function (x) {\n this.collection.toggle(this.record, x);\n };\n return CollectionLink;\n}(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]));\n//# sourceMappingURL=link.js.map\n\n/***/ }),\n/* 18 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Link; });\n/* unused harmony export CustomLink */\n/* unused harmony export CloneLink */\n/* unused harmony export EqualsLink */\n/* unused harmony export EnabledLink */\n/* unused harmony export ContainsLink */\n/* unused harmony export LinkAt */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__helpers__ = __webpack_require__(19);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * Advanced React links for purely functional two-way data binding\n *\n * MIT License, (c) 2016 Vlad Balin, Volicon.\n */\n\n// Main Link class. All links must extend it.\nvar Link = (function () {\n // create \n function Link(value) {\n this.value = value;\n }\n // Create custom link to arbitrary value\n Link.value = function (value, set) {\n return new CustomLink(value, set);\n };\n Object.defineProperty(Link.prototype, \"validationError\", {\n // DEPRECATED: Old error holder for backward compatibility with Volicon code base\n get: function () { return this.error; },\n enumerable: true,\n configurable: true\n });\n Link.prototype.onChange = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n handler(x);\n _this.set(x);\n });\n };\n Object.defineProperty(Link.prototype, \"props\", {\n // \n get: function () {\n var _this = this;\n return typeof this.value === 'boolean' ? {\n checked: this.value,\n onChange: function (e) { return _this.set(Boolean(e.target.checked)); }\n } : {\n value: this.value,\n onChange: function (e) { return _this.set(e.target.value); }\n };\n },\n enumerable: true,\n configurable: true\n });\n // DEPRECATED: Old React method for backward compatibility\n Link.prototype.requestChange = function (x) {\n this.set(x);\n };\n // Immediately update the link value using given transform function.\n Link.prototype.update = function (transform, e) {\n var next = transform(this.clone(), e);\n next === void 0 || this.set(next);\n };\n // Create new link which applies transform function on set.\n Link.prototype.pipe = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n var next = handler(x, _this.value);\n next === void 0 || _this.set(next);\n });\n };\n // Create UI event handler function which will update the link with a given transform function.\n Link.prototype.action = function (transform) {\n var _this = this;\n return function (e) { return _this.update(transform, e); };\n };\n Link.prototype.equals = function (truthyValue) {\n return new EqualsLink(this, truthyValue);\n };\n Link.prototype.enabled = function (defaultValue) {\n return new EnabledLink(this, defaultValue || \"\");\n };\n // Array-only links methods\n Link.prototype.contains = function (element) {\n return new ContainsLink(this, element);\n };\n Link.prototype.push = function () {\n var array = __WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* arrayHelpers */].clone(this.value);\n Array.prototype.push.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.unshift = function () {\n var array = __WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* arrayHelpers */].clone(this.value);\n Array.prototype.unshift.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.splice = function () {\n var array = __WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* arrayHelpers */].clone(this.value);\n Array.prototype.splice.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.map = function (iterator) {\n return Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* helpers */])(this.value).map(this, iterator);\n };\n Link.prototype.removeAt = function (key) {\n var value = this.value, _ = Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* helpers */])(value);\n this.set(_.remove(_.clone(value), key));\n };\n Link.prototype.at = function (key) {\n return new LinkAt(this, key);\n };\n Link.prototype.clone = function () {\n var value = this.value;\n return Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* helpers */])(value).clone(value);\n };\n Link.prototype.pick = function () {\n var links = {};\n for (var i = 0; i < arguments.length; i++) {\n var key = arguments[i];\n links[key] = new LinkAt(this, key);\n }\n return links;\n };\n /**\n * Validate link with validness predicate and optional custom error object. Can be chained.\n */\n Link.prototype.check = function (whenValid, error) {\n if (!this.error && !whenValid(this.value)) {\n this.error = error || whenValid.error || defaultError;\n }\n return this;\n };\n return Link;\n}());\n\nvar CustomLink = (function (_super) {\n __extends(CustomLink, _super);\n function CustomLink(value, set) {\n var _this = _super.call(this, value) || this;\n _this.set = set;\n return _this;\n }\n CustomLink.prototype.set = function (x) { };\n return CustomLink;\n}(Link));\n\nvar CloneLink = (function (_super) {\n __extends(CloneLink, _super);\n function CloneLink(parent, set) {\n var _this = _super.call(this, parent.value) || this;\n _this.set = set;\n var error = parent.error;\n if (error)\n _this.error = error;\n return _this;\n }\n CloneLink.prototype.set = function (x) { };\n return CloneLink;\n}(Link));\n\nvar EqualsLink = (function (_super) {\n __extends(EqualsLink, _super);\n function EqualsLink(parent, truthyValue) {\n var _this = _super.call(this, parent.value === truthyValue) || this;\n _this.parent = parent;\n _this.truthyValue = truthyValue;\n return _this;\n }\n EqualsLink.prototype.set = function (x) {\n this.parent.set(x ? this.truthyValue : null);\n };\n return EqualsLink;\n}(Link));\n\nvar EnabledLink = (function (_super) {\n __extends(EnabledLink, _super);\n function EnabledLink(parent, defaultValue) {\n var _this = _super.call(this, parent.value != null) || this;\n _this.parent = parent;\n _this.defaultValue = defaultValue;\n return _this;\n }\n EnabledLink.prototype.set = function (x) {\n this.parent.set(x ? this.defaultValue : null);\n };\n return EnabledLink;\n}(Link));\n\nvar ContainsLink = (function (_super) {\n __extends(ContainsLink, _super);\n function ContainsLink(parent, element) {\n var _this = _super.call(this, parent.value.indexOf(element) >= 0) || this;\n _this.parent = parent;\n _this.element = element;\n return _this;\n }\n ContainsLink.prototype.set = function (x) {\n var _this = this;\n var next = Boolean(x);\n if (this.value !== next) {\n var arr = this.parent.value, nextValue = x ? arr.concat(this.element) : arr.filter(function (el) { return el !== _this.element; });\n this.parent.set(nextValue);\n }\n };\n return ContainsLink;\n}(Link));\n\nvar defaultError = 'Invalid value';\n/**\n * Link to array or object element enclosed in parent link.\n * Performs purely functional update of the parent, shallow copying its value on `set`.\n */\nvar LinkAt = (function (_super) {\n __extends(LinkAt, _super);\n function LinkAt(parent, key) {\n var _this = _super.call(this, parent.value[key]) || this;\n _this.parent = parent;\n _this.key = key;\n return _this;\n }\n LinkAt.prototype.remove = function () {\n this.parent.removeAt(this.key);\n };\n // Set new element value to parent array or object, performing purely functional update.\n LinkAt.prototype.set = function (x) {\n var _this = this;\n if (this.value !== x) {\n this.parent.update(function (value) {\n value[_this.key] = x;\n return value;\n });\n }\n };\n ;\n return LinkAt;\n}(Link));\n\n//# sourceMappingURL=link.js.map\n\n/***/ }),\n/* 19 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = helpers;\n/* unused harmony export objectHelpers */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return arrayHelpers; });\nvar ArrayProto = Array.prototype, ObjectProto = Object.prototype;\nfunction helpers(value) {\n if (value && typeof value === 'object') {\n switch (Object.getPrototypeOf(value)) {\n case ArrayProto: return arrayHelpers;\n case ObjectProto: return objectHelpers;\n }\n }\n return dummyHelpers;\n}\n// Do nothing for types other than Array and plain Object.\nvar dummyHelpers = {\n clone: function (value) { return value; },\n map: function (link, fun) { return []; },\n remove: function (value) { return value; }\n};\n// `map` and `clone` for plain JS objects\nvar objectHelpers = {\n // Map through the link to object\n map: function (link, iterator) {\n var mapped = [];\n for (var key in link.value) {\n var element = iterator(link.at(key), key);\n element === void 0 || (mapped.push(element));\n }\n return mapped;\n },\n remove: function (object, key) {\n delete object[key];\n return object;\n },\n // Shallow clone plain JS object\n clone: function (object) {\n var cloned = {};\n for (var key in object) {\n cloned[key] = object[key];\n }\n return cloned;\n }\n};\n// `map` and `clone` helpers for arrays.\nvar arrayHelpers = {\n // Shallow clone array\n clone: function (array) {\n return array.slice();\n },\n remove: function (array, i) {\n array.splice(i, 1);\n return array;\n },\n // Map through the link to array\n map: function (link, iterator) {\n var length = link.value.length, mapped = Array(length);\n for (var i = 0, j = 0; i < length; i++) {\n var y = iterator(link.at(i), i);\n y === void 0 || (mapped[j++] = y);\n }\n mapped.length === j || (mapped.length = j);\n return mapped;\n }\n};\n//# sourceMappingURL=helpers.js.map\n\n/***/ }),\n/* 20 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Component; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__define__ = __webpack_require__(4);\n/**\n * React-Type-R component base class. Overrides React component.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\nvar Component = (function (_super) {\n __extends(Component, _super);\n function Component(props, context) {\n var _this = _super.call(this, props, context) || this;\n _this._initializeState();\n return _this;\n }\n Component.prototype.linkAt = function (key) {\n // Quick and dirty hack to suppres type error - refactor later.\n return this.state.linkAt(key);\n };\n Component.prototype.linkAll = function () {\n // Quick and dirty hack to suppres type error - refactor later.\n var state = this.state;\n return state.linkAll.apply(state, arguments);\n };\n Component.prototype.linkPath = function (path) {\n return this.state.linkPath(path);\n };\n Object.defineProperty(Component.prototype, \"links\", {\n get: function () {\n return this.state._links;\n },\n enumerable: true,\n configurable: true\n });\n Component.prototype._initializeState = function () {\n this.state = null;\n };\n Component.prototype.assignToState = function (x, key) {\n this.state.assignFrom((_a = {}, _a[key] = x, _a));\n var _a;\n };\n Component.prototype.componentWillUnmount = function () {\n this.dispose();\n };\n /**\n * Performs transactional update for both props and state.\n * Suppress updates during the transaction, and force update aftewards.\n * Wrapping the sequence of changes in a transactions guarantees that\n * React component will be updated _after_ all the changes to the\n * both props and local state are applied.\n */\n Component.prototype.transaction = function (fun) {\n var shouldComponentUpdate = this.shouldComponentUpdate, isRoot = shouldComponentUpdate !== returnFalse;\n if (isRoot) {\n this.shouldComponentUpdate = returnFalse;\n }\n var _a = this, state = _a.state, store = _a.store, withStore = store ? function (state) { return store.transaction(function () { return fun(state); }); } : fun;\n state ? state.transaction(withStore) : withStore(state);\n if (isRoot) {\n this.shouldComponentUpdate = shouldComponentUpdate;\n this.asyncUpdate();\n }\n };\n // Safe version of the forceUpdate suitable for asynchronous callbacks.\n Component.prototype.asyncUpdate = function () {\n this.shouldComponentUpdate === returnFalse || this._disposed || this.forceUpdate();\n };\n return Component;\n}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]));\nComponent.onDefine = __WEBPACK_IMPORTED_MODULE_2__define__[\"c\" /* default */];\nComponent = __decorate([\n __WEBPACK_IMPORTED_MODULE_1_type_r__[\"define\"],\n Object(__WEBPACK_IMPORTED_MODULE_1_type_r__[\"definitions\"])({\n // Definitions to be extracted from mixins and statics and passed to `onDefine()`\n state: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].merge,\n State: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].value,\n store: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].merge,\n Store: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].value,\n props: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].merge,\n context: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].merge,\n childContext: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].merge,\n pureRender: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].protoValue\n }),\n Object(__WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"])({\n // Apply old-school React mixin rules.\n componentWillMount: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classLast,\n componentDidMount: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classLast,\n componentWillReceiveProps: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classLast,\n componentWillUpdate: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classLast,\n componentDidUpdate: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classLast,\n componentWillUnmount: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classFirst,\n // And a bit more to fix inheritance quirks.\n shouldComponentUpdate: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].some,\n getChildContext: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].defaults\n })\n // Component can send and receive events...\n ,\n Object(__WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixins\"])(__WEBPACK_IMPORTED_MODULE_1_type_r__[\"Messenger\"])\n], Component);\n\nfunction returnFalse() { return false; }\n// Looks like React guys _really_ want to deprecate it. But no way.\n// We will work around their attempt.\nObject.defineProperty(Component.prototype, 'isMounted', {\n value: function isMounted() {\n return !this._disposed;\n }\n});\n//# sourceMappingURL=component.js.map\n\n/***/ }),\n/* 21 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\nvar notEqual = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].notEqual;\nvar BackboneView = (function (_super) {\n __extends(BackboneView, _super);\n function BackboneView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.saveRef = function (element) {\n _this.root = element;\n };\n return _this;\n }\n BackboneView.prototype.shouldComponentUpdate = function (next) {\n var props = this.props;\n return next.View !== props.View || notEqual(next.options, props.options);\n };\n BackboneView.prototype.hasUnsavedChanges = function () {\n var view = this.view;\n return view && (typeof view.hasUnsavedChanges === 'function' ? view.hasUnsavedChanges() : view.hasUnsavedChanges);\n };\n BackboneView.prototype.render = function () {\n return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"f\" /* default */].createElement('div', {\n ref: this.saveRef,\n className: this.props.className\n });\n };\n BackboneView.prototype.componentDidMount = function () {\n this._mountView();\n };\n BackboneView.prototype.componentDidUpdate = function () {\n this._dispose();\n this._mountView();\n };\n BackboneView.prototype.componentWillUnmount = function () {\n this._dispose();\n };\n BackboneView.prototype._mountView = function () {\n var el = this.root, p = this.props;\n var view = this.view = p.options ? new p.View(p.options) : new p.View();\n el.appendChild(view.el);\n view.render();\n };\n BackboneView.prototype._dispose = function () {\n var view = this.view;\n if (view) {\n if (view.dispose) {\n view.dispose();\n }\n else {\n view.stopListening();\n view.off();\n }\n this.root.innerHTML = \"\";\n this.view = null;\n }\n };\n return BackboneView;\n}(__WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\" /* Component */]));\n/* harmony default export */ __webpack_exports__[\"a\"] = (BackboneView);\n//# sourceMappingURL=view-element.js.map\n\n/***/ }),\n/* 22 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = use;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__);\n\n\n\nwindow.Page || (window.Page = { forceResize: function () { } });\nfunction use(View) {\n var dispose = View.prototype.dispose || function () { }, setElement = View.prototype.setElement;\n var ComponentView = View.extend({\n reactClass: null,\n props: {},\n element: null,\n initialize: function (props) {\n // memorise arguments to pass to React\n this.options = props || {};\n },\n setElement: function () {\n this.unmountComponent(true);\n return setElement.apply(this, arguments);\n },\n // cached instance of react component...\n component: null,\n prevState: null,\n resize: function () {\n window.Page.forceResize();\n },\n render: function () {\n var options = this.prevState ? __WEBPACK_IMPORTED_MODULE_2_type_r__[\"tools\"].fastAssign({ __keepState: this.prevState }, this.options) : this.options, element = __WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"](this.reactClass, options), component = __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.render(element, this.el);\n this.component || this.mountComponent(component);\n },\n mountComponent: function (component) {\n this.component = component;\n this.prevState = null;\n component.trigger && this.listenTo(component, 'all', function () {\n this.trigger.apply(this, arguments);\n });\n },\n unmountComponent: function (keepModel) {\n var component = this.component;\n if (component) {\n this.prevState = component.state;\n if (component.trigger) {\n this.stopListening(component);\n }\n component._preventDispose = Boolean(keepModel);\n __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.unmountComponentAtNode(this.el);\n this.component = null;\n }\n },\n dispose: function () {\n this.unmountComponent();\n return dispose.apply(this, arguments);\n }\n });\n Object.defineProperty(ComponentView.prototype, 'model', {\n get: function () {\n this.component || this.render();\n return this.component && this.component.state;\n }\n });\n return ComponentView;\n}\n//# sourceMappingURL=component-view.js.map\n\n/***/ }),\n/* 23 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = createClass;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1);\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\n\nvar dontAutobind = [\n 'State', 'Store', 'constructor',\n 'componentWillMount', 'componentDidMount', 'componentWillReceiveProps', 'shouldComponentUpdate',\n 'componentWillUpdate', 'componentDidUpdate', 'componentWillUnmount',\n 'render', 'getDefaultProps', 'getChildContext'\n];\n/**\n * ES5 components definition factory\n */\nfunction createClass(_a) {\n var statics = _a.statics, a_spec = __rest(_a, [\"statics\"]);\n // Gather all methods to pin them to `this` later.\n var methods = [];\n var Subclass = __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\" /* Component */].extend(__assign({ \n // Override constructor to autobind all the methods...\n constructor: function () {\n __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\" /* Component */].apply(this, this.arguments);\n for (var _i = 0, methods_1 = methods; _i < methods_1.length; _i++) {\n var method = methods_1[_i];\n this[method] = this[method].bind(this);\n }\n } }, a_spec), statics);\n // Need to bind methods from mixins as well, so populate it here.\n var Proto = Subclass.prototype;\n for (var key in Proto) {\n if (Proto.hasOwnProperty(key) && dontAutobind.indexOf(key) === -1 && typeof Proto[key] === 'function') {\n methods.push(key);\n }\n }\n return Subclass;\n}\n//# sourceMappingURL=createClass.js.map\n\n/***/ })\n/******/ ]);\n});\n\n\n// WEBPACK FOOTER //\n// dist/index.min.js"," \t// The module cache\n \tvar installedModules = {};\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, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\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 = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 8);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap bcffa4043cccd0bcc27f","module.exports = __WEBPACK_EXTERNAL_MODULE_0__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"commonjs\":\"nestedtypes\",\"commonjs2\":\"nestedtypes\",\"amd\":\"nestedtypes\",\"root\":\"Nested\"}\n// module id = 0\n// module chunks = 0","import * as React from 'react';\nimport { define, mixins } from 'type-r';\nimport { Node, Element } from './define';\nimport Link from './link';\nimport { Component } from './component';\n// extend React namespace\nvar ReactMVx = Object.create(React);\n// Make it compatible with ES6 module format.\nReactMVx.default = ReactMVx;\n// listenToProps, listenToState, model, attributes, Model\nReactMVx.define = define;\nReactMVx.mixins = mixins;\nReactMVx.Node = Node.value(null);\nReactMVx.Element = Element.value(null);\nReactMVx.Link = Link;\nReactMVx.Component = Component;\nvar assignToState = ReactMVx.assignToState = function (key) {\n return function (prop) {\n this.state.assignFrom((_a = {}, _a[key] = prop && prop instanceof Link ? prop.value : prop, _a));\n var _a;\n };\n};\nexport default ReactMVx;\nexport { define, mixins, Node, Element, Link, Component, assignToState };\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/index.js\n// module id = 1\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"commonjs\":\"react\",\"commonjs2\":\"react\",\"amd\":\"react\",\"root\":\"React\"}\n// module id = 2\n// module chunks = 0","import * as PropTypes from 'prop-types';\nimport { Record } from 'type-r';\nexport function compileSpecs(props) {\n var propTypes = {}, \n // Create NestedTypes model definition to process props spec.\n modelProto = Record.defaults(props).prototype;\n var defaults, watchers, changeHandlers;\n modelProto.forEachAttr(modelProto._attributes, function (spec, name) {\n // Skip auto-generated `id` attribute.\n if (name !== 'id') {\n var value = spec.value, type = spec.type, options = spec.options;\n // Translate props type to the propTypes guard.\n propTypes[name] = translateType(type, options.isRequired);\n if (options._onChange) {\n watchers || (watchers = {});\n watchers[name] = toLocalWatcher(options._onChange);\n }\n // Handle listening to event maps...\n if (options.changeHandlers && options.changeHandlers.length) {\n changeHandlers || (changeHandlers = {});\n changeHandlers[name] = options.changeHandlers;\n }\n // Handle listening to props changes...\n if (options.changeEvents) {\n changeHandlers || (changeHandlers = {});\n var handlers = changeHandlers[name] || (changeHandlers[name] = []), changeEvents_1 = typeof options.changeEvents === 'string' ? options.changeEvents : null;\n handlers.push(function (next, prev, component) {\n prev && component.stopListening(prev);\n next && component.listenTo(next, changeEvents_1 || next._changeEventName, component.asyncUpdate);\n });\n }\n // If default value is explicitly provided...\n if (value !== void 0) {\n //...append it to getDefaultProps function.\n defaults || (defaults = {});\n defaults[name] = spec.convert(value, void 0, null, {});\n }\n }\n });\n return { propTypes: propTypes, defaults: defaults, watchers: watchers, changeHandlers: changeHandlers };\n}\nfunction toLocalWatcher(ref) {\n return typeof ref === 'function' ? ref : function (value, name) {\n this[ref] && this[ref](value, name);\n };\n}\nvar Node = (function () {\n function Node() {\n }\n return Node;\n}());\nexport { Node };\nvar Element = (function () {\n function Element() {\n }\n return Element;\n}());\nexport { Element };\nfunction translateType(Type, isRequired) {\n var T = _translateType(Type);\n return isRequired ? T.isRequired : T;\n}\nfunction _translateType(Type) {\n switch (Type) {\n case Number:\n case Number.integer:\n return PropTypes.number;\n case String:\n return PropTypes.string;\n case Boolean:\n return PropTypes.bool;\n case Array:\n return PropTypes.array;\n case Function:\n return PropTypes.func;\n case Object:\n return PropTypes.object;\n case Node:\n return PropTypes.node;\n case Element:\n return PropTypes.element;\n case void 0:\n case null:\n return PropTypes.any;\n default:\n return PropTypes.instanceOf(Type);\n }\n}\n//# sourceMappingURL=typeSpecs.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/typeSpecs.js\n// module id = 3\n// module chunks = 0","import { Messenger } from 'type-r';\nimport onDefineStore from './store';\nimport onDefineState from './state';\nimport onDefineContext from './context';\nimport onDefineProps from './props';\nexport default function onDefine(definition, BaseClass) {\n // Initialize mixins placeholder...\n onDefineStore.call(this, definition, BaseClass);\n onDefineState.call(this, definition, BaseClass);\n onDefineContext.call(this, definition, BaseClass);\n onDefineProps.call(this, definition, BaseClass);\n Messenger.onDefine.call(this, definition, BaseClass);\n}\n;\nexport { Node, Element } from './typeSpecs';\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/index.js\n// module id = 4\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n/*****************\n * State\n */\nimport { define, Record, Store } from 'type-r';\nexport default function process(definition, BaseComponentClass) {\n var prototype = this.prototype;\n var state = definition.state, State = definition.State;\n if (typeof state === 'function') {\n State = state;\n state = void 0;\n }\n if (state) {\n var BaseClass = State || prototype.State || Record;\n var ComponentState = (function (_super) {\n __extends(ComponentState, _super);\n function ComponentState() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return ComponentState;\n }(BaseClass));\n ComponentState.attributes = state;\n ComponentState = __decorate([\n define\n ], ComponentState);\n prototype.State = ComponentState;\n }\n else if (State) {\n prototype.State = State;\n }\n if (state || State) {\n this.mixins.merge([StateMixin, UpdateOnNestedChangesMixin]);\n }\n}\nexport var StateMixin = {\n //state : null,\n _initializeState: function () {\n // props.__keepState is used to workaround issues in Backbone intergation layer\n var state = this.state = this.props.__keepState || new this.State();\n // Take ownership on state...\n state._owner = this;\n state._ownerKey = 'state';\n },\n context: {\n _nestedStore: Store\n },\n // reference global store to fix model's store locator\n getStore: function () {\n // Attempt to get the store from the context first. Then - fallback to the state's default store.\n // TBD: Need to figure out a good way of managing local stores.\n var context, state;\n return ((context = this.context) && context._nestedStore) ||\n ((state = this.state) && state._defaultStore);\n },\n componentWillUnmount: function () {\n var state = this.state;\n state._owner = state._ownerKey = void 0;\n this._preventDispose /* hack for component-view to preserve the state */ || state.dispose();\n this.state = void 0;\n }\n};\nexport var UpdateOnNestedChangesMixin = {\n _onChildrenChange: function () { },\n componentDidMount: function () {\n this._onChildrenChange = this.asyncUpdate;\n }\n};\n//# sourceMappingURL=state.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/state.js\n// module id = 5\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/prop-types/index.js\n// module id = 6\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_7__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"commonjs\":\"react-dom\",\"commonjs2\":\"react-dom\",\"amd\":\"react-dom\",\"root\":\"ReactDOM\"}\n// module id = 7\n// module chunks = 0","// Re-export react-mvx\nimport ReactMVx from './react-mvx';\nvar NestedReact = Object.create(ReactMVx);\nexport default NestedReact;\nexport * from './react-mvx';\n// NestedReact backward compatibility layer\nimport ReactDOM from 'react-dom';\nimport Nested, { View, Record } from 'type-r';\nimport * as PropTypes from 'prop-types';\nimport subview from './view-element';\nNestedReact.subview = subview;\nexport { subview };\nimport use from './component-view';\nimport createClass from './createClass';\nNestedReact.createClass = createClass;\nObject.defineProperty(NestedReact, 'PropTypes', { value: PropTypes });\nexport { PropTypes, createClass };\nvar BaseView;\n// export hook to override base View class used...\nexport function useView(View) {\n BaseView = use(View);\n}\nvar onDefine = NestedReact.Component.onDefine;\nNestedReact.Component.onDefine = function (definitions, BaseClass) {\n this.View = BaseView.extend({ reactClass: this });\n return onDefine.call(this, definitions, BaseClass);\n};\n// Deprecated API for backward compatibility\nvar RecordProto = Record.prototype;\nRecordProto.getLink = RecordProto.linkAt;\nRecordProto.deepLink = RecordProto.linkPath;\nvar CollectionProto = Record.Collection.prototype;\nCollectionProto.hasLink = CollectionProto.linkContains;\nuseView(View);\n// Extend react components to have backbone-style jquery accessors\nvar BackboneViewProps = {\n el: { get: function () { return ReactDOM.findDOMNode(this); } },\n $el: { get: function () { return Nested.$(this.el); } },\n $: { value: function (sel) { return this.$el.find(sel); } }\n};\nObject.defineProperties(NestedReact.Component.prototype, BackboneViewProps);\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/index.js\n// module id = 8\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { define, Store } from 'type-r';\nimport { StateMixin, UpdateOnNestedChangesMixin } from './state';\nexport default function onDefine(definition, BaseClass) {\n var store = definition.store, StoreClass = definition.Store;\n if (store && store instanceof Store) {\n // Direct reference to an existing store. Put it to the prototype.\n this.prototype.store = store;\n this.mixins.merge([ExternalStoreMixin, ExposeStoreMixin]);\n }\n else if (store || definition.Store) {\n if (typeof store === 'function') {\n StoreClass = store;\n store = void 0;\n }\n if (store) {\n var BaseClass_1 = StoreClass || this.prototype.Store || Store;\n var InternalStore = (function (_super) {\n __extends(InternalStore, _super);\n function InternalStore() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return InternalStore;\n }(BaseClass_1));\n InternalStore.attrbutes = store;\n InternalStore = __decorate([\n define\n ], InternalStore);\n ;\n this.prototype.Store = InternalStore;\n }\n else if (StoreClass) {\n this.prototype.Store = StoreClass;\n }\n this.mixins.merge([InternalStoreMixin, UpdateOnNestedChangesMixin, ExposeStoreMixin]);\n }\n}\n/**\n * Attached whenever the store declaration of any form is present in the component.\n */\nvar ExposeStoreMixin = {\n childContext: {\n _nestedStore: Store\n },\n getChildContext: function () {\n return { _nestedStore: this.store };\n },\n getStore: function () {\n return this.store;\n },\n // Will be called by the store when the lookup will fail.\n get: function (key) {\n // Ask upper store.\n var store = StateMixin.getStore.call(this, key);\n return store && store.get(key);\n }\n};\n/**\n * External store must just track the changes and trigger render.\n * TBD: don't use it yet.\n */\nvar ExternalStoreMixin = {\n componentDidMount: function () {\n // Start UI updates on state changes.\n this.listenTo(this.store, 'change', this.asyncUpdate);\n }\n};\nvar InternalStoreMixin = {\n componentWillMount: function () {\n var store = this.store = new this.Store();\n store._owner = this;\n store._ownerKey = 'store';\n },\n componentWillUnmount: function () {\n this.store._ownerKey = this.store._owner = void 0;\n this.store.dispose();\n this.store = void 0;\n }\n};\n//# sourceMappingURL=store.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/store.js\n// module id = 9\n// module chunks = 0","import { compileSpecs } from './typeSpecs';\nimport { tools } from 'type-r';\nexport default function onDefine(_a, BaseClass) {\n var context = _a.context, childContext = _a.childContext;\n var prototype = this.prototype;\n if (context) {\n // Merge in inherited members...\n prototype._context = tools.defaults(context, BaseClass.prototype._context || {});\n // Compile to propTypes...\n this.contextTypes = compileSpecs(context).propTypes;\n }\n if (childContext) {\n prototype._childContext = tools.defaults(childContext, BaseClass.prototype._childContext);\n this.childContextTypes = compileSpecs(childContext).propTypes;\n }\n}\n//# sourceMappingURL=context.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/context.js\n// module id = 10\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\nvar invariant = require('fbjs/lib/invariant');\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n invariant(\n false,\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim\n };\n\n ReactPropTypes.checkPropTypes = emptyFunction;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/prop-types/factoryWithThrowingShims.js\n// module id = 11\n// module chunks = 0","\"use strict\";\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/fbjs/lib/emptyFunction.js\n// module id = 12\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (process.env.NODE_ENV !== 'production') {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/fbjs/lib/invariant.js\n// module id = 13\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/prop-types/lib/ReactPropTypesSecret.js\n// module id = 14\n// module chunks = 0","/**\n * Handle props specification and everything which is related:\n * - local listening to props changes\n * - pure render mixin\n */\nimport { compileSpecs } from './typeSpecs';\nimport { PureRenderMixin, createChangeTokensConstructor } from './pureRender';\nimport { tools } from 'type-r';\nexport default function onDefine(_a, BaseClass) {\n var props = _a.props, pureRender = _a.pureRender;\n var prototype = this.prototype;\n // process props spec...\n if (props) {\n // Merge with inherited members...\n prototype._props = tools.defaults(props, BaseClass.prototype._props || {});\n var _b = compileSpecs(props), propTypes = _b.propTypes, defaults = _b.defaults, watchers = _b.watchers, changeHandlers = _b.changeHandlers;\n this.propTypes = propTypes;\n if (defaults)\n this.defaultProps = defaults;\n if (watchers) {\n prototype._watchers = watchers;\n this.mixins.merge([WatchersMixin]);\n }\n if (changeHandlers) {\n prototype._changeHandlers = changeHandlers;\n this.mixins.merge([ChangeHandlersMixin]);\n }\n if (prototype.pureRender) {\n prototype.PropsChangeTokens = createChangeTokensConstructor(props);\n }\n }\n if (pureRender) {\n this.mixins.merge([PureRenderMixin]);\n }\n}\n/**\n * ChangeHandlers are fired in sequence upon props replacement.\n * Fires _after_ UI is updated. Used for managing events subscriptions.\n */\nvar ChangeHandlersMixin = {\n componentDidMount: function () {\n handlePropsChanges(this, {}, this.props);\n },\n componentDidUpdate: function (prev) {\n handlePropsChanges(this, prev, this.props);\n },\n componentWillUnmount: function () {\n handlePropsChanges(this, this.props, {});\n }\n};\nfunction handlePropsChanges(component, prev, next) {\n var _changeHandlers = component._changeHandlers;\n for (var name_1 in _changeHandlers) {\n if (prev[name_1] !== next[name_1]) {\n for (var _i = 0, _a = _changeHandlers[name_1]; _i < _a.length; _i++) {\n var handler = _a[_i];\n handler(next[name_1], prev[name_1], component);\n }\n }\n }\n}\n/**\n * Watchers works on props replacement and fires _before_ any change will be applied and UI is updated.\n * Fired in componentWillMount as well, which makes it a nice way to sync state from props.\n */\nvar WatchersMixin = {\n componentWillReceiveProps: function (next) {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_2 in _watchers) {\n if (next[name_2] !== props[name_2]) {\n _watchers[name_2].call(this, next[name_2], name_2);\n }\n }\n },\n componentWillMount: function () {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_3 in _watchers) {\n _watchers[name_3].call(this, props[name_3], name_3);\n }\n }\n};\n//# sourceMappingURL=props.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/props.js\n// module id = 15\n// module chunks = 0","export function createChangeTokensConstructor(props) {\n var propNames = Object.keys(props);\n var PropsChangeTokens = new Function('p', 's', \"\\n var v;\\n this._s = s && s._changeToken;\\n \" + propNames.map(function (name) { return \"\\n this.\" + name + \" = ( ( v = p.\" + name + \") && v._changeToken ) || v;\\n \"; }).join('') + \"\\n \");\n PropsChangeTokens.prototype._hasChanges = new Function('p', 's', \"\\n var v;\\n return ( s && s._changeToken !== this._s ) \" + propNames.map(function (name) { return \" ||\\n this.\" + name + \" !== ( ( ( v = p.\" + name + \") && v._changeToken ) || v )\\n \"; }).join('') + \";\\n \");\n return PropsChangeTokens;\n}\n;\nexport var PureRenderMixin = {\n shouldComponentUpdate: function (nextProps) {\n return this._propsChangeTokens._hasChanges(nextProps);\n },\n componentDidMount: updateChangeTokens,\n componentDidUpdate: updateChangeTokens\n};\nfunction updateChangeTokens() {\n this._propsChangeTokens = new this.PropsChangeTokens(this.props, this.state);\n}\n//# sourceMappingURL=pureRender.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/pureRender.js\n// module id = 16\n// module chunks = 0","/**\n * Import ValueLink library\n * Define value links binding mixins to the Record and Collection\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { Mixable, MixinsState, Record } from 'type-r';\nimport { Link } from './valuelink/link';\nexport default Link;\nMixable.mixins.populate(Link);\n/**\n * Record\n */\nMixinsState.get(Record).merge([{\n // Link to the record's attribute by its key.\n linkAt: function (key) {\n return cacheLink(getLinksCache(this), this, key);\n },\n // Link to the attribute of the record's tree by symbolic path.\n linkPath: function (path, options) {\n return new RecordDeepLink(this, path, options);\n },\n // Link all (or listed) attributes and return links cache.\n linkAll: function () {\n var links = getLinksCache(this);\n if (arguments.length) {\n for (var i = 0; i < arguments.length; i++) {\n cacheLink(links, this, arguments[i]);\n }\n }\n else {\n var attributes = this.attributes;\n for (var key in attributes) {\n attributes[key] === void 0 || cacheLink(links, this, key);\n }\n }\n return links;\n }\n }]);\n/**\n * Link to Type-R's record attribute.\n * Strict evaluation of value, lazy evaluation of validation error.\n * Links are cached in the records\n */\nvar RecordLink = (function (_super) {\n __extends(RecordLink, _super);\n function RecordLink(record, attr, value) {\n var _this = _super.call(this, value) || this;\n _this.record = record;\n _this.attr = attr;\n return _this;\n }\n RecordLink.prototype.set = function (x) {\n this.record[this.attr] = x;\n };\n Object.defineProperty(RecordLink.prototype, \"error\", {\n get: function () {\n return this._error === void 0 ?\n this.record.getValidationError(this.attr) :\n this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n return RecordLink;\n}(Link));\nvar RecordDeepLink = (function (_super) {\n __extends(RecordDeepLink, _super);\n function RecordDeepLink(record, path, options) {\n var _this = _super.call(this, record.deepGet(path)) || this;\n _this.record = record;\n _this.path = path;\n _this.options = options;\n return _this;\n }\n Object.defineProperty(RecordDeepLink.prototype, \"error\", {\n get: function () {\n if (this._error === void 0) {\n this._error = this.record.deepValidationError(this.path) || null;\n }\n return this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(RecordDeepLink.prototype, \"_changeToken\", {\n get: function () {\n return this.record._changeToken;\n },\n enumerable: true,\n configurable: true\n });\n RecordDeepLink.prototype.set = function (x) {\n this.record.deepSet(this.path, x, this.options);\n };\n return RecordDeepLink;\n}(Link));\nfunction getLinksCache(record) {\n return record._links || (record._links = new record.AttributesCopy({}));\n}\nfunction cacheLink(links, record, key) {\n var cached = links[key], value = record[key];\n return cached && cached.value === value ? cached\n : links[key] = new RecordLink(record, key, value);\n}\n/***********************************\n * Collection\n */\nMixinsState.get(Record.Collection).merge([{\n // Boolean link to the record's presence in the collection\n linkContains: function (record) {\n return new CollectionLink(this, record);\n },\n // Link to collection's property\n linkAt: function (prop) {\n var _this = this;\n return Link.value(this[prop], function (x) { return _this[prop] = x; });\n }\n }]);\n/**\n * Boolean link to presence of NestedType's record in collection.\n * Strict evaluation of value, no error.\n * Safe implementation of _changeToken.\n */\nvar CollectionLink = (function (_super) {\n __extends(CollectionLink, _super);\n function CollectionLink(collection, record) {\n var _this = _super.call(this, Boolean(collection._byId[record.cid])) || this;\n _this.collection = collection;\n _this.record = record;\n return _this;\n }\n CollectionLink.prototype.set = function (x) {\n this.collection.toggle(this.record, x);\n };\n return CollectionLink;\n}(Link));\n//# sourceMappingURL=link.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/link.js\n// module id = 17\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * Advanced React links for purely functional two-way data binding\n *\n * MIT License, (c) 2016 Vlad Balin, Volicon.\n */\nimport { helpers, arrayHelpers } from './helpers';\n// Main Link class. All links must extend it.\nvar Link = (function () {\n // create \n function Link(value) {\n this.value = value;\n }\n // Create custom link to arbitrary value\n Link.value = function (value, set) {\n return new CustomLink(value, set);\n };\n Object.defineProperty(Link.prototype, \"validationError\", {\n // DEPRECATED: Old error holder for backward compatibility with Volicon code base\n get: function () { return this.error; },\n enumerable: true,\n configurable: true\n });\n Link.prototype.onChange = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n handler(x);\n _this.set(x);\n });\n };\n Object.defineProperty(Link.prototype, \"props\", {\n // \n get: function () {\n var _this = this;\n return typeof this.value === 'boolean' ? {\n checked: this.value,\n onChange: function (e) { return _this.set(Boolean(e.target.checked)); }\n } : {\n value: this.value,\n onChange: function (e) { return _this.set(e.target.value); }\n };\n },\n enumerable: true,\n configurable: true\n });\n // DEPRECATED: Old React method for backward compatibility\n Link.prototype.requestChange = function (x) {\n this.set(x);\n };\n // Immediately update the link value using given transform function.\n Link.prototype.update = function (transform, e) {\n var next = transform(this.clone(), e);\n next === void 0 || this.set(next);\n };\n // Create new link which applies transform function on set.\n Link.prototype.pipe = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n var next = handler(x, _this.value);\n next === void 0 || _this.set(next);\n });\n };\n // Create UI event handler function which will update the link with a given transform function.\n Link.prototype.action = function (transform) {\n var _this = this;\n return function (e) { return _this.update(transform, e); };\n };\n Link.prototype.equals = function (truthyValue) {\n return new EqualsLink(this, truthyValue);\n };\n Link.prototype.enabled = function (defaultValue) {\n return new EnabledLink(this, defaultValue || \"\");\n };\n // Array-only links methods\n Link.prototype.contains = function (element) {\n return new ContainsLink(this, element);\n };\n Link.prototype.push = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.push.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.unshift = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.unshift.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.splice = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.splice.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.map = function (iterator) {\n return helpers(this.value).map(this, iterator);\n };\n Link.prototype.removeAt = function (key) {\n var value = this.value, _ = helpers(value);\n this.set(_.remove(_.clone(value), key));\n };\n Link.prototype.at = function (key) {\n return new LinkAt(this, key);\n };\n Link.prototype.clone = function () {\n var value = this.value;\n return helpers(value).clone(value);\n };\n Link.prototype.pick = function () {\n var links = {};\n for (var i = 0; i < arguments.length; i++) {\n var key = arguments[i];\n links[key] = new LinkAt(this, key);\n }\n return links;\n };\n /**\n * Validate link with validness predicate and optional custom error object. Can be chained.\n */\n Link.prototype.check = function (whenValid, error) {\n if (!this.error && !whenValid(this.value)) {\n this.error = error || whenValid.error || defaultError;\n }\n return this;\n };\n return Link;\n}());\nexport { Link };\nvar CustomLink = (function (_super) {\n __extends(CustomLink, _super);\n function CustomLink(value, set) {\n var _this = _super.call(this, value) || this;\n _this.set = set;\n return _this;\n }\n CustomLink.prototype.set = function (x) { };\n return CustomLink;\n}(Link));\nexport { CustomLink };\nvar CloneLink = (function (_super) {\n __extends(CloneLink, _super);\n function CloneLink(parent, set) {\n var _this = _super.call(this, parent.value) || this;\n _this.set = set;\n var error = parent.error;\n if (error)\n _this.error = error;\n return _this;\n }\n CloneLink.prototype.set = function (x) { };\n return CloneLink;\n}(Link));\nexport { CloneLink };\nvar EqualsLink = (function (_super) {\n __extends(EqualsLink, _super);\n function EqualsLink(parent, truthyValue) {\n var _this = _super.call(this, parent.value === truthyValue) || this;\n _this.parent = parent;\n _this.truthyValue = truthyValue;\n return _this;\n }\n EqualsLink.prototype.set = function (x) {\n this.parent.set(x ? this.truthyValue : null);\n };\n return EqualsLink;\n}(Link));\nexport { EqualsLink };\nvar EnabledLink = (function (_super) {\n __extends(EnabledLink, _super);\n function EnabledLink(parent, defaultValue) {\n var _this = _super.call(this, parent.value != null) || this;\n _this.parent = parent;\n _this.defaultValue = defaultValue;\n return _this;\n }\n EnabledLink.prototype.set = function (x) {\n this.parent.set(x ? this.defaultValue : null);\n };\n return EnabledLink;\n}(Link));\nexport { EnabledLink };\nvar ContainsLink = (function (_super) {\n __extends(ContainsLink, _super);\n function ContainsLink(parent, element) {\n var _this = _super.call(this, parent.value.indexOf(element) >= 0) || this;\n _this.parent = parent;\n _this.element = element;\n return _this;\n }\n ContainsLink.prototype.set = function (x) {\n var _this = this;\n var next = Boolean(x);\n if (this.value !== next) {\n var arr = this.parent.value, nextValue = x ? arr.concat(this.element) : arr.filter(function (el) { return el !== _this.element; });\n this.parent.set(nextValue);\n }\n };\n return ContainsLink;\n}(Link));\nexport { ContainsLink };\nvar defaultError = 'Invalid value';\n/**\n * Link to array or object element enclosed in parent link.\n * Performs purely functional update of the parent, shallow copying its value on `set`.\n */\nvar LinkAt = (function (_super) {\n __extends(LinkAt, _super);\n function LinkAt(parent, key) {\n var _this = _super.call(this, parent.value[key]) || this;\n _this.parent = parent;\n _this.key = key;\n return _this;\n }\n LinkAt.prototype.remove = function () {\n this.parent.removeAt(this.key);\n };\n // Set new element value to parent array or object, performing purely functional update.\n LinkAt.prototype.set = function (x) {\n var _this = this;\n if (this.value !== x) {\n this.parent.update(function (value) {\n value[_this.key] = x;\n return value;\n });\n }\n };\n ;\n return LinkAt;\n}(Link));\nexport { LinkAt };\n//# sourceMappingURL=link.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/valuelink/link.js\n// module id = 18\n// module chunks = 0","var ArrayProto = Array.prototype, ObjectProto = Object.prototype;\nexport function helpers(value) {\n if (value && typeof value === 'object') {\n switch (Object.getPrototypeOf(value)) {\n case ArrayProto: return arrayHelpers;\n case ObjectProto: return objectHelpers;\n }\n }\n return dummyHelpers;\n}\n// Do nothing for types other than Array and plain Object.\nvar dummyHelpers = {\n clone: function (value) { return value; },\n map: function (link, fun) { return []; },\n remove: function (value) { return value; }\n};\n// `map` and `clone` for plain JS objects\nexport var objectHelpers = {\n // Map through the link to object\n map: function (link, iterator) {\n var mapped = [];\n for (var key in link.value) {\n var element = iterator(link.at(key), key);\n element === void 0 || (mapped.push(element));\n }\n return mapped;\n },\n remove: function (object, key) {\n delete object[key];\n return object;\n },\n // Shallow clone plain JS object\n clone: function (object) {\n var cloned = {};\n for (var key in object) {\n cloned[key] = object[key];\n }\n return cloned;\n }\n};\n// `map` and `clone` helpers for arrays.\nexport var arrayHelpers = {\n // Shallow clone array\n clone: function (array) {\n return array.slice();\n },\n remove: function (array, i) {\n array.splice(i, 1);\n return array;\n },\n // Map through the link to array\n map: function (link, iterator) {\n var length = link.value.length, mapped = Array(length);\n for (var i = 0, j = 0; i < length; i++) {\n var y = iterator(link.at(i), i);\n y === void 0 || (mapped[j++] = y);\n }\n mapped.length === j || (mapped.length = j);\n return mapped;\n }\n};\n//# sourceMappingURL=helpers.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/valuelink/helpers.js\n// module id = 19\n// module chunks = 0","/**\n * React-Type-R component base class. Overrides React component.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport * as React from 'react';\nimport { mixinRules, define, mixins, definitions, Messenger } from 'type-r';\nimport onDefine from './define';\nvar Component = (function (_super) {\n __extends(Component, _super);\n function Component(props, context) {\n var _this = _super.call(this, props, context) || this;\n _this._initializeState();\n return _this;\n }\n Component.prototype.linkAt = function (key) {\n // Quick and dirty hack to suppres type error - refactor later.\n return this.state.linkAt(key);\n };\n Component.prototype.linkAll = function () {\n // Quick and dirty hack to suppres type error - refactor later.\n var state = this.state;\n return state.linkAll.apply(state, arguments);\n };\n Component.prototype.linkPath = function (path) {\n return this.state.linkPath(path);\n };\n Object.defineProperty(Component.prototype, \"links\", {\n get: function () {\n return this.state._links;\n },\n enumerable: true,\n configurable: true\n });\n Component.prototype._initializeState = function () {\n this.state = null;\n };\n Component.prototype.assignToState = function (x, key) {\n this.state.assignFrom((_a = {}, _a[key] = x, _a));\n var _a;\n };\n Component.prototype.componentWillUnmount = function () {\n this.dispose();\n };\n /**\n * Performs transactional update for both props and state.\n * Suppress updates during the transaction, and force update aftewards.\n * Wrapping the sequence of changes in a transactions guarantees that\n * React component will be updated _after_ all the changes to the\n * both props and local state are applied.\n */\n Component.prototype.transaction = function (fun) {\n var shouldComponentUpdate = this.shouldComponentUpdate, isRoot = shouldComponentUpdate !== returnFalse;\n if (isRoot) {\n this.shouldComponentUpdate = returnFalse;\n }\n var _a = this, state = _a.state, store = _a.store, withStore = store ? function (state) { return store.transaction(function () { return fun(state); }); } : fun;\n state ? state.transaction(withStore) : withStore(state);\n if (isRoot) {\n this.shouldComponentUpdate = shouldComponentUpdate;\n this.asyncUpdate();\n }\n };\n // Safe version of the forceUpdate suitable for asynchronous callbacks.\n Component.prototype.asyncUpdate = function () {\n this.shouldComponentUpdate === returnFalse || this._disposed || this.forceUpdate();\n };\n return Component;\n}(React.Component));\nComponent.onDefine = onDefine;\nComponent = __decorate([\n define,\n definitions({\n // Definitions to be extracted from mixins and statics and passed to `onDefine()`\n state: mixinRules.merge,\n State: mixinRules.value,\n store: mixinRules.merge,\n Store: mixinRules.value,\n props: mixinRules.merge,\n context: mixinRules.merge,\n childContext: mixinRules.merge,\n pureRender: mixinRules.protoValue\n }),\n mixinRules({\n // Apply old-school React mixin rules.\n componentWillMount: mixinRules.classLast,\n componentDidMount: mixinRules.classLast,\n componentWillReceiveProps: mixinRules.classLast,\n componentWillUpdate: mixinRules.classLast,\n componentDidUpdate: mixinRules.classLast,\n componentWillUnmount: mixinRules.classFirst,\n // And a bit more to fix inheritance quirks.\n shouldComponentUpdate: mixinRules.some,\n getChildContext: mixinRules.defaults\n })\n // Component can send and receive events...\n ,\n mixins(Messenger)\n], Component);\nexport { Component };\nfunction returnFalse() { return false; }\n// Looks like React guys _really_ want to deprecate it. But no way.\n// We will work around their attempt.\nObject.defineProperty(Component.prototype, 'isMounted', {\n value: function isMounted() {\n return !this._disposed;\n }\n});\n//# sourceMappingURL=component.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/component.js\n// module id = 20\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport React, { Component } from './react-mvx';\nimport { tools } from 'type-r';\nvar notEqual = tools.notEqual;\nvar BackboneView = (function (_super) {\n __extends(BackboneView, _super);\n function BackboneView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.saveRef = function (element) {\n _this.root = element;\n };\n return _this;\n }\n BackboneView.prototype.shouldComponentUpdate = function (next) {\n var props = this.props;\n return next.View !== props.View || notEqual(next.options, props.options);\n };\n BackboneView.prototype.hasUnsavedChanges = function () {\n var view = this.view;\n return view && (typeof view.hasUnsavedChanges === 'function' ? view.hasUnsavedChanges() : view.hasUnsavedChanges);\n };\n BackboneView.prototype.render = function () {\n return React.createElement('div', {\n ref: this.saveRef,\n className: this.props.className\n });\n };\n BackboneView.prototype.componentDidMount = function () {\n this._mountView();\n };\n BackboneView.prototype.componentDidUpdate = function () {\n this._dispose();\n this._mountView();\n };\n BackboneView.prototype.componentWillUnmount = function () {\n this._dispose();\n };\n BackboneView.prototype._mountView = function () {\n var el = this.root, p = this.props;\n var view = this.view = p.options ? new p.View(p.options) : new p.View();\n el.appendChild(view.el);\n view.render();\n };\n BackboneView.prototype._dispose = function () {\n var view = this.view;\n if (view) {\n if (view.dispose) {\n view.dispose();\n }\n else {\n view.stopListening();\n view.off();\n }\n this.root.innerHTML = \"\";\n this.view = null;\n }\n };\n return BackboneView;\n}(Component));\nexport default BackboneView;\n//# sourceMappingURL=view-element.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/view-element.js\n// module id = 21\n// module chunks = 0","import * as React from 'react';\nimport ReactDOM from 'react-dom';\nimport { tools } from 'type-r';\nwindow.Page || (window.Page = { forceResize: function () { } });\nexport default function use(View) {\n var dispose = View.prototype.dispose || function () { }, setElement = View.prototype.setElement;\n var ComponentView = View.extend({\n reactClass: null,\n props: {},\n element: null,\n initialize: function (props) {\n // memorise arguments to pass to React\n this.options = props || {};\n },\n setElement: function () {\n this.unmountComponent(true);\n return setElement.apply(this, arguments);\n },\n // cached instance of react component...\n component: null,\n prevState: null,\n resize: function () {\n window.Page.forceResize();\n },\n render: function () {\n var options = this.prevState ? tools.fastAssign({ __keepState: this.prevState }, this.options) : this.options, element = React.createElement(this.reactClass, options), component = ReactDOM.render(element, this.el);\n this.component || this.mountComponent(component);\n },\n mountComponent: function (component) {\n this.component = component;\n this.prevState = null;\n component.trigger && this.listenTo(component, 'all', function () {\n this.trigger.apply(this, arguments);\n });\n },\n unmountComponent: function (keepModel) {\n var component = this.component;\n if (component) {\n this.prevState = component.state;\n if (component.trigger) {\n this.stopListening(component);\n }\n component._preventDispose = Boolean(keepModel);\n ReactDOM.unmountComponentAtNode(this.el);\n this.component = null;\n }\n },\n dispose: function () {\n this.unmountComponent();\n return dispose.apply(this, arguments);\n }\n });\n Object.defineProperty(ComponentView.prototype, 'model', {\n get: function () {\n this.component || this.render();\n return this.component && this.component.state;\n }\n });\n return ComponentView;\n}\n//# sourceMappingURL=component-view.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/component-view.js\n// module id = 22\n// module chunks = 0","var __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\nimport { Component } from './react-mvx';\nvar dontAutobind = [\n 'State', 'Store', 'constructor',\n 'componentWillMount', 'componentDidMount', 'componentWillReceiveProps', 'shouldComponentUpdate',\n 'componentWillUpdate', 'componentDidUpdate', 'componentWillUnmount',\n 'render', 'getDefaultProps', 'getChildContext'\n];\n/**\n * ES5 components definition factory\n */\nexport default function createClass(_a) {\n var statics = _a.statics, a_spec = __rest(_a, [\"statics\"]);\n // Gather all methods to pin them to `this` later.\n var methods = [];\n var Subclass = Component.extend(__assign({ \n // Override constructor to autobind all the methods...\n constructor: function () {\n Component.apply(this, this.arguments);\n for (var _i = 0, methods_1 = methods; _i < methods_1.length; _i++) {\n var method = methods_1[_i];\n this[method] = this[method].bind(this);\n }\n } }, a_spec), statics);\n // Need to bind methods from mixins as well, so populate it here.\n var Proto = Subclass.prototype;\n for (var key in Proto) {\n if (Proto.hasOwnProperty(key) && dontAutobind.indexOf(key) === -1 && typeof Proto[key] === 'function') {\n methods.push(key);\n }\n }\n return Subclass;\n}\n//# sourceMappingURL=createClass.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/createClass.js\n// module id = 23\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file diff --git a/lib/index.js b/lib/index.js index 4c00a3d..66c9a5f 100644 --- a/lib/index.js +++ b/lib/index.js @@ -20,10 +20,10 @@ var BaseView; export function useView(View) { BaseView = use(View); } -var define = NestedReact.Component.define; -NestedReact.Component.define = function (protoProps, staticProps) { +var onDefine = NestedReact.Component.onDefine; +NestedReact.Component.onDefine = function (definitions, BaseClass) { this.View = BaseView.extend({ reactClass: this }); - return define.call(this, protoProps, staticProps); + return onDefine.call(this, definitions, BaseClass); }; // Deprecated API for backward compatibility var RecordProto = Record.prototype; diff --git a/lib/index.js.map b/lib/index.js.map index bd7132a..1a52bbd 100644 --- a/lib/index.js.map +++ b/lib/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,sBAAsB;AACtB,OAAO,QAAQ,MAAM,aAAa,CAAA;AAClC,IAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAE,QAAQ,CAAE,CAAC;AAC9C,eAAe,WAAW,CAAC;AAC3B,cAAc,aAAa,CAAA;AAE3B,2CAA2C;AAC3C,OAAO,QAAQ,MAAM,WAAW,CAAA;AAChC,OAAO,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,KAAK,SAAS,MAAM,YAAY,CAAA;AAEvC,OAAO,OAAO,MAAM,gBAAgB,CAAA;AACpC,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAE,CAAA;AAElB,OAAO,GAAG,MAAM,kBAAkB,CAAA;AAClC,OAAO,WAAW,MAAM,eAAe,CAAA;AAEvC,WAAW,CAAC,WAAW,GAAG,WAAW,CAAC;AACtC,MAAM,CAAC,cAAc,CAAE,WAAW,EAAE,WAAW,EAAE,EAAE,KAAK,EAAG,SAAS,EAAE,CAAE,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;AAElC,IAAI,QAAQ,CAAC;AAEb,kDAAkD;AAClD,MAAM,kBAAmB,IAAI;IACzB,QAAQ,GAAG,GAAG,CAAE,IAAI,CAAE,CAAC;AAC3B,CAAC;AAEO,IAAA,qCAAM,CAA2B;AAEzC,WAAW,CAAC,SAAS,CAAC,MAAM,GAAG,UAAU,UAAU,EAAE,WAAW;IAC5D,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAE,EAAE,UAAU,EAAG,IAAI,EAAE,CAAE,CAAC;IAErD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAE,IAAI,EAAE,UAAU,EAAE,WAAW,CAAE,CAAC;AACxD,CAAC,CAAA;AAED,4CAA4C;AAC5C,IAAM,WAAW,GAAS,MAAM,CAAC,SAAS,CAAC;AAC3C,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC;AACzC,WAAW,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;AAE5C,IAAM,eAAe,GAAS,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC;AAC1D,eAAe,CAAC,OAAO,GAAG,eAAe,CAAC,YAAY,CAAC;AAEvD,OAAO,CAAE,IAAI,CAAE,CAAC;AAEhB,kEAAkE;AAClE,IAAM,iBAAiB,GAAG;IACtB,EAAE,EAAI,EAAE,GAAG,EAAG,cAAY,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAE,IAAI,CAAE,CAAA,CAAC,CAAC,EAAE;IACjE,GAAG,EAAG,EAAE,GAAG,EAAG,cAAY,MAAM,CAAC,MAAM,CAAC,CAAC,CAAE,IAAI,CAAC,EAAE,CAAE,CAAA,CAAC,CAAC,EAAE;IACxD,CAAC,EAAK,EAAE,KAAK,EAAG,UAAU,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAE,GAAG,CAAE,CAAA,CAAC,CAAC,EAAE;CACnE,CAAC;AAEF,MAAM,CAAC,gBAAgB,CAAE,WAAW,CAAC,SAAS,CAAC,SAAS,EAAE,iBAAiB,CAAE,CAAC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,sBAAsB;AACtB,OAAO,QAAQ,MAAM,aAAa,CAAA;AAClC,IAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAE,QAAQ,CAAE,CAAC;AAC9C,eAAe,WAAW,CAAC;AAC3B,cAAc,aAAa,CAAA;AAE3B,2CAA2C;AAC3C,OAAO,QAAQ,MAAM,WAAW,CAAA;AAChC,OAAO,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,KAAK,SAAS,MAAM,YAAY,CAAA;AAEvC,OAAO,OAAO,MAAM,gBAAgB,CAAA;AACpC,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAE,CAAA;AAElB,OAAO,GAAG,MAAM,kBAAkB,CAAA;AAClC,OAAO,WAAW,MAAM,eAAe,CAAA;AAEvC,WAAW,CAAC,WAAW,GAAG,WAAW,CAAC;AACtC,MAAM,CAAC,cAAc,CAAE,WAAW,EAAE,WAAW,EAAE,EAAE,KAAK,EAAG,SAAS,EAAE,CAAE,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;AAElC,IAAI,QAAQ,CAAC;AAEb,kDAAkD;AAClD,MAAM,kBAAmB,IAAI;IACzB,QAAQ,GAAG,GAAG,CAAE,IAAI,CAAE,CAAC;AAC3B,CAAC;AAEO,IAAA,yCAAQ,CAA2B;AAE3C,WAAW,CAAC,SAAS,CAAC,QAAQ,GAAG,UAAU,WAAW,EAAE,SAAS;IAC7D,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAE,EAAE,UAAU,EAAG,IAAI,EAAE,CAAE,CAAC;IAErD,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAE,IAAI,EAAE,WAAW,EAAE,SAAS,CAAE,CAAC;AACzD,CAAC,CAAA;AAED,4CAA4C;AAC5C,IAAM,WAAW,GAAS,MAAM,CAAC,SAAS,CAAC;AAC3C,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC;AACzC,WAAW,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;AAE5C,IAAM,eAAe,GAAS,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC;AAC1D,eAAe,CAAC,OAAO,GAAG,eAAe,CAAC,YAAY,CAAC;AAEvD,OAAO,CAAE,IAAI,CAAE,CAAC;AAEhB,kEAAkE;AAClE,IAAM,iBAAiB,GAAG;IACtB,EAAE,EAAI,EAAE,GAAG,EAAG,cAAY,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAE,IAAI,CAAE,CAAA,CAAC,CAAC,EAAE;IACjE,GAAG,EAAG,EAAE,GAAG,EAAG,cAAY,MAAM,CAAC,MAAM,CAAC,CAAC,CAAE,IAAI,CAAC,EAAE,CAAE,CAAA,CAAC,CAAC,EAAE;IACxD,CAAC,EAAK,EAAE,KAAK,EAAG,UAAU,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAE,GAAG,CAAE,CAAA,CAAC,CAAC,EAAE;CACnE,CAAC;AAEF,MAAM,CAAC,gBAAgB,CAAE,WAAW,CAAC,SAAS,CAAC,SAAS,EAAE,iBAAiB,CAAE,CAAC"} \ No newline at end of file diff --git a/src/index.ts b/src/index.ts index b6b02e5..b0e5386 100644 --- a/src/index.ts +++ b/src/index.ts @@ -27,12 +27,12 @@ export function useView( View ){ BaseView = use( View ); } -const { define } = NestedReact.Component; +const { onDefine } = NestedReact.Component; -NestedReact.Component.define = function( protoProps, staticProps ){ +NestedReact.Component.onDefine = function( definitions, BaseClass ){ this.View = BaseView.extend( { reactClass : this } ); - return define.call( this, protoProps, staticProps ); + return onDefine.call( this, definitions, BaseClass ); } // Deprecated API for backward compatibility From ec366797a2651a810ab17adf631fb3efc17fe04c Mon Sep 17 00:00:00 2001 From: Vlad Balin Date: Tue, 17 Oct 2017 19:16:56 -0400 Subject: [PATCH 10/25] legacy component definition hotfix --- dist/index.js | 2 +- dist/index.min.js | 2 +- dist/index.min.js.map | 2 +- lib/createClass.js | 2 +- lib/createClass.js.map | 2 +- src/createClass.ts | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/dist/index.js b/dist/index.js index 7a62222..1dc62bb 100644 --- a/dist/index.js +++ b/dist/index.js @@ -1717,7 +1717,7 @@ function createClass(_a) { var Subclass = __WEBPACK_IMPORTED_MODULE_0__react_mvx__["a" /* Component */].extend(__assign({ // Override constructor to autobind all the methods... constructor: function () { - __WEBPACK_IMPORTED_MODULE_0__react_mvx__["a" /* Component */].apply(this, this.arguments); + __WEBPACK_IMPORTED_MODULE_0__react_mvx__["a" /* Component */].apply(this, arguments); for (var _i = 0, methods_1 = methods; _i < methods_1.length; _i++) { var method = methods_1[_i]; this[method] = this[method].bind(this); diff --git a/dist/index.min.js b/dist/index.min.js index b14a392..e75bab1 100644 --- a/dist/index.min.js +++ b/dist/index.min.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("nestedtypes"),require("react"),require("react-dom")):"function"==typeof define&&define.amd?define(["nestedtypes","react","react-dom"],e):"object"==typeof exports?exports.React=e(require("nestedtypes"),require("react"),require("react-dom")):t.React=e(t.Nested,t.React,t.ReactDOM)}(this,function(t,e,n){return function(t){function e(o){if(n[o])return n[o].exports;var r=n[o]={i:o,l:!1,exports:{}};return t[o].call(r.exports,r,r.exports,e),r.l=!0,r.exports}var n={};return e.m=t,e.c=n,e.d=function(t,n,o){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:o})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=8)}([function(e,n){e.exports=t},function(t,e,n){"use strict";n.d(e,"e",function(){return a});var o=n(2),r=(n.n(o),n(0)),i=(n.n(r),n(4)),s=n(17),u=n(20);n.o(r,"define")&&n.d(e,"g",function(){return r.define}),n.o(r,"mixins")&&n.d(e,"h",function(){return r.mixins}),n.d(e,"d",function(){return i.b}),n.d(e,"b",function(){return i.a}),n.d(e,"c",function(){return s.a}),n.d(e,"a",function(){return u.a});var c=Object.create(o);c.default=c,c.define=r.define,c.mixins=r.mixins,c.Node=i.b.value(null),c.Element=i.a.value(null),c.Link=s.a,c.Component=u.a;var a=c.assignToState=function(t){return function(e){this.state.assignFrom((n={},n[t]=e&&e instanceof s.a?e.value:e,n));var n}};e.f=c},function(t,n){t.exports=e},function(t,e,n){"use strict";function o(t){var e,n,o,s={},u=c.Record.defaults(t).prototype;return u.forEachAttr(u._attributes,function(t,u){if("id"!==u){var c=t.value,a=t.type,p=t.options;if(s[u]=i(a,p.isRequired),p._onChange&&(n||(n={}),n[u]=r(p._onChange)),p.changeHandlers&&p.changeHandlers.length&&(o||(o={}),o[u]=p.changeHandlers),p.changeEvents){o||(o={});var f=o[u]||(o[u]=[]),l="string"==typeof p.changeEvents?p.changeEvents:null;f.push(function(t,e,n){e&&n.stopListening(e),t&&n.listenTo(t,l||t._changeEventName,n.asyncUpdate)})}void 0!==c&&(e||(e={}),e[u]=t.convert(c,void 0,null,{}))}}),{propTypes:s,defaults:e,watchers:n,changeHandlers:o}}function r(t){return"function"==typeof t?t:function(e,n){this[t]&&this[t](e,n)}}function i(t,e){var n=s(t);return e?n.isRequired:n}function s(t){switch(t){case Number:case Number.integer:return u.number;case String:return u.string;case Boolean:return u.bool;case Array:return u.array;case Function:return u.func;case Object:return u.object;case a:return u.node;case p:return u.element;case void 0:case null:return u.any;default:return u.instanceOf(t)}}e.c=o,n.d(e,"b",function(){return a}),n.d(e,"a",function(){return p});var u=n(6),c=(n.n(u),n(0)),a=(n.n(c),function(){function t(){}return t}()),p=function(){function t(){}return t}()},function(t,e,n){"use strict";function o(t,e){i.a.call(this,t,e),s.c.call(this,t,e),u.a.call(this,t,e),c.a.call(this,t,e),r.Messenger.onDefine.call(this,t,e)}e.c=o;var r=n(0),i=(n.n(r),n(9)),s=n(5),u=n(10),c=n(15),a=n(3);n.d(e,"b",function(){return a.b}),n.d(e,"a",function(){return a.a})},function(t,e,n){"use strict";function o(t,e){var n=this.prototype,o=t.state,a=t.State;if("function"==typeof o&&(a=o,o=void 0),o){var p=a||n.State||r.Record,f=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e}(p);f.attributes=o,f=s([r.define],f),n.State=f}else a&&(n.State=a);(o||a)&&this.mixins.merge([u,c])}e.c=o,n.d(e,"a",function(){return u}),n.d(e,"b",function(){return c});var r=n(0),i=(n.n(r),this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};return function(e,n){function o(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}}()),s=this&&this.__decorate||function(t,e,n,o){var r,i=arguments.length,s=i<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,o);else for(var u=t.length-1;u>=0;u--)(r=t[u])&&(s=(i<3?r(s):i>3?r(e,n,s):r(e,n))||s);return i>3&&s&&Object.defineProperty(e,n,s),s},u={_initializeState:function(){var t=this.state=this.props.__keepState||new this.State;t._owner=this,t._ownerKey="state"},context:{_nestedStore:r.Store},getStore:function(){var t,e;return(t=this.context)&&t._nestedStore||(e=this.state)&&e._defaultStore},componentWillUnmount:function(){var t=this.state;t._owner=t._ownerKey=void 0,this._preventDispose||t.dispose(),this.state=void 0}},c={_onChildrenChange:function(){},componentDidMount:function(){this._onChildrenChange=this.asyncUpdate}}},function(t,e,n){t.exports=n(11)()},function(t,e){t.exports=n},function(t,e,n){"use strict";function o(t){d=Object(f.a)(t)}Object.defineProperty(e,"__esModule",{value:!0}),e.useView=o;var r=n(1);n.d(e,"define",function(){return r.g}),n.d(e,"mixins",function(){return r.h}),n.d(e,"Node",function(){return r.d}),n.d(e,"Element",function(){return r.b}),n.d(e,"Link",function(){return r.c}),n.d(e,"Component",function(){return r.a}),n.d(e,"assignToState",function(){return r.e});var i=n(7),s=n.n(i),u=n(0),c=n.n(u),a=n(6),p=(n.n(a),n(21));n.d(e,"subview",function(){return p.a});var f=n(22),l=n(23);n.d(e,"PropTypes",function(){return a}),n.d(e,"createClass",function(){return l.a});var h=Object.create(r.f);e.default=h,h.subview=p.a,h.createClass=l.a,Object.defineProperty(h,"PropTypes",{value:a});var d,v=h.Component.onDefine;h.Component.onDefine=function(t,e){return this.View=d.extend({reactClass:this}),v.call(this,t,e)};var y=u.Record.prototype;y.getLink=y.linkAt,y.deepLink=y.linkPath;var m=u.Record.Collection.prototype;m.hasLink=m.linkContains,o(u.View);var _={el:{get:function(){return s.a.findDOMNode(this)}},$el:{get:function(){return c.a.$(this.el)}},$:{value:function(t){return this.$el.find(t)}}};Object.defineProperties(h.Component.prototype,_)},function(t,e,n){"use strict";function o(t,e){var n=t.store,o=t.Store;if(n&&n instanceof r.Store)this.prototype.store=n,this.mixins.merge([a,c]);else if(n||t.Store){if("function"==typeof n&&(o=n,n=void 0),n){var f=o||this.prototype.Store||r.Store,l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s(e,t),e}(f);l.attrbutes=n,l=u([r.define],l),this.prototype.Store=l}else o&&(this.prototype.Store=o);this.mixins.merge([p,i.b,c])}}e.a=o;var r=n(0),i=(n.n(r),n(5)),s=this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};return function(e,n){function o(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}}(),u=this&&this.__decorate||function(t,e,n,o){var r,i=arguments.length,s=i<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,o);else for(var u=t.length-1;u>=0;u--)(r=t[u])&&(s=(i<3?r(s):i>3?r(e,n,s):r(e,n))||s);return i>3&&s&&Object.defineProperty(e,n,s),s},c={childContext:{_nestedStore:r.Store},getChildContext:function(){return{_nestedStore:this.store}},getStore:function(){return this.store},get:function(t){var e=i.a.getStore.call(this,t);return e&&e.get(t)}},a={componentDidMount:function(){this.listenTo(this.store,"change",this.asyncUpdate)}},p={componentWillMount:function(){var t=this.store=new this.Store;t._owner=this,t._ownerKey="store"},componentWillUnmount:function(){this.store._ownerKey=this.store._owner=void 0,this.store.dispose(),this.store=void 0}}},function(t,e,n){"use strict";function o(t,e){var n=t.context,o=t.childContext,s=this.prototype;n&&(s._context=i.tools.defaults(n,e.prototype._context||{}),this.contextTypes=Object(r.c)(n).propTypes),o&&(s._childContext=i.tools.defaults(o,e.prototype._childContext),this.childContextTypes=Object(r.c)(o).propTypes)}e.a=o;var r=n(3),i=n(0);n.n(i)},function(t,e,n){"use strict";var o=n(12),r=n(13),i=n(14);t.exports=function(){function t(t,e,n,o,s,u){u!==i&&r(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function e(){return t}t.isRequired=t;var n={array:t,bool:t,func:t,number:t,object:t,string:t,symbol:t,any:t,arrayOf:e,element:t,instanceOf:e,node:t,objectOf:e,oneOf:e,oneOfType:e,shape:e,exact:e};return n.checkPropTypes=o,n.PropTypes=n,n}},function(t,e,n){"use strict";function o(t){return function(){return t}}var r=function(){};r.thatReturns=o,r.thatReturnsFalse=o(!1),r.thatReturnsTrue=o(!0),r.thatReturnsNull=o(null),r.thatReturnsThis=function(){return this},r.thatReturnsArgument=function(t){return t},t.exports=r},function(t,e,n){"use strict";function o(t,e,n,o,i,s,u,c){if(r(e),!t){var a;if(void 0===e)a=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var p=[n,o,i,s,u,c],f=0;a=new Error(e.replace(/%s/g,function(){return p[f++]})),a.name="Invariant Violation"}throw a.framesToPop=1,a}}var r=function(t){};t.exports=o},function(t,e,n){"use strict";t.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(t,e,n){"use strict";function o(t,e){var n=t.props,o=t.pureRender,r=this.prototype;if(n){r._props=u.tools.defaults(n,e.prototype._props||{});var p=Object(i.c)(n),f=p.propTypes,l=p.defaults,h=p.watchers,d=p.changeHandlers;this.propTypes=f,l&&(this.defaultProps=l),h&&(r._watchers=h,this.mixins.merge([a])),d&&(r._changeHandlers=d,this.mixins.merge([c])),r.pureRender&&(r.PropsChangeTokens=Object(s.b)(n))}o&&this.mixins.merge([s.a])}function r(t,e,n){var o=t._changeHandlers;for(var r in o)if(e[r]!==n[r])for(var i=0,s=o[r];i=0)||this;return o.parent=e,o.element=n,o}return r(e,t),e.prototype.set=function(t){var e=this,n=Boolean(t);if(this.value!==n){var o=this.parent.value,r=t?o.concat(this.element):o.filter(function(t){return t!==e.element});this.parent.set(r)}},e}(i),f="Invalid value",l=function(t){function e(e,n){var o=t.call(this,e.value[n])||this;return o.parent=e,o.key=n,o}return r(e,t),e.prototype.remove=function(){this.parent.removeAt(this.key)},e.prototype.set=function(t){var e=this;this.value!==t&&this.parent.update(function(n){return n[e.key]=t,n})},e}(i)},function(t,e,n){"use strict";function o(t){if(t&&"object"==typeof t)switch(Object.getPrototypeOf(t)){case r:return c;case i:return u}return s}e.b=o,n.d(e,"a",function(){return c});var r=Array.prototype,i=Object.prototype,s={clone:function(t){return t},map:function(t,e){return[]},remove:function(t){return t}},u={map:function(t,e){var n=[];for(var o in t.value){var r=e(t.at(o),o);void 0===r||n.push(r)}return n},remove:function(t,e){return delete t[e],t},clone:function(t){var e={};for(var n in t)e[n]=t[n];return e}},c={clone:function(t){return t.slice()},remove:function(t,e){return t.splice(e,1),t},map:function(t,e){for(var n=t.value.length,o=Array(n),r=0,i=0;r=0;u--)(r=t[u])&&(s=(i<3?r(s):i>3?r(e,n,s):r(e,n))||s);return i>3&&s&&Object.defineProperty(e,n,s),s},a=function(t){function e(e,n){var o=t.call(this,e,n)||this;return o._initializeState(),o}return u(e,t),e.prototype.linkAt=function(t){return this.state.linkAt(t)},e.prototype.linkAll=function(){var t=this.state;return t.linkAll.apply(t,arguments)},e.prototype.linkPath=function(t){return this.state.linkPath(t)},Object.defineProperty(e.prototype,"links",{get:function(){return this.state._links},enumerable:!0,configurable:!0}),e.prototype._initializeState=function(){this.state=null},e.prototype.assignToState=function(t,e){this.state.assignFrom((n={},n[e]=t,n));var n},e.prototype.componentWillUnmount=function(){this.dispose()},e.prototype.transaction=function(t){var e=this.shouldComponentUpdate,n=e!==o;n&&(this.shouldComponentUpdate=o);var r=this,i=r.state,s=r.store,u=s?function(e){return s.transaction(function(){return t(e)})}:t;i?i.transaction(u):u(i),n&&(this.shouldComponentUpdate=e,this.asyncUpdate())},e.prototype.asyncUpdate=function(){this.shouldComponentUpdate===o||this._disposed||this.forceUpdate()},e}(r.Component);a.onDefine=s.c,a=c([i.define,Object(i.definitions)({state:i.mixinRules.merge,State:i.mixinRules.value,store:i.mixinRules.merge,Store:i.mixinRules.value,props:i.mixinRules.merge,context:i.mixinRules.merge,childContext:i.mixinRules.merge,pureRender:i.mixinRules.protoValue}),Object(i.mixinRules)({componentWillMount:i.mixinRules.classLast,componentDidMount:i.mixinRules.classLast,componentWillReceiveProps:i.mixinRules.classLast,componentWillUpdate:i.mixinRules.classLast,componentDidUpdate:i.mixinRules.classLast,componentWillUnmount:i.mixinRules.classFirst,shouldComponentUpdate:i.mixinRules.some,getChildContext:i.mixinRules.defaults}),Object(i.mixins)(i.Messenger)],a),Object.defineProperty(a.prototype,"isMounted",{value:function(){return!this._disposed}})},function(t,e,n){"use strict";var o=n(1),r=n(0),i=(n.n(r),this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};return function(e,n){function o(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}}()),s=r.tools.notEqual,u=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.saveRef=function(t){e.root=t},e}return i(e,t),e.prototype.shouldComponentUpdate=function(t){var e=this.props;return t.View!==e.View||s(t.options,e.options)},e.prototype.hasUnsavedChanges=function(){var t=this.view;return t&&("function"==typeof t.hasUnsavedChanges?t.hasUnsavedChanges():t.hasUnsavedChanges)},e.prototype.render=function(){return o.f.createElement("div",{ref:this.saveRef,className:this.props.className})},e.prototype.componentDidMount=function(){this._mountView()},e.prototype.componentDidUpdate=function(){this._dispose(),this._mountView()},e.prototype.componentWillUnmount=function(){this._dispose()},e.prototype._mountView=function(){var t=this.root,e=this.props,n=this.view=e.options?new e.View(e.options):new e.View;t.appendChild(n.el),n.render()},e.prototype._dispose=function(){var t=this.view;t&&(t.dispose?t.dispose():(t.stopListening(),t.off()),this.root.innerHTML="",this.view=null)},e}(o.a);e.a=u},function(t,e,n){"use strict";function o(t){var e=t.prototype.dispose||function(){},n=t.prototype.setElement,o=t.extend({reactClass:null,props:{},element:null,initialize:function(t){this.options=t||{}},setElement:function(){return this.unmountComponent(!0),n.apply(this,arguments)},component:null,prevState:null,resize:function(){window.Page.forceResize()},render:function(){var t=this.prevState?u.tools.fastAssign({__keepState:this.prevState},this.options):this.options,e=r.createElement(this.reactClass,t),n=s.a.render(e,this.el);this.component||this.mountComponent(n)},mountComponent:function(t){this.component=t,this.prevState=null,t.trigger&&this.listenTo(t,"all",function(){this.trigger.apply(this,arguments)})},unmountComponent:function(t){var e=this.component;e&&(this.prevState=e.state,e.trigger&&this.stopListening(e),e._preventDispose=Boolean(t),s.a.unmountComponentAtNode(this.el),this.component=null)},dispose:function(){return this.unmountComponent(),e.apply(this,arguments)}});return Object.defineProperty(o.prototype,"model",{get:function(){return this.component||this.render(),this.component&&this.component.state}}),o}e.a=o;var r=n(2),i=(n.n(r),n(7)),s=n.n(i),u=n(0);n.n(u);window.Page||(window.Page={forceResize:function(){}})},function(t,e,n){"use strict";function o(t){var e=t.statics,n=s(t,["statics"]),o=[],c=r.a.extend(i({constructor:function(){r.a.apply(this,this.arguments);for(var t=0,e=o;t=0;u--)(r=t[u])&&(s=(i<3?r(s):i>3?r(e,n,s):r(e,n))||s);return i>3&&s&&Object.defineProperty(e,n,s),s},u={_initializeState:function(){var t=this.state=this.props.__keepState||new this.State;t._owner=this,t._ownerKey="state"},context:{_nestedStore:r.Store},getStore:function(){var t,e;return(t=this.context)&&t._nestedStore||(e=this.state)&&e._defaultStore},componentWillUnmount:function(){var t=this.state;t._owner=t._ownerKey=void 0,this._preventDispose||t.dispose(),this.state=void 0}},c={_onChildrenChange:function(){},componentDidMount:function(){this._onChildrenChange=this.asyncUpdate}}},function(t,e,n){t.exports=n(11)()},function(t,e){t.exports=n},function(t,e,n){"use strict";function o(t){d=Object(f.a)(t)}Object.defineProperty(e,"__esModule",{value:!0}),e.useView=o;var r=n(1);n.d(e,"define",function(){return r.g}),n.d(e,"mixins",function(){return r.h}),n.d(e,"Node",function(){return r.d}),n.d(e,"Element",function(){return r.b}),n.d(e,"Link",function(){return r.c}),n.d(e,"Component",function(){return r.a}),n.d(e,"assignToState",function(){return r.e});var i=n(7),s=n.n(i),u=n(0),c=n.n(u),a=n(6),p=(n.n(a),n(21));n.d(e,"subview",function(){return p.a});var f=n(22),l=n(23);n.d(e,"PropTypes",function(){return a}),n.d(e,"createClass",function(){return l.a});var h=Object.create(r.f);e.default=h,h.subview=p.a,h.createClass=l.a,Object.defineProperty(h,"PropTypes",{value:a});var d,v=h.Component.onDefine;h.Component.onDefine=function(t,e){return this.View=d.extend({reactClass:this}),v.call(this,t,e)};var y=u.Record.prototype;y.getLink=y.linkAt,y.deepLink=y.linkPath;var m=u.Record.Collection.prototype;m.hasLink=m.linkContains,o(u.View);var _={el:{get:function(){return s.a.findDOMNode(this)}},$el:{get:function(){return c.a.$(this.el)}},$:{value:function(t){return this.$el.find(t)}}};Object.defineProperties(h.Component.prototype,_)},function(t,e,n){"use strict";function o(t,e){var n=t.store,o=t.Store;if(n&&n instanceof r.Store)this.prototype.store=n,this.mixins.merge([a,c]);else if(n||t.Store){if("function"==typeof n&&(o=n,n=void 0),n){var f=o||this.prototype.Store||r.Store,l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s(e,t),e}(f);l.attrbutes=n,l=u([r.define],l),this.prototype.Store=l}else o&&(this.prototype.Store=o);this.mixins.merge([p,i.b,c])}}e.a=o;var r=n(0),i=(n.n(r),n(5)),s=this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};return function(e,n){function o(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}}(),u=this&&this.__decorate||function(t,e,n,o){var r,i=arguments.length,s=i<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,o);else for(var u=t.length-1;u>=0;u--)(r=t[u])&&(s=(i<3?r(s):i>3?r(e,n,s):r(e,n))||s);return i>3&&s&&Object.defineProperty(e,n,s),s},c={childContext:{_nestedStore:r.Store},getChildContext:function(){return{_nestedStore:this.store}},getStore:function(){return this.store},get:function(t){var e=i.a.getStore.call(this,t);return e&&e.get(t)}},a={componentDidMount:function(){this.listenTo(this.store,"change",this.asyncUpdate)}},p={componentWillMount:function(){var t=this.store=new this.Store;t._owner=this,t._ownerKey="store"},componentWillUnmount:function(){this.store._ownerKey=this.store._owner=void 0,this.store.dispose(),this.store=void 0}}},function(t,e,n){"use strict";function o(t,e){var n=t.context,o=t.childContext,s=this.prototype;n&&(s._context=i.tools.defaults(n,e.prototype._context||{}),this.contextTypes=Object(r.c)(n).propTypes),o&&(s._childContext=i.tools.defaults(o,e.prototype._childContext),this.childContextTypes=Object(r.c)(o).propTypes)}e.a=o;var r=n(3),i=n(0);n.n(i)},function(t,e,n){"use strict";var o=n(12),r=n(13),i=n(14);t.exports=function(){function t(t,e,n,o,s,u){u!==i&&r(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function e(){return t}t.isRequired=t;var n={array:t,bool:t,func:t,number:t,object:t,string:t,symbol:t,any:t,arrayOf:e,element:t,instanceOf:e,node:t,objectOf:e,oneOf:e,oneOfType:e,shape:e,exact:e};return n.checkPropTypes=o,n.PropTypes=n,n}},function(t,e,n){"use strict";function o(t){return function(){return t}}var r=function(){};r.thatReturns=o,r.thatReturnsFalse=o(!1),r.thatReturnsTrue=o(!0),r.thatReturnsNull=o(null),r.thatReturnsThis=function(){return this},r.thatReturnsArgument=function(t){return t},t.exports=r},function(t,e,n){"use strict";function o(t,e,n,o,i,s,u,c){if(r(e),!t){var a;if(void 0===e)a=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var p=[n,o,i,s,u,c],f=0;a=new Error(e.replace(/%s/g,function(){return p[f++]})),a.name="Invariant Violation"}throw a.framesToPop=1,a}}var r=function(t){};t.exports=o},function(t,e,n){"use strict";t.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(t,e,n){"use strict";function o(t,e){var n=t.props,o=t.pureRender,r=this.prototype;if(n){r._props=u.tools.defaults(n,e.prototype._props||{});var p=Object(i.c)(n),f=p.propTypes,l=p.defaults,h=p.watchers,d=p.changeHandlers;this.propTypes=f,l&&(this.defaultProps=l),h&&(r._watchers=h,this.mixins.merge([a])),d&&(r._changeHandlers=d,this.mixins.merge([c])),r.pureRender&&(r.PropsChangeTokens=Object(s.b)(n))}o&&this.mixins.merge([s.a])}function r(t,e,n){var o=t._changeHandlers;for(var r in o)if(e[r]!==n[r])for(var i=0,s=o[r];i=0)||this;return o.parent=e,o.element=n,o}return r(e,t),e.prototype.set=function(t){var e=this,n=Boolean(t);if(this.value!==n){var o=this.parent.value,r=t?o.concat(this.element):o.filter(function(t){return t!==e.element});this.parent.set(r)}},e}(i),f="Invalid value",l=function(t){function e(e,n){var o=t.call(this,e.value[n])||this;return o.parent=e,o.key=n,o}return r(e,t),e.prototype.remove=function(){this.parent.removeAt(this.key)},e.prototype.set=function(t){var e=this;this.value!==t&&this.parent.update(function(n){return n[e.key]=t,n})},e}(i)},function(t,e,n){"use strict";function o(t){if(t&&"object"==typeof t)switch(Object.getPrototypeOf(t)){case r:return c;case i:return u}return s}e.b=o,n.d(e,"a",function(){return c});var r=Array.prototype,i=Object.prototype,s={clone:function(t){return t},map:function(t,e){return[]},remove:function(t){return t}},u={map:function(t,e){var n=[];for(var o in t.value){var r=e(t.at(o),o);void 0===r||n.push(r)}return n},remove:function(t,e){return delete t[e],t},clone:function(t){var e={};for(var n in t)e[n]=t[n];return e}},c={clone:function(t){return t.slice()},remove:function(t,e){return t.splice(e,1),t},map:function(t,e){for(var n=t.value.length,o=Array(n),r=0,i=0;r=0;u--)(r=t[u])&&(s=(i<3?r(s):i>3?r(e,n,s):r(e,n))||s);return i>3&&s&&Object.defineProperty(e,n,s),s},a=function(t){function e(e,n){var o=t.call(this,e,n)||this;return o._initializeState(),o}return u(e,t),e.prototype.linkAt=function(t){return this.state.linkAt(t)},e.prototype.linkAll=function(){var t=this.state;return t.linkAll.apply(t,arguments)},e.prototype.linkPath=function(t){return this.state.linkPath(t)},Object.defineProperty(e.prototype,"links",{get:function(){return this.state._links},enumerable:!0,configurable:!0}),e.prototype._initializeState=function(){this.state=null},e.prototype.assignToState=function(t,e){this.state.assignFrom((n={},n[e]=t,n));var n},e.prototype.componentWillUnmount=function(){this.dispose()},e.prototype.transaction=function(t){var e=this.shouldComponentUpdate,n=e!==o;n&&(this.shouldComponentUpdate=o);var r=this,i=r.state,s=r.store,u=s?function(e){return s.transaction(function(){return t(e)})}:t;i?i.transaction(u):u(i),n&&(this.shouldComponentUpdate=e,this.asyncUpdate())},e.prototype.asyncUpdate=function(){this.shouldComponentUpdate===o||this._disposed||this.forceUpdate()},e}(r.Component);a.onDefine=s.c,a=c([i.define,Object(i.definitions)({state:i.mixinRules.merge,State:i.mixinRules.value,store:i.mixinRules.merge,Store:i.mixinRules.value,props:i.mixinRules.merge,context:i.mixinRules.merge,childContext:i.mixinRules.merge,pureRender:i.mixinRules.protoValue}),Object(i.mixinRules)({componentWillMount:i.mixinRules.classLast,componentDidMount:i.mixinRules.classLast,componentWillReceiveProps:i.mixinRules.classLast,componentWillUpdate:i.mixinRules.classLast,componentDidUpdate:i.mixinRules.classLast,componentWillUnmount:i.mixinRules.classFirst,shouldComponentUpdate:i.mixinRules.some,getChildContext:i.mixinRules.defaults}),Object(i.mixins)(i.Messenger)],a),Object.defineProperty(a.prototype,"isMounted",{value:function(){return!this._disposed}})},function(t,e,n){"use strict";var o=n(1),r=n(0),i=(n.n(r),this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};return function(e,n){function o(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}}()),s=r.tools.notEqual,u=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.saveRef=function(t){e.root=t},e}return i(e,t),e.prototype.shouldComponentUpdate=function(t){var e=this.props;return t.View!==e.View||s(t.options,e.options)},e.prototype.hasUnsavedChanges=function(){var t=this.view;return t&&("function"==typeof t.hasUnsavedChanges?t.hasUnsavedChanges():t.hasUnsavedChanges)},e.prototype.render=function(){return o.f.createElement("div",{ref:this.saveRef,className:this.props.className})},e.prototype.componentDidMount=function(){this._mountView()},e.prototype.componentDidUpdate=function(){this._dispose(),this._mountView()},e.prototype.componentWillUnmount=function(){this._dispose()},e.prototype._mountView=function(){var t=this.root,e=this.props,n=this.view=e.options?new e.View(e.options):new e.View;t.appendChild(n.el),n.render()},e.prototype._dispose=function(){var t=this.view;t&&(t.dispose?t.dispose():(t.stopListening(),t.off()),this.root.innerHTML="",this.view=null)},e}(o.a);e.a=u},function(t,e,n){"use strict";function o(t){var e=t.prototype.dispose||function(){},n=t.prototype.setElement,o=t.extend({reactClass:null,props:{},element:null,initialize:function(t){this.options=t||{}},setElement:function(){return this.unmountComponent(!0),n.apply(this,arguments)},component:null,prevState:null,resize:function(){window.Page.forceResize()},render:function(){var t=this.prevState?u.tools.fastAssign({__keepState:this.prevState},this.options):this.options,e=r.createElement(this.reactClass,t),n=s.a.render(e,this.el);this.component||this.mountComponent(n)},mountComponent:function(t){this.component=t,this.prevState=null,t.trigger&&this.listenTo(t,"all",function(){this.trigger.apply(this,arguments)})},unmountComponent:function(t){var e=this.component;e&&(this.prevState=e.state,e.trigger&&this.stopListening(e),e._preventDispose=Boolean(t),s.a.unmountComponentAtNode(this.el),this.component=null)},dispose:function(){return this.unmountComponent(),e.apply(this,arguments)}});return Object.defineProperty(o.prototype,"model",{get:function(){return this.component||this.render(),this.component&&this.component.state}}),o}e.a=o;var r=n(2),i=(n.n(r),n(7)),s=n.n(i),u=n(0);n.n(u);window.Page||(window.Page={forceResize:function(){}})},function(t,e,n){"use strict";function o(t){var e=t.statics,n=s(t,["statics"]),o=[],c=r.a.extend(i({constructor:function(){r.a.apply(this,arguments);for(var t=0,e=o;t= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n/*****************\n * State\n */\n\nfunction process(definition, BaseComponentClass) {\n var prototype = this.prototype;\n var state = definition.state, State = definition.State;\n if (typeof state === 'function') {\n State = state;\n state = void 0;\n }\n if (state) {\n var BaseClass = State || prototype.State || __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Record\"];\n var ComponentState = (function (_super) {\n __extends(ComponentState, _super);\n function ComponentState() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return ComponentState;\n }(BaseClass));\n ComponentState.attributes = state;\n ComponentState = __decorate([\n __WEBPACK_IMPORTED_MODULE_0_type_r__[\"define\"]\n ], ComponentState);\n prototype.State = ComponentState;\n }\n else if (State) {\n prototype.State = State;\n }\n if (state || State) {\n this.mixins.merge([StateMixin, UpdateOnNestedChangesMixin]);\n }\n}\nvar StateMixin = {\n //state : null,\n _initializeState: function () {\n // props.__keepState is used to workaround issues in Backbone intergation layer\n var state = this.state = this.props.__keepState || new this.State();\n // Take ownership on state...\n state._owner = this;\n state._ownerKey = 'state';\n },\n context: {\n _nestedStore: __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Store\"]\n },\n // reference global store to fix model's store locator\n getStore: function () {\n // Attempt to get the store from the context first. Then - fallback to the state's default store.\n // TBD: Need to figure out a good way of managing local stores.\n var context, state;\n return ((context = this.context) && context._nestedStore) ||\n ((state = this.state) && state._defaultStore);\n },\n componentWillUnmount: function () {\n var state = this.state;\n state._owner = state._ownerKey = void 0;\n this._preventDispose /* hack for component-view to preserve the state */ || state.dispose();\n this.state = void 0;\n }\n};\nvar UpdateOnNestedChangesMixin = {\n _onChildrenChange: function () { },\n componentDidMount: function () {\n this._onChildrenChange = this.asyncUpdate;\n }\n};\n//# sourceMappingURL=state.js.map\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (false) {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = __webpack_require__(11)();\n}\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_7__;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (immutable) */ __webpack_exports__[\"useView\"] = useView;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1);\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"define\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"g\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"mixins\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"h\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Node\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"d\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Element\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"b\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Link\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"c\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Component\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"assignToState\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"e\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__view_element__ = __webpack_require__(21);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"subview\", function() { return __WEBPACK_IMPORTED_MODULE_4__view_element__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__component_view__ = __webpack_require__(22);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__createClass__ = __webpack_require__(23);\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"PropTypes\", function() { return __WEBPACK_IMPORTED_MODULE_3_prop_types__; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"createClass\", function() { return __WEBPACK_IMPORTED_MODULE_6__createClass__[\"a\"]; });\n// Re-export react-mvx\n\nvar NestedReact = Object.create(__WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"f\" /* default */]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (NestedReact);\n\n// NestedReact backward compatibility layer\n\n\n\n\nNestedReact.subview = __WEBPACK_IMPORTED_MODULE_4__view_element__[\"a\" /* default */];\n\n\n\nNestedReact.createClass = __WEBPACK_IMPORTED_MODULE_6__createClass__[\"a\" /* default */];\nObject.defineProperty(NestedReact, 'PropTypes', { value: __WEBPACK_IMPORTED_MODULE_3_prop_types__ });\n\nvar BaseView;\n// export hook to override base View class used...\nfunction useView(View) {\n BaseView = Object(__WEBPACK_IMPORTED_MODULE_5__component_view__[\"a\" /* default */])(View);\n}\nvar onDefine = NestedReact.Component.onDefine;\nNestedReact.Component.onDefine = function (definitions, BaseClass) {\n this.View = BaseView.extend({ reactClass: this });\n return onDefine.call(this, definitions, BaseClass);\n};\n// Deprecated API for backward compatibility\nvar RecordProto = __WEBPACK_IMPORTED_MODULE_2_type_r__[\"Record\"].prototype;\nRecordProto.getLink = RecordProto.linkAt;\nRecordProto.deepLink = RecordProto.linkPath;\nvar CollectionProto = __WEBPACK_IMPORTED_MODULE_2_type_r__[\"Record\"].Collection.prototype;\nCollectionProto.hasLink = CollectionProto.linkContains;\nuseView(__WEBPACK_IMPORTED_MODULE_2_type_r__[\"View\"]);\n// Extend react components to have backbone-style jquery accessors\nvar BackboneViewProps = {\n el: { get: function () { return __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.findDOMNode(this); } },\n $el: { get: function () { return __WEBPACK_IMPORTED_MODULE_2_type_r___default.a.$(this.el); } },\n $: { value: function (sel) { return this.$el.find(sel); } }\n};\nObject.defineProperties(NestedReact.Component.prototype, BackboneViewProps);\n//# sourceMappingURL=index.js.map\n\n/***/ }),\n/* 9 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = onDefine;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__state__ = __webpack_require__(5);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\nfunction onDefine(definition, BaseClass) {\n var store = definition.store, StoreClass = definition.Store;\n if (store && store instanceof __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Store\"]) {\n // Direct reference to an existing store. Put it to the prototype.\n this.prototype.store = store;\n this.mixins.merge([ExternalStoreMixin, ExposeStoreMixin]);\n }\n else if (store || definition.Store) {\n if (typeof store === 'function') {\n StoreClass = store;\n store = void 0;\n }\n if (store) {\n var BaseClass_1 = StoreClass || this.prototype.Store || __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Store\"];\n var InternalStore = (function (_super) {\n __extends(InternalStore, _super);\n function InternalStore() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return InternalStore;\n }(BaseClass_1));\n InternalStore.attrbutes = store;\n InternalStore = __decorate([\n __WEBPACK_IMPORTED_MODULE_0_type_r__[\"define\"]\n ], InternalStore);\n ;\n this.prototype.Store = InternalStore;\n }\n else if (StoreClass) {\n this.prototype.Store = StoreClass;\n }\n this.mixins.merge([InternalStoreMixin, __WEBPACK_IMPORTED_MODULE_1__state__[\"b\" /* UpdateOnNestedChangesMixin */], ExposeStoreMixin]);\n }\n}\n/**\n * Attached whenever the store declaration of any form is present in the component.\n */\nvar ExposeStoreMixin = {\n childContext: {\n _nestedStore: __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Store\"]\n },\n getChildContext: function () {\n return { _nestedStore: this.store };\n },\n getStore: function () {\n return this.store;\n },\n // Will be called by the store when the lookup will fail.\n get: function (key) {\n // Ask upper store.\n var store = __WEBPACK_IMPORTED_MODULE_1__state__[\"a\" /* StateMixin */].getStore.call(this, key);\n return store && store.get(key);\n }\n};\n/**\n * External store must just track the changes and trigger render.\n * TBD: don't use it yet.\n */\nvar ExternalStoreMixin = {\n componentDidMount: function () {\n // Start UI updates on state changes.\n this.listenTo(this.store, 'change', this.asyncUpdate);\n }\n};\nvar InternalStoreMixin = {\n componentWillMount: function () {\n var store = this.store = new this.Store();\n store._owner = this;\n store._ownerKey = 'store';\n },\n componentWillUnmount: function () {\n this.store._ownerKey = this.store._owner = void 0;\n this.store.dispose();\n this.store = void 0;\n }\n};\n//# sourceMappingURL=store.js.map\n\n/***/ }),\n/* 10 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = onDefine;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n\n\nfunction onDefine(_a, BaseClass) {\n var context = _a.context, childContext = _a.childContext;\n var prototype = this.prototype;\n if (context) {\n // Merge in inherited members...\n prototype._context = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].defaults(context, BaseClass.prototype._context || {});\n // Compile to propTypes...\n this.contextTypes = Object(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* compileSpecs */])(context).propTypes;\n }\n if (childContext) {\n prototype._childContext = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].defaults(childContext, BaseClass.prototype._childContext);\n this.childContextTypes = Object(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* compileSpecs */])(childContext).propTypes;\n }\n}\n//# sourceMappingURL=context.js.map\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar emptyFunction = __webpack_require__(12);\nvar invariant = __webpack_require__(13);\nvar ReactPropTypesSecret = __webpack_require__(14);\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n invariant(\n false,\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim\n };\n\n ReactPropTypes.checkPropTypes = emptyFunction;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (false) {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = onDefine;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__pureRender__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__);\n/**\n * Handle props specification and everything which is related:\n * - local listening to props changes\n * - pure render mixin\n */\n\n\n\nfunction onDefine(_a, BaseClass) {\n var props = _a.props, pureRender = _a.pureRender;\n var prototype = this.prototype;\n // process props spec...\n if (props) {\n // Merge with inherited members...\n prototype._props = __WEBPACK_IMPORTED_MODULE_2_type_r__[\"tools\"].defaults(props, BaseClass.prototype._props || {});\n var _b = Object(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* compileSpecs */])(props), propTypes = _b.propTypes, defaults = _b.defaults, watchers = _b.watchers, changeHandlers = _b.changeHandlers;\n this.propTypes = propTypes;\n if (defaults)\n this.defaultProps = defaults;\n if (watchers) {\n prototype._watchers = watchers;\n this.mixins.merge([WatchersMixin]);\n }\n if (changeHandlers) {\n prototype._changeHandlers = changeHandlers;\n this.mixins.merge([ChangeHandlersMixin]);\n }\n if (prototype.pureRender) {\n prototype.PropsChangeTokens = Object(__WEBPACK_IMPORTED_MODULE_1__pureRender__[\"b\" /* createChangeTokensConstructor */])(props);\n }\n }\n if (pureRender) {\n this.mixins.merge([__WEBPACK_IMPORTED_MODULE_1__pureRender__[\"a\" /* PureRenderMixin */]]);\n }\n}\n/**\n * ChangeHandlers are fired in sequence upon props replacement.\n * Fires _after_ UI is updated. Used for managing events subscriptions.\n */\nvar ChangeHandlersMixin = {\n componentDidMount: function () {\n handlePropsChanges(this, {}, this.props);\n },\n componentDidUpdate: function (prev) {\n handlePropsChanges(this, prev, this.props);\n },\n componentWillUnmount: function () {\n handlePropsChanges(this, this.props, {});\n }\n};\nfunction handlePropsChanges(component, prev, next) {\n var _changeHandlers = component._changeHandlers;\n for (var name_1 in _changeHandlers) {\n if (prev[name_1] !== next[name_1]) {\n for (var _i = 0, _a = _changeHandlers[name_1]; _i < _a.length; _i++) {\n var handler = _a[_i];\n handler(next[name_1], prev[name_1], component);\n }\n }\n }\n}\n/**\n * Watchers works on props replacement and fires _before_ any change will be applied and UI is updated.\n * Fired in componentWillMount as well, which makes it a nice way to sync state from props.\n */\nvar WatchersMixin = {\n componentWillReceiveProps: function (next) {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_2 in _watchers) {\n if (next[name_2] !== props[name_2]) {\n _watchers[name_2].call(this, next[name_2], name_2);\n }\n }\n },\n componentWillMount: function () {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_3 in _watchers) {\n _watchers[name_3].call(this, props[name_3], name_3);\n }\n }\n};\n//# sourceMappingURL=props.js.map\n\n/***/ }),\n/* 16 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = createChangeTokensConstructor;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return PureRenderMixin; });\nfunction createChangeTokensConstructor(props) {\n var propNames = Object.keys(props);\n var PropsChangeTokens = new Function('p', 's', \"\\n var v;\\n this._s = s && s._changeToken;\\n \" + propNames.map(function (name) { return \"\\n this.\" + name + \" = ( ( v = p.\" + name + \") && v._changeToken ) || v;\\n \"; }).join('') + \"\\n \");\n PropsChangeTokens.prototype._hasChanges = new Function('p', 's', \"\\n var v;\\n return ( s && s._changeToken !== this._s ) \" + propNames.map(function (name) { return \" ||\\n this.\" + name + \" !== ( ( ( v = p.\" + name + \") && v._changeToken ) || v )\\n \"; }).join('') + \";\\n \");\n return PropsChangeTokens;\n}\n;\nvar PureRenderMixin = {\n shouldComponentUpdate: function (nextProps) {\n return this._propsChangeTokens._hasChanges(nextProps);\n },\n componentDidMount: updateChangeTokens,\n componentDidUpdate: updateChangeTokens\n};\nfunction updateChangeTokens() {\n this._propsChangeTokens = new this.PropsChangeTokens(this.props, this.state);\n}\n//# sourceMappingURL=pureRender.js.map\n\n/***/ }),\n/* 17 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__valuelink_link__ = __webpack_require__(18);\n/**\n * Import ValueLink library\n * Define value links binding mixins to the Record and Collection\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]);\n__WEBPACK_IMPORTED_MODULE_0_type_r__[\"Mixable\"].mixins.populate(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]);\n/**\n * Record\n */\n__WEBPACK_IMPORTED_MODULE_0_type_r__[\"MixinsState\"].get(__WEBPACK_IMPORTED_MODULE_0_type_r__[\"Record\"]).merge([{\n // Link to the record's attribute by its key.\n linkAt: function (key) {\n return cacheLink(getLinksCache(this), this, key);\n },\n // Link to the attribute of the record's tree by symbolic path.\n linkPath: function (path, options) {\n return new RecordDeepLink(this, path, options);\n },\n // Link all (or listed) attributes and return links cache.\n linkAll: function () {\n var links = getLinksCache(this);\n if (arguments.length) {\n for (var i = 0; i < arguments.length; i++) {\n cacheLink(links, this, arguments[i]);\n }\n }\n else {\n var attributes = this.attributes;\n for (var key in attributes) {\n attributes[key] === void 0 || cacheLink(links, this, key);\n }\n }\n return links;\n }\n }]);\n/**\n * Link to Type-R's record attribute.\n * Strict evaluation of value, lazy evaluation of validation error.\n * Links are cached in the records\n */\nvar RecordLink = (function (_super) {\n __extends(RecordLink, _super);\n function RecordLink(record, attr, value) {\n var _this = _super.call(this, value) || this;\n _this.record = record;\n _this.attr = attr;\n return _this;\n }\n RecordLink.prototype.set = function (x) {\n this.record[this.attr] = x;\n };\n Object.defineProperty(RecordLink.prototype, \"error\", {\n get: function () {\n return this._error === void 0 ?\n this.record.getValidationError(this.attr) :\n this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n return RecordLink;\n}(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]));\nvar RecordDeepLink = (function (_super) {\n __extends(RecordDeepLink, _super);\n function RecordDeepLink(record, path, options) {\n var _this = _super.call(this, record.deepGet(path)) || this;\n _this.record = record;\n _this.path = path;\n _this.options = options;\n return _this;\n }\n Object.defineProperty(RecordDeepLink.prototype, \"error\", {\n get: function () {\n if (this._error === void 0) {\n this._error = this.record.deepValidationError(this.path) || null;\n }\n return this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(RecordDeepLink.prototype, \"_changeToken\", {\n get: function () {\n return this.record._changeToken;\n },\n enumerable: true,\n configurable: true\n });\n RecordDeepLink.prototype.set = function (x) {\n this.record.deepSet(this.path, x, this.options);\n };\n return RecordDeepLink;\n}(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]));\nfunction getLinksCache(record) {\n return record._links || (record._links = new record.AttributesCopy({}));\n}\nfunction cacheLink(links, record, key) {\n var cached = links[key], value = record[key];\n return cached && cached.value === value ? cached\n : links[key] = new RecordLink(record, key, value);\n}\n/***********************************\n * Collection\n */\n__WEBPACK_IMPORTED_MODULE_0_type_r__[\"MixinsState\"].get(__WEBPACK_IMPORTED_MODULE_0_type_r__[\"Record\"].Collection).merge([{\n // Boolean link to the record's presence in the collection\n linkContains: function (record) {\n return new CollectionLink(this, record);\n },\n // Link to collection's property\n linkAt: function (prop) {\n var _this = this;\n return __WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */].value(this[prop], function (x) { return _this[prop] = x; });\n }\n }]);\n/**\n * Boolean link to presence of NestedType's record in collection.\n * Strict evaluation of value, no error.\n * Safe implementation of _changeToken.\n */\nvar CollectionLink = (function (_super) {\n __extends(CollectionLink, _super);\n function CollectionLink(collection, record) {\n var _this = _super.call(this, Boolean(collection._byId[record.cid])) || this;\n _this.collection = collection;\n _this.record = record;\n return _this;\n }\n CollectionLink.prototype.set = function (x) {\n this.collection.toggle(this.record, x);\n };\n return CollectionLink;\n}(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]));\n//# sourceMappingURL=link.js.map\n\n/***/ }),\n/* 18 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Link; });\n/* unused harmony export CustomLink */\n/* unused harmony export CloneLink */\n/* unused harmony export EqualsLink */\n/* unused harmony export EnabledLink */\n/* unused harmony export ContainsLink */\n/* unused harmony export LinkAt */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__helpers__ = __webpack_require__(19);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * Advanced React links for purely functional two-way data binding\n *\n * MIT License, (c) 2016 Vlad Balin, Volicon.\n */\n\n// Main Link class. All links must extend it.\nvar Link = (function () {\n // create \n function Link(value) {\n this.value = value;\n }\n // Create custom link to arbitrary value\n Link.value = function (value, set) {\n return new CustomLink(value, set);\n };\n Object.defineProperty(Link.prototype, \"validationError\", {\n // DEPRECATED: Old error holder for backward compatibility with Volicon code base\n get: function () { return this.error; },\n enumerable: true,\n configurable: true\n });\n Link.prototype.onChange = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n handler(x);\n _this.set(x);\n });\n };\n Object.defineProperty(Link.prototype, \"props\", {\n // \n get: function () {\n var _this = this;\n return typeof this.value === 'boolean' ? {\n checked: this.value,\n onChange: function (e) { return _this.set(Boolean(e.target.checked)); }\n } : {\n value: this.value,\n onChange: function (e) { return _this.set(e.target.value); }\n };\n },\n enumerable: true,\n configurable: true\n });\n // DEPRECATED: Old React method for backward compatibility\n Link.prototype.requestChange = function (x) {\n this.set(x);\n };\n // Immediately update the link value using given transform function.\n Link.prototype.update = function (transform, e) {\n var next = transform(this.clone(), e);\n next === void 0 || this.set(next);\n };\n // Create new link which applies transform function on set.\n Link.prototype.pipe = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n var next = handler(x, _this.value);\n next === void 0 || _this.set(next);\n });\n };\n // Create UI event handler function which will update the link with a given transform function.\n Link.prototype.action = function (transform) {\n var _this = this;\n return function (e) { return _this.update(transform, e); };\n };\n Link.prototype.equals = function (truthyValue) {\n return new EqualsLink(this, truthyValue);\n };\n Link.prototype.enabled = function (defaultValue) {\n return new EnabledLink(this, defaultValue || \"\");\n };\n // Array-only links methods\n Link.prototype.contains = function (element) {\n return new ContainsLink(this, element);\n };\n Link.prototype.push = function () {\n var array = __WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* arrayHelpers */].clone(this.value);\n Array.prototype.push.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.unshift = function () {\n var array = __WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* arrayHelpers */].clone(this.value);\n Array.prototype.unshift.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.splice = function () {\n var array = __WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* arrayHelpers */].clone(this.value);\n Array.prototype.splice.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.map = function (iterator) {\n return Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* helpers */])(this.value).map(this, iterator);\n };\n Link.prototype.removeAt = function (key) {\n var value = this.value, _ = Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* helpers */])(value);\n this.set(_.remove(_.clone(value), key));\n };\n Link.prototype.at = function (key) {\n return new LinkAt(this, key);\n };\n Link.prototype.clone = function () {\n var value = this.value;\n return Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* helpers */])(value).clone(value);\n };\n Link.prototype.pick = function () {\n var links = {};\n for (var i = 0; i < arguments.length; i++) {\n var key = arguments[i];\n links[key] = new LinkAt(this, key);\n }\n return links;\n };\n /**\n * Validate link with validness predicate and optional custom error object. Can be chained.\n */\n Link.prototype.check = function (whenValid, error) {\n if (!this.error && !whenValid(this.value)) {\n this.error = error || whenValid.error || defaultError;\n }\n return this;\n };\n return Link;\n}());\n\nvar CustomLink = (function (_super) {\n __extends(CustomLink, _super);\n function CustomLink(value, set) {\n var _this = _super.call(this, value) || this;\n _this.set = set;\n return _this;\n }\n CustomLink.prototype.set = function (x) { };\n return CustomLink;\n}(Link));\n\nvar CloneLink = (function (_super) {\n __extends(CloneLink, _super);\n function CloneLink(parent, set) {\n var _this = _super.call(this, parent.value) || this;\n _this.set = set;\n var error = parent.error;\n if (error)\n _this.error = error;\n return _this;\n }\n CloneLink.prototype.set = function (x) { };\n return CloneLink;\n}(Link));\n\nvar EqualsLink = (function (_super) {\n __extends(EqualsLink, _super);\n function EqualsLink(parent, truthyValue) {\n var _this = _super.call(this, parent.value === truthyValue) || this;\n _this.parent = parent;\n _this.truthyValue = truthyValue;\n return _this;\n }\n EqualsLink.prototype.set = function (x) {\n this.parent.set(x ? this.truthyValue : null);\n };\n return EqualsLink;\n}(Link));\n\nvar EnabledLink = (function (_super) {\n __extends(EnabledLink, _super);\n function EnabledLink(parent, defaultValue) {\n var _this = _super.call(this, parent.value != null) || this;\n _this.parent = parent;\n _this.defaultValue = defaultValue;\n return _this;\n }\n EnabledLink.prototype.set = function (x) {\n this.parent.set(x ? this.defaultValue : null);\n };\n return EnabledLink;\n}(Link));\n\nvar ContainsLink = (function (_super) {\n __extends(ContainsLink, _super);\n function ContainsLink(parent, element) {\n var _this = _super.call(this, parent.value.indexOf(element) >= 0) || this;\n _this.parent = parent;\n _this.element = element;\n return _this;\n }\n ContainsLink.prototype.set = function (x) {\n var _this = this;\n var next = Boolean(x);\n if (this.value !== next) {\n var arr = this.parent.value, nextValue = x ? arr.concat(this.element) : arr.filter(function (el) { return el !== _this.element; });\n this.parent.set(nextValue);\n }\n };\n return ContainsLink;\n}(Link));\n\nvar defaultError = 'Invalid value';\n/**\n * Link to array or object element enclosed in parent link.\n * Performs purely functional update of the parent, shallow copying its value on `set`.\n */\nvar LinkAt = (function (_super) {\n __extends(LinkAt, _super);\n function LinkAt(parent, key) {\n var _this = _super.call(this, parent.value[key]) || this;\n _this.parent = parent;\n _this.key = key;\n return _this;\n }\n LinkAt.prototype.remove = function () {\n this.parent.removeAt(this.key);\n };\n // Set new element value to parent array or object, performing purely functional update.\n LinkAt.prototype.set = function (x) {\n var _this = this;\n if (this.value !== x) {\n this.parent.update(function (value) {\n value[_this.key] = x;\n return value;\n });\n }\n };\n ;\n return LinkAt;\n}(Link));\n\n//# sourceMappingURL=link.js.map\n\n/***/ }),\n/* 19 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = helpers;\n/* unused harmony export objectHelpers */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return arrayHelpers; });\nvar ArrayProto = Array.prototype, ObjectProto = Object.prototype;\nfunction helpers(value) {\n if (value && typeof value === 'object') {\n switch (Object.getPrototypeOf(value)) {\n case ArrayProto: return arrayHelpers;\n case ObjectProto: return objectHelpers;\n }\n }\n return dummyHelpers;\n}\n// Do nothing for types other than Array and plain Object.\nvar dummyHelpers = {\n clone: function (value) { return value; },\n map: function (link, fun) { return []; },\n remove: function (value) { return value; }\n};\n// `map` and `clone` for plain JS objects\nvar objectHelpers = {\n // Map through the link to object\n map: function (link, iterator) {\n var mapped = [];\n for (var key in link.value) {\n var element = iterator(link.at(key), key);\n element === void 0 || (mapped.push(element));\n }\n return mapped;\n },\n remove: function (object, key) {\n delete object[key];\n return object;\n },\n // Shallow clone plain JS object\n clone: function (object) {\n var cloned = {};\n for (var key in object) {\n cloned[key] = object[key];\n }\n return cloned;\n }\n};\n// `map` and `clone` helpers for arrays.\nvar arrayHelpers = {\n // Shallow clone array\n clone: function (array) {\n return array.slice();\n },\n remove: function (array, i) {\n array.splice(i, 1);\n return array;\n },\n // Map through the link to array\n map: function (link, iterator) {\n var length = link.value.length, mapped = Array(length);\n for (var i = 0, j = 0; i < length; i++) {\n var y = iterator(link.at(i), i);\n y === void 0 || (mapped[j++] = y);\n }\n mapped.length === j || (mapped.length = j);\n return mapped;\n }\n};\n//# sourceMappingURL=helpers.js.map\n\n/***/ }),\n/* 20 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Component; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__define__ = __webpack_require__(4);\n/**\n * React-Type-R component base class. Overrides React component.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\nvar Component = (function (_super) {\n __extends(Component, _super);\n function Component(props, context) {\n var _this = _super.call(this, props, context) || this;\n _this._initializeState();\n return _this;\n }\n Component.prototype.linkAt = function (key) {\n // Quick and dirty hack to suppres type error - refactor later.\n return this.state.linkAt(key);\n };\n Component.prototype.linkAll = function () {\n // Quick and dirty hack to suppres type error - refactor later.\n var state = this.state;\n return state.linkAll.apply(state, arguments);\n };\n Component.prototype.linkPath = function (path) {\n return this.state.linkPath(path);\n };\n Object.defineProperty(Component.prototype, \"links\", {\n get: function () {\n return this.state._links;\n },\n enumerable: true,\n configurable: true\n });\n Component.prototype._initializeState = function () {\n this.state = null;\n };\n Component.prototype.assignToState = function (x, key) {\n this.state.assignFrom((_a = {}, _a[key] = x, _a));\n var _a;\n };\n Component.prototype.componentWillUnmount = function () {\n this.dispose();\n };\n /**\n * Performs transactional update for both props and state.\n * Suppress updates during the transaction, and force update aftewards.\n * Wrapping the sequence of changes in a transactions guarantees that\n * React component will be updated _after_ all the changes to the\n * both props and local state are applied.\n */\n Component.prototype.transaction = function (fun) {\n var shouldComponentUpdate = this.shouldComponentUpdate, isRoot = shouldComponentUpdate !== returnFalse;\n if (isRoot) {\n this.shouldComponentUpdate = returnFalse;\n }\n var _a = this, state = _a.state, store = _a.store, withStore = store ? function (state) { return store.transaction(function () { return fun(state); }); } : fun;\n state ? state.transaction(withStore) : withStore(state);\n if (isRoot) {\n this.shouldComponentUpdate = shouldComponentUpdate;\n this.asyncUpdate();\n }\n };\n // Safe version of the forceUpdate suitable for asynchronous callbacks.\n Component.prototype.asyncUpdate = function () {\n this.shouldComponentUpdate === returnFalse || this._disposed || this.forceUpdate();\n };\n return Component;\n}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]));\nComponent.onDefine = __WEBPACK_IMPORTED_MODULE_2__define__[\"c\" /* default */];\nComponent = __decorate([\n __WEBPACK_IMPORTED_MODULE_1_type_r__[\"define\"],\n Object(__WEBPACK_IMPORTED_MODULE_1_type_r__[\"definitions\"])({\n // Definitions to be extracted from mixins and statics and passed to `onDefine()`\n state: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].merge,\n State: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].value,\n store: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].merge,\n Store: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].value,\n props: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].merge,\n context: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].merge,\n childContext: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].merge,\n pureRender: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].protoValue\n }),\n Object(__WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"])({\n // Apply old-school React mixin rules.\n componentWillMount: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classLast,\n componentDidMount: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classLast,\n componentWillReceiveProps: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classLast,\n componentWillUpdate: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classLast,\n componentDidUpdate: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classLast,\n componentWillUnmount: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classFirst,\n // And a bit more to fix inheritance quirks.\n shouldComponentUpdate: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].some,\n getChildContext: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].defaults\n })\n // Component can send and receive events...\n ,\n Object(__WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixins\"])(__WEBPACK_IMPORTED_MODULE_1_type_r__[\"Messenger\"])\n], Component);\n\nfunction returnFalse() { return false; }\n// Looks like React guys _really_ want to deprecate it. But no way.\n// We will work around their attempt.\nObject.defineProperty(Component.prototype, 'isMounted', {\n value: function isMounted() {\n return !this._disposed;\n }\n});\n//# sourceMappingURL=component.js.map\n\n/***/ }),\n/* 21 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\nvar notEqual = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].notEqual;\nvar BackboneView = (function (_super) {\n __extends(BackboneView, _super);\n function BackboneView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.saveRef = function (element) {\n _this.root = element;\n };\n return _this;\n }\n BackboneView.prototype.shouldComponentUpdate = function (next) {\n var props = this.props;\n return next.View !== props.View || notEqual(next.options, props.options);\n };\n BackboneView.prototype.hasUnsavedChanges = function () {\n var view = this.view;\n return view && (typeof view.hasUnsavedChanges === 'function' ? view.hasUnsavedChanges() : view.hasUnsavedChanges);\n };\n BackboneView.prototype.render = function () {\n return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"f\" /* default */].createElement('div', {\n ref: this.saveRef,\n className: this.props.className\n });\n };\n BackboneView.prototype.componentDidMount = function () {\n this._mountView();\n };\n BackboneView.prototype.componentDidUpdate = function () {\n this._dispose();\n this._mountView();\n };\n BackboneView.prototype.componentWillUnmount = function () {\n this._dispose();\n };\n BackboneView.prototype._mountView = function () {\n var el = this.root, p = this.props;\n var view = this.view = p.options ? new p.View(p.options) : new p.View();\n el.appendChild(view.el);\n view.render();\n };\n BackboneView.prototype._dispose = function () {\n var view = this.view;\n if (view) {\n if (view.dispose) {\n view.dispose();\n }\n else {\n view.stopListening();\n view.off();\n }\n this.root.innerHTML = \"\";\n this.view = null;\n }\n };\n return BackboneView;\n}(__WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\" /* Component */]));\n/* harmony default export */ __webpack_exports__[\"a\"] = (BackboneView);\n//# sourceMappingURL=view-element.js.map\n\n/***/ }),\n/* 22 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = use;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__);\n\n\n\nwindow.Page || (window.Page = { forceResize: function () { } });\nfunction use(View) {\n var dispose = View.prototype.dispose || function () { }, setElement = View.prototype.setElement;\n var ComponentView = View.extend({\n reactClass: null,\n props: {},\n element: null,\n initialize: function (props) {\n // memorise arguments to pass to React\n this.options = props || {};\n },\n setElement: function () {\n this.unmountComponent(true);\n return setElement.apply(this, arguments);\n },\n // cached instance of react component...\n component: null,\n prevState: null,\n resize: function () {\n window.Page.forceResize();\n },\n render: function () {\n var options = this.prevState ? __WEBPACK_IMPORTED_MODULE_2_type_r__[\"tools\"].fastAssign({ __keepState: this.prevState }, this.options) : this.options, element = __WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"](this.reactClass, options), component = __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.render(element, this.el);\n this.component || this.mountComponent(component);\n },\n mountComponent: function (component) {\n this.component = component;\n this.prevState = null;\n component.trigger && this.listenTo(component, 'all', function () {\n this.trigger.apply(this, arguments);\n });\n },\n unmountComponent: function (keepModel) {\n var component = this.component;\n if (component) {\n this.prevState = component.state;\n if (component.trigger) {\n this.stopListening(component);\n }\n component._preventDispose = Boolean(keepModel);\n __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.unmountComponentAtNode(this.el);\n this.component = null;\n }\n },\n dispose: function () {\n this.unmountComponent();\n return dispose.apply(this, arguments);\n }\n });\n Object.defineProperty(ComponentView.prototype, 'model', {\n get: function () {\n this.component || this.render();\n return this.component && this.component.state;\n }\n });\n return ComponentView;\n}\n//# sourceMappingURL=component-view.js.map\n\n/***/ }),\n/* 23 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = createClass;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1);\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\n\nvar dontAutobind = [\n 'State', 'Store', 'constructor',\n 'componentWillMount', 'componentDidMount', 'componentWillReceiveProps', 'shouldComponentUpdate',\n 'componentWillUpdate', 'componentDidUpdate', 'componentWillUnmount',\n 'render', 'getDefaultProps', 'getChildContext'\n];\n/**\n * ES5 components definition factory\n */\nfunction createClass(_a) {\n var statics = _a.statics, a_spec = __rest(_a, [\"statics\"]);\n // Gather all methods to pin them to `this` later.\n var methods = [];\n var Subclass = __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\" /* Component */].extend(__assign({ \n // Override constructor to autobind all the methods...\n constructor: function () {\n __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\" /* Component */].apply(this, this.arguments);\n for (var _i = 0, methods_1 = methods; _i < methods_1.length; _i++) {\n var method = methods_1[_i];\n this[method] = this[method].bind(this);\n }\n } }, a_spec), statics);\n // Need to bind methods from mixins as well, so populate it here.\n var Proto = Subclass.prototype;\n for (var key in Proto) {\n if (Proto.hasOwnProperty(key) && dontAutobind.indexOf(key) === -1 && typeof Proto[key] === 'function') {\n methods.push(key);\n }\n }\n return Subclass;\n}\n//# sourceMappingURL=createClass.js.map\n\n/***/ })\n/******/ ]);\n});\n\n\n// WEBPACK FOOTER //\n// dist/index.min.js"," \t// The module cache\n \tvar installedModules = {};\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, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\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 = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 8);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap bcffa4043cccd0bcc27f","module.exports = __WEBPACK_EXTERNAL_MODULE_0__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"commonjs\":\"nestedtypes\",\"commonjs2\":\"nestedtypes\",\"amd\":\"nestedtypes\",\"root\":\"Nested\"}\n// module id = 0\n// module chunks = 0","import * as React from 'react';\nimport { define, mixins } from 'type-r';\nimport { Node, Element } from './define';\nimport Link from './link';\nimport { Component } from './component';\n// extend React namespace\nvar ReactMVx = Object.create(React);\n// Make it compatible with ES6 module format.\nReactMVx.default = ReactMVx;\n// listenToProps, listenToState, model, attributes, Model\nReactMVx.define = define;\nReactMVx.mixins = mixins;\nReactMVx.Node = Node.value(null);\nReactMVx.Element = Element.value(null);\nReactMVx.Link = Link;\nReactMVx.Component = Component;\nvar assignToState = ReactMVx.assignToState = function (key) {\n return function (prop) {\n this.state.assignFrom((_a = {}, _a[key] = prop && prop instanceof Link ? prop.value : prop, _a));\n var _a;\n };\n};\nexport default ReactMVx;\nexport { define, mixins, Node, Element, Link, Component, assignToState };\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/index.js\n// module id = 1\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"commonjs\":\"react\",\"commonjs2\":\"react\",\"amd\":\"react\",\"root\":\"React\"}\n// module id = 2\n// module chunks = 0","import * as PropTypes from 'prop-types';\nimport { Record } from 'type-r';\nexport function compileSpecs(props) {\n var propTypes = {}, \n // Create NestedTypes model definition to process props spec.\n modelProto = Record.defaults(props).prototype;\n var defaults, watchers, changeHandlers;\n modelProto.forEachAttr(modelProto._attributes, function (spec, name) {\n // Skip auto-generated `id` attribute.\n if (name !== 'id') {\n var value = spec.value, type = spec.type, options = spec.options;\n // Translate props type to the propTypes guard.\n propTypes[name] = translateType(type, options.isRequired);\n if (options._onChange) {\n watchers || (watchers = {});\n watchers[name] = toLocalWatcher(options._onChange);\n }\n // Handle listening to event maps...\n if (options.changeHandlers && options.changeHandlers.length) {\n changeHandlers || (changeHandlers = {});\n changeHandlers[name] = options.changeHandlers;\n }\n // Handle listening to props changes...\n if (options.changeEvents) {\n changeHandlers || (changeHandlers = {});\n var handlers = changeHandlers[name] || (changeHandlers[name] = []), changeEvents_1 = typeof options.changeEvents === 'string' ? options.changeEvents : null;\n handlers.push(function (next, prev, component) {\n prev && component.stopListening(prev);\n next && component.listenTo(next, changeEvents_1 || next._changeEventName, component.asyncUpdate);\n });\n }\n // If default value is explicitly provided...\n if (value !== void 0) {\n //...append it to getDefaultProps function.\n defaults || (defaults = {});\n defaults[name] = spec.convert(value, void 0, null, {});\n }\n }\n });\n return { propTypes: propTypes, defaults: defaults, watchers: watchers, changeHandlers: changeHandlers };\n}\nfunction toLocalWatcher(ref) {\n return typeof ref === 'function' ? ref : function (value, name) {\n this[ref] && this[ref](value, name);\n };\n}\nvar Node = (function () {\n function Node() {\n }\n return Node;\n}());\nexport { Node };\nvar Element = (function () {\n function Element() {\n }\n return Element;\n}());\nexport { Element };\nfunction translateType(Type, isRequired) {\n var T = _translateType(Type);\n return isRequired ? T.isRequired : T;\n}\nfunction _translateType(Type) {\n switch (Type) {\n case Number:\n case Number.integer:\n return PropTypes.number;\n case String:\n return PropTypes.string;\n case Boolean:\n return PropTypes.bool;\n case Array:\n return PropTypes.array;\n case Function:\n return PropTypes.func;\n case Object:\n return PropTypes.object;\n case Node:\n return PropTypes.node;\n case Element:\n return PropTypes.element;\n case void 0:\n case null:\n return PropTypes.any;\n default:\n return PropTypes.instanceOf(Type);\n }\n}\n//# sourceMappingURL=typeSpecs.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/typeSpecs.js\n// module id = 3\n// module chunks = 0","import { Messenger } from 'type-r';\nimport onDefineStore from './store';\nimport onDefineState from './state';\nimport onDefineContext from './context';\nimport onDefineProps from './props';\nexport default function onDefine(definition, BaseClass) {\n // Initialize mixins placeholder...\n onDefineStore.call(this, definition, BaseClass);\n onDefineState.call(this, definition, BaseClass);\n onDefineContext.call(this, definition, BaseClass);\n onDefineProps.call(this, definition, BaseClass);\n Messenger.onDefine.call(this, definition, BaseClass);\n}\n;\nexport { Node, Element } from './typeSpecs';\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/index.js\n// module id = 4\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n/*****************\n * State\n */\nimport { define, Record, Store } from 'type-r';\nexport default function process(definition, BaseComponentClass) {\n var prototype = this.prototype;\n var state = definition.state, State = definition.State;\n if (typeof state === 'function') {\n State = state;\n state = void 0;\n }\n if (state) {\n var BaseClass = State || prototype.State || Record;\n var ComponentState = (function (_super) {\n __extends(ComponentState, _super);\n function ComponentState() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return ComponentState;\n }(BaseClass));\n ComponentState.attributes = state;\n ComponentState = __decorate([\n define\n ], ComponentState);\n prototype.State = ComponentState;\n }\n else if (State) {\n prototype.State = State;\n }\n if (state || State) {\n this.mixins.merge([StateMixin, UpdateOnNestedChangesMixin]);\n }\n}\nexport var StateMixin = {\n //state : null,\n _initializeState: function () {\n // props.__keepState is used to workaround issues in Backbone intergation layer\n var state = this.state = this.props.__keepState || new this.State();\n // Take ownership on state...\n state._owner = this;\n state._ownerKey = 'state';\n },\n context: {\n _nestedStore: Store\n },\n // reference global store to fix model's store locator\n getStore: function () {\n // Attempt to get the store from the context first. Then - fallback to the state's default store.\n // TBD: Need to figure out a good way of managing local stores.\n var context, state;\n return ((context = this.context) && context._nestedStore) ||\n ((state = this.state) && state._defaultStore);\n },\n componentWillUnmount: function () {\n var state = this.state;\n state._owner = state._ownerKey = void 0;\n this._preventDispose /* hack for component-view to preserve the state */ || state.dispose();\n this.state = void 0;\n }\n};\nexport var UpdateOnNestedChangesMixin = {\n _onChildrenChange: function () { },\n componentDidMount: function () {\n this._onChildrenChange = this.asyncUpdate;\n }\n};\n//# sourceMappingURL=state.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/state.js\n// module id = 5\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/prop-types/index.js\n// module id = 6\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_7__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"commonjs\":\"react-dom\",\"commonjs2\":\"react-dom\",\"amd\":\"react-dom\",\"root\":\"ReactDOM\"}\n// module id = 7\n// module chunks = 0","// Re-export react-mvx\nimport ReactMVx from './react-mvx';\nvar NestedReact = Object.create(ReactMVx);\nexport default NestedReact;\nexport * from './react-mvx';\n// NestedReact backward compatibility layer\nimport ReactDOM from 'react-dom';\nimport Nested, { View, Record } from 'type-r';\nimport * as PropTypes from 'prop-types';\nimport subview from './view-element';\nNestedReact.subview = subview;\nexport { subview };\nimport use from './component-view';\nimport createClass from './createClass';\nNestedReact.createClass = createClass;\nObject.defineProperty(NestedReact, 'PropTypes', { value: PropTypes });\nexport { PropTypes, createClass };\nvar BaseView;\n// export hook to override base View class used...\nexport function useView(View) {\n BaseView = use(View);\n}\nvar onDefine = NestedReact.Component.onDefine;\nNestedReact.Component.onDefine = function (definitions, BaseClass) {\n this.View = BaseView.extend({ reactClass: this });\n return onDefine.call(this, definitions, BaseClass);\n};\n// Deprecated API for backward compatibility\nvar RecordProto = Record.prototype;\nRecordProto.getLink = RecordProto.linkAt;\nRecordProto.deepLink = RecordProto.linkPath;\nvar CollectionProto = Record.Collection.prototype;\nCollectionProto.hasLink = CollectionProto.linkContains;\nuseView(View);\n// Extend react components to have backbone-style jquery accessors\nvar BackboneViewProps = {\n el: { get: function () { return ReactDOM.findDOMNode(this); } },\n $el: { get: function () { return Nested.$(this.el); } },\n $: { value: function (sel) { return this.$el.find(sel); } }\n};\nObject.defineProperties(NestedReact.Component.prototype, BackboneViewProps);\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/index.js\n// module id = 8\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { define, Store } from 'type-r';\nimport { StateMixin, UpdateOnNestedChangesMixin } from './state';\nexport default function onDefine(definition, BaseClass) {\n var store = definition.store, StoreClass = definition.Store;\n if (store && store instanceof Store) {\n // Direct reference to an existing store. Put it to the prototype.\n this.prototype.store = store;\n this.mixins.merge([ExternalStoreMixin, ExposeStoreMixin]);\n }\n else if (store || definition.Store) {\n if (typeof store === 'function') {\n StoreClass = store;\n store = void 0;\n }\n if (store) {\n var BaseClass_1 = StoreClass || this.prototype.Store || Store;\n var InternalStore = (function (_super) {\n __extends(InternalStore, _super);\n function InternalStore() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return InternalStore;\n }(BaseClass_1));\n InternalStore.attrbutes = store;\n InternalStore = __decorate([\n define\n ], InternalStore);\n ;\n this.prototype.Store = InternalStore;\n }\n else if (StoreClass) {\n this.prototype.Store = StoreClass;\n }\n this.mixins.merge([InternalStoreMixin, UpdateOnNestedChangesMixin, ExposeStoreMixin]);\n }\n}\n/**\n * Attached whenever the store declaration of any form is present in the component.\n */\nvar ExposeStoreMixin = {\n childContext: {\n _nestedStore: Store\n },\n getChildContext: function () {\n return { _nestedStore: this.store };\n },\n getStore: function () {\n return this.store;\n },\n // Will be called by the store when the lookup will fail.\n get: function (key) {\n // Ask upper store.\n var store = StateMixin.getStore.call(this, key);\n return store && store.get(key);\n }\n};\n/**\n * External store must just track the changes and trigger render.\n * TBD: don't use it yet.\n */\nvar ExternalStoreMixin = {\n componentDidMount: function () {\n // Start UI updates on state changes.\n this.listenTo(this.store, 'change', this.asyncUpdate);\n }\n};\nvar InternalStoreMixin = {\n componentWillMount: function () {\n var store = this.store = new this.Store();\n store._owner = this;\n store._ownerKey = 'store';\n },\n componentWillUnmount: function () {\n this.store._ownerKey = this.store._owner = void 0;\n this.store.dispose();\n this.store = void 0;\n }\n};\n//# sourceMappingURL=store.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/store.js\n// module id = 9\n// module chunks = 0","import { compileSpecs } from './typeSpecs';\nimport { tools } from 'type-r';\nexport default function onDefine(_a, BaseClass) {\n var context = _a.context, childContext = _a.childContext;\n var prototype = this.prototype;\n if (context) {\n // Merge in inherited members...\n prototype._context = tools.defaults(context, BaseClass.prototype._context || {});\n // Compile to propTypes...\n this.contextTypes = compileSpecs(context).propTypes;\n }\n if (childContext) {\n prototype._childContext = tools.defaults(childContext, BaseClass.prototype._childContext);\n this.childContextTypes = compileSpecs(childContext).propTypes;\n }\n}\n//# sourceMappingURL=context.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/context.js\n// module id = 10\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\nvar invariant = require('fbjs/lib/invariant');\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n invariant(\n false,\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim\n };\n\n ReactPropTypes.checkPropTypes = emptyFunction;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/prop-types/factoryWithThrowingShims.js\n// module id = 11\n// module chunks = 0","\"use strict\";\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/fbjs/lib/emptyFunction.js\n// module id = 12\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (process.env.NODE_ENV !== 'production') {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/fbjs/lib/invariant.js\n// module id = 13\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/prop-types/lib/ReactPropTypesSecret.js\n// module id = 14\n// module chunks = 0","/**\n * Handle props specification and everything which is related:\n * - local listening to props changes\n * - pure render mixin\n */\nimport { compileSpecs } from './typeSpecs';\nimport { PureRenderMixin, createChangeTokensConstructor } from './pureRender';\nimport { tools } from 'type-r';\nexport default function onDefine(_a, BaseClass) {\n var props = _a.props, pureRender = _a.pureRender;\n var prototype = this.prototype;\n // process props spec...\n if (props) {\n // Merge with inherited members...\n prototype._props = tools.defaults(props, BaseClass.prototype._props || {});\n var _b = compileSpecs(props), propTypes = _b.propTypes, defaults = _b.defaults, watchers = _b.watchers, changeHandlers = _b.changeHandlers;\n this.propTypes = propTypes;\n if (defaults)\n this.defaultProps = defaults;\n if (watchers) {\n prototype._watchers = watchers;\n this.mixins.merge([WatchersMixin]);\n }\n if (changeHandlers) {\n prototype._changeHandlers = changeHandlers;\n this.mixins.merge([ChangeHandlersMixin]);\n }\n if (prototype.pureRender) {\n prototype.PropsChangeTokens = createChangeTokensConstructor(props);\n }\n }\n if (pureRender) {\n this.mixins.merge([PureRenderMixin]);\n }\n}\n/**\n * ChangeHandlers are fired in sequence upon props replacement.\n * Fires _after_ UI is updated. Used for managing events subscriptions.\n */\nvar ChangeHandlersMixin = {\n componentDidMount: function () {\n handlePropsChanges(this, {}, this.props);\n },\n componentDidUpdate: function (prev) {\n handlePropsChanges(this, prev, this.props);\n },\n componentWillUnmount: function () {\n handlePropsChanges(this, this.props, {});\n }\n};\nfunction handlePropsChanges(component, prev, next) {\n var _changeHandlers = component._changeHandlers;\n for (var name_1 in _changeHandlers) {\n if (prev[name_1] !== next[name_1]) {\n for (var _i = 0, _a = _changeHandlers[name_1]; _i < _a.length; _i++) {\n var handler = _a[_i];\n handler(next[name_1], prev[name_1], component);\n }\n }\n }\n}\n/**\n * Watchers works on props replacement and fires _before_ any change will be applied and UI is updated.\n * Fired in componentWillMount as well, which makes it a nice way to sync state from props.\n */\nvar WatchersMixin = {\n componentWillReceiveProps: function (next) {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_2 in _watchers) {\n if (next[name_2] !== props[name_2]) {\n _watchers[name_2].call(this, next[name_2], name_2);\n }\n }\n },\n componentWillMount: function () {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_3 in _watchers) {\n _watchers[name_3].call(this, props[name_3], name_3);\n }\n }\n};\n//# sourceMappingURL=props.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/props.js\n// module id = 15\n// module chunks = 0","export function createChangeTokensConstructor(props) {\n var propNames = Object.keys(props);\n var PropsChangeTokens = new Function('p', 's', \"\\n var v;\\n this._s = s && s._changeToken;\\n \" + propNames.map(function (name) { return \"\\n this.\" + name + \" = ( ( v = p.\" + name + \") && v._changeToken ) || v;\\n \"; }).join('') + \"\\n \");\n PropsChangeTokens.prototype._hasChanges = new Function('p', 's', \"\\n var v;\\n return ( s && s._changeToken !== this._s ) \" + propNames.map(function (name) { return \" ||\\n this.\" + name + \" !== ( ( ( v = p.\" + name + \") && v._changeToken ) || v )\\n \"; }).join('') + \";\\n \");\n return PropsChangeTokens;\n}\n;\nexport var PureRenderMixin = {\n shouldComponentUpdate: function (nextProps) {\n return this._propsChangeTokens._hasChanges(nextProps);\n },\n componentDidMount: updateChangeTokens,\n componentDidUpdate: updateChangeTokens\n};\nfunction updateChangeTokens() {\n this._propsChangeTokens = new this.PropsChangeTokens(this.props, this.state);\n}\n//# sourceMappingURL=pureRender.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/pureRender.js\n// module id = 16\n// module chunks = 0","/**\n * Import ValueLink library\n * Define value links binding mixins to the Record and Collection\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { Mixable, MixinsState, Record } from 'type-r';\nimport { Link } from './valuelink/link';\nexport default Link;\nMixable.mixins.populate(Link);\n/**\n * Record\n */\nMixinsState.get(Record).merge([{\n // Link to the record's attribute by its key.\n linkAt: function (key) {\n return cacheLink(getLinksCache(this), this, key);\n },\n // Link to the attribute of the record's tree by symbolic path.\n linkPath: function (path, options) {\n return new RecordDeepLink(this, path, options);\n },\n // Link all (or listed) attributes and return links cache.\n linkAll: function () {\n var links = getLinksCache(this);\n if (arguments.length) {\n for (var i = 0; i < arguments.length; i++) {\n cacheLink(links, this, arguments[i]);\n }\n }\n else {\n var attributes = this.attributes;\n for (var key in attributes) {\n attributes[key] === void 0 || cacheLink(links, this, key);\n }\n }\n return links;\n }\n }]);\n/**\n * Link to Type-R's record attribute.\n * Strict evaluation of value, lazy evaluation of validation error.\n * Links are cached in the records\n */\nvar RecordLink = (function (_super) {\n __extends(RecordLink, _super);\n function RecordLink(record, attr, value) {\n var _this = _super.call(this, value) || this;\n _this.record = record;\n _this.attr = attr;\n return _this;\n }\n RecordLink.prototype.set = function (x) {\n this.record[this.attr] = x;\n };\n Object.defineProperty(RecordLink.prototype, \"error\", {\n get: function () {\n return this._error === void 0 ?\n this.record.getValidationError(this.attr) :\n this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n return RecordLink;\n}(Link));\nvar RecordDeepLink = (function (_super) {\n __extends(RecordDeepLink, _super);\n function RecordDeepLink(record, path, options) {\n var _this = _super.call(this, record.deepGet(path)) || this;\n _this.record = record;\n _this.path = path;\n _this.options = options;\n return _this;\n }\n Object.defineProperty(RecordDeepLink.prototype, \"error\", {\n get: function () {\n if (this._error === void 0) {\n this._error = this.record.deepValidationError(this.path) || null;\n }\n return this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(RecordDeepLink.prototype, \"_changeToken\", {\n get: function () {\n return this.record._changeToken;\n },\n enumerable: true,\n configurable: true\n });\n RecordDeepLink.prototype.set = function (x) {\n this.record.deepSet(this.path, x, this.options);\n };\n return RecordDeepLink;\n}(Link));\nfunction getLinksCache(record) {\n return record._links || (record._links = new record.AttributesCopy({}));\n}\nfunction cacheLink(links, record, key) {\n var cached = links[key], value = record[key];\n return cached && cached.value === value ? cached\n : links[key] = new RecordLink(record, key, value);\n}\n/***********************************\n * Collection\n */\nMixinsState.get(Record.Collection).merge([{\n // Boolean link to the record's presence in the collection\n linkContains: function (record) {\n return new CollectionLink(this, record);\n },\n // Link to collection's property\n linkAt: function (prop) {\n var _this = this;\n return Link.value(this[prop], function (x) { return _this[prop] = x; });\n }\n }]);\n/**\n * Boolean link to presence of NestedType's record in collection.\n * Strict evaluation of value, no error.\n * Safe implementation of _changeToken.\n */\nvar CollectionLink = (function (_super) {\n __extends(CollectionLink, _super);\n function CollectionLink(collection, record) {\n var _this = _super.call(this, Boolean(collection._byId[record.cid])) || this;\n _this.collection = collection;\n _this.record = record;\n return _this;\n }\n CollectionLink.prototype.set = function (x) {\n this.collection.toggle(this.record, x);\n };\n return CollectionLink;\n}(Link));\n//# sourceMappingURL=link.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/link.js\n// module id = 17\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * Advanced React links for purely functional two-way data binding\n *\n * MIT License, (c) 2016 Vlad Balin, Volicon.\n */\nimport { helpers, arrayHelpers } from './helpers';\n// Main Link class. All links must extend it.\nvar Link = (function () {\n // create \n function Link(value) {\n this.value = value;\n }\n // Create custom link to arbitrary value\n Link.value = function (value, set) {\n return new CustomLink(value, set);\n };\n Object.defineProperty(Link.prototype, \"validationError\", {\n // DEPRECATED: Old error holder for backward compatibility with Volicon code base\n get: function () { return this.error; },\n enumerable: true,\n configurable: true\n });\n Link.prototype.onChange = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n handler(x);\n _this.set(x);\n });\n };\n Object.defineProperty(Link.prototype, \"props\", {\n // \n get: function () {\n var _this = this;\n return typeof this.value === 'boolean' ? {\n checked: this.value,\n onChange: function (e) { return _this.set(Boolean(e.target.checked)); }\n } : {\n value: this.value,\n onChange: function (e) { return _this.set(e.target.value); }\n };\n },\n enumerable: true,\n configurable: true\n });\n // DEPRECATED: Old React method for backward compatibility\n Link.prototype.requestChange = function (x) {\n this.set(x);\n };\n // Immediately update the link value using given transform function.\n Link.prototype.update = function (transform, e) {\n var next = transform(this.clone(), e);\n next === void 0 || this.set(next);\n };\n // Create new link which applies transform function on set.\n Link.prototype.pipe = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n var next = handler(x, _this.value);\n next === void 0 || _this.set(next);\n });\n };\n // Create UI event handler function which will update the link with a given transform function.\n Link.prototype.action = function (transform) {\n var _this = this;\n return function (e) { return _this.update(transform, e); };\n };\n Link.prototype.equals = function (truthyValue) {\n return new EqualsLink(this, truthyValue);\n };\n Link.prototype.enabled = function (defaultValue) {\n return new EnabledLink(this, defaultValue || \"\");\n };\n // Array-only links methods\n Link.prototype.contains = function (element) {\n return new ContainsLink(this, element);\n };\n Link.prototype.push = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.push.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.unshift = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.unshift.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.splice = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.splice.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.map = function (iterator) {\n return helpers(this.value).map(this, iterator);\n };\n Link.prototype.removeAt = function (key) {\n var value = this.value, _ = helpers(value);\n this.set(_.remove(_.clone(value), key));\n };\n Link.prototype.at = function (key) {\n return new LinkAt(this, key);\n };\n Link.prototype.clone = function () {\n var value = this.value;\n return helpers(value).clone(value);\n };\n Link.prototype.pick = function () {\n var links = {};\n for (var i = 0; i < arguments.length; i++) {\n var key = arguments[i];\n links[key] = new LinkAt(this, key);\n }\n return links;\n };\n /**\n * Validate link with validness predicate and optional custom error object. Can be chained.\n */\n Link.prototype.check = function (whenValid, error) {\n if (!this.error && !whenValid(this.value)) {\n this.error = error || whenValid.error || defaultError;\n }\n return this;\n };\n return Link;\n}());\nexport { Link };\nvar CustomLink = (function (_super) {\n __extends(CustomLink, _super);\n function CustomLink(value, set) {\n var _this = _super.call(this, value) || this;\n _this.set = set;\n return _this;\n }\n CustomLink.prototype.set = function (x) { };\n return CustomLink;\n}(Link));\nexport { CustomLink };\nvar CloneLink = (function (_super) {\n __extends(CloneLink, _super);\n function CloneLink(parent, set) {\n var _this = _super.call(this, parent.value) || this;\n _this.set = set;\n var error = parent.error;\n if (error)\n _this.error = error;\n return _this;\n }\n CloneLink.prototype.set = function (x) { };\n return CloneLink;\n}(Link));\nexport { CloneLink };\nvar EqualsLink = (function (_super) {\n __extends(EqualsLink, _super);\n function EqualsLink(parent, truthyValue) {\n var _this = _super.call(this, parent.value === truthyValue) || this;\n _this.parent = parent;\n _this.truthyValue = truthyValue;\n return _this;\n }\n EqualsLink.prototype.set = function (x) {\n this.parent.set(x ? this.truthyValue : null);\n };\n return EqualsLink;\n}(Link));\nexport { EqualsLink };\nvar EnabledLink = (function (_super) {\n __extends(EnabledLink, _super);\n function EnabledLink(parent, defaultValue) {\n var _this = _super.call(this, parent.value != null) || this;\n _this.parent = parent;\n _this.defaultValue = defaultValue;\n return _this;\n }\n EnabledLink.prototype.set = function (x) {\n this.parent.set(x ? this.defaultValue : null);\n };\n return EnabledLink;\n}(Link));\nexport { EnabledLink };\nvar ContainsLink = (function (_super) {\n __extends(ContainsLink, _super);\n function ContainsLink(parent, element) {\n var _this = _super.call(this, parent.value.indexOf(element) >= 0) || this;\n _this.parent = parent;\n _this.element = element;\n return _this;\n }\n ContainsLink.prototype.set = function (x) {\n var _this = this;\n var next = Boolean(x);\n if (this.value !== next) {\n var arr = this.parent.value, nextValue = x ? arr.concat(this.element) : arr.filter(function (el) { return el !== _this.element; });\n this.parent.set(nextValue);\n }\n };\n return ContainsLink;\n}(Link));\nexport { ContainsLink };\nvar defaultError = 'Invalid value';\n/**\n * Link to array or object element enclosed in parent link.\n * Performs purely functional update of the parent, shallow copying its value on `set`.\n */\nvar LinkAt = (function (_super) {\n __extends(LinkAt, _super);\n function LinkAt(parent, key) {\n var _this = _super.call(this, parent.value[key]) || this;\n _this.parent = parent;\n _this.key = key;\n return _this;\n }\n LinkAt.prototype.remove = function () {\n this.parent.removeAt(this.key);\n };\n // Set new element value to parent array or object, performing purely functional update.\n LinkAt.prototype.set = function (x) {\n var _this = this;\n if (this.value !== x) {\n this.parent.update(function (value) {\n value[_this.key] = x;\n return value;\n });\n }\n };\n ;\n return LinkAt;\n}(Link));\nexport { LinkAt };\n//# sourceMappingURL=link.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/valuelink/link.js\n// module id = 18\n// module chunks = 0","var ArrayProto = Array.prototype, ObjectProto = Object.prototype;\nexport function helpers(value) {\n if (value && typeof value === 'object') {\n switch (Object.getPrototypeOf(value)) {\n case ArrayProto: return arrayHelpers;\n case ObjectProto: return objectHelpers;\n }\n }\n return dummyHelpers;\n}\n// Do nothing for types other than Array and plain Object.\nvar dummyHelpers = {\n clone: function (value) { return value; },\n map: function (link, fun) { return []; },\n remove: function (value) { return value; }\n};\n// `map` and `clone` for plain JS objects\nexport var objectHelpers = {\n // Map through the link to object\n map: function (link, iterator) {\n var mapped = [];\n for (var key in link.value) {\n var element = iterator(link.at(key), key);\n element === void 0 || (mapped.push(element));\n }\n return mapped;\n },\n remove: function (object, key) {\n delete object[key];\n return object;\n },\n // Shallow clone plain JS object\n clone: function (object) {\n var cloned = {};\n for (var key in object) {\n cloned[key] = object[key];\n }\n return cloned;\n }\n};\n// `map` and `clone` helpers for arrays.\nexport var arrayHelpers = {\n // Shallow clone array\n clone: function (array) {\n return array.slice();\n },\n remove: function (array, i) {\n array.splice(i, 1);\n return array;\n },\n // Map through the link to array\n map: function (link, iterator) {\n var length = link.value.length, mapped = Array(length);\n for (var i = 0, j = 0; i < length; i++) {\n var y = iterator(link.at(i), i);\n y === void 0 || (mapped[j++] = y);\n }\n mapped.length === j || (mapped.length = j);\n return mapped;\n }\n};\n//# sourceMappingURL=helpers.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/valuelink/helpers.js\n// module id = 19\n// module chunks = 0","/**\n * React-Type-R component base class. Overrides React component.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport * as React from 'react';\nimport { mixinRules, define, mixins, definitions, Messenger } from 'type-r';\nimport onDefine from './define';\nvar Component = (function (_super) {\n __extends(Component, _super);\n function Component(props, context) {\n var _this = _super.call(this, props, context) || this;\n _this._initializeState();\n return _this;\n }\n Component.prototype.linkAt = function (key) {\n // Quick and dirty hack to suppres type error - refactor later.\n return this.state.linkAt(key);\n };\n Component.prototype.linkAll = function () {\n // Quick and dirty hack to suppres type error - refactor later.\n var state = this.state;\n return state.linkAll.apply(state, arguments);\n };\n Component.prototype.linkPath = function (path) {\n return this.state.linkPath(path);\n };\n Object.defineProperty(Component.prototype, \"links\", {\n get: function () {\n return this.state._links;\n },\n enumerable: true,\n configurable: true\n });\n Component.prototype._initializeState = function () {\n this.state = null;\n };\n Component.prototype.assignToState = function (x, key) {\n this.state.assignFrom((_a = {}, _a[key] = x, _a));\n var _a;\n };\n Component.prototype.componentWillUnmount = function () {\n this.dispose();\n };\n /**\n * Performs transactional update for both props and state.\n * Suppress updates during the transaction, and force update aftewards.\n * Wrapping the sequence of changes in a transactions guarantees that\n * React component will be updated _after_ all the changes to the\n * both props and local state are applied.\n */\n Component.prototype.transaction = function (fun) {\n var shouldComponentUpdate = this.shouldComponentUpdate, isRoot = shouldComponentUpdate !== returnFalse;\n if (isRoot) {\n this.shouldComponentUpdate = returnFalse;\n }\n var _a = this, state = _a.state, store = _a.store, withStore = store ? function (state) { return store.transaction(function () { return fun(state); }); } : fun;\n state ? state.transaction(withStore) : withStore(state);\n if (isRoot) {\n this.shouldComponentUpdate = shouldComponentUpdate;\n this.asyncUpdate();\n }\n };\n // Safe version of the forceUpdate suitable for asynchronous callbacks.\n Component.prototype.asyncUpdate = function () {\n this.shouldComponentUpdate === returnFalse || this._disposed || this.forceUpdate();\n };\n return Component;\n}(React.Component));\nComponent.onDefine = onDefine;\nComponent = __decorate([\n define,\n definitions({\n // Definitions to be extracted from mixins and statics and passed to `onDefine()`\n state: mixinRules.merge,\n State: mixinRules.value,\n store: mixinRules.merge,\n Store: mixinRules.value,\n props: mixinRules.merge,\n context: mixinRules.merge,\n childContext: mixinRules.merge,\n pureRender: mixinRules.protoValue\n }),\n mixinRules({\n // Apply old-school React mixin rules.\n componentWillMount: mixinRules.classLast,\n componentDidMount: mixinRules.classLast,\n componentWillReceiveProps: mixinRules.classLast,\n componentWillUpdate: mixinRules.classLast,\n componentDidUpdate: mixinRules.classLast,\n componentWillUnmount: mixinRules.classFirst,\n // And a bit more to fix inheritance quirks.\n shouldComponentUpdate: mixinRules.some,\n getChildContext: mixinRules.defaults\n })\n // Component can send and receive events...\n ,\n mixins(Messenger)\n], Component);\nexport { Component };\nfunction returnFalse() { return false; }\n// Looks like React guys _really_ want to deprecate it. But no way.\n// We will work around their attempt.\nObject.defineProperty(Component.prototype, 'isMounted', {\n value: function isMounted() {\n return !this._disposed;\n }\n});\n//# sourceMappingURL=component.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/component.js\n// module id = 20\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport React, { Component } from './react-mvx';\nimport { tools } from 'type-r';\nvar notEqual = tools.notEqual;\nvar BackboneView = (function (_super) {\n __extends(BackboneView, _super);\n function BackboneView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.saveRef = function (element) {\n _this.root = element;\n };\n return _this;\n }\n BackboneView.prototype.shouldComponentUpdate = function (next) {\n var props = this.props;\n return next.View !== props.View || notEqual(next.options, props.options);\n };\n BackboneView.prototype.hasUnsavedChanges = function () {\n var view = this.view;\n return view && (typeof view.hasUnsavedChanges === 'function' ? view.hasUnsavedChanges() : view.hasUnsavedChanges);\n };\n BackboneView.prototype.render = function () {\n return React.createElement('div', {\n ref: this.saveRef,\n className: this.props.className\n });\n };\n BackboneView.prototype.componentDidMount = function () {\n this._mountView();\n };\n BackboneView.prototype.componentDidUpdate = function () {\n this._dispose();\n this._mountView();\n };\n BackboneView.prototype.componentWillUnmount = function () {\n this._dispose();\n };\n BackboneView.prototype._mountView = function () {\n var el = this.root, p = this.props;\n var view = this.view = p.options ? new p.View(p.options) : new p.View();\n el.appendChild(view.el);\n view.render();\n };\n BackboneView.prototype._dispose = function () {\n var view = this.view;\n if (view) {\n if (view.dispose) {\n view.dispose();\n }\n else {\n view.stopListening();\n view.off();\n }\n this.root.innerHTML = \"\";\n this.view = null;\n }\n };\n return BackboneView;\n}(Component));\nexport default BackboneView;\n//# sourceMappingURL=view-element.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/view-element.js\n// module id = 21\n// module chunks = 0","import * as React from 'react';\nimport ReactDOM from 'react-dom';\nimport { tools } from 'type-r';\nwindow.Page || (window.Page = { forceResize: function () { } });\nexport default function use(View) {\n var dispose = View.prototype.dispose || function () { }, setElement = View.prototype.setElement;\n var ComponentView = View.extend({\n reactClass: null,\n props: {},\n element: null,\n initialize: function (props) {\n // memorise arguments to pass to React\n this.options = props || {};\n },\n setElement: function () {\n this.unmountComponent(true);\n return setElement.apply(this, arguments);\n },\n // cached instance of react component...\n component: null,\n prevState: null,\n resize: function () {\n window.Page.forceResize();\n },\n render: function () {\n var options = this.prevState ? tools.fastAssign({ __keepState: this.prevState }, this.options) : this.options, element = React.createElement(this.reactClass, options), component = ReactDOM.render(element, this.el);\n this.component || this.mountComponent(component);\n },\n mountComponent: function (component) {\n this.component = component;\n this.prevState = null;\n component.trigger && this.listenTo(component, 'all', function () {\n this.trigger.apply(this, arguments);\n });\n },\n unmountComponent: function (keepModel) {\n var component = this.component;\n if (component) {\n this.prevState = component.state;\n if (component.trigger) {\n this.stopListening(component);\n }\n component._preventDispose = Boolean(keepModel);\n ReactDOM.unmountComponentAtNode(this.el);\n this.component = null;\n }\n },\n dispose: function () {\n this.unmountComponent();\n return dispose.apply(this, arguments);\n }\n });\n Object.defineProperty(ComponentView.prototype, 'model', {\n get: function () {\n this.component || this.render();\n return this.component && this.component.state;\n }\n });\n return ComponentView;\n}\n//# sourceMappingURL=component-view.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/component-view.js\n// module id = 22\n// module chunks = 0","var __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\nimport { Component } from './react-mvx';\nvar dontAutobind = [\n 'State', 'Store', 'constructor',\n 'componentWillMount', 'componentDidMount', 'componentWillReceiveProps', 'shouldComponentUpdate',\n 'componentWillUpdate', 'componentDidUpdate', 'componentWillUnmount',\n 'render', 'getDefaultProps', 'getChildContext'\n];\n/**\n * ES5 components definition factory\n */\nexport default function createClass(_a) {\n var statics = _a.statics, a_spec = __rest(_a, [\"statics\"]);\n // Gather all methods to pin them to `this` later.\n var methods = [];\n var Subclass = Component.extend(__assign({ \n // Override constructor to autobind all the methods...\n constructor: function () {\n Component.apply(this, this.arguments);\n for (var _i = 0, methods_1 = methods; _i < methods_1.length; _i++) {\n var method = methods_1[_i];\n this[method] = this[method].bind(this);\n }\n } }, a_spec), statics);\n // Need to bind methods from mixins as well, so populate it here.\n var Proto = Subclass.prototype;\n for (var key in Proto) {\n if (Proto.hasOwnProperty(key) && dontAutobind.indexOf(key) === -1 && typeof Proto[key] === 'function') {\n methods.push(key);\n }\n }\n return Subclass;\n}\n//# sourceMappingURL=createClass.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/createClass.js\n// module id = 23\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///dist/index.min.js","webpack:///webpack/bootstrap b9a6b3069ae11f0fa80d","webpack:///external {\"commonjs\":\"nestedtypes\",\"commonjs2\":\"nestedtypes\",\"amd\":\"nestedtypes\",\"root\":\"Nested\"}","webpack:///./lib/react-mvx/index.js","webpack:///external {\"commonjs\":\"react\",\"commonjs2\":\"react\",\"amd\":\"react\",\"root\":\"React\"}","webpack:///./lib/react-mvx/define/typeSpecs.js","webpack:///./lib/react-mvx/define/index.js","webpack:///./lib/react-mvx/define/state.js","webpack:///./node_modules/prop-types/index.js","webpack:///external {\"commonjs\":\"react-dom\",\"commonjs2\":\"react-dom\",\"amd\":\"react-dom\",\"root\":\"ReactDOM\"}","webpack:///./lib/index.js","webpack:///./lib/react-mvx/define/store.js","webpack:///./lib/react-mvx/define/context.js","webpack:///./node_modules/prop-types/factoryWithThrowingShims.js","webpack:///./node_modules/fbjs/lib/emptyFunction.js","webpack:///./node_modules/fbjs/lib/invariant.js","webpack:///./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack:///./lib/react-mvx/define/props.js","webpack:///./lib/react-mvx/define/pureRender.js","webpack:///./lib/react-mvx/link.js","webpack:///./lib/react-mvx/valuelink/link.js","webpack:///./lib/react-mvx/valuelink/helpers.js","webpack:///./lib/react-mvx/component.js","webpack:///./lib/view-element.js","webpack:///./lib/component-view.js","webpack:///./lib/createClass.js"],"names":["root","factory","exports","module","require","define","amd","this","__WEBPACK_EXTERNAL_MODULE_0__","__WEBPACK_EXTERNAL_MODULE_2__","__WEBPACK_EXTERNAL_MODULE_7__","modules","__webpack_require__","moduleId","installedModules","i","l","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","__webpack_exports__","assignToState","__WEBPACK_IMPORTED_MODULE_0_react__","__WEBPACK_IMPORTED_MODULE_1_type_r__","__WEBPACK_IMPORTED_MODULE_2__define__","__WEBPACK_IMPORTED_MODULE_3__link__","__WEBPACK_IMPORTED_MODULE_4__component__","ReactMVx","create","default","mixins","Node","value","Element","Link","Component","key","prop","state","assignFrom","_a","compileSpecs","props","defaults","watchers","changeHandlers","propTypes","modelProto","forEachAttr","_attributes","spec","type","options","translateType","isRequired","_onChange","toLocalWatcher","length","changeEvents","handlers","changeEvents_1","push","next","prev","component","stopListening","listenTo","_changeEventName","asyncUpdate","convert","ref","Type","T","_translateType","Number","integer","__WEBPACK_IMPORTED_MODULE_0_prop_types__","String","Boolean","Array","Function","onDefine","definition","BaseClass","__WEBPACK_IMPORTED_MODULE_1__store__","__WEBPACK_IMPORTED_MODULE_2__state__","__WEBPACK_IMPORTED_MODULE_3__context__","__WEBPACK_IMPORTED_MODULE_4__props__","__WEBPACK_IMPORTED_MODULE_0_type_r__","__WEBPACK_IMPORTED_MODULE_5__typeSpecs__","process","BaseComponentClass","State","ComponentState","_super","apply","arguments","__extends","attributes","__decorate","merge","StateMixin","UpdateOnNestedChangesMixin","extendStatics","setPrototypeOf","__proto__","b","__","constructor","decorators","target","desc","r","getOwnPropertyDescriptor","Reflect","decorate","_initializeState","__keepState","_owner","_ownerKey","context","_nestedStore","getStore","_defaultStore","componentWillUnmount","_preventDispose","dispose","_onChildrenChange","componentDidMount","useView","View","BaseView","__WEBPACK_IMPORTED_MODULE_5__component_view__","__WEBPACK_IMPORTED_MODULE_0__react_mvx__","__WEBPACK_IMPORTED_MODULE_1_react_dom__","__WEBPACK_IMPORTED_MODULE_1_react_dom___default","__WEBPACK_IMPORTED_MODULE_2_type_r__","__WEBPACK_IMPORTED_MODULE_2_type_r___default","__WEBPACK_IMPORTED_MODULE_3_prop_types__","__WEBPACK_IMPORTED_MODULE_4__view_element__","__WEBPACK_IMPORTED_MODULE_6__createClass__","NestedReact","subview","createClass","definitions","extend","reactClass","RecordProto","getLink","linkAt","deepLink","linkPath","CollectionProto","Collection","hasLink","linkContains","BackboneViewProps","el","a","findDOMNode","$el","$","sel","find","defineProperties","store","StoreClass","Store","ExternalStoreMixin","ExposeStoreMixin","BaseClass_1","InternalStore","attrbutes","InternalStoreMixin","__WEBPACK_IMPORTED_MODULE_1__state__","childContext","getChildContext","componentWillMount","_context","contextTypes","__WEBPACK_IMPORTED_MODULE_0__typeSpecs__","_childContext","childContextTypes","emptyFunction","invariant","ReactPropTypesSecret","shim","propName","componentName","location","propFullName","secret","getShim","ReactPropTypes","array","bool","func","number","string","symbol","any","arrayOf","element","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","makeEmptyFunction","arg","thatReturns","thatReturnsFalse","thatReturnsTrue","thatReturnsNull","thatReturnsThis","thatReturnsArgument","condition","format","e","f","validateFormat","error","undefined","Error","args","argIndex","replace","framesToPop","pureRender","_props","_b","defaultProps","_watchers","WatchersMixin","_changeHandlers","ChangeHandlersMixin","PropsChangeTokens","__WEBPACK_IMPORTED_MODULE_1__pureRender__","handlePropsChanges","name_1","_i","handler","componentDidUpdate","componentWillReceiveProps","name_2","name_3","createChangeTokensConstructor","propNames","keys","map","join","_hasChanges","updateChangeTokens","_propsChangeTokens","PureRenderMixin","shouldComponentUpdate","nextProps","getLinksCache","record","_links","AttributesCopy","cacheLink","links","cached","RecordLink","__WEBPACK_IMPORTED_MODULE_1__valuelink_link__","populate","path","RecordDeepLink","linkAll","attr","_this","set","x","_error","getValidationError","deepGet","deepValidationError","_changeToken","deepSet","CollectionLink","collection","_byId","cid","toggle","__WEBPACK_IMPORTED_MODULE_0__helpers__","CustomLink","onChange","CloneLink","checked","requestChange","update","transform","clone","pipe","action","equals","truthyValue","EqualsLink","enabled","defaultValue","EnabledLink","contains","ContainsLink","unshift","splice","iterator","removeAt","_","remove","at","LinkAt","pick","check","whenValid","defaultError","parent","indexOf","arr","nextValue","concat","filter","helpers","getPrototypeOf","ArrayProto","arrayHelpers","ObjectProto","objectHelpers","dummyHelpers","link","fun","mapped","cloned","slice","j","y","returnFalse","transaction","isRoot","withStore","_disposed","forceUpdate","protoValue","classLast","componentWillUpdate","classFirst","some","notEqual","BackboneView","saveRef","hasUnsavedChanges","view","render","createElement","className","_mountView","_dispose","appendChild","off","innerHTML","use","setElement","ComponentView","initialize","unmountComponent","prevState","resize","window","Page","forceResize","fastAssign","mountComponent","trigger","keepModel","unmountComponentAtNode","statics","a_spec","__rest","methods","Subclass","__assign","methods_1","method","bind","Proto","dontAutobind","assign","t","getOwnPropertySymbols"],"mappings":"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","file":"./dist/index.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"nestedtypes\"), require(\"react\"), require(\"react-dom\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"nestedtypes\", \"react\", \"react-dom\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"React\"] = factory(require(\"nestedtypes\"), require(\"react\"), require(\"react-dom\"));\n\telse\n\t\troot[\"React\"] = factory(root[\"Nested\"], root[\"React\"], root[\"ReactDOM\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_2__, __WEBPACK_EXTERNAL_MODULE_7__) {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"nestedtypes\"), require(\"react\"), require(\"react-dom\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"nestedtypes\", \"react\", \"react-dom\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"React\"] = factory(require(\"nestedtypes\"), require(\"react\"), require(\"react-dom\"));\n\telse\n\t\troot[\"React\"] = factory(root[\"Nested\"], root[\"React\"], root[\"ReactDOM\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_2__, __WEBPACK_EXTERNAL_MODULE_7__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\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, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\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 = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 8);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_0__;\n\n/***/ }),\n/* 1 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return assignToState; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__define__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__link__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__component__ = __webpack_require__(20);\n/* harmony reexport (binding) */ if(__webpack_require__.o(__WEBPACK_IMPORTED_MODULE_1_type_r__, \"define\")) __webpack_require__.d(__webpack_exports__, \"g\", function() { return __WEBPACK_IMPORTED_MODULE_1_type_r__[\"define\"]; });\n/* harmony reexport (binding) */ if(__webpack_require__.o(__WEBPACK_IMPORTED_MODULE_1_type_r__, \"mixins\")) __webpack_require__.d(__webpack_exports__, \"h\", function() { return __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixins\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return __WEBPACK_IMPORTED_MODULE_2__define__[\"b\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_2__define__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return __WEBPACK_IMPORTED_MODULE_3__link__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_4__component__[\"a\"]; });\n\n\n\n\n\n// extend React namespace\nvar ReactMVx = Object.create(__WEBPACK_IMPORTED_MODULE_0_react__);\n// Make it compatible with ES6 module format.\nReactMVx.default = ReactMVx;\n// listenToProps, listenToState, model, attributes, Model\nReactMVx.define = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"define\"];\nReactMVx.mixins = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixins\"];\nReactMVx.Node = __WEBPACK_IMPORTED_MODULE_2__define__[\"b\" /* Node */].value(null);\nReactMVx.Element = __WEBPACK_IMPORTED_MODULE_2__define__[\"a\" /* Element */].value(null);\nReactMVx.Link = __WEBPACK_IMPORTED_MODULE_3__link__[\"a\" /* default */];\nReactMVx.Component = __WEBPACK_IMPORTED_MODULE_4__component__[\"a\" /* Component */];\nvar assignToState = ReactMVx.assignToState = function (key) {\n return function (prop) {\n this.state.assignFrom((_a = {}, _a[key] = prop && prop instanceof __WEBPACK_IMPORTED_MODULE_3__link__[\"a\" /* default */] ? prop.value : prop, _a));\n var _a;\n };\n};\n/* harmony default export */ __webpack_exports__[\"f\"] = (ReactMVx);\n\n//# sourceMappingURL=index.js.map\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n/***/ }),\n/* 3 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = compileSpecs;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return Node; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Element; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n\n\nfunction compileSpecs(props) {\n var propTypes = {}, \n // Create NestedTypes model definition to process props spec.\n modelProto = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"Record\"].defaults(props).prototype;\n var defaults, watchers, changeHandlers;\n modelProto.forEachAttr(modelProto._attributes, function (spec, name) {\n // Skip auto-generated `id` attribute.\n if (name !== 'id') {\n var value = spec.value, type = spec.type, options = spec.options;\n // Translate props type to the propTypes guard.\n propTypes[name] = translateType(type, options.isRequired);\n if (options._onChange) {\n watchers || (watchers = {});\n watchers[name] = toLocalWatcher(options._onChange);\n }\n // Handle listening to event maps...\n if (options.changeHandlers && options.changeHandlers.length) {\n changeHandlers || (changeHandlers = {});\n changeHandlers[name] = options.changeHandlers;\n }\n // Handle listening to props changes...\n if (options.changeEvents) {\n changeHandlers || (changeHandlers = {});\n var handlers = changeHandlers[name] || (changeHandlers[name] = []), changeEvents_1 = typeof options.changeEvents === 'string' ? options.changeEvents : null;\n handlers.push(function (next, prev, component) {\n prev && component.stopListening(prev);\n next && component.listenTo(next, changeEvents_1 || next._changeEventName, component.asyncUpdate);\n });\n }\n // If default value is explicitly provided...\n if (value !== void 0) {\n //...append it to getDefaultProps function.\n defaults || (defaults = {});\n defaults[name] = spec.convert(value, void 0, null, {});\n }\n }\n });\n return { propTypes: propTypes, defaults: defaults, watchers: watchers, changeHandlers: changeHandlers };\n}\nfunction toLocalWatcher(ref) {\n return typeof ref === 'function' ? ref : function (value, name) {\n this[ref] && this[ref](value, name);\n };\n}\nvar Node = (function () {\n function Node() {\n }\n return Node;\n}());\n\nvar Element = (function () {\n function Element() {\n }\n return Element;\n}());\n\nfunction translateType(Type, isRequired) {\n var T = _translateType(Type);\n return isRequired ? T.isRequired : T;\n}\nfunction _translateType(Type) {\n switch (Type) {\n case Number:\n case Number.integer:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"number\"];\n case String:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"string\"];\n case Boolean:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"bool\"];\n case Array:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"array\"];\n case Function:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"func\"];\n case Object:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"object\"];\n case Node:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"node\"];\n case Element:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"element\"];\n case void 0:\n case null:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"any\"];\n default:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"instanceOf\"](Type);\n }\n}\n//# sourceMappingURL=typeSpecs.js.map\n\n/***/ }),\n/* 4 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = onDefine;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__store__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__state__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__context__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__props__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__typeSpecs__ = __webpack_require__(3);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_5__typeSpecs__[\"b\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_5__typeSpecs__[\"a\"]; });\n\n\n\n\n\nfunction onDefine(definition, BaseClass) {\n // Initialize mixins placeholder...\n __WEBPACK_IMPORTED_MODULE_1__store__[\"a\" /* default */].call(this, definition, BaseClass);\n __WEBPACK_IMPORTED_MODULE_2__state__[\"c\" /* default */].call(this, definition, BaseClass);\n __WEBPACK_IMPORTED_MODULE_3__context__[\"a\" /* default */].call(this, definition, BaseClass);\n __WEBPACK_IMPORTED_MODULE_4__props__[\"a\" /* default */].call(this, definition, BaseClass);\n __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Messenger\"].onDefine.call(this, definition, BaseClass);\n}\n;\n\n//# sourceMappingURL=index.js.map\n\n/***/ }),\n/* 5 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = process;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return StateMixin; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return UpdateOnNestedChangesMixin; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n/*****************\n * State\n */\n\nfunction process(definition, BaseComponentClass) {\n var prototype = this.prototype;\n var state = definition.state, State = definition.State;\n if (typeof state === 'function') {\n State = state;\n state = void 0;\n }\n if (state) {\n var BaseClass = State || prototype.State || __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Record\"];\n var ComponentState = (function (_super) {\n __extends(ComponentState, _super);\n function ComponentState() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return ComponentState;\n }(BaseClass));\n ComponentState.attributes = state;\n ComponentState = __decorate([\n __WEBPACK_IMPORTED_MODULE_0_type_r__[\"define\"]\n ], ComponentState);\n prototype.State = ComponentState;\n }\n else if (State) {\n prototype.State = State;\n }\n if (state || State) {\n this.mixins.merge([StateMixin, UpdateOnNestedChangesMixin]);\n }\n}\nvar StateMixin = {\n //state : null,\n _initializeState: function () {\n // props.__keepState is used to workaround issues in Backbone intergation layer\n var state = this.state = this.props.__keepState || new this.State();\n // Take ownership on state...\n state._owner = this;\n state._ownerKey = 'state';\n },\n context: {\n _nestedStore: __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Store\"]\n },\n // reference global store to fix model's store locator\n getStore: function () {\n // Attempt to get the store from the context first. Then - fallback to the state's default store.\n // TBD: Need to figure out a good way of managing local stores.\n var context, state;\n return ((context = this.context) && context._nestedStore) ||\n ((state = this.state) && state._defaultStore);\n },\n componentWillUnmount: function () {\n var state = this.state;\n state._owner = state._ownerKey = void 0;\n this._preventDispose /* hack for component-view to preserve the state */ || state.dispose();\n this.state = void 0;\n }\n};\nvar UpdateOnNestedChangesMixin = {\n _onChildrenChange: function () { },\n componentDidMount: function () {\n this._onChildrenChange = this.asyncUpdate;\n }\n};\n//# sourceMappingURL=state.js.map\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (false) {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = __webpack_require__(11)();\n}\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_7__;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (immutable) */ __webpack_exports__[\"useView\"] = useView;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1);\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"define\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"g\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"mixins\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"h\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Node\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"d\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Element\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"b\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Link\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"c\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Component\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"assignToState\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"e\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__view_element__ = __webpack_require__(21);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"subview\", function() { return __WEBPACK_IMPORTED_MODULE_4__view_element__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__component_view__ = __webpack_require__(22);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__createClass__ = __webpack_require__(23);\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"PropTypes\", function() { return __WEBPACK_IMPORTED_MODULE_3_prop_types__; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"createClass\", function() { return __WEBPACK_IMPORTED_MODULE_6__createClass__[\"a\"]; });\n// Re-export react-mvx\n\nvar NestedReact = Object.create(__WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"f\" /* default */]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (NestedReact);\n\n// NestedReact backward compatibility layer\n\n\n\n\nNestedReact.subview = __WEBPACK_IMPORTED_MODULE_4__view_element__[\"a\" /* default */];\n\n\n\nNestedReact.createClass = __WEBPACK_IMPORTED_MODULE_6__createClass__[\"a\" /* default */];\nObject.defineProperty(NestedReact, 'PropTypes', { value: __WEBPACK_IMPORTED_MODULE_3_prop_types__ });\n\nvar BaseView;\n// export hook to override base View class used...\nfunction useView(View) {\n BaseView = Object(__WEBPACK_IMPORTED_MODULE_5__component_view__[\"a\" /* default */])(View);\n}\nvar onDefine = NestedReact.Component.onDefine;\nNestedReact.Component.onDefine = function (definitions, BaseClass) {\n this.View = BaseView.extend({ reactClass: this });\n return onDefine.call(this, definitions, BaseClass);\n};\n// Deprecated API for backward compatibility\nvar RecordProto = __WEBPACK_IMPORTED_MODULE_2_type_r__[\"Record\"].prototype;\nRecordProto.getLink = RecordProto.linkAt;\nRecordProto.deepLink = RecordProto.linkPath;\nvar CollectionProto = __WEBPACK_IMPORTED_MODULE_2_type_r__[\"Record\"].Collection.prototype;\nCollectionProto.hasLink = CollectionProto.linkContains;\nuseView(__WEBPACK_IMPORTED_MODULE_2_type_r__[\"View\"]);\n// Extend react components to have backbone-style jquery accessors\nvar BackboneViewProps = {\n el: { get: function () { return __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.findDOMNode(this); } },\n $el: { get: function () { return __WEBPACK_IMPORTED_MODULE_2_type_r___default.a.$(this.el); } },\n $: { value: function (sel) { return this.$el.find(sel); } }\n};\nObject.defineProperties(NestedReact.Component.prototype, BackboneViewProps);\n//# sourceMappingURL=index.js.map\n\n/***/ }),\n/* 9 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = onDefine;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__state__ = __webpack_require__(5);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\nfunction onDefine(definition, BaseClass) {\n var store = definition.store, StoreClass = definition.Store;\n if (store && store instanceof __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Store\"]) {\n // Direct reference to an existing store. Put it to the prototype.\n this.prototype.store = store;\n this.mixins.merge([ExternalStoreMixin, ExposeStoreMixin]);\n }\n else if (store || definition.Store) {\n if (typeof store === 'function') {\n StoreClass = store;\n store = void 0;\n }\n if (store) {\n var BaseClass_1 = StoreClass || this.prototype.Store || __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Store\"];\n var InternalStore = (function (_super) {\n __extends(InternalStore, _super);\n function InternalStore() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return InternalStore;\n }(BaseClass_1));\n InternalStore.attrbutes = store;\n InternalStore = __decorate([\n __WEBPACK_IMPORTED_MODULE_0_type_r__[\"define\"]\n ], InternalStore);\n ;\n this.prototype.Store = InternalStore;\n }\n else if (StoreClass) {\n this.prototype.Store = StoreClass;\n }\n this.mixins.merge([InternalStoreMixin, __WEBPACK_IMPORTED_MODULE_1__state__[\"b\" /* UpdateOnNestedChangesMixin */], ExposeStoreMixin]);\n }\n}\n/**\n * Attached whenever the store declaration of any form is present in the component.\n */\nvar ExposeStoreMixin = {\n childContext: {\n _nestedStore: __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Store\"]\n },\n getChildContext: function () {\n return { _nestedStore: this.store };\n },\n getStore: function () {\n return this.store;\n },\n // Will be called by the store when the lookup will fail.\n get: function (key) {\n // Ask upper store.\n var store = __WEBPACK_IMPORTED_MODULE_1__state__[\"a\" /* StateMixin */].getStore.call(this, key);\n return store && store.get(key);\n }\n};\n/**\n * External store must just track the changes and trigger render.\n * TBD: don't use it yet.\n */\nvar ExternalStoreMixin = {\n componentDidMount: function () {\n // Start UI updates on state changes.\n this.listenTo(this.store, 'change', this.asyncUpdate);\n }\n};\nvar InternalStoreMixin = {\n componentWillMount: function () {\n var store = this.store = new this.Store();\n store._owner = this;\n store._ownerKey = 'store';\n },\n componentWillUnmount: function () {\n this.store._ownerKey = this.store._owner = void 0;\n this.store.dispose();\n this.store = void 0;\n }\n};\n//# sourceMappingURL=store.js.map\n\n/***/ }),\n/* 10 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = onDefine;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n\n\nfunction onDefine(_a, BaseClass) {\n var context = _a.context, childContext = _a.childContext;\n var prototype = this.prototype;\n if (context) {\n // Merge in inherited members...\n prototype._context = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].defaults(context, BaseClass.prototype._context || {});\n // Compile to propTypes...\n this.contextTypes = Object(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* compileSpecs */])(context).propTypes;\n }\n if (childContext) {\n prototype._childContext = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].defaults(childContext, BaseClass.prototype._childContext);\n this.childContextTypes = Object(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* compileSpecs */])(childContext).propTypes;\n }\n}\n//# sourceMappingURL=context.js.map\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar emptyFunction = __webpack_require__(12);\nvar invariant = __webpack_require__(13);\nvar ReactPropTypesSecret = __webpack_require__(14);\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n invariant(\n false,\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim\n };\n\n ReactPropTypes.checkPropTypes = emptyFunction;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (false) {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = onDefine;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__pureRender__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__);\n/**\n * Handle props specification and everything which is related:\n * - local listening to props changes\n * - pure render mixin\n */\n\n\n\nfunction onDefine(_a, BaseClass) {\n var props = _a.props, pureRender = _a.pureRender;\n var prototype = this.prototype;\n // process props spec...\n if (props) {\n // Merge with inherited members...\n prototype._props = __WEBPACK_IMPORTED_MODULE_2_type_r__[\"tools\"].defaults(props, BaseClass.prototype._props || {});\n var _b = Object(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* compileSpecs */])(props), propTypes = _b.propTypes, defaults = _b.defaults, watchers = _b.watchers, changeHandlers = _b.changeHandlers;\n this.propTypes = propTypes;\n if (defaults)\n this.defaultProps = defaults;\n if (watchers) {\n prototype._watchers = watchers;\n this.mixins.merge([WatchersMixin]);\n }\n if (changeHandlers) {\n prototype._changeHandlers = changeHandlers;\n this.mixins.merge([ChangeHandlersMixin]);\n }\n if (prototype.pureRender) {\n prototype.PropsChangeTokens = Object(__WEBPACK_IMPORTED_MODULE_1__pureRender__[\"b\" /* createChangeTokensConstructor */])(props);\n }\n }\n if (pureRender) {\n this.mixins.merge([__WEBPACK_IMPORTED_MODULE_1__pureRender__[\"a\" /* PureRenderMixin */]]);\n }\n}\n/**\n * ChangeHandlers are fired in sequence upon props replacement.\n * Fires _after_ UI is updated. Used for managing events subscriptions.\n */\nvar ChangeHandlersMixin = {\n componentDidMount: function () {\n handlePropsChanges(this, {}, this.props);\n },\n componentDidUpdate: function (prev) {\n handlePropsChanges(this, prev, this.props);\n },\n componentWillUnmount: function () {\n handlePropsChanges(this, this.props, {});\n }\n};\nfunction handlePropsChanges(component, prev, next) {\n var _changeHandlers = component._changeHandlers;\n for (var name_1 in _changeHandlers) {\n if (prev[name_1] !== next[name_1]) {\n for (var _i = 0, _a = _changeHandlers[name_1]; _i < _a.length; _i++) {\n var handler = _a[_i];\n handler(next[name_1], prev[name_1], component);\n }\n }\n }\n}\n/**\n * Watchers works on props replacement and fires _before_ any change will be applied and UI is updated.\n * Fired in componentWillMount as well, which makes it a nice way to sync state from props.\n */\nvar WatchersMixin = {\n componentWillReceiveProps: function (next) {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_2 in _watchers) {\n if (next[name_2] !== props[name_2]) {\n _watchers[name_2].call(this, next[name_2], name_2);\n }\n }\n },\n componentWillMount: function () {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_3 in _watchers) {\n _watchers[name_3].call(this, props[name_3], name_3);\n }\n }\n};\n//# sourceMappingURL=props.js.map\n\n/***/ }),\n/* 16 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = createChangeTokensConstructor;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return PureRenderMixin; });\nfunction createChangeTokensConstructor(props) {\n var propNames = Object.keys(props);\n var PropsChangeTokens = new Function('p', 's', \"\\n var v;\\n this._s = s && s._changeToken;\\n \" + propNames.map(function (name) { return \"\\n this.\" + name + \" = ( ( v = p.\" + name + \") && v._changeToken ) || v;\\n \"; }).join('') + \"\\n \");\n PropsChangeTokens.prototype._hasChanges = new Function('p', 's', \"\\n var v;\\n return ( s && s._changeToken !== this._s ) \" + propNames.map(function (name) { return \" ||\\n this.\" + name + \" !== ( ( ( v = p.\" + name + \") && v._changeToken ) || v )\\n \"; }).join('') + \";\\n \");\n return PropsChangeTokens;\n}\n;\nvar PureRenderMixin = {\n shouldComponentUpdate: function (nextProps) {\n return this._propsChangeTokens._hasChanges(nextProps);\n },\n componentDidMount: updateChangeTokens,\n componentDidUpdate: updateChangeTokens\n};\nfunction updateChangeTokens() {\n this._propsChangeTokens = new this.PropsChangeTokens(this.props, this.state);\n}\n//# sourceMappingURL=pureRender.js.map\n\n/***/ }),\n/* 17 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__valuelink_link__ = __webpack_require__(18);\n/**\n * Import ValueLink library\n * Define value links binding mixins to the Record and Collection\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]);\n__WEBPACK_IMPORTED_MODULE_0_type_r__[\"Mixable\"].mixins.populate(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]);\n/**\n * Record\n */\n__WEBPACK_IMPORTED_MODULE_0_type_r__[\"MixinsState\"].get(__WEBPACK_IMPORTED_MODULE_0_type_r__[\"Record\"]).merge([{\n // Link to the record's attribute by its key.\n linkAt: function (key) {\n return cacheLink(getLinksCache(this), this, key);\n },\n // Link to the attribute of the record's tree by symbolic path.\n linkPath: function (path, options) {\n return new RecordDeepLink(this, path, options);\n },\n // Link all (or listed) attributes and return links cache.\n linkAll: function () {\n var links = getLinksCache(this);\n if (arguments.length) {\n for (var i = 0; i < arguments.length; i++) {\n cacheLink(links, this, arguments[i]);\n }\n }\n else {\n var attributes = this.attributes;\n for (var key in attributes) {\n attributes[key] === void 0 || cacheLink(links, this, key);\n }\n }\n return links;\n }\n }]);\n/**\n * Link to Type-R's record attribute.\n * Strict evaluation of value, lazy evaluation of validation error.\n * Links are cached in the records\n */\nvar RecordLink = (function (_super) {\n __extends(RecordLink, _super);\n function RecordLink(record, attr, value) {\n var _this = _super.call(this, value) || this;\n _this.record = record;\n _this.attr = attr;\n return _this;\n }\n RecordLink.prototype.set = function (x) {\n this.record[this.attr] = x;\n };\n Object.defineProperty(RecordLink.prototype, \"error\", {\n get: function () {\n return this._error === void 0 ?\n this.record.getValidationError(this.attr) :\n this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n return RecordLink;\n}(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]));\nvar RecordDeepLink = (function (_super) {\n __extends(RecordDeepLink, _super);\n function RecordDeepLink(record, path, options) {\n var _this = _super.call(this, record.deepGet(path)) || this;\n _this.record = record;\n _this.path = path;\n _this.options = options;\n return _this;\n }\n Object.defineProperty(RecordDeepLink.prototype, \"error\", {\n get: function () {\n if (this._error === void 0) {\n this._error = this.record.deepValidationError(this.path) || null;\n }\n return this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(RecordDeepLink.prototype, \"_changeToken\", {\n get: function () {\n return this.record._changeToken;\n },\n enumerable: true,\n configurable: true\n });\n RecordDeepLink.prototype.set = function (x) {\n this.record.deepSet(this.path, x, this.options);\n };\n return RecordDeepLink;\n}(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]));\nfunction getLinksCache(record) {\n return record._links || (record._links = new record.AttributesCopy({}));\n}\nfunction cacheLink(links, record, key) {\n var cached = links[key], value = record[key];\n return cached && cached.value === value ? cached\n : links[key] = new RecordLink(record, key, value);\n}\n/***********************************\n * Collection\n */\n__WEBPACK_IMPORTED_MODULE_0_type_r__[\"MixinsState\"].get(__WEBPACK_IMPORTED_MODULE_0_type_r__[\"Record\"].Collection).merge([{\n // Boolean link to the record's presence in the collection\n linkContains: function (record) {\n return new CollectionLink(this, record);\n },\n // Link to collection's property\n linkAt: function (prop) {\n var _this = this;\n return __WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */].value(this[prop], function (x) { return _this[prop] = x; });\n }\n }]);\n/**\n * Boolean link to presence of NestedType's record in collection.\n * Strict evaluation of value, no error.\n * Safe implementation of _changeToken.\n */\nvar CollectionLink = (function (_super) {\n __extends(CollectionLink, _super);\n function CollectionLink(collection, record) {\n var _this = _super.call(this, Boolean(collection._byId[record.cid])) || this;\n _this.collection = collection;\n _this.record = record;\n return _this;\n }\n CollectionLink.prototype.set = function (x) {\n this.collection.toggle(this.record, x);\n };\n return CollectionLink;\n}(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]));\n//# sourceMappingURL=link.js.map\n\n/***/ }),\n/* 18 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Link; });\n/* unused harmony export CustomLink */\n/* unused harmony export CloneLink */\n/* unused harmony export EqualsLink */\n/* unused harmony export EnabledLink */\n/* unused harmony export ContainsLink */\n/* unused harmony export LinkAt */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__helpers__ = __webpack_require__(19);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * Advanced React links for purely functional two-way data binding\n *\n * MIT License, (c) 2016 Vlad Balin, Volicon.\n */\n\n// Main Link class. All links must extend it.\nvar Link = (function () {\n // create \n function Link(value) {\n this.value = value;\n }\n // Create custom link to arbitrary value\n Link.value = function (value, set) {\n return new CustomLink(value, set);\n };\n Object.defineProperty(Link.prototype, \"validationError\", {\n // DEPRECATED: Old error holder for backward compatibility with Volicon code base\n get: function () { return this.error; },\n enumerable: true,\n configurable: true\n });\n Link.prototype.onChange = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n handler(x);\n _this.set(x);\n });\n };\n Object.defineProperty(Link.prototype, \"props\", {\n // \n get: function () {\n var _this = this;\n return typeof this.value === 'boolean' ? {\n checked: this.value,\n onChange: function (e) { return _this.set(Boolean(e.target.checked)); }\n } : {\n value: this.value,\n onChange: function (e) { return _this.set(e.target.value); }\n };\n },\n enumerable: true,\n configurable: true\n });\n // DEPRECATED: Old React method for backward compatibility\n Link.prototype.requestChange = function (x) {\n this.set(x);\n };\n // Immediately update the link value using given transform function.\n Link.prototype.update = function (transform, e) {\n var next = transform(this.clone(), e);\n next === void 0 || this.set(next);\n };\n // Create new link which applies transform function on set.\n Link.prototype.pipe = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n var next = handler(x, _this.value);\n next === void 0 || _this.set(next);\n });\n };\n // Create UI event handler function which will update the link with a given transform function.\n Link.prototype.action = function (transform) {\n var _this = this;\n return function (e) { return _this.update(transform, e); };\n };\n Link.prototype.equals = function (truthyValue) {\n return new EqualsLink(this, truthyValue);\n };\n Link.prototype.enabled = function (defaultValue) {\n return new EnabledLink(this, defaultValue || \"\");\n };\n // Array-only links methods\n Link.prototype.contains = function (element) {\n return new ContainsLink(this, element);\n };\n Link.prototype.push = function () {\n var array = __WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* arrayHelpers */].clone(this.value);\n Array.prototype.push.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.unshift = function () {\n var array = __WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* arrayHelpers */].clone(this.value);\n Array.prototype.unshift.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.splice = function () {\n var array = __WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* arrayHelpers */].clone(this.value);\n Array.prototype.splice.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.map = function (iterator) {\n return Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* helpers */])(this.value).map(this, iterator);\n };\n Link.prototype.removeAt = function (key) {\n var value = this.value, _ = Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* helpers */])(value);\n this.set(_.remove(_.clone(value), key));\n };\n Link.prototype.at = function (key) {\n return new LinkAt(this, key);\n };\n Link.prototype.clone = function () {\n var value = this.value;\n return Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* helpers */])(value).clone(value);\n };\n Link.prototype.pick = function () {\n var links = {};\n for (var i = 0; i < arguments.length; i++) {\n var key = arguments[i];\n links[key] = new LinkAt(this, key);\n }\n return links;\n };\n /**\n * Validate link with validness predicate and optional custom error object. Can be chained.\n */\n Link.prototype.check = function (whenValid, error) {\n if (!this.error && !whenValid(this.value)) {\n this.error = error || whenValid.error || defaultError;\n }\n return this;\n };\n return Link;\n}());\n\nvar CustomLink = (function (_super) {\n __extends(CustomLink, _super);\n function CustomLink(value, set) {\n var _this = _super.call(this, value) || this;\n _this.set = set;\n return _this;\n }\n CustomLink.prototype.set = function (x) { };\n return CustomLink;\n}(Link));\n\nvar CloneLink = (function (_super) {\n __extends(CloneLink, _super);\n function CloneLink(parent, set) {\n var _this = _super.call(this, parent.value) || this;\n _this.set = set;\n var error = parent.error;\n if (error)\n _this.error = error;\n return _this;\n }\n CloneLink.prototype.set = function (x) { };\n return CloneLink;\n}(Link));\n\nvar EqualsLink = (function (_super) {\n __extends(EqualsLink, _super);\n function EqualsLink(parent, truthyValue) {\n var _this = _super.call(this, parent.value === truthyValue) || this;\n _this.parent = parent;\n _this.truthyValue = truthyValue;\n return _this;\n }\n EqualsLink.prototype.set = function (x) {\n this.parent.set(x ? this.truthyValue : null);\n };\n return EqualsLink;\n}(Link));\n\nvar EnabledLink = (function (_super) {\n __extends(EnabledLink, _super);\n function EnabledLink(parent, defaultValue) {\n var _this = _super.call(this, parent.value != null) || this;\n _this.parent = parent;\n _this.defaultValue = defaultValue;\n return _this;\n }\n EnabledLink.prototype.set = function (x) {\n this.parent.set(x ? this.defaultValue : null);\n };\n return EnabledLink;\n}(Link));\n\nvar ContainsLink = (function (_super) {\n __extends(ContainsLink, _super);\n function ContainsLink(parent, element) {\n var _this = _super.call(this, parent.value.indexOf(element) >= 0) || this;\n _this.parent = parent;\n _this.element = element;\n return _this;\n }\n ContainsLink.prototype.set = function (x) {\n var _this = this;\n var next = Boolean(x);\n if (this.value !== next) {\n var arr = this.parent.value, nextValue = x ? arr.concat(this.element) : arr.filter(function (el) { return el !== _this.element; });\n this.parent.set(nextValue);\n }\n };\n return ContainsLink;\n}(Link));\n\nvar defaultError = 'Invalid value';\n/**\n * Link to array or object element enclosed in parent link.\n * Performs purely functional update of the parent, shallow copying its value on `set`.\n */\nvar LinkAt = (function (_super) {\n __extends(LinkAt, _super);\n function LinkAt(parent, key) {\n var _this = _super.call(this, parent.value[key]) || this;\n _this.parent = parent;\n _this.key = key;\n return _this;\n }\n LinkAt.prototype.remove = function () {\n this.parent.removeAt(this.key);\n };\n // Set new element value to parent array or object, performing purely functional update.\n LinkAt.prototype.set = function (x) {\n var _this = this;\n if (this.value !== x) {\n this.parent.update(function (value) {\n value[_this.key] = x;\n return value;\n });\n }\n };\n ;\n return LinkAt;\n}(Link));\n\n//# sourceMappingURL=link.js.map\n\n/***/ }),\n/* 19 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = helpers;\n/* unused harmony export objectHelpers */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return arrayHelpers; });\nvar ArrayProto = Array.prototype, ObjectProto = Object.prototype;\nfunction helpers(value) {\n if (value && typeof value === 'object') {\n switch (Object.getPrototypeOf(value)) {\n case ArrayProto: return arrayHelpers;\n case ObjectProto: return objectHelpers;\n }\n }\n return dummyHelpers;\n}\n// Do nothing for types other than Array and plain Object.\nvar dummyHelpers = {\n clone: function (value) { return value; },\n map: function (link, fun) { return []; },\n remove: function (value) { return value; }\n};\n// `map` and `clone` for plain JS objects\nvar objectHelpers = {\n // Map through the link to object\n map: function (link, iterator) {\n var mapped = [];\n for (var key in link.value) {\n var element = iterator(link.at(key), key);\n element === void 0 || (mapped.push(element));\n }\n return mapped;\n },\n remove: function (object, key) {\n delete object[key];\n return object;\n },\n // Shallow clone plain JS object\n clone: function (object) {\n var cloned = {};\n for (var key in object) {\n cloned[key] = object[key];\n }\n return cloned;\n }\n};\n// `map` and `clone` helpers for arrays.\nvar arrayHelpers = {\n // Shallow clone array\n clone: function (array) {\n return array.slice();\n },\n remove: function (array, i) {\n array.splice(i, 1);\n return array;\n },\n // Map through the link to array\n map: function (link, iterator) {\n var length = link.value.length, mapped = Array(length);\n for (var i = 0, j = 0; i < length; i++) {\n var y = iterator(link.at(i), i);\n y === void 0 || (mapped[j++] = y);\n }\n mapped.length === j || (mapped.length = j);\n return mapped;\n }\n};\n//# sourceMappingURL=helpers.js.map\n\n/***/ }),\n/* 20 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Component; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__define__ = __webpack_require__(4);\n/**\n * React-Type-R component base class. Overrides React component.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\nvar Component = (function (_super) {\n __extends(Component, _super);\n function Component(props, context) {\n var _this = _super.call(this, props, context) || this;\n _this._initializeState();\n return _this;\n }\n Component.prototype.linkAt = function (key) {\n // Quick and dirty hack to suppres type error - refactor later.\n return this.state.linkAt(key);\n };\n Component.prototype.linkAll = function () {\n // Quick and dirty hack to suppres type error - refactor later.\n var state = this.state;\n return state.linkAll.apply(state, arguments);\n };\n Component.prototype.linkPath = function (path) {\n return this.state.linkPath(path);\n };\n Object.defineProperty(Component.prototype, \"links\", {\n get: function () {\n return this.state._links;\n },\n enumerable: true,\n configurable: true\n });\n Component.prototype._initializeState = function () {\n this.state = null;\n };\n Component.prototype.assignToState = function (x, key) {\n this.state.assignFrom((_a = {}, _a[key] = x, _a));\n var _a;\n };\n Component.prototype.componentWillUnmount = function () {\n this.dispose();\n };\n /**\n * Performs transactional update for both props and state.\n * Suppress updates during the transaction, and force update aftewards.\n * Wrapping the sequence of changes in a transactions guarantees that\n * React component will be updated _after_ all the changes to the\n * both props and local state are applied.\n */\n Component.prototype.transaction = function (fun) {\n var shouldComponentUpdate = this.shouldComponentUpdate, isRoot = shouldComponentUpdate !== returnFalse;\n if (isRoot) {\n this.shouldComponentUpdate = returnFalse;\n }\n var _a = this, state = _a.state, store = _a.store, withStore = store ? function (state) { return store.transaction(function () { return fun(state); }); } : fun;\n state ? state.transaction(withStore) : withStore(state);\n if (isRoot) {\n this.shouldComponentUpdate = shouldComponentUpdate;\n this.asyncUpdate();\n }\n };\n // Safe version of the forceUpdate suitable for asynchronous callbacks.\n Component.prototype.asyncUpdate = function () {\n this.shouldComponentUpdate === returnFalse || this._disposed || this.forceUpdate();\n };\n return Component;\n}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]));\nComponent.onDefine = __WEBPACK_IMPORTED_MODULE_2__define__[\"c\" /* default */];\nComponent = __decorate([\n __WEBPACK_IMPORTED_MODULE_1_type_r__[\"define\"],\n Object(__WEBPACK_IMPORTED_MODULE_1_type_r__[\"definitions\"])({\n // Definitions to be extracted from mixins and statics and passed to `onDefine()`\n state: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].merge,\n State: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].value,\n store: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].merge,\n Store: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].value,\n props: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].merge,\n context: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].merge,\n childContext: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].merge,\n pureRender: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].protoValue\n }),\n Object(__WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"])({\n // Apply old-school React mixin rules.\n componentWillMount: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classLast,\n componentDidMount: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classLast,\n componentWillReceiveProps: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classLast,\n componentWillUpdate: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classLast,\n componentDidUpdate: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classLast,\n componentWillUnmount: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classFirst,\n // And a bit more to fix inheritance quirks.\n shouldComponentUpdate: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].some,\n getChildContext: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].defaults\n })\n // Component can send and receive events...\n ,\n Object(__WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixins\"])(__WEBPACK_IMPORTED_MODULE_1_type_r__[\"Messenger\"])\n], Component);\n\nfunction returnFalse() { return false; }\n// Looks like React guys _really_ want to deprecate it. But no way.\n// We will work around their attempt.\nObject.defineProperty(Component.prototype, 'isMounted', {\n value: function isMounted() {\n return !this._disposed;\n }\n});\n//# sourceMappingURL=component.js.map\n\n/***/ }),\n/* 21 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\nvar notEqual = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].notEqual;\nvar BackboneView = (function (_super) {\n __extends(BackboneView, _super);\n function BackboneView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.saveRef = function (element) {\n _this.root = element;\n };\n return _this;\n }\n BackboneView.prototype.shouldComponentUpdate = function (next) {\n var props = this.props;\n return next.View !== props.View || notEqual(next.options, props.options);\n };\n BackboneView.prototype.hasUnsavedChanges = function () {\n var view = this.view;\n return view && (typeof view.hasUnsavedChanges === 'function' ? view.hasUnsavedChanges() : view.hasUnsavedChanges);\n };\n BackboneView.prototype.render = function () {\n return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"f\" /* default */].createElement('div', {\n ref: this.saveRef,\n className: this.props.className\n });\n };\n BackboneView.prototype.componentDidMount = function () {\n this._mountView();\n };\n BackboneView.prototype.componentDidUpdate = function () {\n this._dispose();\n this._mountView();\n };\n BackboneView.prototype.componentWillUnmount = function () {\n this._dispose();\n };\n BackboneView.prototype._mountView = function () {\n var el = this.root, p = this.props;\n var view = this.view = p.options ? new p.View(p.options) : new p.View();\n el.appendChild(view.el);\n view.render();\n };\n BackboneView.prototype._dispose = function () {\n var view = this.view;\n if (view) {\n if (view.dispose) {\n view.dispose();\n }\n else {\n view.stopListening();\n view.off();\n }\n this.root.innerHTML = \"\";\n this.view = null;\n }\n };\n return BackboneView;\n}(__WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\" /* Component */]));\n/* harmony default export */ __webpack_exports__[\"a\"] = (BackboneView);\n//# sourceMappingURL=view-element.js.map\n\n/***/ }),\n/* 22 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = use;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__);\n\n\n\nwindow.Page || (window.Page = { forceResize: function () { } });\nfunction use(View) {\n var dispose = View.prototype.dispose || function () { }, setElement = View.prototype.setElement;\n var ComponentView = View.extend({\n reactClass: null,\n props: {},\n element: null,\n initialize: function (props) {\n // memorise arguments to pass to React\n this.options = props || {};\n },\n setElement: function () {\n this.unmountComponent(true);\n return setElement.apply(this, arguments);\n },\n // cached instance of react component...\n component: null,\n prevState: null,\n resize: function () {\n window.Page.forceResize();\n },\n render: function () {\n var options = this.prevState ? __WEBPACK_IMPORTED_MODULE_2_type_r__[\"tools\"].fastAssign({ __keepState: this.prevState }, this.options) : this.options, element = __WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"](this.reactClass, options), component = __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.render(element, this.el);\n this.component || this.mountComponent(component);\n },\n mountComponent: function (component) {\n this.component = component;\n this.prevState = null;\n component.trigger && this.listenTo(component, 'all', function () {\n this.trigger.apply(this, arguments);\n });\n },\n unmountComponent: function (keepModel) {\n var component = this.component;\n if (component) {\n this.prevState = component.state;\n if (component.trigger) {\n this.stopListening(component);\n }\n component._preventDispose = Boolean(keepModel);\n __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.unmountComponentAtNode(this.el);\n this.component = null;\n }\n },\n dispose: function () {\n this.unmountComponent();\n return dispose.apply(this, arguments);\n }\n });\n Object.defineProperty(ComponentView.prototype, 'model', {\n get: function () {\n this.component || this.render();\n return this.component && this.component.state;\n }\n });\n return ComponentView;\n}\n//# sourceMappingURL=component-view.js.map\n\n/***/ }),\n/* 23 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = createClass;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1);\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\n\nvar dontAutobind = [\n 'State', 'Store', 'constructor',\n 'componentWillMount', 'componentDidMount', 'componentWillReceiveProps', 'shouldComponentUpdate',\n 'componentWillUpdate', 'componentDidUpdate', 'componentWillUnmount',\n 'render', 'getDefaultProps', 'getChildContext'\n];\n/**\n * ES5 components definition factory\n */\nfunction createClass(_a) {\n var statics = _a.statics, a_spec = __rest(_a, [\"statics\"]);\n // Gather all methods to pin them to `this` later.\n var methods = [];\n var Subclass = __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\" /* Component */].extend(__assign({ \n // Override constructor to autobind all the methods...\n constructor: function () {\n __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\" /* Component */].apply(this, arguments);\n for (var _i = 0, methods_1 = methods; _i < methods_1.length; _i++) {\n var method = methods_1[_i];\n this[method] = this[method].bind(this);\n }\n } }, a_spec), statics);\n // Need to bind methods from mixins as well, so populate it here.\n var Proto = Subclass.prototype;\n for (var key in Proto) {\n if (Proto.hasOwnProperty(key) && dontAutobind.indexOf(key) === -1 && typeof Proto[key] === 'function') {\n methods.push(key);\n }\n }\n return Subclass;\n}\n//# sourceMappingURL=createClass.js.map\n\n/***/ })\n/******/ ]);\n});\n\n\n// WEBPACK FOOTER //\n// dist/index.min.js"," \t// The module cache\n \tvar installedModules = {};\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, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\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 = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 8);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap b9a6b3069ae11f0fa80d","module.exports = __WEBPACK_EXTERNAL_MODULE_0__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"commonjs\":\"nestedtypes\",\"commonjs2\":\"nestedtypes\",\"amd\":\"nestedtypes\",\"root\":\"Nested\"}\n// module id = 0\n// module chunks = 0","import * as React from 'react';\nimport { define, mixins } from 'type-r';\nimport { Node, Element } from './define';\nimport Link from './link';\nimport { Component } from './component';\n// extend React namespace\nvar ReactMVx = Object.create(React);\n// Make it compatible with ES6 module format.\nReactMVx.default = ReactMVx;\n// listenToProps, listenToState, model, attributes, Model\nReactMVx.define = define;\nReactMVx.mixins = mixins;\nReactMVx.Node = Node.value(null);\nReactMVx.Element = Element.value(null);\nReactMVx.Link = Link;\nReactMVx.Component = Component;\nvar assignToState = ReactMVx.assignToState = function (key) {\n return function (prop) {\n this.state.assignFrom((_a = {}, _a[key] = prop && prop instanceof Link ? prop.value : prop, _a));\n var _a;\n };\n};\nexport default ReactMVx;\nexport { define, mixins, Node, Element, Link, Component, assignToState };\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/index.js\n// module id = 1\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"commonjs\":\"react\",\"commonjs2\":\"react\",\"amd\":\"react\",\"root\":\"React\"}\n// module id = 2\n// module chunks = 0","import * as PropTypes from 'prop-types';\nimport { Record } from 'type-r';\nexport function compileSpecs(props) {\n var propTypes = {}, \n // Create NestedTypes model definition to process props spec.\n modelProto = Record.defaults(props).prototype;\n var defaults, watchers, changeHandlers;\n modelProto.forEachAttr(modelProto._attributes, function (spec, name) {\n // Skip auto-generated `id` attribute.\n if (name !== 'id') {\n var value = spec.value, type = spec.type, options = spec.options;\n // Translate props type to the propTypes guard.\n propTypes[name] = translateType(type, options.isRequired);\n if (options._onChange) {\n watchers || (watchers = {});\n watchers[name] = toLocalWatcher(options._onChange);\n }\n // Handle listening to event maps...\n if (options.changeHandlers && options.changeHandlers.length) {\n changeHandlers || (changeHandlers = {});\n changeHandlers[name] = options.changeHandlers;\n }\n // Handle listening to props changes...\n if (options.changeEvents) {\n changeHandlers || (changeHandlers = {});\n var handlers = changeHandlers[name] || (changeHandlers[name] = []), changeEvents_1 = typeof options.changeEvents === 'string' ? options.changeEvents : null;\n handlers.push(function (next, prev, component) {\n prev && component.stopListening(prev);\n next && component.listenTo(next, changeEvents_1 || next._changeEventName, component.asyncUpdate);\n });\n }\n // If default value is explicitly provided...\n if (value !== void 0) {\n //...append it to getDefaultProps function.\n defaults || (defaults = {});\n defaults[name] = spec.convert(value, void 0, null, {});\n }\n }\n });\n return { propTypes: propTypes, defaults: defaults, watchers: watchers, changeHandlers: changeHandlers };\n}\nfunction toLocalWatcher(ref) {\n return typeof ref === 'function' ? ref : function (value, name) {\n this[ref] && this[ref](value, name);\n };\n}\nvar Node = (function () {\n function Node() {\n }\n return Node;\n}());\nexport { Node };\nvar Element = (function () {\n function Element() {\n }\n return Element;\n}());\nexport { Element };\nfunction translateType(Type, isRequired) {\n var T = _translateType(Type);\n return isRequired ? T.isRequired : T;\n}\nfunction _translateType(Type) {\n switch (Type) {\n case Number:\n case Number.integer:\n return PropTypes.number;\n case String:\n return PropTypes.string;\n case Boolean:\n return PropTypes.bool;\n case Array:\n return PropTypes.array;\n case Function:\n return PropTypes.func;\n case Object:\n return PropTypes.object;\n case Node:\n return PropTypes.node;\n case Element:\n return PropTypes.element;\n case void 0:\n case null:\n return PropTypes.any;\n default:\n return PropTypes.instanceOf(Type);\n }\n}\n//# sourceMappingURL=typeSpecs.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/typeSpecs.js\n// module id = 3\n// module chunks = 0","import { Messenger } from 'type-r';\nimport onDefineStore from './store';\nimport onDefineState from './state';\nimport onDefineContext from './context';\nimport onDefineProps from './props';\nexport default function onDefine(definition, BaseClass) {\n // Initialize mixins placeholder...\n onDefineStore.call(this, definition, BaseClass);\n onDefineState.call(this, definition, BaseClass);\n onDefineContext.call(this, definition, BaseClass);\n onDefineProps.call(this, definition, BaseClass);\n Messenger.onDefine.call(this, definition, BaseClass);\n}\n;\nexport { Node, Element } from './typeSpecs';\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/index.js\n// module id = 4\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n/*****************\n * State\n */\nimport { define, Record, Store } from 'type-r';\nexport default function process(definition, BaseComponentClass) {\n var prototype = this.prototype;\n var state = definition.state, State = definition.State;\n if (typeof state === 'function') {\n State = state;\n state = void 0;\n }\n if (state) {\n var BaseClass = State || prototype.State || Record;\n var ComponentState = (function (_super) {\n __extends(ComponentState, _super);\n function ComponentState() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return ComponentState;\n }(BaseClass));\n ComponentState.attributes = state;\n ComponentState = __decorate([\n define\n ], ComponentState);\n prototype.State = ComponentState;\n }\n else if (State) {\n prototype.State = State;\n }\n if (state || State) {\n this.mixins.merge([StateMixin, UpdateOnNestedChangesMixin]);\n }\n}\nexport var StateMixin = {\n //state : null,\n _initializeState: function () {\n // props.__keepState is used to workaround issues in Backbone intergation layer\n var state = this.state = this.props.__keepState || new this.State();\n // Take ownership on state...\n state._owner = this;\n state._ownerKey = 'state';\n },\n context: {\n _nestedStore: Store\n },\n // reference global store to fix model's store locator\n getStore: function () {\n // Attempt to get the store from the context first. Then - fallback to the state's default store.\n // TBD: Need to figure out a good way of managing local stores.\n var context, state;\n return ((context = this.context) && context._nestedStore) ||\n ((state = this.state) && state._defaultStore);\n },\n componentWillUnmount: function () {\n var state = this.state;\n state._owner = state._ownerKey = void 0;\n this._preventDispose /* hack for component-view to preserve the state */ || state.dispose();\n this.state = void 0;\n }\n};\nexport var UpdateOnNestedChangesMixin = {\n _onChildrenChange: function () { },\n componentDidMount: function () {\n this._onChildrenChange = this.asyncUpdate;\n }\n};\n//# sourceMappingURL=state.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/state.js\n// module id = 5\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/prop-types/index.js\n// module id = 6\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_7__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"commonjs\":\"react-dom\",\"commonjs2\":\"react-dom\",\"amd\":\"react-dom\",\"root\":\"ReactDOM\"}\n// module id = 7\n// module chunks = 0","// Re-export react-mvx\nimport ReactMVx from './react-mvx';\nvar NestedReact = Object.create(ReactMVx);\nexport default NestedReact;\nexport * from './react-mvx';\n// NestedReact backward compatibility layer\nimport ReactDOM from 'react-dom';\nimport Nested, { View, Record } from 'type-r';\nimport * as PropTypes from 'prop-types';\nimport subview from './view-element';\nNestedReact.subview = subview;\nexport { subview };\nimport use from './component-view';\nimport createClass from './createClass';\nNestedReact.createClass = createClass;\nObject.defineProperty(NestedReact, 'PropTypes', { value: PropTypes });\nexport { PropTypes, createClass };\nvar BaseView;\n// export hook to override base View class used...\nexport function useView(View) {\n BaseView = use(View);\n}\nvar onDefine = NestedReact.Component.onDefine;\nNestedReact.Component.onDefine = function (definitions, BaseClass) {\n this.View = BaseView.extend({ reactClass: this });\n return onDefine.call(this, definitions, BaseClass);\n};\n// Deprecated API for backward compatibility\nvar RecordProto = Record.prototype;\nRecordProto.getLink = RecordProto.linkAt;\nRecordProto.deepLink = RecordProto.linkPath;\nvar CollectionProto = Record.Collection.prototype;\nCollectionProto.hasLink = CollectionProto.linkContains;\nuseView(View);\n// Extend react components to have backbone-style jquery accessors\nvar BackboneViewProps = {\n el: { get: function () { return ReactDOM.findDOMNode(this); } },\n $el: { get: function () { return Nested.$(this.el); } },\n $: { value: function (sel) { return this.$el.find(sel); } }\n};\nObject.defineProperties(NestedReact.Component.prototype, BackboneViewProps);\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/index.js\n// module id = 8\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { define, Store } from 'type-r';\nimport { StateMixin, UpdateOnNestedChangesMixin } from './state';\nexport default function onDefine(definition, BaseClass) {\n var store = definition.store, StoreClass = definition.Store;\n if (store && store instanceof Store) {\n // Direct reference to an existing store. Put it to the prototype.\n this.prototype.store = store;\n this.mixins.merge([ExternalStoreMixin, ExposeStoreMixin]);\n }\n else if (store || definition.Store) {\n if (typeof store === 'function') {\n StoreClass = store;\n store = void 0;\n }\n if (store) {\n var BaseClass_1 = StoreClass || this.prototype.Store || Store;\n var InternalStore = (function (_super) {\n __extends(InternalStore, _super);\n function InternalStore() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return InternalStore;\n }(BaseClass_1));\n InternalStore.attrbutes = store;\n InternalStore = __decorate([\n define\n ], InternalStore);\n ;\n this.prototype.Store = InternalStore;\n }\n else if (StoreClass) {\n this.prototype.Store = StoreClass;\n }\n this.mixins.merge([InternalStoreMixin, UpdateOnNestedChangesMixin, ExposeStoreMixin]);\n }\n}\n/**\n * Attached whenever the store declaration of any form is present in the component.\n */\nvar ExposeStoreMixin = {\n childContext: {\n _nestedStore: Store\n },\n getChildContext: function () {\n return { _nestedStore: this.store };\n },\n getStore: function () {\n return this.store;\n },\n // Will be called by the store when the lookup will fail.\n get: function (key) {\n // Ask upper store.\n var store = StateMixin.getStore.call(this, key);\n return store && store.get(key);\n }\n};\n/**\n * External store must just track the changes and trigger render.\n * TBD: don't use it yet.\n */\nvar ExternalStoreMixin = {\n componentDidMount: function () {\n // Start UI updates on state changes.\n this.listenTo(this.store, 'change', this.asyncUpdate);\n }\n};\nvar InternalStoreMixin = {\n componentWillMount: function () {\n var store = this.store = new this.Store();\n store._owner = this;\n store._ownerKey = 'store';\n },\n componentWillUnmount: function () {\n this.store._ownerKey = this.store._owner = void 0;\n this.store.dispose();\n this.store = void 0;\n }\n};\n//# sourceMappingURL=store.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/store.js\n// module id = 9\n// module chunks = 0","import { compileSpecs } from './typeSpecs';\nimport { tools } from 'type-r';\nexport default function onDefine(_a, BaseClass) {\n var context = _a.context, childContext = _a.childContext;\n var prototype = this.prototype;\n if (context) {\n // Merge in inherited members...\n prototype._context = tools.defaults(context, BaseClass.prototype._context || {});\n // Compile to propTypes...\n this.contextTypes = compileSpecs(context).propTypes;\n }\n if (childContext) {\n prototype._childContext = tools.defaults(childContext, BaseClass.prototype._childContext);\n this.childContextTypes = compileSpecs(childContext).propTypes;\n }\n}\n//# sourceMappingURL=context.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/context.js\n// module id = 10\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\nvar invariant = require('fbjs/lib/invariant');\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n invariant(\n false,\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim\n };\n\n ReactPropTypes.checkPropTypes = emptyFunction;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/prop-types/factoryWithThrowingShims.js\n// module id = 11\n// module chunks = 0","\"use strict\";\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/fbjs/lib/emptyFunction.js\n// module id = 12\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (process.env.NODE_ENV !== 'production') {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/fbjs/lib/invariant.js\n// module id = 13\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/prop-types/lib/ReactPropTypesSecret.js\n// module id = 14\n// module chunks = 0","/**\n * Handle props specification and everything which is related:\n * - local listening to props changes\n * - pure render mixin\n */\nimport { compileSpecs } from './typeSpecs';\nimport { PureRenderMixin, createChangeTokensConstructor } from './pureRender';\nimport { tools } from 'type-r';\nexport default function onDefine(_a, BaseClass) {\n var props = _a.props, pureRender = _a.pureRender;\n var prototype = this.prototype;\n // process props spec...\n if (props) {\n // Merge with inherited members...\n prototype._props = tools.defaults(props, BaseClass.prototype._props || {});\n var _b = compileSpecs(props), propTypes = _b.propTypes, defaults = _b.defaults, watchers = _b.watchers, changeHandlers = _b.changeHandlers;\n this.propTypes = propTypes;\n if (defaults)\n this.defaultProps = defaults;\n if (watchers) {\n prototype._watchers = watchers;\n this.mixins.merge([WatchersMixin]);\n }\n if (changeHandlers) {\n prototype._changeHandlers = changeHandlers;\n this.mixins.merge([ChangeHandlersMixin]);\n }\n if (prototype.pureRender) {\n prototype.PropsChangeTokens = createChangeTokensConstructor(props);\n }\n }\n if (pureRender) {\n this.mixins.merge([PureRenderMixin]);\n }\n}\n/**\n * ChangeHandlers are fired in sequence upon props replacement.\n * Fires _after_ UI is updated. Used for managing events subscriptions.\n */\nvar ChangeHandlersMixin = {\n componentDidMount: function () {\n handlePropsChanges(this, {}, this.props);\n },\n componentDidUpdate: function (prev) {\n handlePropsChanges(this, prev, this.props);\n },\n componentWillUnmount: function () {\n handlePropsChanges(this, this.props, {});\n }\n};\nfunction handlePropsChanges(component, prev, next) {\n var _changeHandlers = component._changeHandlers;\n for (var name_1 in _changeHandlers) {\n if (prev[name_1] !== next[name_1]) {\n for (var _i = 0, _a = _changeHandlers[name_1]; _i < _a.length; _i++) {\n var handler = _a[_i];\n handler(next[name_1], prev[name_1], component);\n }\n }\n }\n}\n/**\n * Watchers works on props replacement and fires _before_ any change will be applied and UI is updated.\n * Fired in componentWillMount as well, which makes it a nice way to sync state from props.\n */\nvar WatchersMixin = {\n componentWillReceiveProps: function (next) {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_2 in _watchers) {\n if (next[name_2] !== props[name_2]) {\n _watchers[name_2].call(this, next[name_2], name_2);\n }\n }\n },\n componentWillMount: function () {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_3 in _watchers) {\n _watchers[name_3].call(this, props[name_3], name_3);\n }\n }\n};\n//# sourceMappingURL=props.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/props.js\n// module id = 15\n// module chunks = 0","export function createChangeTokensConstructor(props) {\n var propNames = Object.keys(props);\n var PropsChangeTokens = new Function('p', 's', \"\\n var v;\\n this._s = s && s._changeToken;\\n \" + propNames.map(function (name) { return \"\\n this.\" + name + \" = ( ( v = p.\" + name + \") && v._changeToken ) || v;\\n \"; }).join('') + \"\\n \");\n PropsChangeTokens.prototype._hasChanges = new Function('p', 's', \"\\n var v;\\n return ( s && s._changeToken !== this._s ) \" + propNames.map(function (name) { return \" ||\\n this.\" + name + \" !== ( ( ( v = p.\" + name + \") && v._changeToken ) || v )\\n \"; }).join('') + \";\\n \");\n return PropsChangeTokens;\n}\n;\nexport var PureRenderMixin = {\n shouldComponentUpdate: function (nextProps) {\n return this._propsChangeTokens._hasChanges(nextProps);\n },\n componentDidMount: updateChangeTokens,\n componentDidUpdate: updateChangeTokens\n};\nfunction updateChangeTokens() {\n this._propsChangeTokens = new this.PropsChangeTokens(this.props, this.state);\n}\n//# sourceMappingURL=pureRender.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/pureRender.js\n// module id = 16\n// module chunks = 0","/**\n * Import ValueLink library\n * Define value links binding mixins to the Record and Collection\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { Mixable, MixinsState, Record } from 'type-r';\nimport { Link } from './valuelink/link';\nexport default Link;\nMixable.mixins.populate(Link);\n/**\n * Record\n */\nMixinsState.get(Record).merge([{\n // Link to the record's attribute by its key.\n linkAt: function (key) {\n return cacheLink(getLinksCache(this), this, key);\n },\n // Link to the attribute of the record's tree by symbolic path.\n linkPath: function (path, options) {\n return new RecordDeepLink(this, path, options);\n },\n // Link all (or listed) attributes and return links cache.\n linkAll: function () {\n var links = getLinksCache(this);\n if (arguments.length) {\n for (var i = 0; i < arguments.length; i++) {\n cacheLink(links, this, arguments[i]);\n }\n }\n else {\n var attributes = this.attributes;\n for (var key in attributes) {\n attributes[key] === void 0 || cacheLink(links, this, key);\n }\n }\n return links;\n }\n }]);\n/**\n * Link to Type-R's record attribute.\n * Strict evaluation of value, lazy evaluation of validation error.\n * Links are cached in the records\n */\nvar RecordLink = (function (_super) {\n __extends(RecordLink, _super);\n function RecordLink(record, attr, value) {\n var _this = _super.call(this, value) || this;\n _this.record = record;\n _this.attr = attr;\n return _this;\n }\n RecordLink.prototype.set = function (x) {\n this.record[this.attr] = x;\n };\n Object.defineProperty(RecordLink.prototype, \"error\", {\n get: function () {\n return this._error === void 0 ?\n this.record.getValidationError(this.attr) :\n this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n return RecordLink;\n}(Link));\nvar RecordDeepLink = (function (_super) {\n __extends(RecordDeepLink, _super);\n function RecordDeepLink(record, path, options) {\n var _this = _super.call(this, record.deepGet(path)) || this;\n _this.record = record;\n _this.path = path;\n _this.options = options;\n return _this;\n }\n Object.defineProperty(RecordDeepLink.prototype, \"error\", {\n get: function () {\n if (this._error === void 0) {\n this._error = this.record.deepValidationError(this.path) || null;\n }\n return this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(RecordDeepLink.prototype, \"_changeToken\", {\n get: function () {\n return this.record._changeToken;\n },\n enumerable: true,\n configurable: true\n });\n RecordDeepLink.prototype.set = function (x) {\n this.record.deepSet(this.path, x, this.options);\n };\n return RecordDeepLink;\n}(Link));\nfunction getLinksCache(record) {\n return record._links || (record._links = new record.AttributesCopy({}));\n}\nfunction cacheLink(links, record, key) {\n var cached = links[key], value = record[key];\n return cached && cached.value === value ? cached\n : links[key] = new RecordLink(record, key, value);\n}\n/***********************************\n * Collection\n */\nMixinsState.get(Record.Collection).merge([{\n // Boolean link to the record's presence in the collection\n linkContains: function (record) {\n return new CollectionLink(this, record);\n },\n // Link to collection's property\n linkAt: function (prop) {\n var _this = this;\n return Link.value(this[prop], function (x) { return _this[prop] = x; });\n }\n }]);\n/**\n * Boolean link to presence of NestedType's record in collection.\n * Strict evaluation of value, no error.\n * Safe implementation of _changeToken.\n */\nvar CollectionLink = (function (_super) {\n __extends(CollectionLink, _super);\n function CollectionLink(collection, record) {\n var _this = _super.call(this, Boolean(collection._byId[record.cid])) || this;\n _this.collection = collection;\n _this.record = record;\n return _this;\n }\n CollectionLink.prototype.set = function (x) {\n this.collection.toggle(this.record, x);\n };\n return CollectionLink;\n}(Link));\n//# sourceMappingURL=link.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/link.js\n// module id = 17\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * Advanced React links for purely functional two-way data binding\n *\n * MIT License, (c) 2016 Vlad Balin, Volicon.\n */\nimport { helpers, arrayHelpers } from './helpers';\n// Main Link class. All links must extend it.\nvar Link = (function () {\n // create \n function Link(value) {\n this.value = value;\n }\n // Create custom link to arbitrary value\n Link.value = function (value, set) {\n return new CustomLink(value, set);\n };\n Object.defineProperty(Link.prototype, \"validationError\", {\n // DEPRECATED: Old error holder for backward compatibility with Volicon code base\n get: function () { return this.error; },\n enumerable: true,\n configurable: true\n });\n Link.prototype.onChange = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n handler(x);\n _this.set(x);\n });\n };\n Object.defineProperty(Link.prototype, \"props\", {\n // \n get: function () {\n var _this = this;\n return typeof this.value === 'boolean' ? {\n checked: this.value,\n onChange: function (e) { return _this.set(Boolean(e.target.checked)); }\n } : {\n value: this.value,\n onChange: function (e) { return _this.set(e.target.value); }\n };\n },\n enumerable: true,\n configurable: true\n });\n // DEPRECATED: Old React method for backward compatibility\n Link.prototype.requestChange = function (x) {\n this.set(x);\n };\n // Immediately update the link value using given transform function.\n Link.prototype.update = function (transform, e) {\n var next = transform(this.clone(), e);\n next === void 0 || this.set(next);\n };\n // Create new link which applies transform function on set.\n Link.prototype.pipe = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n var next = handler(x, _this.value);\n next === void 0 || _this.set(next);\n });\n };\n // Create UI event handler function which will update the link with a given transform function.\n Link.prototype.action = function (transform) {\n var _this = this;\n return function (e) { return _this.update(transform, e); };\n };\n Link.prototype.equals = function (truthyValue) {\n return new EqualsLink(this, truthyValue);\n };\n Link.prototype.enabled = function (defaultValue) {\n return new EnabledLink(this, defaultValue || \"\");\n };\n // Array-only links methods\n Link.prototype.contains = function (element) {\n return new ContainsLink(this, element);\n };\n Link.prototype.push = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.push.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.unshift = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.unshift.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.splice = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.splice.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.map = function (iterator) {\n return helpers(this.value).map(this, iterator);\n };\n Link.prototype.removeAt = function (key) {\n var value = this.value, _ = helpers(value);\n this.set(_.remove(_.clone(value), key));\n };\n Link.prototype.at = function (key) {\n return new LinkAt(this, key);\n };\n Link.prototype.clone = function () {\n var value = this.value;\n return helpers(value).clone(value);\n };\n Link.prototype.pick = function () {\n var links = {};\n for (var i = 0; i < arguments.length; i++) {\n var key = arguments[i];\n links[key] = new LinkAt(this, key);\n }\n return links;\n };\n /**\n * Validate link with validness predicate and optional custom error object. Can be chained.\n */\n Link.prototype.check = function (whenValid, error) {\n if (!this.error && !whenValid(this.value)) {\n this.error = error || whenValid.error || defaultError;\n }\n return this;\n };\n return Link;\n}());\nexport { Link };\nvar CustomLink = (function (_super) {\n __extends(CustomLink, _super);\n function CustomLink(value, set) {\n var _this = _super.call(this, value) || this;\n _this.set = set;\n return _this;\n }\n CustomLink.prototype.set = function (x) { };\n return CustomLink;\n}(Link));\nexport { CustomLink };\nvar CloneLink = (function (_super) {\n __extends(CloneLink, _super);\n function CloneLink(parent, set) {\n var _this = _super.call(this, parent.value) || this;\n _this.set = set;\n var error = parent.error;\n if (error)\n _this.error = error;\n return _this;\n }\n CloneLink.prototype.set = function (x) { };\n return CloneLink;\n}(Link));\nexport { CloneLink };\nvar EqualsLink = (function (_super) {\n __extends(EqualsLink, _super);\n function EqualsLink(parent, truthyValue) {\n var _this = _super.call(this, parent.value === truthyValue) || this;\n _this.parent = parent;\n _this.truthyValue = truthyValue;\n return _this;\n }\n EqualsLink.prototype.set = function (x) {\n this.parent.set(x ? this.truthyValue : null);\n };\n return EqualsLink;\n}(Link));\nexport { EqualsLink };\nvar EnabledLink = (function (_super) {\n __extends(EnabledLink, _super);\n function EnabledLink(parent, defaultValue) {\n var _this = _super.call(this, parent.value != null) || this;\n _this.parent = parent;\n _this.defaultValue = defaultValue;\n return _this;\n }\n EnabledLink.prototype.set = function (x) {\n this.parent.set(x ? this.defaultValue : null);\n };\n return EnabledLink;\n}(Link));\nexport { EnabledLink };\nvar ContainsLink = (function (_super) {\n __extends(ContainsLink, _super);\n function ContainsLink(parent, element) {\n var _this = _super.call(this, parent.value.indexOf(element) >= 0) || this;\n _this.parent = parent;\n _this.element = element;\n return _this;\n }\n ContainsLink.prototype.set = function (x) {\n var _this = this;\n var next = Boolean(x);\n if (this.value !== next) {\n var arr = this.parent.value, nextValue = x ? arr.concat(this.element) : arr.filter(function (el) { return el !== _this.element; });\n this.parent.set(nextValue);\n }\n };\n return ContainsLink;\n}(Link));\nexport { ContainsLink };\nvar defaultError = 'Invalid value';\n/**\n * Link to array or object element enclosed in parent link.\n * Performs purely functional update of the parent, shallow copying its value on `set`.\n */\nvar LinkAt = (function (_super) {\n __extends(LinkAt, _super);\n function LinkAt(parent, key) {\n var _this = _super.call(this, parent.value[key]) || this;\n _this.parent = parent;\n _this.key = key;\n return _this;\n }\n LinkAt.prototype.remove = function () {\n this.parent.removeAt(this.key);\n };\n // Set new element value to parent array or object, performing purely functional update.\n LinkAt.prototype.set = function (x) {\n var _this = this;\n if (this.value !== x) {\n this.parent.update(function (value) {\n value[_this.key] = x;\n return value;\n });\n }\n };\n ;\n return LinkAt;\n}(Link));\nexport { LinkAt };\n//# sourceMappingURL=link.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/valuelink/link.js\n// module id = 18\n// module chunks = 0","var ArrayProto = Array.prototype, ObjectProto = Object.prototype;\nexport function helpers(value) {\n if (value && typeof value === 'object') {\n switch (Object.getPrototypeOf(value)) {\n case ArrayProto: return arrayHelpers;\n case ObjectProto: return objectHelpers;\n }\n }\n return dummyHelpers;\n}\n// Do nothing for types other than Array and plain Object.\nvar dummyHelpers = {\n clone: function (value) { return value; },\n map: function (link, fun) { return []; },\n remove: function (value) { return value; }\n};\n// `map` and `clone` for plain JS objects\nexport var objectHelpers = {\n // Map through the link to object\n map: function (link, iterator) {\n var mapped = [];\n for (var key in link.value) {\n var element = iterator(link.at(key), key);\n element === void 0 || (mapped.push(element));\n }\n return mapped;\n },\n remove: function (object, key) {\n delete object[key];\n return object;\n },\n // Shallow clone plain JS object\n clone: function (object) {\n var cloned = {};\n for (var key in object) {\n cloned[key] = object[key];\n }\n return cloned;\n }\n};\n// `map` and `clone` helpers for arrays.\nexport var arrayHelpers = {\n // Shallow clone array\n clone: function (array) {\n return array.slice();\n },\n remove: function (array, i) {\n array.splice(i, 1);\n return array;\n },\n // Map through the link to array\n map: function (link, iterator) {\n var length = link.value.length, mapped = Array(length);\n for (var i = 0, j = 0; i < length; i++) {\n var y = iterator(link.at(i), i);\n y === void 0 || (mapped[j++] = y);\n }\n mapped.length === j || (mapped.length = j);\n return mapped;\n }\n};\n//# sourceMappingURL=helpers.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/valuelink/helpers.js\n// module id = 19\n// module chunks = 0","/**\n * React-Type-R component base class. Overrides React component.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport * as React from 'react';\nimport { mixinRules, define, mixins, definitions, Messenger } from 'type-r';\nimport onDefine from './define';\nvar Component = (function (_super) {\n __extends(Component, _super);\n function Component(props, context) {\n var _this = _super.call(this, props, context) || this;\n _this._initializeState();\n return _this;\n }\n Component.prototype.linkAt = function (key) {\n // Quick and dirty hack to suppres type error - refactor later.\n return this.state.linkAt(key);\n };\n Component.prototype.linkAll = function () {\n // Quick and dirty hack to suppres type error - refactor later.\n var state = this.state;\n return state.linkAll.apply(state, arguments);\n };\n Component.prototype.linkPath = function (path) {\n return this.state.linkPath(path);\n };\n Object.defineProperty(Component.prototype, \"links\", {\n get: function () {\n return this.state._links;\n },\n enumerable: true,\n configurable: true\n });\n Component.prototype._initializeState = function () {\n this.state = null;\n };\n Component.prototype.assignToState = function (x, key) {\n this.state.assignFrom((_a = {}, _a[key] = x, _a));\n var _a;\n };\n Component.prototype.componentWillUnmount = function () {\n this.dispose();\n };\n /**\n * Performs transactional update for both props and state.\n * Suppress updates during the transaction, and force update aftewards.\n * Wrapping the sequence of changes in a transactions guarantees that\n * React component will be updated _after_ all the changes to the\n * both props and local state are applied.\n */\n Component.prototype.transaction = function (fun) {\n var shouldComponentUpdate = this.shouldComponentUpdate, isRoot = shouldComponentUpdate !== returnFalse;\n if (isRoot) {\n this.shouldComponentUpdate = returnFalse;\n }\n var _a = this, state = _a.state, store = _a.store, withStore = store ? function (state) { return store.transaction(function () { return fun(state); }); } : fun;\n state ? state.transaction(withStore) : withStore(state);\n if (isRoot) {\n this.shouldComponentUpdate = shouldComponentUpdate;\n this.asyncUpdate();\n }\n };\n // Safe version of the forceUpdate suitable for asynchronous callbacks.\n Component.prototype.asyncUpdate = function () {\n this.shouldComponentUpdate === returnFalse || this._disposed || this.forceUpdate();\n };\n return Component;\n}(React.Component));\nComponent.onDefine = onDefine;\nComponent = __decorate([\n define,\n definitions({\n // Definitions to be extracted from mixins and statics and passed to `onDefine()`\n state: mixinRules.merge,\n State: mixinRules.value,\n store: mixinRules.merge,\n Store: mixinRules.value,\n props: mixinRules.merge,\n context: mixinRules.merge,\n childContext: mixinRules.merge,\n pureRender: mixinRules.protoValue\n }),\n mixinRules({\n // Apply old-school React mixin rules.\n componentWillMount: mixinRules.classLast,\n componentDidMount: mixinRules.classLast,\n componentWillReceiveProps: mixinRules.classLast,\n componentWillUpdate: mixinRules.classLast,\n componentDidUpdate: mixinRules.classLast,\n componentWillUnmount: mixinRules.classFirst,\n // And a bit more to fix inheritance quirks.\n shouldComponentUpdate: mixinRules.some,\n getChildContext: mixinRules.defaults\n })\n // Component can send and receive events...\n ,\n mixins(Messenger)\n], Component);\nexport { Component };\nfunction returnFalse() { return false; }\n// Looks like React guys _really_ want to deprecate it. But no way.\n// We will work around their attempt.\nObject.defineProperty(Component.prototype, 'isMounted', {\n value: function isMounted() {\n return !this._disposed;\n }\n});\n//# sourceMappingURL=component.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/component.js\n// module id = 20\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport React, { Component } from './react-mvx';\nimport { tools } from 'type-r';\nvar notEqual = tools.notEqual;\nvar BackboneView = (function (_super) {\n __extends(BackboneView, _super);\n function BackboneView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.saveRef = function (element) {\n _this.root = element;\n };\n return _this;\n }\n BackboneView.prototype.shouldComponentUpdate = function (next) {\n var props = this.props;\n return next.View !== props.View || notEqual(next.options, props.options);\n };\n BackboneView.prototype.hasUnsavedChanges = function () {\n var view = this.view;\n return view && (typeof view.hasUnsavedChanges === 'function' ? view.hasUnsavedChanges() : view.hasUnsavedChanges);\n };\n BackboneView.prototype.render = function () {\n return React.createElement('div', {\n ref: this.saveRef,\n className: this.props.className\n });\n };\n BackboneView.prototype.componentDidMount = function () {\n this._mountView();\n };\n BackboneView.prototype.componentDidUpdate = function () {\n this._dispose();\n this._mountView();\n };\n BackboneView.prototype.componentWillUnmount = function () {\n this._dispose();\n };\n BackboneView.prototype._mountView = function () {\n var el = this.root, p = this.props;\n var view = this.view = p.options ? new p.View(p.options) : new p.View();\n el.appendChild(view.el);\n view.render();\n };\n BackboneView.prototype._dispose = function () {\n var view = this.view;\n if (view) {\n if (view.dispose) {\n view.dispose();\n }\n else {\n view.stopListening();\n view.off();\n }\n this.root.innerHTML = \"\";\n this.view = null;\n }\n };\n return BackboneView;\n}(Component));\nexport default BackboneView;\n//# sourceMappingURL=view-element.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/view-element.js\n// module id = 21\n// module chunks = 0","import * as React from 'react';\nimport ReactDOM from 'react-dom';\nimport { tools } from 'type-r';\nwindow.Page || (window.Page = { forceResize: function () { } });\nexport default function use(View) {\n var dispose = View.prototype.dispose || function () { }, setElement = View.prototype.setElement;\n var ComponentView = View.extend({\n reactClass: null,\n props: {},\n element: null,\n initialize: function (props) {\n // memorise arguments to pass to React\n this.options = props || {};\n },\n setElement: function () {\n this.unmountComponent(true);\n return setElement.apply(this, arguments);\n },\n // cached instance of react component...\n component: null,\n prevState: null,\n resize: function () {\n window.Page.forceResize();\n },\n render: function () {\n var options = this.prevState ? tools.fastAssign({ __keepState: this.prevState }, this.options) : this.options, element = React.createElement(this.reactClass, options), component = ReactDOM.render(element, this.el);\n this.component || this.mountComponent(component);\n },\n mountComponent: function (component) {\n this.component = component;\n this.prevState = null;\n component.trigger && this.listenTo(component, 'all', function () {\n this.trigger.apply(this, arguments);\n });\n },\n unmountComponent: function (keepModel) {\n var component = this.component;\n if (component) {\n this.prevState = component.state;\n if (component.trigger) {\n this.stopListening(component);\n }\n component._preventDispose = Boolean(keepModel);\n ReactDOM.unmountComponentAtNode(this.el);\n this.component = null;\n }\n },\n dispose: function () {\n this.unmountComponent();\n return dispose.apply(this, arguments);\n }\n });\n Object.defineProperty(ComponentView.prototype, 'model', {\n get: function () {\n this.component || this.render();\n return this.component && this.component.state;\n }\n });\n return ComponentView;\n}\n//# sourceMappingURL=component-view.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/component-view.js\n// module id = 22\n// module chunks = 0","var __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\nimport { Component } from './react-mvx';\nvar dontAutobind = [\n 'State', 'Store', 'constructor',\n 'componentWillMount', 'componentDidMount', 'componentWillReceiveProps', 'shouldComponentUpdate',\n 'componentWillUpdate', 'componentDidUpdate', 'componentWillUnmount',\n 'render', 'getDefaultProps', 'getChildContext'\n];\n/**\n * ES5 components definition factory\n */\nexport default function createClass(_a) {\n var statics = _a.statics, a_spec = __rest(_a, [\"statics\"]);\n // Gather all methods to pin them to `this` later.\n var methods = [];\n var Subclass = Component.extend(__assign({ \n // Override constructor to autobind all the methods...\n constructor: function () {\n Component.apply(this, arguments);\n for (var _i = 0, methods_1 = methods; _i < methods_1.length; _i++) {\n var method = methods_1[_i];\n this[method] = this[method].bind(this);\n }\n } }, a_spec), statics);\n // Need to bind methods from mixins as well, so populate it here.\n var Proto = Subclass.prototype;\n for (var key in Proto) {\n if (Proto.hasOwnProperty(key) && dontAutobind.indexOf(key) === -1 && typeof Proto[key] === 'function') {\n methods.push(key);\n }\n }\n return Subclass;\n}\n//# sourceMappingURL=createClass.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/createClass.js\n// module id = 23\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file diff --git a/lib/createClass.js b/lib/createClass.js index 0cda160..19c6297 100644 --- a/lib/createClass.js +++ b/lib/createClass.js @@ -32,7 +32,7 @@ export default function createClass(_a) { var Subclass = Component.extend(__assign({ // Override constructor to autobind all the methods... constructor: function () { - Component.apply(this, this.arguments); + Component.apply(this, arguments); for (var _i = 0, methods_1 = methods; _i < methods_1.length; _i++) { var method = methods_1[_i]; this[method] = this[method].bind(this); diff --git a/lib/createClass.js.map b/lib/createClass.js.map index afc063c..2313acb 100644 --- a/lib/createClass.js.map +++ b/lib/createClass.js.map @@ -1 +1 @@ -{"version":3,"file":"createClass.js","sourceRoot":"","sources":["../src/createClass.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,IAAM,YAAY,GAAG;IACjB,OAAO,EAAE,OAAO,EAAE,aAAa;IAC/B,oBAAoB,EAAC,mBAAmB,EAAC,2BAA2B,EAAC,uBAAuB;IAC5F,qBAAqB,EAAC,oBAAoB,EAAC,sBAAsB;IACjE,QAAQ,EAAE,iBAAiB,EAAE,iBAAiB;CACjD,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,OAAO,sBAA8B,EAAkD;IAAhD,IAAA,oBAAO,EAAE,gCAAS;IAC5D,kDAAkD;IAClD,IAAM,OAAO,GAAG,EAAE,CAAC;IAEnB,IAAM,QAAQ,GAAS,SAAS,CAAC,MAAM;QACnC,sDAAsD;QACtD,WAAW;YACP,SAAS,CAAC,KAAK,CAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAE,CAAC;YAExC,GAAG,CAAA,CAAgB,UAAO,EAAP,mBAAO,EAAP,qBAAO,EAAP,IAAO;gBAArB,IAAI,MAAM,gBAAA;gBACX,IAAI,CAAE,MAAM,CAAE,GAAG,IAAI,CAAE,MAAM,CAAE,CAAC,IAAI,CAAE,IAAI,CAAE,CAAC;aAChD;QACL,CAAC,IACE,MAAM,GACV,OAAO,CAAE,CAAC;IAEb,iEAAiE;IACjE,IAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC;IACjC,GAAG,CAAA,CAAE,IAAI,GAAG,IAAI,KAAM,CAAC,CAAA,CAAC;QACpB,EAAE,CAAA,CAAE,KAAK,CAAC,cAAc,CAAE,GAAG,CAAE,IAAI,YAAY,CAAC,OAAO,CAAE,GAAG,CAAE,KAAK,CAAC,CAAC,IAAI,OAAO,KAAK,CAAE,GAAG,CAAE,KAAK,UAAW,CAAC,CAAA,CAAC;YAC1G,OAAO,CAAC,IAAI,CAAE,GAAG,CAAE,CAAC;QACxB,CAAC;IACL,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC;AACpB,CAAC"} \ No newline at end of file +{"version":3,"file":"createClass.js","sourceRoot":"","sources":["../src/createClass.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,IAAM,YAAY,GAAG;IACjB,OAAO,EAAE,OAAO,EAAE,aAAa;IAC/B,oBAAoB,EAAC,mBAAmB,EAAC,2BAA2B,EAAC,uBAAuB;IAC5F,qBAAqB,EAAC,oBAAoB,EAAC,sBAAsB;IACjE,QAAQ,EAAE,iBAAiB,EAAE,iBAAiB;CACjD,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,OAAO,sBAA8B,EAAkD;IAAhD,IAAA,oBAAO,EAAE,gCAAS;IAC5D,kDAAkD;IAClD,IAAM,OAAO,GAAG,EAAE,CAAC;IAEnB,IAAM,QAAQ,GAAS,SAAS,CAAC,MAAM;QACnC,sDAAsD;QACtD,WAAW;YACP,SAAS,CAAC,KAAK,CAAE,IAAI,EAAE,SAAS,CAAE,CAAC;YAEnC,GAAG,CAAA,CAAgB,UAAO,EAAP,mBAAO,EAAP,qBAAO,EAAP,IAAO;gBAArB,IAAI,MAAM,gBAAA;gBACX,IAAI,CAAE,MAAM,CAAE,GAAG,IAAI,CAAE,MAAM,CAAE,CAAC,IAAI,CAAE,IAAI,CAAE,CAAC;aAChD;QACL,CAAC,IACE,MAAM,GACV,OAAO,CAAE,CAAC;IAEb,iEAAiE;IACjE,IAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC;IACjC,GAAG,CAAA,CAAE,IAAI,GAAG,IAAI,KAAM,CAAC,CAAA,CAAC;QACpB,EAAE,CAAA,CAAE,KAAK,CAAC,cAAc,CAAE,GAAG,CAAE,IAAI,YAAY,CAAC,OAAO,CAAE,GAAG,CAAE,KAAK,CAAC,CAAC,IAAI,OAAO,KAAK,CAAE,GAAG,CAAE,KAAK,UAAW,CAAC,CAAA,CAAC;YAC1G,OAAO,CAAC,IAAI,CAAE,GAAG,CAAE,CAAC;QACxB,CAAC;IACL,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC;AACpB,CAAC"} \ No newline at end of file diff --git a/src/createClass.ts b/src/createClass.ts index e67a9f1..4b502ac 100644 --- a/src/createClass.ts +++ b/src/createClass.ts @@ -17,7 +17,7 @@ export default function createClass< P, S>( { statics, ...a_spec } : React.Compo const Subclass : any = Component.extend({ // Override constructor to autobind all the methods... constructor(){ - Component.apply( this, this.arguments ); + Component.apply( this, arguments ); for( let method of methods ){ this[ method ] = this[ method ].bind( this ); From 0f7151e30785521353441601b41054a00dd94031 Mon Sep 17 00:00:00 2001 From: Vlad Balin Date: Wed, 18 Oct 2017 15:46:59 -0400 Subject: [PATCH 11/25] pure render fixes --- dist/index.js | 117 +++++++++++++------------ dist/index.min.js | 2 +- dist/index.min.js.map | 2 +- lib/react-mvx/component.d.ts | 1 + lib/react-mvx/component.js | 6 +- lib/react-mvx/component.js.map | 2 +- lib/react-mvx/define/index.d.ts | 1 + lib/react-mvx/define/index.js | 1 + lib/react-mvx/define/index.js.map | 2 +- lib/react-mvx/define/pureRender.d.ts | 1 + lib/react-mvx/define/pureRender.js | 1 + lib/react-mvx/define/pureRender.js.map | 2 +- src/react-mvx/component.ts | 8 +- src/react-mvx/define/index.ts | 1 + src/react-mvx/define/pureRender.ts | 2 + submodules/React-MVx | 2 +- 16 files changed, 86 insertions(+), 65 deletions(-) diff --git a/dist/index.js b/dist/index.js index 1dc62bb..c0b5793 100644 --- a/dist/index.js +++ b/dist/index.js @@ -7,7 +7,7 @@ exports["React"] = factory(require("nestedtypes"), require("react"), require("react-dom")); else root["React"] = factory(root["Nested"], root["React"], root["ReactDOM"]); -})(this, function(__WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_2__, __WEBPACK_EXTERNAL_MODULE_7__) { +})(this, function(__WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_2__, __WEBPACK_EXTERNAL_MODULE_8__) { return /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; @@ -70,7 +70,7 @@ return /******/ (function(modules) { // webpackBootstrap /******/ __webpack_require__.p = ""; /******/ /******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 8); +/******/ return __webpack_require__(__webpack_require__.s = 9); /******/ }) /************************************************************************/ /******/ ([ @@ -94,7 +94,7 @@ module.exports = __WEBPACK_EXTERNAL_MODULE_0__; /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__component__ = __webpack_require__(20); /* harmony reexport (binding) */ if(__webpack_require__.o(__WEBPACK_IMPORTED_MODULE_1_type_r__, "define")) __webpack_require__.d(__webpack_exports__, "g", function() { return __WEBPACK_IMPORTED_MODULE_1_type_r__["define"]; }); /* harmony reexport (binding) */ if(__webpack_require__.o(__WEBPACK_IMPORTED_MODULE_1_type_r__, "mixins")) __webpack_require__.d(__webpack_exports__, "h", function() { return __WEBPACK_IMPORTED_MODULE_1_type_r__["mixins"]; }); -/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return __WEBPACK_IMPORTED_MODULE_2__define__["b"]; }); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return __WEBPACK_IMPORTED_MODULE_2__define__["c"]; }); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return __WEBPACK_IMPORTED_MODULE_2__define__["a"]; }); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return __WEBPACK_IMPORTED_MODULE_3__link__["a"]; }); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return __WEBPACK_IMPORTED_MODULE_4__component__["a"]; }); @@ -110,7 +110,7 @@ ReactMVx.default = ReactMVx; // listenToProps, listenToState, model, attributes, Model ReactMVx.define = __WEBPACK_IMPORTED_MODULE_1_type_r__["define"]; ReactMVx.mixins = __WEBPACK_IMPORTED_MODULE_1_type_r__["mixins"]; -ReactMVx.Node = __WEBPACK_IMPORTED_MODULE_2__define__["b" /* Node */].value(null); +ReactMVx.Node = __WEBPACK_IMPORTED_MODULE_2__define__["c" /* Node */].value(null); ReactMVx.Element = __WEBPACK_IMPORTED_MODULE_2__define__["a" /* Element */].value(null); ReactMVx.Link = __WEBPACK_IMPORTED_MODULE_3__link__["a" /* default */]; ReactMVx.Component = __WEBPACK_IMPORTED_MODULE_4__component__["a" /* Component */]; @@ -237,16 +237,18 @@ function _translateType(Type) { /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* harmony export (immutable) */ __webpack_exports__["c"] = onDefine; +/* harmony export (immutable) */ __webpack_exports__["d"] = onDefine; /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__store__ = __webpack_require__(9); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__store__ = __webpack_require__(10); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__state__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__context__ = __webpack_require__(10); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__props__ = __webpack_require__(15); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__context__ = __webpack_require__(11); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__props__ = __webpack_require__(16); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__typeSpecs__ = __webpack_require__(3); -/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return __WEBPACK_IMPORTED_MODULE_5__typeSpecs__["b"]; }); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return __WEBPACK_IMPORTED_MODULE_5__typeSpecs__["b"]; }); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return __WEBPACK_IMPORTED_MODULE_5__typeSpecs__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__pureRender__ = __webpack_require__(7); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return __WEBPACK_IMPORTED_MODULE_6__pureRender__["a"]; }); @@ -262,6 +264,7 @@ function onDefine(definition, BaseClass) { } ; + //# sourceMappingURL=index.js.map /***/ }), @@ -388,18 +391,46 @@ if (false) { } else { // By explicitly using `prop-types` you are opting into new production behavior. // http://fb.me/prop-types-in-prod - module.exports = __webpack_require__(11)(); + module.exports = __webpack_require__(12)(); } /***/ }), /* 7 */ -/***/ (function(module, exports) { +/***/ (function(module, __webpack_exports__, __webpack_require__) { -module.exports = __WEBPACK_EXTERNAL_MODULE_7__; +"use strict"; +/* harmony export (immutable) */ __webpack_exports__["c"] = createChangeTokensConstructor; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return EmptyPropsChangeTokensCtor; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return PureRenderMixin; }); +function createChangeTokensConstructor(props) { + var propNames = Object.keys(props); + var PropsChangeTokens = new Function('p', 's', "\n var v;\n this._s = s && s._changeToken;\n " + propNames.map(function (name) { return "\n this." + name + " = ( ( v = p." + name + ") && v._changeToken ) || v;\n "; }).join('') + "\n "); + PropsChangeTokens.prototype._hasChanges = new Function('p', 's', "\n var v;\n return ( s && s._changeToken !== this._s ) " + propNames.map(function (name) { return " ||\n this." + name + " !== ( ( ( v = p." + name + ") && v._changeToken ) || v )\n "; }).join('') + ";\n "); + return PropsChangeTokens; +} +; +var EmptyPropsChangeTokensCtor = createChangeTokensConstructor({}); +var PureRenderMixin = { + shouldComponentUpdate: function (nextProps) { + return this._propsChangeTokens._hasChanges(nextProps); + }, + componentDidMount: updateChangeTokens, + componentDidUpdate: updateChangeTokens +}; +function updateChangeTokens() { + this._propsChangeTokens = new this.PropsChangeTokens(this.props, this.state); +} +//# sourceMappingURL=pureRender.js.map /***/ }), /* 8 */ +/***/ (function(module, exports) { + +module.exports = __WEBPACK_EXTERNAL_MODULE_8__; + +/***/ }), +/* 9 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -413,7 +444,7 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); /* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "Link", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__["c"]; }); /* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "Component", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__["a"]; }); /* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "assignToState", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__["e"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(7); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(8); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__); @@ -469,7 +500,7 @@ Object.defineProperties(NestedReact.Component.prototype, BackboneViewProps); //# sourceMappingURL=index.js.map /***/ }), -/* 9 */ +/* 10 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -574,7 +605,7 @@ var InternalStoreMixin = { //# sourceMappingURL=store.js.map /***/ }), -/* 10 */ +/* 11 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -601,7 +632,7 @@ function onDefine(_a, BaseClass) { //# sourceMappingURL=context.js.map /***/ }), -/* 11 */ +/* 12 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -614,9 +645,9 @@ function onDefine(_a, BaseClass) { -var emptyFunction = __webpack_require__(12); -var invariant = __webpack_require__(13); -var ReactPropTypesSecret = __webpack_require__(14); +var emptyFunction = __webpack_require__(13); +var invariant = __webpack_require__(14); +var ReactPropTypesSecret = __webpack_require__(15); module.exports = function() { function shim(props, propName, componentName, location, propFullName, secret) { @@ -666,7 +697,7 @@ module.exports = function() { /***/ }), -/* 12 */ +/* 13 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -708,7 +739,7 @@ emptyFunction.thatReturnsArgument = function (arg) { module.exports = emptyFunction; /***/ }), -/* 13 */ +/* 14 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -767,7 +798,7 @@ function invariant(condition, format, a, b, c, d, e, f) { module.exports = invariant; /***/ }), -/* 14 */ +/* 15 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -786,13 +817,13 @@ module.exports = ReactPropTypesSecret; /***/ }), -/* 15 */ +/* 16 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (immutable) */ __webpack_exports__["a"] = onDefine; /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(3); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__pureRender__ = __webpack_require__(16); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__pureRender__ = __webpack_require__(7); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__); /** @@ -823,11 +854,11 @@ function onDefine(_a, BaseClass) { this.mixins.merge([ChangeHandlersMixin]); } if (prototype.pureRender) { - prototype.PropsChangeTokens = Object(__WEBPACK_IMPORTED_MODULE_1__pureRender__["b" /* createChangeTokensConstructor */])(props); + prototype.PropsChangeTokens = Object(__WEBPACK_IMPORTED_MODULE_1__pureRender__["c" /* createChangeTokensConstructor */])(props); } } if (pureRender) { - this.mixins.merge([__WEBPACK_IMPORTED_MODULE_1__pureRender__["a" /* PureRenderMixin */]]); + this.mixins.merge([__WEBPACK_IMPORTED_MODULE_1__pureRender__["b" /* PureRenderMixin */]]); } } /** @@ -878,32 +909,6 @@ var WatchersMixin = { }; //# sourceMappingURL=props.js.map -/***/ }), -/* 16 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (immutable) */ __webpack_exports__["b"] = createChangeTokensConstructor; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PureRenderMixin; }); -function createChangeTokensConstructor(props) { - var propNames = Object.keys(props); - var PropsChangeTokens = new Function('p', 's', "\n var v;\n this._s = s && s._changeToken;\n " + propNames.map(function (name) { return "\n this." + name + " = ( ( v = p." + name + ") && v._changeToken ) || v;\n "; }).join('') + "\n "); - PropsChangeTokens.prototype._hasChanges = new Function('p', 's', "\n var v;\n return ( s && s._changeToken !== this._s ) " + propNames.map(function (name) { return " ||\n this." + name + " !== ( ( ( v = p." + name + ") && v._changeToken ) || v )\n "; }).join('') + ";\n "); - return PropsChangeTokens; -} -; -var PureRenderMixin = { - shouldComponentUpdate: function (nextProps) { - return this._propsChangeTokens._hasChanges(nextProps); - }, - componentDidMount: updateChangeTokens, - componentDidUpdate: updateChangeTokens -}; -function updateChangeTokens() { - this._propsChangeTokens = new this.PropsChangeTokens(this.props, this.state); -} -//# sourceMappingURL=pureRender.js.map - /***/ }), /* 17 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { @@ -1482,9 +1487,11 @@ var Component = (function (_super) { }; return Component; }(__WEBPACK_IMPORTED_MODULE_0_react__["Component"])); -Component.onDefine = __WEBPACK_IMPORTED_MODULE_2__define__["c" /* default */]; +Component.onDefine = __WEBPACK_IMPORTED_MODULE_2__define__["d" /* default */]; Component = __decorate([ - __WEBPACK_IMPORTED_MODULE_1_type_r__["define"], + Object(__WEBPACK_IMPORTED_MODULE_1_type_r__["define"])({ + PropsChangeTokens: __WEBPACK_IMPORTED_MODULE_2__define__["b" /* EmptyPropsChangeTokensCtor */] + }), Object(__WEBPACK_IMPORTED_MODULE_1_type_r__["definitions"])({ // Definitions to be extracted from mixins and statics and passed to `onDefine()` state: __WEBPACK_IMPORTED_MODULE_1_type_r__["mixinRules"].merge, @@ -1610,7 +1617,7 @@ var BackboneView = (function (_super) { /* harmony export (immutable) */ __webpack_exports__["a"] = use; /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(2); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(7); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(8); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__); diff --git a/dist/index.min.js b/dist/index.min.js index e75bab1..57582a1 100644 --- a/dist/index.min.js +++ b/dist/index.min.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("nestedtypes"),require("react"),require("react-dom")):"function"==typeof define&&define.amd?define(["nestedtypes","react","react-dom"],e):"object"==typeof exports?exports.React=e(require("nestedtypes"),require("react"),require("react-dom")):t.React=e(t.Nested,t.React,t.ReactDOM)}(this,function(t,e,n){return function(t){function e(o){if(n[o])return n[o].exports;var r=n[o]={i:o,l:!1,exports:{}};return t[o].call(r.exports,r,r.exports,e),r.l=!0,r.exports}var n={};return e.m=t,e.c=n,e.d=function(t,n,o){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:o})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=8)}([function(e,n){e.exports=t},function(t,e,n){"use strict";n.d(e,"e",function(){return a});var o=n(2),r=(n.n(o),n(0)),i=(n.n(r),n(4)),s=n(17),u=n(20);n.o(r,"define")&&n.d(e,"g",function(){return r.define}),n.o(r,"mixins")&&n.d(e,"h",function(){return r.mixins}),n.d(e,"d",function(){return i.b}),n.d(e,"b",function(){return i.a}),n.d(e,"c",function(){return s.a}),n.d(e,"a",function(){return u.a});var c=Object.create(o);c.default=c,c.define=r.define,c.mixins=r.mixins,c.Node=i.b.value(null),c.Element=i.a.value(null),c.Link=s.a,c.Component=u.a;var a=c.assignToState=function(t){return function(e){this.state.assignFrom((n={},n[t]=e&&e instanceof s.a?e.value:e,n));var n}};e.f=c},function(t,n){t.exports=e},function(t,e,n){"use strict";function o(t){var e,n,o,s={},u=c.Record.defaults(t).prototype;return u.forEachAttr(u._attributes,function(t,u){if("id"!==u){var c=t.value,a=t.type,p=t.options;if(s[u]=i(a,p.isRequired),p._onChange&&(n||(n={}),n[u]=r(p._onChange)),p.changeHandlers&&p.changeHandlers.length&&(o||(o={}),o[u]=p.changeHandlers),p.changeEvents){o||(o={});var f=o[u]||(o[u]=[]),l="string"==typeof p.changeEvents?p.changeEvents:null;f.push(function(t,e,n){e&&n.stopListening(e),t&&n.listenTo(t,l||t._changeEventName,n.asyncUpdate)})}void 0!==c&&(e||(e={}),e[u]=t.convert(c,void 0,null,{}))}}),{propTypes:s,defaults:e,watchers:n,changeHandlers:o}}function r(t){return"function"==typeof t?t:function(e,n){this[t]&&this[t](e,n)}}function i(t,e){var n=s(t);return e?n.isRequired:n}function s(t){switch(t){case Number:case Number.integer:return u.number;case String:return u.string;case Boolean:return u.bool;case Array:return u.array;case Function:return u.func;case Object:return u.object;case a:return u.node;case p:return u.element;case void 0:case null:return u.any;default:return u.instanceOf(t)}}e.c=o,n.d(e,"b",function(){return a}),n.d(e,"a",function(){return p});var u=n(6),c=(n.n(u),n(0)),a=(n.n(c),function(){function t(){}return t}()),p=function(){function t(){}return t}()},function(t,e,n){"use strict";function o(t,e){i.a.call(this,t,e),s.c.call(this,t,e),u.a.call(this,t,e),c.a.call(this,t,e),r.Messenger.onDefine.call(this,t,e)}e.c=o;var r=n(0),i=(n.n(r),n(9)),s=n(5),u=n(10),c=n(15),a=n(3);n.d(e,"b",function(){return a.b}),n.d(e,"a",function(){return a.a})},function(t,e,n){"use strict";function o(t,e){var n=this.prototype,o=t.state,a=t.State;if("function"==typeof o&&(a=o,o=void 0),o){var p=a||n.State||r.Record,f=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e}(p);f.attributes=o,f=s([r.define],f),n.State=f}else a&&(n.State=a);(o||a)&&this.mixins.merge([u,c])}e.c=o,n.d(e,"a",function(){return u}),n.d(e,"b",function(){return c});var r=n(0),i=(n.n(r),this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};return function(e,n){function o(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}}()),s=this&&this.__decorate||function(t,e,n,o){var r,i=arguments.length,s=i<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,o);else for(var u=t.length-1;u>=0;u--)(r=t[u])&&(s=(i<3?r(s):i>3?r(e,n,s):r(e,n))||s);return i>3&&s&&Object.defineProperty(e,n,s),s},u={_initializeState:function(){var t=this.state=this.props.__keepState||new this.State;t._owner=this,t._ownerKey="state"},context:{_nestedStore:r.Store},getStore:function(){var t,e;return(t=this.context)&&t._nestedStore||(e=this.state)&&e._defaultStore},componentWillUnmount:function(){var t=this.state;t._owner=t._ownerKey=void 0,this._preventDispose||t.dispose(),this.state=void 0}},c={_onChildrenChange:function(){},componentDidMount:function(){this._onChildrenChange=this.asyncUpdate}}},function(t,e,n){t.exports=n(11)()},function(t,e){t.exports=n},function(t,e,n){"use strict";function o(t){d=Object(f.a)(t)}Object.defineProperty(e,"__esModule",{value:!0}),e.useView=o;var r=n(1);n.d(e,"define",function(){return r.g}),n.d(e,"mixins",function(){return r.h}),n.d(e,"Node",function(){return r.d}),n.d(e,"Element",function(){return r.b}),n.d(e,"Link",function(){return r.c}),n.d(e,"Component",function(){return r.a}),n.d(e,"assignToState",function(){return r.e});var i=n(7),s=n.n(i),u=n(0),c=n.n(u),a=n(6),p=(n.n(a),n(21));n.d(e,"subview",function(){return p.a});var f=n(22),l=n(23);n.d(e,"PropTypes",function(){return a}),n.d(e,"createClass",function(){return l.a});var h=Object.create(r.f);e.default=h,h.subview=p.a,h.createClass=l.a,Object.defineProperty(h,"PropTypes",{value:a});var d,v=h.Component.onDefine;h.Component.onDefine=function(t,e){return this.View=d.extend({reactClass:this}),v.call(this,t,e)};var y=u.Record.prototype;y.getLink=y.linkAt,y.deepLink=y.linkPath;var m=u.Record.Collection.prototype;m.hasLink=m.linkContains,o(u.View);var _={el:{get:function(){return s.a.findDOMNode(this)}},$el:{get:function(){return c.a.$(this.el)}},$:{value:function(t){return this.$el.find(t)}}};Object.defineProperties(h.Component.prototype,_)},function(t,e,n){"use strict";function o(t,e){var n=t.store,o=t.Store;if(n&&n instanceof r.Store)this.prototype.store=n,this.mixins.merge([a,c]);else if(n||t.Store){if("function"==typeof n&&(o=n,n=void 0),n){var f=o||this.prototype.Store||r.Store,l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s(e,t),e}(f);l.attrbutes=n,l=u([r.define],l),this.prototype.Store=l}else o&&(this.prototype.Store=o);this.mixins.merge([p,i.b,c])}}e.a=o;var r=n(0),i=(n.n(r),n(5)),s=this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};return function(e,n){function o(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}}(),u=this&&this.__decorate||function(t,e,n,o){var r,i=arguments.length,s=i<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,o);else for(var u=t.length-1;u>=0;u--)(r=t[u])&&(s=(i<3?r(s):i>3?r(e,n,s):r(e,n))||s);return i>3&&s&&Object.defineProperty(e,n,s),s},c={childContext:{_nestedStore:r.Store},getChildContext:function(){return{_nestedStore:this.store}},getStore:function(){return this.store},get:function(t){var e=i.a.getStore.call(this,t);return e&&e.get(t)}},a={componentDidMount:function(){this.listenTo(this.store,"change",this.asyncUpdate)}},p={componentWillMount:function(){var t=this.store=new this.Store;t._owner=this,t._ownerKey="store"},componentWillUnmount:function(){this.store._ownerKey=this.store._owner=void 0,this.store.dispose(),this.store=void 0}}},function(t,e,n){"use strict";function o(t,e){var n=t.context,o=t.childContext,s=this.prototype;n&&(s._context=i.tools.defaults(n,e.prototype._context||{}),this.contextTypes=Object(r.c)(n).propTypes),o&&(s._childContext=i.tools.defaults(o,e.prototype._childContext),this.childContextTypes=Object(r.c)(o).propTypes)}e.a=o;var r=n(3),i=n(0);n.n(i)},function(t,e,n){"use strict";var o=n(12),r=n(13),i=n(14);t.exports=function(){function t(t,e,n,o,s,u){u!==i&&r(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function e(){return t}t.isRequired=t;var n={array:t,bool:t,func:t,number:t,object:t,string:t,symbol:t,any:t,arrayOf:e,element:t,instanceOf:e,node:t,objectOf:e,oneOf:e,oneOfType:e,shape:e,exact:e};return n.checkPropTypes=o,n.PropTypes=n,n}},function(t,e,n){"use strict";function o(t){return function(){return t}}var r=function(){};r.thatReturns=o,r.thatReturnsFalse=o(!1),r.thatReturnsTrue=o(!0),r.thatReturnsNull=o(null),r.thatReturnsThis=function(){return this},r.thatReturnsArgument=function(t){return t},t.exports=r},function(t,e,n){"use strict";function o(t,e,n,o,i,s,u,c){if(r(e),!t){var a;if(void 0===e)a=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var p=[n,o,i,s,u,c],f=0;a=new Error(e.replace(/%s/g,function(){return p[f++]})),a.name="Invariant Violation"}throw a.framesToPop=1,a}}var r=function(t){};t.exports=o},function(t,e,n){"use strict";t.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(t,e,n){"use strict";function o(t,e){var n=t.props,o=t.pureRender,r=this.prototype;if(n){r._props=u.tools.defaults(n,e.prototype._props||{});var p=Object(i.c)(n),f=p.propTypes,l=p.defaults,h=p.watchers,d=p.changeHandlers;this.propTypes=f,l&&(this.defaultProps=l),h&&(r._watchers=h,this.mixins.merge([a])),d&&(r._changeHandlers=d,this.mixins.merge([c])),r.pureRender&&(r.PropsChangeTokens=Object(s.b)(n))}o&&this.mixins.merge([s.a])}function r(t,e,n){var o=t._changeHandlers;for(var r in o)if(e[r]!==n[r])for(var i=0,s=o[r];i=0)||this;return o.parent=e,o.element=n,o}return r(e,t),e.prototype.set=function(t){var e=this,n=Boolean(t);if(this.value!==n){var o=this.parent.value,r=t?o.concat(this.element):o.filter(function(t){return t!==e.element});this.parent.set(r)}},e}(i),f="Invalid value",l=function(t){function e(e,n){var o=t.call(this,e.value[n])||this;return o.parent=e,o.key=n,o}return r(e,t),e.prototype.remove=function(){this.parent.removeAt(this.key)},e.prototype.set=function(t){var e=this;this.value!==t&&this.parent.update(function(n){return n[e.key]=t,n})},e}(i)},function(t,e,n){"use strict";function o(t){if(t&&"object"==typeof t)switch(Object.getPrototypeOf(t)){case r:return c;case i:return u}return s}e.b=o,n.d(e,"a",function(){return c});var r=Array.prototype,i=Object.prototype,s={clone:function(t){return t},map:function(t,e){return[]},remove:function(t){return t}},u={map:function(t,e){var n=[];for(var o in t.value){var r=e(t.at(o),o);void 0===r||n.push(r)}return n},remove:function(t,e){return delete t[e],t},clone:function(t){var e={};for(var n in t)e[n]=t[n];return e}},c={clone:function(t){return t.slice()},remove:function(t,e){return t.splice(e,1),t},map:function(t,e){for(var n=t.value.length,o=Array(n),r=0,i=0;r=0;u--)(r=t[u])&&(s=(i<3?r(s):i>3?r(e,n,s):r(e,n))||s);return i>3&&s&&Object.defineProperty(e,n,s),s},a=function(t){function e(e,n){var o=t.call(this,e,n)||this;return o._initializeState(),o}return u(e,t),e.prototype.linkAt=function(t){return this.state.linkAt(t)},e.prototype.linkAll=function(){var t=this.state;return t.linkAll.apply(t,arguments)},e.prototype.linkPath=function(t){return this.state.linkPath(t)},Object.defineProperty(e.prototype,"links",{get:function(){return this.state._links},enumerable:!0,configurable:!0}),e.prototype._initializeState=function(){this.state=null},e.prototype.assignToState=function(t,e){this.state.assignFrom((n={},n[e]=t,n));var n},e.prototype.componentWillUnmount=function(){this.dispose()},e.prototype.transaction=function(t){var e=this.shouldComponentUpdate,n=e!==o;n&&(this.shouldComponentUpdate=o);var r=this,i=r.state,s=r.store,u=s?function(e){return s.transaction(function(){return t(e)})}:t;i?i.transaction(u):u(i),n&&(this.shouldComponentUpdate=e,this.asyncUpdate())},e.prototype.asyncUpdate=function(){this.shouldComponentUpdate===o||this._disposed||this.forceUpdate()},e}(r.Component);a.onDefine=s.c,a=c([i.define,Object(i.definitions)({state:i.mixinRules.merge,State:i.mixinRules.value,store:i.mixinRules.merge,Store:i.mixinRules.value,props:i.mixinRules.merge,context:i.mixinRules.merge,childContext:i.mixinRules.merge,pureRender:i.mixinRules.protoValue}),Object(i.mixinRules)({componentWillMount:i.mixinRules.classLast,componentDidMount:i.mixinRules.classLast,componentWillReceiveProps:i.mixinRules.classLast,componentWillUpdate:i.mixinRules.classLast,componentDidUpdate:i.mixinRules.classLast,componentWillUnmount:i.mixinRules.classFirst,shouldComponentUpdate:i.mixinRules.some,getChildContext:i.mixinRules.defaults}),Object(i.mixins)(i.Messenger)],a),Object.defineProperty(a.prototype,"isMounted",{value:function(){return!this._disposed}})},function(t,e,n){"use strict";var o=n(1),r=n(0),i=(n.n(r),this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};return function(e,n){function o(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}}()),s=r.tools.notEqual,u=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.saveRef=function(t){e.root=t},e}return i(e,t),e.prototype.shouldComponentUpdate=function(t){var e=this.props;return t.View!==e.View||s(t.options,e.options)},e.prototype.hasUnsavedChanges=function(){var t=this.view;return t&&("function"==typeof t.hasUnsavedChanges?t.hasUnsavedChanges():t.hasUnsavedChanges)},e.prototype.render=function(){return o.f.createElement("div",{ref:this.saveRef,className:this.props.className})},e.prototype.componentDidMount=function(){this._mountView()},e.prototype.componentDidUpdate=function(){this._dispose(),this._mountView()},e.prototype.componentWillUnmount=function(){this._dispose()},e.prototype._mountView=function(){var t=this.root,e=this.props,n=this.view=e.options?new e.View(e.options):new e.View;t.appendChild(n.el),n.render()},e.prototype._dispose=function(){var t=this.view;t&&(t.dispose?t.dispose():(t.stopListening(),t.off()),this.root.innerHTML="",this.view=null)},e}(o.a);e.a=u},function(t,e,n){"use strict";function o(t){var e=t.prototype.dispose||function(){},n=t.prototype.setElement,o=t.extend({reactClass:null,props:{},element:null,initialize:function(t){this.options=t||{}},setElement:function(){return this.unmountComponent(!0),n.apply(this,arguments)},component:null,prevState:null,resize:function(){window.Page.forceResize()},render:function(){var t=this.prevState?u.tools.fastAssign({__keepState:this.prevState},this.options):this.options,e=r.createElement(this.reactClass,t),n=s.a.render(e,this.el);this.component||this.mountComponent(n)},mountComponent:function(t){this.component=t,this.prevState=null,t.trigger&&this.listenTo(t,"all",function(){this.trigger.apply(this,arguments)})},unmountComponent:function(t){var e=this.component;e&&(this.prevState=e.state,e.trigger&&this.stopListening(e),e._preventDispose=Boolean(t),s.a.unmountComponentAtNode(this.el),this.component=null)},dispose:function(){return this.unmountComponent(),e.apply(this,arguments)}});return Object.defineProperty(o.prototype,"model",{get:function(){return this.component||this.render(),this.component&&this.component.state}}),o}e.a=o;var r=n(2),i=(n.n(r),n(7)),s=n.n(i),u=n(0);n.n(u);window.Page||(window.Page={forceResize:function(){}})},function(t,e,n){"use strict";function o(t){var e=t.statics,n=s(t,["statics"]),o=[],c=r.a.extend(i({constructor:function(){r.a.apply(this,arguments);for(var t=0,e=o;t=0;u--)(r=t[u])&&(s=(i<3?r(s):i>3?r(e,n,s):r(e,n))||s);return i>3&&s&&Object.defineProperty(e,n,s),s},u={_initializeState:function(){var t=this.state=this.props.__keepState||new this.State;t._owner=this,t._ownerKey="state"},context:{_nestedStore:r.Store},getStore:function(){var t,e;return(t=this.context)&&t._nestedStore||(e=this.state)&&e._defaultStore},componentWillUnmount:function(){var t=this.state;t._owner=t._ownerKey=void 0,this._preventDispose||t.dispose(),this.state=void 0}},c={_onChildrenChange:function(){},componentDidMount:function(){this._onChildrenChange=this.asyncUpdate}}},function(t,e,n){t.exports=n(12)()},function(t,e,n){"use strict";function o(t){var e=Object.keys(t),n=new Function("p","s","\n var v;\n this._s = s && s._changeToken;\n "+e.map(function(t){return"\n this."+t+" = ( ( v = p."+t+") && v._changeToken ) || v;\n "}).join("")+"\n ");return n.prototype._hasChanges=new Function("p","s","\n var v;\n return ( s && s._changeToken !== this._s ) "+e.map(function(t){return" ||\n this."+t+" !== ( ( ( v = p."+t+") && v._changeToken ) || v )\n "}).join("")+";\n "),n}function r(){this._propsChangeTokens=new this.PropsChangeTokens(this.props,this.state)}e.c=o,n.d(e,"a",function(){return i}),n.d(e,"b",function(){return s});var i=o({}),s={shouldComponentUpdate:function(t){return this._propsChangeTokens._hasChanges(t)},componentDidMount:r,componentDidUpdate:r}},function(t,e){t.exports=n},function(t,e,n){"use strict";function o(t){d=Object(f.a)(t)}Object.defineProperty(e,"__esModule",{value:!0}),e.useView=o;var r=n(1);n.d(e,"define",function(){return r.g}),n.d(e,"mixins",function(){return r.h}),n.d(e,"Node",function(){return r.d}),n.d(e,"Element",function(){return r.b}),n.d(e,"Link",function(){return r.c}),n.d(e,"Component",function(){return r.a}),n.d(e,"assignToState",function(){return r.e});var i=n(8),s=n.n(i),u=n(0),c=n.n(u),a=n(6),p=(n.n(a),n(21));n.d(e,"subview",function(){return p.a});var f=n(22),l=n(23);n.d(e,"PropTypes",function(){return a}),n.d(e,"createClass",function(){return l.a});var h=Object.create(r.f);e.default=h,h.subview=p.a,h.createClass=l.a,Object.defineProperty(h,"PropTypes",{value:a});var d,v=h.Component.onDefine;h.Component.onDefine=function(t,e){return this.View=d.extend({reactClass:this}),v.call(this,t,e)};var y=u.Record.prototype;y.getLink=y.linkAt,y.deepLink=y.linkPath;var m=u.Record.Collection.prototype;m.hasLink=m.linkContains,o(u.View);var _={el:{get:function(){return s.a.findDOMNode(this)}},$el:{get:function(){return c.a.$(this.el)}},$:{value:function(t){return this.$el.find(t)}}};Object.defineProperties(h.Component.prototype,_)},function(t,e,n){"use strict";function o(t,e){var n=t.store,o=t.Store;if(n&&n instanceof r.Store)this.prototype.store=n,this.mixins.merge([a,c]);else if(n||t.Store){if("function"==typeof n&&(o=n,n=void 0),n){var f=o||this.prototype.Store||r.Store,l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s(e,t),e}(f);l.attrbutes=n,l=u([r.define],l),this.prototype.Store=l}else o&&(this.prototype.Store=o);this.mixins.merge([p,i.b,c])}}e.a=o;var r=n(0),i=(n.n(r),n(5)),s=this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};return function(e,n){function o(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}}(),u=this&&this.__decorate||function(t,e,n,o){var r,i=arguments.length,s=i<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,o);else for(var u=t.length-1;u>=0;u--)(r=t[u])&&(s=(i<3?r(s):i>3?r(e,n,s):r(e,n))||s);return i>3&&s&&Object.defineProperty(e,n,s),s},c={childContext:{_nestedStore:r.Store},getChildContext:function(){return{_nestedStore:this.store}},getStore:function(){return this.store},get:function(t){var e=i.a.getStore.call(this,t);return e&&e.get(t)}},a={componentDidMount:function(){this.listenTo(this.store,"change",this.asyncUpdate)}},p={componentWillMount:function(){var t=this.store=new this.Store;t._owner=this,t._ownerKey="store"},componentWillUnmount:function(){this.store._ownerKey=this.store._owner=void 0,this.store.dispose(),this.store=void 0}}},function(t,e,n){"use strict";function o(t,e){var n=t.context,o=t.childContext,s=this.prototype;n&&(s._context=i.tools.defaults(n,e.prototype._context||{}),this.contextTypes=Object(r.c)(n).propTypes),o&&(s._childContext=i.tools.defaults(o,e.prototype._childContext),this.childContextTypes=Object(r.c)(o).propTypes)}e.a=o;var r=n(3),i=n(0);n.n(i)},function(t,e,n){"use strict";var o=n(13),r=n(14),i=n(15);t.exports=function(){function t(t,e,n,o,s,u){u!==i&&r(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function e(){return t}t.isRequired=t;var n={array:t,bool:t,func:t,number:t,object:t,string:t,symbol:t,any:t,arrayOf:e,element:t,instanceOf:e,node:t,objectOf:e,oneOf:e,oneOfType:e,shape:e,exact:e};return n.checkPropTypes=o,n.PropTypes=n,n}},function(t,e,n){"use strict";function o(t){return function(){return t}}var r=function(){};r.thatReturns=o,r.thatReturnsFalse=o(!1),r.thatReturnsTrue=o(!0),r.thatReturnsNull=o(null),r.thatReturnsThis=function(){return this},r.thatReturnsArgument=function(t){return t},t.exports=r},function(t,e,n){"use strict";function o(t,e,n,o,i,s,u,c){if(r(e),!t){var a;if(void 0===e)a=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var p=[n,o,i,s,u,c],f=0;a=new Error(e.replace(/%s/g,function(){return p[f++]})),a.name="Invariant Violation"}throw a.framesToPop=1,a}}var r=function(t){};t.exports=o},function(t,e,n){"use strict";t.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(t,e,n){"use strict";function o(t,e){var n=t.props,o=t.pureRender,r=this.prototype;if(n){r._props=u.tools.defaults(n,e.prototype._props||{});var p=Object(i.c)(n),f=p.propTypes,l=p.defaults,h=p.watchers,d=p.changeHandlers;this.propTypes=f,l&&(this.defaultProps=l),h&&(r._watchers=h,this.mixins.merge([a])),d&&(r._changeHandlers=d,this.mixins.merge([c])),r.pureRender&&(r.PropsChangeTokens=Object(s.c)(n))}o&&this.mixins.merge([s.b])}function r(t,e,n){var o=t._changeHandlers;for(var r in o)if(e[r]!==n[r])for(var i=0,s=o[r];i=0)||this;return o.parent=e,o.element=n,o}return r(e,t),e.prototype.set=function(t){var e=this,n=Boolean(t);if(this.value!==n){var o=this.parent.value,r=t?o.concat(this.element):o.filter(function(t){return t!==e.element});this.parent.set(r)}},e}(i),f="Invalid value",l=function(t){function e(e,n){var o=t.call(this,e.value[n])||this;return o.parent=e,o.key=n,o}return r(e,t),e.prototype.remove=function(){this.parent.removeAt(this.key)},e.prototype.set=function(t){var e=this;this.value!==t&&this.parent.update(function(n){return n[e.key]=t,n})},e}(i)},function(t,e,n){"use strict";function o(t){if(t&&"object"==typeof t)switch(Object.getPrototypeOf(t)){case r:return c;case i:return u}return s}e.b=o,n.d(e,"a",function(){return c});var r=Array.prototype,i=Object.prototype,s={clone:function(t){return t},map:function(t,e){return[]},remove:function(t){return t}},u={map:function(t,e){var n=[];for(var o in t.value){var r=e(t.at(o),o);void 0===r||n.push(r)}return n},remove:function(t,e){return delete t[e],t},clone:function(t){var e={};for(var n in t)e[n]=t[n];return e}},c={clone:function(t){return t.slice()},remove:function(t,e){return t.splice(e,1),t},map:function(t,e){for(var n=t.value.length,o=Array(n),r=0,i=0;r=0;u--)(r=t[u])&&(s=(i<3?r(s):i>3?r(e,n,s):r(e,n))||s);return i>3&&s&&Object.defineProperty(e,n,s),s},a=function(t){function e(e,n){var o=t.call(this,e,n)||this;return o._initializeState(),o}return u(e,t),e.prototype.linkAt=function(t){return this.state.linkAt(t)},e.prototype.linkAll=function(){var t=this.state;return t.linkAll.apply(t,arguments)},e.prototype.linkPath=function(t){return this.state.linkPath(t)},Object.defineProperty(e.prototype,"links",{get:function(){return this.state._links},enumerable:!0,configurable:!0}),e.prototype._initializeState=function(){this.state=null},e.prototype.assignToState=function(t,e){this.state.assignFrom((n={},n[e]=t,n));var n},e.prototype.componentWillUnmount=function(){this.dispose()},e.prototype.transaction=function(t){var e=this.shouldComponentUpdate,n=e!==o;n&&(this.shouldComponentUpdate=o);var r=this,i=r.state,s=r.store,u=s?function(e){return s.transaction(function(){return t(e)})}:t;i?i.transaction(u):u(i),n&&(this.shouldComponentUpdate=e,this.asyncUpdate())},e.prototype.asyncUpdate=function(){this.shouldComponentUpdate===o||this._disposed||this.forceUpdate()},e}(r.Component);a.onDefine=s.d,a=c([Object(i.define)({PropsChangeTokens:s.b}),Object(i.definitions)({state:i.mixinRules.merge,State:i.mixinRules.value,store:i.mixinRules.merge,Store:i.mixinRules.value,props:i.mixinRules.merge,context:i.mixinRules.merge,childContext:i.mixinRules.merge,pureRender:i.mixinRules.protoValue}),Object(i.mixinRules)({componentWillMount:i.mixinRules.classLast,componentDidMount:i.mixinRules.classLast,componentWillReceiveProps:i.mixinRules.classLast,componentWillUpdate:i.mixinRules.classLast,componentDidUpdate:i.mixinRules.classLast,componentWillUnmount:i.mixinRules.classFirst,shouldComponentUpdate:i.mixinRules.some,getChildContext:i.mixinRules.defaults}),Object(i.mixins)(i.Messenger)],a),Object.defineProperty(a.prototype,"isMounted",{value:function(){return!this._disposed}})},function(t,e,n){"use strict";var o=n(1),r=n(0),i=(n.n(r),this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};return function(e,n){function o(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}}()),s=r.tools.notEqual,u=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.saveRef=function(t){e.root=t},e}return i(e,t),e.prototype.shouldComponentUpdate=function(t){var e=this.props;return t.View!==e.View||s(t.options,e.options)},e.prototype.hasUnsavedChanges=function(){var t=this.view;return t&&("function"==typeof t.hasUnsavedChanges?t.hasUnsavedChanges():t.hasUnsavedChanges)},e.prototype.render=function(){return o.f.createElement("div",{ref:this.saveRef,className:this.props.className})},e.prototype.componentDidMount=function(){this._mountView()},e.prototype.componentDidUpdate=function(){this._dispose(),this._mountView()},e.prototype.componentWillUnmount=function(){this._dispose()},e.prototype._mountView=function(){var t=this.root,e=this.props,n=this.view=e.options?new e.View(e.options):new e.View;t.appendChild(n.el),n.render()},e.prototype._dispose=function(){var t=this.view;t&&(t.dispose?t.dispose():(t.stopListening(),t.off()),this.root.innerHTML="",this.view=null)},e}(o.a);e.a=u},function(t,e,n){"use strict";function o(t){var e=t.prototype.dispose||function(){},n=t.prototype.setElement,o=t.extend({reactClass:null,props:{},element:null,initialize:function(t){this.options=t||{}},setElement:function(){return this.unmountComponent(!0),n.apply(this,arguments)},component:null,prevState:null,resize:function(){window.Page.forceResize()},render:function(){var t=this.prevState?u.tools.fastAssign({__keepState:this.prevState},this.options):this.options,e=r.createElement(this.reactClass,t),n=s.a.render(e,this.el);this.component||this.mountComponent(n)},mountComponent:function(t){this.component=t,this.prevState=null,t.trigger&&this.listenTo(t,"all",function(){this.trigger.apply(this,arguments)})},unmountComponent:function(t){var e=this.component;e&&(this.prevState=e.state,e.trigger&&this.stopListening(e),e._preventDispose=Boolean(t),s.a.unmountComponentAtNode(this.el),this.component=null)},dispose:function(){return this.unmountComponent(),e.apply(this,arguments)}});return Object.defineProperty(o.prototype,"model",{get:function(){return this.component||this.render(),this.component&&this.component.state}}),o}e.a=o;var r=n(2),i=(n.n(r),n(8)),s=n.n(i),u=n(0);n.n(u);window.Page||(window.Page={forceResize:function(){}})},function(t,e,n){"use strict";function o(t){var e=t.statics,n=s(t,["statics"]),o=[],c=r.a.extend(i({constructor:function(){r.a.apply(this,arguments);for(var t=0,e=o;t= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n/*****************\n * State\n */\n\nfunction process(definition, BaseComponentClass) {\n var prototype = this.prototype;\n var state = definition.state, State = definition.State;\n if (typeof state === 'function') {\n State = state;\n state = void 0;\n }\n if (state) {\n var BaseClass = State || prototype.State || __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Record\"];\n var ComponentState = (function (_super) {\n __extends(ComponentState, _super);\n function ComponentState() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return ComponentState;\n }(BaseClass));\n ComponentState.attributes = state;\n ComponentState = __decorate([\n __WEBPACK_IMPORTED_MODULE_0_type_r__[\"define\"]\n ], ComponentState);\n prototype.State = ComponentState;\n }\n else if (State) {\n prototype.State = State;\n }\n if (state || State) {\n this.mixins.merge([StateMixin, UpdateOnNestedChangesMixin]);\n }\n}\nvar StateMixin = {\n //state : null,\n _initializeState: function () {\n // props.__keepState is used to workaround issues in Backbone intergation layer\n var state = this.state = this.props.__keepState || new this.State();\n // Take ownership on state...\n state._owner = this;\n state._ownerKey = 'state';\n },\n context: {\n _nestedStore: __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Store\"]\n },\n // reference global store to fix model's store locator\n getStore: function () {\n // Attempt to get the store from the context first. Then - fallback to the state's default store.\n // TBD: Need to figure out a good way of managing local stores.\n var context, state;\n return ((context = this.context) && context._nestedStore) ||\n ((state = this.state) && state._defaultStore);\n },\n componentWillUnmount: function () {\n var state = this.state;\n state._owner = state._ownerKey = void 0;\n this._preventDispose /* hack for component-view to preserve the state */ || state.dispose();\n this.state = void 0;\n }\n};\nvar UpdateOnNestedChangesMixin = {\n _onChildrenChange: function () { },\n componentDidMount: function () {\n this._onChildrenChange = this.asyncUpdate;\n }\n};\n//# sourceMappingURL=state.js.map\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (false) {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = __webpack_require__(11)();\n}\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_7__;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (immutable) */ __webpack_exports__[\"useView\"] = useView;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1);\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"define\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"g\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"mixins\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"h\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Node\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"d\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Element\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"b\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Link\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"c\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Component\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"assignToState\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"e\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__view_element__ = __webpack_require__(21);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"subview\", function() { return __WEBPACK_IMPORTED_MODULE_4__view_element__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__component_view__ = __webpack_require__(22);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__createClass__ = __webpack_require__(23);\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"PropTypes\", function() { return __WEBPACK_IMPORTED_MODULE_3_prop_types__; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"createClass\", function() { return __WEBPACK_IMPORTED_MODULE_6__createClass__[\"a\"]; });\n// Re-export react-mvx\n\nvar NestedReact = Object.create(__WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"f\" /* default */]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (NestedReact);\n\n// NestedReact backward compatibility layer\n\n\n\n\nNestedReact.subview = __WEBPACK_IMPORTED_MODULE_4__view_element__[\"a\" /* default */];\n\n\n\nNestedReact.createClass = __WEBPACK_IMPORTED_MODULE_6__createClass__[\"a\" /* default */];\nObject.defineProperty(NestedReact, 'PropTypes', { value: __WEBPACK_IMPORTED_MODULE_3_prop_types__ });\n\nvar BaseView;\n// export hook to override base View class used...\nfunction useView(View) {\n BaseView = Object(__WEBPACK_IMPORTED_MODULE_5__component_view__[\"a\" /* default */])(View);\n}\nvar onDefine = NestedReact.Component.onDefine;\nNestedReact.Component.onDefine = function (definitions, BaseClass) {\n this.View = BaseView.extend({ reactClass: this });\n return onDefine.call(this, definitions, BaseClass);\n};\n// Deprecated API for backward compatibility\nvar RecordProto = __WEBPACK_IMPORTED_MODULE_2_type_r__[\"Record\"].prototype;\nRecordProto.getLink = RecordProto.linkAt;\nRecordProto.deepLink = RecordProto.linkPath;\nvar CollectionProto = __WEBPACK_IMPORTED_MODULE_2_type_r__[\"Record\"].Collection.prototype;\nCollectionProto.hasLink = CollectionProto.linkContains;\nuseView(__WEBPACK_IMPORTED_MODULE_2_type_r__[\"View\"]);\n// Extend react components to have backbone-style jquery accessors\nvar BackboneViewProps = {\n el: { get: function () { return __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.findDOMNode(this); } },\n $el: { get: function () { return __WEBPACK_IMPORTED_MODULE_2_type_r___default.a.$(this.el); } },\n $: { value: function (sel) { return this.$el.find(sel); } }\n};\nObject.defineProperties(NestedReact.Component.prototype, BackboneViewProps);\n//# sourceMappingURL=index.js.map\n\n/***/ }),\n/* 9 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = onDefine;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__state__ = __webpack_require__(5);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\nfunction onDefine(definition, BaseClass) {\n var store = definition.store, StoreClass = definition.Store;\n if (store && store instanceof __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Store\"]) {\n // Direct reference to an existing store. Put it to the prototype.\n this.prototype.store = store;\n this.mixins.merge([ExternalStoreMixin, ExposeStoreMixin]);\n }\n else if (store || definition.Store) {\n if (typeof store === 'function') {\n StoreClass = store;\n store = void 0;\n }\n if (store) {\n var BaseClass_1 = StoreClass || this.prototype.Store || __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Store\"];\n var InternalStore = (function (_super) {\n __extends(InternalStore, _super);\n function InternalStore() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return InternalStore;\n }(BaseClass_1));\n InternalStore.attrbutes = store;\n InternalStore = __decorate([\n __WEBPACK_IMPORTED_MODULE_0_type_r__[\"define\"]\n ], InternalStore);\n ;\n this.prototype.Store = InternalStore;\n }\n else if (StoreClass) {\n this.prototype.Store = StoreClass;\n }\n this.mixins.merge([InternalStoreMixin, __WEBPACK_IMPORTED_MODULE_1__state__[\"b\" /* UpdateOnNestedChangesMixin */], ExposeStoreMixin]);\n }\n}\n/**\n * Attached whenever the store declaration of any form is present in the component.\n */\nvar ExposeStoreMixin = {\n childContext: {\n _nestedStore: __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Store\"]\n },\n getChildContext: function () {\n return { _nestedStore: this.store };\n },\n getStore: function () {\n return this.store;\n },\n // Will be called by the store when the lookup will fail.\n get: function (key) {\n // Ask upper store.\n var store = __WEBPACK_IMPORTED_MODULE_1__state__[\"a\" /* StateMixin */].getStore.call(this, key);\n return store && store.get(key);\n }\n};\n/**\n * External store must just track the changes and trigger render.\n * TBD: don't use it yet.\n */\nvar ExternalStoreMixin = {\n componentDidMount: function () {\n // Start UI updates on state changes.\n this.listenTo(this.store, 'change', this.asyncUpdate);\n }\n};\nvar InternalStoreMixin = {\n componentWillMount: function () {\n var store = this.store = new this.Store();\n store._owner = this;\n store._ownerKey = 'store';\n },\n componentWillUnmount: function () {\n this.store._ownerKey = this.store._owner = void 0;\n this.store.dispose();\n this.store = void 0;\n }\n};\n//# sourceMappingURL=store.js.map\n\n/***/ }),\n/* 10 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = onDefine;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n\n\nfunction onDefine(_a, BaseClass) {\n var context = _a.context, childContext = _a.childContext;\n var prototype = this.prototype;\n if (context) {\n // Merge in inherited members...\n prototype._context = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].defaults(context, BaseClass.prototype._context || {});\n // Compile to propTypes...\n this.contextTypes = Object(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* compileSpecs */])(context).propTypes;\n }\n if (childContext) {\n prototype._childContext = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].defaults(childContext, BaseClass.prototype._childContext);\n this.childContextTypes = Object(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* compileSpecs */])(childContext).propTypes;\n }\n}\n//# sourceMappingURL=context.js.map\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar emptyFunction = __webpack_require__(12);\nvar invariant = __webpack_require__(13);\nvar ReactPropTypesSecret = __webpack_require__(14);\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n invariant(\n false,\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim\n };\n\n ReactPropTypes.checkPropTypes = emptyFunction;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (false) {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = onDefine;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__pureRender__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__);\n/**\n * Handle props specification and everything which is related:\n * - local listening to props changes\n * - pure render mixin\n */\n\n\n\nfunction onDefine(_a, BaseClass) {\n var props = _a.props, pureRender = _a.pureRender;\n var prototype = this.prototype;\n // process props spec...\n if (props) {\n // Merge with inherited members...\n prototype._props = __WEBPACK_IMPORTED_MODULE_2_type_r__[\"tools\"].defaults(props, BaseClass.prototype._props || {});\n var _b = Object(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* compileSpecs */])(props), propTypes = _b.propTypes, defaults = _b.defaults, watchers = _b.watchers, changeHandlers = _b.changeHandlers;\n this.propTypes = propTypes;\n if (defaults)\n this.defaultProps = defaults;\n if (watchers) {\n prototype._watchers = watchers;\n this.mixins.merge([WatchersMixin]);\n }\n if (changeHandlers) {\n prototype._changeHandlers = changeHandlers;\n this.mixins.merge([ChangeHandlersMixin]);\n }\n if (prototype.pureRender) {\n prototype.PropsChangeTokens = Object(__WEBPACK_IMPORTED_MODULE_1__pureRender__[\"b\" /* createChangeTokensConstructor */])(props);\n }\n }\n if (pureRender) {\n this.mixins.merge([__WEBPACK_IMPORTED_MODULE_1__pureRender__[\"a\" /* PureRenderMixin */]]);\n }\n}\n/**\n * ChangeHandlers are fired in sequence upon props replacement.\n * Fires _after_ UI is updated. Used for managing events subscriptions.\n */\nvar ChangeHandlersMixin = {\n componentDidMount: function () {\n handlePropsChanges(this, {}, this.props);\n },\n componentDidUpdate: function (prev) {\n handlePropsChanges(this, prev, this.props);\n },\n componentWillUnmount: function () {\n handlePropsChanges(this, this.props, {});\n }\n};\nfunction handlePropsChanges(component, prev, next) {\n var _changeHandlers = component._changeHandlers;\n for (var name_1 in _changeHandlers) {\n if (prev[name_1] !== next[name_1]) {\n for (var _i = 0, _a = _changeHandlers[name_1]; _i < _a.length; _i++) {\n var handler = _a[_i];\n handler(next[name_1], prev[name_1], component);\n }\n }\n }\n}\n/**\n * Watchers works on props replacement and fires _before_ any change will be applied and UI is updated.\n * Fired in componentWillMount as well, which makes it a nice way to sync state from props.\n */\nvar WatchersMixin = {\n componentWillReceiveProps: function (next) {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_2 in _watchers) {\n if (next[name_2] !== props[name_2]) {\n _watchers[name_2].call(this, next[name_2], name_2);\n }\n }\n },\n componentWillMount: function () {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_3 in _watchers) {\n _watchers[name_3].call(this, props[name_3], name_3);\n }\n }\n};\n//# sourceMappingURL=props.js.map\n\n/***/ }),\n/* 16 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = createChangeTokensConstructor;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return PureRenderMixin; });\nfunction createChangeTokensConstructor(props) {\n var propNames = Object.keys(props);\n var PropsChangeTokens = new Function('p', 's', \"\\n var v;\\n this._s = s && s._changeToken;\\n \" + propNames.map(function (name) { return \"\\n this.\" + name + \" = ( ( v = p.\" + name + \") && v._changeToken ) || v;\\n \"; }).join('') + \"\\n \");\n PropsChangeTokens.prototype._hasChanges = new Function('p', 's', \"\\n var v;\\n return ( s && s._changeToken !== this._s ) \" + propNames.map(function (name) { return \" ||\\n this.\" + name + \" !== ( ( ( v = p.\" + name + \") && v._changeToken ) || v )\\n \"; }).join('') + \";\\n \");\n return PropsChangeTokens;\n}\n;\nvar PureRenderMixin = {\n shouldComponentUpdate: function (nextProps) {\n return this._propsChangeTokens._hasChanges(nextProps);\n },\n componentDidMount: updateChangeTokens,\n componentDidUpdate: updateChangeTokens\n};\nfunction updateChangeTokens() {\n this._propsChangeTokens = new this.PropsChangeTokens(this.props, this.state);\n}\n//# sourceMappingURL=pureRender.js.map\n\n/***/ }),\n/* 17 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__valuelink_link__ = __webpack_require__(18);\n/**\n * Import ValueLink library\n * Define value links binding mixins to the Record and Collection\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]);\n__WEBPACK_IMPORTED_MODULE_0_type_r__[\"Mixable\"].mixins.populate(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]);\n/**\n * Record\n */\n__WEBPACK_IMPORTED_MODULE_0_type_r__[\"MixinsState\"].get(__WEBPACK_IMPORTED_MODULE_0_type_r__[\"Record\"]).merge([{\n // Link to the record's attribute by its key.\n linkAt: function (key) {\n return cacheLink(getLinksCache(this), this, key);\n },\n // Link to the attribute of the record's tree by symbolic path.\n linkPath: function (path, options) {\n return new RecordDeepLink(this, path, options);\n },\n // Link all (or listed) attributes and return links cache.\n linkAll: function () {\n var links = getLinksCache(this);\n if (arguments.length) {\n for (var i = 0; i < arguments.length; i++) {\n cacheLink(links, this, arguments[i]);\n }\n }\n else {\n var attributes = this.attributes;\n for (var key in attributes) {\n attributes[key] === void 0 || cacheLink(links, this, key);\n }\n }\n return links;\n }\n }]);\n/**\n * Link to Type-R's record attribute.\n * Strict evaluation of value, lazy evaluation of validation error.\n * Links are cached in the records\n */\nvar RecordLink = (function (_super) {\n __extends(RecordLink, _super);\n function RecordLink(record, attr, value) {\n var _this = _super.call(this, value) || this;\n _this.record = record;\n _this.attr = attr;\n return _this;\n }\n RecordLink.prototype.set = function (x) {\n this.record[this.attr] = x;\n };\n Object.defineProperty(RecordLink.prototype, \"error\", {\n get: function () {\n return this._error === void 0 ?\n this.record.getValidationError(this.attr) :\n this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n return RecordLink;\n}(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]));\nvar RecordDeepLink = (function (_super) {\n __extends(RecordDeepLink, _super);\n function RecordDeepLink(record, path, options) {\n var _this = _super.call(this, record.deepGet(path)) || this;\n _this.record = record;\n _this.path = path;\n _this.options = options;\n return _this;\n }\n Object.defineProperty(RecordDeepLink.prototype, \"error\", {\n get: function () {\n if (this._error === void 0) {\n this._error = this.record.deepValidationError(this.path) || null;\n }\n return this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(RecordDeepLink.prototype, \"_changeToken\", {\n get: function () {\n return this.record._changeToken;\n },\n enumerable: true,\n configurable: true\n });\n RecordDeepLink.prototype.set = function (x) {\n this.record.deepSet(this.path, x, this.options);\n };\n return RecordDeepLink;\n}(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]));\nfunction getLinksCache(record) {\n return record._links || (record._links = new record.AttributesCopy({}));\n}\nfunction cacheLink(links, record, key) {\n var cached = links[key], value = record[key];\n return cached && cached.value === value ? cached\n : links[key] = new RecordLink(record, key, value);\n}\n/***********************************\n * Collection\n */\n__WEBPACK_IMPORTED_MODULE_0_type_r__[\"MixinsState\"].get(__WEBPACK_IMPORTED_MODULE_0_type_r__[\"Record\"].Collection).merge([{\n // Boolean link to the record's presence in the collection\n linkContains: function (record) {\n return new CollectionLink(this, record);\n },\n // Link to collection's property\n linkAt: function (prop) {\n var _this = this;\n return __WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */].value(this[prop], function (x) { return _this[prop] = x; });\n }\n }]);\n/**\n * Boolean link to presence of NestedType's record in collection.\n * Strict evaluation of value, no error.\n * Safe implementation of _changeToken.\n */\nvar CollectionLink = (function (_super) {\n __extends(CollectionLink, _super);\n function CollectionLink(collection, record) {\n var _this = _super.call(this, Boolean(collection._byId[record.cid])) || this;\n _this.collection = collection;\n _this.record = record;\n return _this;\n }\n CollectionLink.prototype.set = function (x) {\n this.collection.toggle(this.record, x);\n };\n return CollectionLink;\n}(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]));\n//# sourceMappingURL=link.js.map\n\n/***/ }),\n/* 18 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Link; });\n/* unused harmony export CustomLink */\n/* unused harmony export CloneLink */\n/* unused harmony export EqualsLink */\n/* unused harmony export EnabledLink */\n/* unused harmony export ContainsLink */\n/* unused harmony export LinkAt */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__helpers__ = __webpack_require__(19);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * Advanced React links for purely functional two-way data binding\n *\n * MIT License, (c) 2016 Vlad Balin, Volicon.\n */\n\n// Main Link class. All links must extend it.\nvar Link = (function () {\n // create \n function Link(value) {\n this.value = value;\n }\n // Create custom link to arbitrary value\n Link.value = function (value, set) {\n return new CustomLink(value, set);\n };\n Object.defineProperty(Link.prototype, \"validationError\", {\n // DEPRECATED: Old error holder for backward compatibility with Volicon code base\n get: function () { return this.error; },\n enumerable: true,\n configurable: true\n });\n Link.prototype.onChange = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n handler(x);\n _this.set(x);\n });\n };\n Object.defineProperty(Link.prototype, \"props\", {\n // \n get: function () {\n var _this = this;\n return typeof this.value === 'boolean' ? {\n checked: this.value,\n onChange: function (e) { return _this.set(Boolean(e.target.checked)); }\n } : {\n value: this.value,\n onChange: function (e) { return _this.set(e.target.value); }\n };\n },\n enumerable: true,\n configurable: true\n });\n // DEPRECATED: Old React method for backward compatibility\n Link.prototype.requestChange = function (x) {\n this.set(x);\n };\n // Immediately update the link value using given transform function.\n Link.prototype.update = function (transform, e) {\n var next = transform(this.clone(), e);\n next === void 0 || this.set(next);\n };\n // Create new link which applies transform function on set.\n Link.prototype.pipe = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n var next = handler(x, _this.value);\n next === void 0 || _this.set(next);\n });\n };\n // Create UI event handler function which will update the link with a given transform function.\n Link.prototype.action = function (transform) {\n var _this = this;\n return function (e) { return _this.update(transform, e); };\n };\n Link.prototype.equals = function (truthyValue) {\n return new EqualsLink(this, truthyValue);\n };\n Link.prototype.enabled = function (defaultValue) {\n return new EnabledLink(this, defaultValue || \"\");\n };\n // Array-only links methods\n Link.prototype.contains = function (element) {\n return new ContainsLink(this, element);\n };\n Link.prototype.push = function () {\n var array = __WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* arrayHelpers */].clone(this.value);\n Array.prototype.push.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.unshift = function () {\n var array = __WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* arrayHelpers */].clone(this.value);\n Array.prototype.unshift.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.splice = function () {\n var array = __WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* arrayHelpers */].clone(this.value);\n Array.prototype.splice.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.map = function (iterator) {\n return Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* helpers */])(this.value).map(this, iterator);\n };\n Link.prototype.removeAt = function (key) {\n var value = this.value, _ = Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* helpers */])(value);\n this.set(_.remove(_.clone(value), key));\n };\n Link.prototype.at = function (key) {\n return new LinkAt(this, key);\n };\n Link.prototype.clone = function () {\n var value = this.value;\n return Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* helpers */])(value).clone(value);\n };\n Link.prototype.pick = function () {\n var links = {};\n for (var i = 0; i < arguments.length; i++) {\n var key = arguments[i];\n links[key] = new LinkAt(this, key);\n }\n return links;\n };\n /**\n * Validate link with validness predicate and optional custom error object. Can be chained.\n */\n Link.prototype.check = function (whenValid, error) {\n if (!this.error && !whenValid(this.value)) {\n this.error = error || whenValid.error || defaultError;\n }\n return this;\n };\n return Link;\n}());\n\nvar CustomLink = (function (_super) {\n __extends(CustomLink, _super);\n function CustomLink(value, set) {\n var _this = _super.call(this, value) || this;\n _this.set = set;\n return _this;\n }\n CustomLink.prototype.set = function (x) { };\n return CustomLink;\n}(Link));\n\nvar CloneLink = (function (_super) {\n __extends(CloneLink, _super);\n function CloneLink(parent, set) {\n var _this = _super.call(this, parent.value) || this;\n _this.set = set;\n var error = parent.error;\n if (error)\n _this.error = error;\n return _this;\n }\n CloneLink.prototype.set = function (x) { };\n return CloneLink;\n}(Link));\n\nvar EqualsLink = (function (_super) {\n __extends(EqualsLink, _super);\n function EqualsLink(parent, truthyValue) {\n var _this = _super.call(this, parent.value === truthyValue) || this;\n _this.parent = parent;\n _this.truthyValue = truthyValue;\n return _this;\n }\n EqualsLink.prototype.set = function (x) {\n this.parent.set(x ? this.truthyValue : null);\n };\n return EqualsLink;\n}(Link));\n\nvar EnabledLink = (function (_super) {\n __extends(EnabledLink, _super);\n function EnabledLink(parent, defaultValue) {\n var _this = _super.call(this, parent.value != null) || this;\n _this.parent = parent;\n _this.defaultValue = defaultValue;\n return _this;\n }\n EnabledLink.prototype.set = function (x) {\n this.parent.set(x ? this.defaultValue : null);\n };\n return EnabledLink;\n}(Link));\n\nvar ContainsLink = (function (_super) {\n __extends(ContainsLink, _super);\n function ContainsLink(parent, element) {\n var _this = _super.call(this, parent.value.indexOf(element) >= 0) || this;\n _this.parent = parent;\n _this.element = element;\n return _this;\n }\n ContainsLink.prototype.set = function (x) {\n var _this = this;\n var next = Boolean(x);\n if (this.value !== next) {\n var arr = this.parent.value, nextValue = x ? arr.concat(this.element) : arr.filter(function (el) { return el !== _this.element; });\n this.parent.set(nextValue);\n }\n };\n return ContainsLink;\n}(Link));\n\nvar defaultError = 'Invalid value';\n/**\n * Link to array or object element enclosed in parent link.\n * Performs purely functional update of the parent, shallow copying its value on `set`.\n */\nvar LinkAt = (function (_super) {\n __extends(LinkAt, _super);\n function LinkAt(parent, key) {\n var _this = _super.call(this, parent.value[key]) || this;\n _this.parent = parent;\n _this.key = key;\n return _this;\n }\n LinkAt.prototype.remove = function () {\n this.parent.removeAt(this.key);\n };\n // Set new element value to parent array or object, performing purely functional update.\n LinkAt.prototype.set = function (x) {\n var _this = this;\n if (this.value !== x) {\n this.parent.update(function (value) {\n value[_this.key] = x;\n return value;\n });\n }\n };\n ;\n return LinkAt;\n}(Link));\n\n//# sourceMappingURL=link.js.map\n\n/***/ }),\n/* 19 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = helpers;\n/* unused harmony export objectHelpers */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return arrayHelpers; });\nvar ArrayProto = Array.prototype, ObjectProto = Object.prototype;\nfunction helpers(value) {\n if (value && typeof value === 'object') {\n switch (Object.getPrototypeOf(value)) {\n case ArrayProto: return arrayHelpers;\n case ObjectProto: return objectHelpers;\n }\n }\n return dummyHelpers;\n}\n// Do nothing for types other than Array and plain Object.\nvar dummyHelpers = {\n clone: function (value) { return value; },\n map: function (link, fun) { return []; },\n remove: function (value) { return value; }\n};\n// `map` and `clone` for plain JS objects\nvar objectHelpers = {\n // Map through the link to object\n map: function (link, iterator) {\n var mapped = [];\n for (var key in link.value) {\n var element = iterator(link.at(key), key);\n element === void 0 || (mapped.push(element));\n }\n return mapped;\n },\n remove: function (object, key) {\n delete object[key];\n return object;\n },\n // Shallow clone plain JS object\n clone: function (object) {\n var cloned = {};\n for (var key in object) {\n cloned[key] = object[key];\n }\n return cloned;\n }\n};\n// `map` and `clone` helpers for arrays.\nvar arrayHelpers = {\n // Shallow clone array\n clone: function (array) {\n return array.slice();\n },\n remove: function (array, i) {\n array.splice(i, 1);\n return array;\n },\n // Map through the link to array\n map: function (link, iterator) {\n var length = link.value.length, mapped = Array(length);\n for (var i = 0, j = 0; i < length; i++) {\n var y = iterator(link.at(i), i);\n y === void 0 || (mapped[j++] = y);\n }\n mapped.length === j || (mapped.length = j);\n return mapped;\n }\n};\n//# sourceMappingURL=helpers.js.map\n\n/***/ }),\n/* 20 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Component; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__define__ = __webpack_require__(4);\n/**\n * React-Type-R component base class. Overrides React component.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\nvar Component = (function (_super) {\n __extends(Component, _super);\n function Component(props, context) {\n var _this = _super.call(this, props, context) || this;\n _this._initializeState();\n return _this;\n }\n Component.prototype.linkAt = function (key) {\n // Quick and dirty hack to suppres type error - refactor later.\n return this.state.linkAt(key);\n };\n Component.prototype.linkAll = function () {\n // Quick and dirty hack to suppres type error - refactor later.\n var state = this.state;\n return state.linkAll.apply(state, arguments);\n };\n Component.prototype.linkPath = function (path) {\n return this.state.linkPath(path);\n };\n Object.defineProperty(Component.prototype, \"links\", {\n get: function () {\n return this.state._links;\n },\n enumerable: true,\n configurable: true\n });\n Component.prototype._initializeState = function () {\n this.state = null;\n };\n Component.prototype.assignToState = function (x, key) {\n this.state.assignFrom((_a = {}, _a[key] = x, _a));\n var _a;\n };\n Component.prototype.componentWillUnmount = function () {\n this.dispose();\n };\n /**\n * Performs transactional update for both props and state.\n * Suppress updates during the transaction, and force update aftewards.\n * Wrapping the sequence of changes in a transactions guarantees that\n * React component will be updated _after_ all the changes to the\n * both props and local state are applied.\n */\n Component.prototype.transaction = function (fun) {\n var shouldComponentUpdate = this.shouldComponentUpdate, isRoot = shouldComponentUpdate !== returnFalse;\n if (isRoot) {\n this.shouldComponentUpdate = returnFalse;\n }\n var _a = this, state = _a.state, store = _a.store, withStore = store ? function (state) { return store.transaction(function () { return fun(state); }); } : fun;\n state ? state.transaction(withStore) : withStore(state);\n if (isRoot) {\n this.shouldComponentUpdate = shouldComponentUpdate;\n this.asyncUpdate();\n }\n };\n // Safe version of the forceUpdate suitable for asynchronous callbacks.\n Component.prototype.asyncUpdate = function () {\n this.shouldComponentUpdate === returnFalse || this._disposed || this.forceUpdate();\n };\n return Component;\n}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]));\nComponent.onDefine = __WEBPACK_IMPORTED_MODULE_2__define__[\"c\" /* default */];\nComponent = __decorate([\n __WEBPACK_IMPORTED_MODULE_1_type_r__[\"define\"],\n Object(__WEBPACK_IMPORTED_MODULE_1_type_r__[\"definitions\"])({\n // Definitions to be extracted from mixins and statics and passed to `onDefine()`\n state: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].merge,\n State: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].value,\n store: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].merge,\n Store: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].value,\n props: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].merge,\n context: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].merge,\n childContext: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].merge,\n pureRender: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].protoValue\n }),\n Object(__WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"])({\n // Apply old-school React mixin rules.\n componentWillMount: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classLast,\n componentDidMount: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classLast,\n componentWillReceiveProps: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classLast,\n componentWillUpdate: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classLast,\n componentDidUpdate: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classLast,\n componentWillUnmount: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classFirst,\n // And a bit more to fix inheritance quirks.\n shouldComponentUpdate: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].some,\n getChildContext: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].defaults\n })\n // Component can send and receive events...\n ,\n Object(__WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixins\"])(__WEBPACK_IMPORTED_MODULE_1_type_r__[\"Messenger\"])\n], Component);\n\nfunction returnFalse() { return false; }\n// Looks like React guys _really_ want to deprecate it. But no way.\n// We will work around their attempt.\nObject.defineProperty(Component.prototype, 'isMounted', {\n value: function isMounted() {\n return !this._disposed;\n }\n});\n//# sourceMappingURL=component.js.map\n\n/***/ }),\n/* 21 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\nvar notEqual = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].notEqual;\nvar BackboneView = (function (_super) {\n __extends(BackboneView, _super);\n function BackboneView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.saveRef = function (element) {\n _this.root = element;\n };\n return _this;\n }\n BackboneView.prototype.shouldComponentUpdate = function (next) {\n var props = this.props;\n return next.View !== props.View || notEqual(next.options, props.options);\n };\n BackboneView.prototype.hasUnsavedChanges = function () {\n var view = this.view;\n return view && (typeof view.hasUnsavedChanges === 'function' ? view.hasUnsavedChanges() : view.hasUnsavedChanges);\n };\n BackboneView.prototype.render = function () {\n return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"f\" /* default */].createElement('div', {\n ref: this.saveRef,\n className: this.props.className\n });\n };\n BackboneView.prototype.componentDidMount = function () {\n this._mountView();\n };\n BackboneView.prototype.componentDidUpdate = function () {\n this._dispose();\n this._mountView();\n };\n BackboneView.prototype.componentWillUnmount = function () {\n this._dispose();\n };\n BackboneView.prototype._mountView = function () {\n var el = this.root, p = this.props;\n var view = this.view = p.options ? new p.View(p.options) : new p.View();\n el.appendChild(view.el);\n view.render();\n };\n BackboneView.prototype._dispose = function () {\n var view = this.view;\n if (view) {\n if (view.dispose) {\n view.dispose();\n }\n else {\n view.stopListening();\n view.off();\n }\n this.root.innerHTML = \"\";\n this.view = null;\n }\n };\n return BackboneView;\n}(__WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\" /* Component */]));\n/* harmony default export */ __webpack_exports__[\"a\"] = (BackboneView);\n//# sourceMappingURL=view-element.js.map\n\n/***/ }),\n/* 22 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = use;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__);\n\n\n\nwindow.Page || (window.Page = { forceResize: function () { } });\nfunction use(View) {\n var dispose = View.prototype.dispose || function () { }, setElement = View.prototype.setElement;\n var ComponentView = View.extend({\n reactClass: null,\n props: {},\n element: null,\n initialize: function (props) {\n // memorise arguments to pass to React\n this.options = props || {};\n },\n setElement: function () {\n this.unmountComponent(true);\n return setElement.apply(this, arguments);\n },\n // cached instance of react component...\n component: null,\n prevState: null,\n resize: function () {\n window.Page.forceResize();\n },\n render: function () {\n var options = this.prevState ? __WEBPACK_IMPORTED_MODULE_2_type_r__[\"tools\"].fastAssign({ __keepState: this.prevState }, this.options) : this.options, element = __WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"](this.reactClass, options), component = __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.render(element, this.el);\n this.component || this.mountComponent(component);\n },\n mountComponent: function (component) {\n this.component = component;\n this.prevState = null;\n component.trigger && this.listenTo(component, 'all', function () {\n this.trigger.apply(this, arguments);\n });\n },\n unmountComponent: function (keepModel) {\n var component = this.component;\n if (component) {\n this.prevState = component.state;\n if (component.trigger) {\n this.stopListening(component);\n }\n component._preventDispose = Boolean(keepModel);\n __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.unmountComponentAtNode(this.el);\n this.component = null;\n }\n },\n dispose: function () {\n this.unmountComponent();\n return dispose.apply(this, arguments);\n }\n });\n Object.defineProperty(ComponentView.prototype, 'model', {\n get: function () {\n this.component || this.render();\n return this.component && this.component.state;\n }\n });\n return ComponentView;\n}\n//# sourceMappingURL=component-view.js.map\n\n/***/ }),\n/* 23 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = createClass;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1);\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\n\nvar dontAutobind = [\n 'State', 'Store', 'constructor',\n 'componentWillMount', 'componentDidMount', 'componentWillReceiveProps', 'shouldComponentUpdate',\n 'componentWillUpdate', 'componentDidUpdate', 'componentWillUnmount',\n 'render', 'getDefaultProps', 'getChildContext'\n];\n/**\n * ES5 components definition factory\n */\nfunction createClass(_a) {\n var statics = _a.statics, a_spec = __rest(_a, [\"statics\"]);\n // Gather all methods to pin them to `this` later.\n var methods = [];\n var Subclass = __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\" /* Component */].extend(__assign({ \n // Override constructor to autobind all the methods...\n constructor: function () {\n __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\" /* Component */].apply(this, arguments);\n for (var _i = 0, methods_1 = methods; _i < methods_1.length; _i++) {\n var method = methods_1[_i];\n this[method] = this[method].bind(this);\n }\n } }, a_spec), statics);\n // Need to bind methods from mixins as well, so populate it here.\n var Proto = Subclass.prototype;\n for (var key in Proto) {\n if (Proto.hasOwnProperty(key) && dontAutobind.indexOf(key) === -1 && typeof Proto[key] === 'function') {\n methods.push(key);\n }\n }\n return Subclass;\n}\n//# sourceMappingURL=createClass.js.map\n\n/***/ })\n/******/ ]);\n});\n\n\n// WEBPACK FOOTER //\n// dist/index.min.js"," \t// The module cache\n \tvar installedModules = {};\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, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\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 = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 8);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap b9a6b3069ae11f0fa80d","module.exports = __WEBPACK_EXTERNAL_MODULE_0__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"commonjs\":\"nestedtypes\",\"commonjs2\":\"nestedtypes\",\"amd\":\"nestedtypes\",\"root\":\"Nested\"}\n// module id = 0\n// module chunks = 0","import * as React from 'react';\nimport { define, mixins } from 'type-r';\nimport { Node, Element } from './define';\nimport Link from './link';\nimport { Component } from './component';\n// extend React namespace\nvar ReactMVx = Object.create(React);\n// Make it compatible with ES6 module format.\nReactMVx.default = ReactMVx;\n// listenToProps, listenToState, model, attributes, Model\nReactMVx.define = define;\nReactMVx.mixins = mixins;\nReactMVx.Node = Node.value(null);\nReactMVx.Element = Element.value(null);\nReactMVx.Link = Link;\nReactMVx.Component = Component;\nvar assignToState = ReactMVx.assignToState = function (key) {\n return function (prop) {\n this.state.assignFrom((_a = {}, _a[key] = prop && prop instanceof Link ? prop.value : prop, _a));\n var _a;\n };\n};\nexport default ReactMVx;\nexport { define, mixins, Node, Element, Link, Component, assignToState };\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/index.js\n// module id = 1\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"commonjs\":\"react\",\"commonjs2\":\"react\",\"amd\":\"react\",\"root\":\"React\"}\n// module id = 2\n// module chunks = 0","import * as PropTypes from 'prop-types';\nimport { Record } from 'type-r';\nexport function compileSpecs(props) {\n var propTypes = {}, \n // Create NestedTypes model definition to process props spec.\n modelProto = Record.defaults(props).prototype;\n var defaults, watchers, changeHandlers;\n modelProto.forEachAttr(modelProto._attributes, function (spec, name) {\n // Skip auto-generated `id` attribute.\n if (name !== 'id') {\n var value = spec.value, type = spec.type, options = spec.options;\n // Translate props type to the propTypes guard.\n propTypes[name] = translateType(type, options.isRequired);\n if (options._onChange) {\n watchers || (watchers = {});\n watchers[name] = toLocalWatcher(options._onChange);\n }\n // Handle listening to event maps...\n if (options.changeHandlers && options.changeHandlers.length) {\n changeHandlers || (changeHandlers = {});\n changeHandlers[name] = options.changeHandlers;\n }\n // Handle listening to props changes...\n if (options.changeEvents) {\n changeHandlers || (changeHandlers = {});\n var handlers = changeHandlers[name] || (changeHandlers[name] = []), changeEvents_1 = typeof options.changeEvents === 'string' ? options.changeEvents : null;\n handlers.push(function (next, prev, component) {\n prev && component.stopListening(prev);\n next && component.listenTo(next, changeEvents_1 || next._changeEventName, component.asyncUpdate);\n });\n }\n // If default value is explicitly provided...\n if (value !== void 0) {\n //...append it to getDefaultProps function.\n defaults || (defaults = {});\n defaults[name] = spec.convert(value, void 0, null, {});\n }\n }\n });\n return { propTypes: propTypes, defaults: defaults, watchers: watchers, changeHandlers: changeHandlers };\n}\nfunction toLocalWatcher(ref) {\n return typeof ref === 'function' ? ref : function (value, name) {\n this[ref] && this[ref](value, name);\n };\n}\nvar Node = (function () {\n function Node() {\n }\n return Node;\n}());\nexport { Node };\nvar Element = (function () {\n function Element() {\n }\n return Element;\n}());\nexport { Element };\nfunction translateType(Type, isRequired) {\n var T = _translateType(Type);\n return isRequired ? T.isRequired : T;\n}\nfunction _translateType(Type) {\n switch (Type) {\n case Number:\n case Number.integer:\n return PropTypes.number;\n case String:\n return PropTypes.string;\n case Boolean:\n return PropTypes.bool;\n case Array:\n return PropTypes.array;\n case Function:\n return PropTypes.func;\n case Object:\n return PropTypes.object;\n case Node:\n return PropTypes.node;\n case Element:\n return PropTypes.element;\n case void 0:\n case null:\n return PropTypes.any;\n default:\n return PropTypes.instanceOf(Type);\n }\n}\n//# sourceMappingURL=typeSpecs.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/typeSpecs.js\n// module id = 3\n// module chunks = 0","import { Messenger } from 'type-r';\nimport onDefineStore from './store';\nimport onDefineState from './state';\nimport onDefineContext from './context';\nimport onDefineProps from './props';\nexport default function onDefine(definition, BaseClass) {\n // Initialize mixins placeholder...\n onDefineStore.call(this, definition, BaseClass);\n onDefineState.call(this, definition, BaseClass);\n onDefineContext.call(this, definition, BaseClass);\n onDefineProps.call(this, definition, BaseClass);\n Messenger.onDefine.call(this, definition, BaseClass);\n}\n;\nexport { Node, Element } from './typeSpecs';\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/index.js\n// module id = 4\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n/*****************\n * State\n */\nimport { define, Record, Store } from 'type-r';\nexport default function process(definition, BaseComponentClass) {\n var prototype = this.prototype;\n var state = definition.state, State = definition.State;\n if (typeof state === 'function') {\n State = state;\n state = void 0;\n }\n if (state) {\n var BaseClass = State || prototype.State || Record;\n var ComponentState = (function (_super) {\n __extends(ComponentState, _super);\n function ComponentState() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return ComponentState;\n }(BaseClass));\n ComponentState.attributes = state;\n ComponentState = __decorate([\n define\n ], ComponentState);\n prototype.State = ComponentState;\n }\n else if (State) {\n prototype.State = State;\n }\n if (state || State) {\n this.mixins.merge([StateMixin, UpdateOnNestedChangesMixin]);\n }\n}\nexport var StateMixin = {\n //state : null,\n _initializeState: function () {\n // props.__keepState is used to workaround issues in Backbone intergation layer\n var state = this.state = this.props.__keepState || new this.State();\n // Take ownership on state...\n state._owner = this;\n state._ownerKey = 'state';\n },\n context: {\n _nestedStore: Store\n },\n // reference global store to fix model's store locator\n getStore: function () {\n // Attempt to get the store from the context first. Then - fallback to the state's default store.\n // TBD: Need to figure out a good way of managing local stores.\n var context, state;\n return ((context = this.context) && context._nestedStore) ||\n ((state = this.state) && state._defaultStore);\n },\n componentWillUnmount: function () {\n var state = this.state;\n state._owner = state._ownerKey = void 0;\n this._preventDispose /* hack for component-view to preserve the state */ || state.dispose();\n this.state = void 0;\n }\n};\nexport var UpdateOnNestedChangesMixin = {\n _onChildrenChange: function () { },\n componentDidMount: function () {\n this._onChildrenChange = this.asyncUpdate;\n }\n};\n//# sourceMappingURL=state.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/state.js\n// module id = 5\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/prop-types/index.js\n// module id = 6\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_7__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"commonjs\":\"react-dom\",\"commonjs2\":\"react-dom\",\"amd\":\"react-dom\",\"root\":\"ReactDOM\"}\n// module id = 7\n// module chunks = 0","// Re-export react-mvx\nimport ReactMVx from './react-mvx';\nvar NestedReact = Object.create(ReactMVx);\nexport default NestedReact;\nexport * from './react-mvx';\n// NestedReact backward compatibility layer\nimport ReactDOM from 'react-dom';\nimport Nested, { View, Record } from 'type-r';\nimport * as PropTypes from 'prop-types';\nimport subview from './view-element';\nNestedReact.subview = subview;\nexport { subview };\nimport use from './component-view';\nimport createClass from './createClass';\nNestedReact.createClass = createClass;\nObject.defineProperty(NestedReact, 'PropTypes', { value: PropTypes });\nexport { PropTypes, createClass };\nvar BaseView;\n// export hook to override base View class used...\nexport function useView(View) {\n BaseView = use(View);\n}\nvar onDefine = NestedReact.Component.onDefine;\nNestedReact.Component.onDefine = function (definitions, BaseClass) {\n this.View = BaseView.extend({ reactClass: this });\n return onDefine.call(this, definitions, BaseClass);\n};\n// Deprecated API for backward compatibility\nvar RecordProto = Record.prototype;\nRecordProto.getLink = RecordProto.linkAt;\nRecordProto.deepLink = RecordProto.linkPath;\nvar CollectionProto = Record.Collection.prototype;\nCollectionProto.hasLink = CollectionProto.linkContains;\nuseView(View);\n// Extend react components to have backbone-style jquery accessors\nvar BackboneViewProps = {\n el: { get: function () { return ReactDOM.findDOMNode(this); } },\n $el: { get: function () { return Nested.$(this.el); } },\n $: { value: function (sel) { return this.$el.find(sel); } }\n};\nObject.defineProperties(NestedReact.Component.prototype, BackboneViewProps);\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/index.js\n// module id = 8\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { define, Store } from 'type-r';\nimport { StateMixin, UpdateOnNestedChangesMixin } from './state';\nexport default function onDefine(definition, BaseClass) {\n var store = definition.store, StoreClass = definition.Store;\n if (store && store instanceof Store) {\n // Direct reference to an existing store. Put it to the prototype.\n this.prototype.store = store;\n this.mixins.merge([ExternalStoreMixin, ExposeStoreMixin]);\n }\n else if (store || definition.Store) {\n if (typeof store === 'function') {\n StoreClass = store;\n store = void 0;\n }\n if (store) {\n var BaseClass_1 = StoreClass || this.prototype.Store || Store;\n var InternalStore = (function (_super) {\n __extends(InternalStore, _super);\n function InternalStore() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return InternalStore;\n }(BaseClass_1));\n InternalStore.attrbutes = store;\n InternalStore = __decorate([\n define\n ], InternalStore);\n ;\n this.prototype.Store = InternalStore;\n }\n else if (StoreClass) {\n this.prototype.Store = StoreClass;\n }\n this.mixins.merge([InternalStoreMixin, UpdateOnNestedChangesMixin, ExposeStoreMixin]);\n }\n}\n/**\n * Attached whenever the store declaration of any form is present in the component.\n */\nvar ExposeStoreMixin = {\n childContext: {\n _nestedStore: Store\n },\n getChildContext: function () {\n return { _nestedStore: this.store };\n },\n getStore: function () {\n return this.store;\n },\n // Will be called by the store when the lookup will fail.\n get: function (key) {\n // Ask upper store.\n var store = StateMixin.getStore.call(this, key);\n return store && store.get(key);\n }\n};\n/**\n * External store must just track the changes and trigger render.\n * TBD: don't use it yet.\n */\nvar ExternalStoreMixin = {\n componentDidMount: function () {\n // Start UI updates on state changes.\n this.listenTo(this.store, 'change', this.asyncUpdate);\n }\n};\nvar InternalStoreMixin = {\n componentWillMount: function () {\n var store = this.store = new this.Store();\n store._owner = this;\n store._ownerKey = 'store';\n },\n componentWillUnmount: function () {\n this.store._ownerKey = this.store._owner = void 0;\n this.store.dispose();\n this.store = void 0;\n }\n};\n//# sourceMappingURL=store.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/store.js\n// module id = 9\n// module chunks = 0","import { compileSpecs } from './typeSpecs';\nimport { tools } from 'type-r';\nexport default function onDefine(_a, BaseClass) {\n var context = _a.context, childContext = _a.childContext;\n var prototype = this.prototype;\n if (context) {\n // Merge in inherited members...\n prototype._context = tools.defaults(context, BaseClass.prototype._context || {});\n // Compile to propTypes...\n this.contextTypes = compileSpecs(context).propTypes;\n }\n if (childContext) {\n prototype._childContext = tools.defaults(childContext, BaseClass.prototype._childContext);\n this.childContextTypes = compileSpecs(childContext).propTypes;\n }\n}\n//# sourceMappingURL=context.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/context.js\n// module id = 10\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\nvar invariant = require('fbjs/lib/invariant');\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n invariant(\n false,\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim\n };\n\n ReactPropTypes.checkPropTypes = emptyFunction;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/prop-types/factoryWithThrowingShims.js\n// module id = 11\n// module chunks = 0","\"use strict\";\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/fbjs/lib/emptyFunction.js\n// module id = 12\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (process.env.NODE_ENV !== 'production') {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/fbjs/lib/invariant.js\n// module id = 13\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/prop-types/lib/ReactPropTypesSecret.js\n// module id = 14\n// module chunks = 0","/**\n * Handle props specification and everything which is related:\n * - local listening to props changes\n * - pure render mixin\n */\nimport { compileSpecs } from './typeSpecs';\nimport { PureRenderMixin, createChangeTokensConstructor } from './pureRender';\nimport { tools } from 'type-r';\nexport default function onDefine(_a, BaseClass) {\n var props = _a.props, pureRender = _a.pureRender;\n var prototype = this.prototype;\n // process props spec...\n if (props) {\n // Merge with inherited members...\n prototype._props = tools.defaults(props, BaseClass.prototype._props || {});\n var _b = compileSpecs(props), propTypes = _b.propTypes, defaults = _b.defaults, watchers = _b.watchers, changeHandlers = _b.changeHandlers;\n this.propTypes = propTypes;\n if (defaults)\n this.defaultProps = defaults;\n if (watchers) {\n prototype._watchers = watchers;\n this.mixins.merge([WatchersMixin]);\n }\n if (changeHandlers) {\n prototype._changeHandlers = changeHandlers;\n this.mixins.merge([ChangeHandlersMixin]);\n }\n if (prototype.pureRender) {\n prototype.PropsChangeTokens = createChangeTokensConstructor(props);\n }\n }\n if (pureRender) {\n this.mixins.merge([PureRenderMixin]);\n }\n}\n/**\n * ChangeHandlers are fired in sequence upon props replacement.\n * Fires _after_ UI is updated. Used for managing events subscriptions.\n */\nvar ChangeHandlersMixin = {\n componentDidMount: function () {\n handlePropsChanges(this, {}, this.props);\n },\n componentDidUpdate: function (prev) {\n handlePropsChanges(this, prev, this.props);\n },\n componentWillUnmount: function () {\n handlePropsChanges(this, this.props, {});\n }\n};\nfunction handlePropsChanges(component, prev, next) {\n var _changeHandlers = component._changeHandlers;\n for (var name_1 in _changeHandlers) {\n if (prev[name_1] !== next[name_1]) {\n for (var _i = 0, _a = _changeHandlers[name_1]; _i < _a.length; _i++) {\n var handler = _a[_i];\n handler(next[name_1], prev[name_1], component);\n }\n }\n }\n}\n/**\n * Watchers works on props replacement and fires _before_ any change will be applied and UI is updated.\n * Fired in componentWillMount as well, which makes it a nice way to sync state from props.\n */\nvar WatchersMixin = {\n componentWillReceiveProps: function (next) {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_2 in _watchers) {\n if (next[name_2] !== props[name_2]) {\n _watchers[name_2].call(this, next[name_2], name_2);\n }\n }\n },\n componentWillMount: function () {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_3 in _watchers) {\n _watchers[name_3].call(this, props[name_3], name_3);\n }\n }\n};\n//# sourceMappingURL=props.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/props.js\n// module id = 15\n// module chunks = 0","export function createChangeTokensConstructor(props) {\n var propNames = Object.keys(props);\n var PropsChangeTokens = new Function('p', 's', \"\\n var v;\\n this._s = s && s._changeToken;\\n \" + propNames.map(function (name) { return \"\\n this.\" + name + \" = ( ( v = p.\" + name + \") && v._changeToken ) || v;\\n \"; }).join('') + \"\\n \");\n PropsChangeTokens.prototype._hasChanges = new Function('p', 's', \"\\n var v;\\n return ( s && s._changeToken !== this._s ) \" + propNames.map(function (name) { return \" ||\\n this.\" + name + \" !== ( ( ( v = p.\" + name + \") && v._changeToken ) || v )\\n \"; }).join('') + \";\\n \");\n return PropsChangeTokens;\n}\n;\nexport var PureRenderMixin = {\n shouldComponentUpdate: function (nextProps) {\n return this._propsChangeTokens._hasChanges(nextProps);\n },\n componentDidMount: updateChangeTokens,\n componentDidUpdate: updateChangeTokens\n};\nfunction updateChangeTokens() {\n this._propsChangeTokens = new this.PropsChangeTokens(this.props, this.state);\n}\n//# sourceMappingURL=pureRender.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/pureRender.js\n// module id = 16\n// module chunks = 0","/**\n * Import ValueLink library\n * Define value links binding mixins to the Record and Collection\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { Mixable, MixinsState, Record } from 'type-r';\nimport { Link } from './valuelink/link';\nexport default Link;\nMixable.mixins.populate(Link);\n/**\n * Record\n */\nMixinsState.get(Record).merge([{\n // Link to the record's attribute by its key.\n linkAt: function (key) {\n return cacheLink(getLinksCache(this), this, key);\n },\n // Link to the attribute of the record's tree by symbolic path.\n linkPath: function (path, options) {\n return new RecordDeepLink(this, path, options);\n },\n // Link all (or listed) attributes and return links cache.\n linkAll: function () {\n var links = getLinksCache(this);\n if (arguments.length) {\n for (var i = 0; i < arguments.length; i++) {\n cacheLink(links, this, arguments[i]);\n }\n }\n else {\n var attributes = this.attributes;\n for (var key in attributes) {\n attributes[key] === void 0 || cacheLink(links, this, key);\n }\n }\n return links;\n }\n }]);\n/**\n * Link to Type-R's record attribute.\n * Strict evaluation of value, lazy evaluation of validation error.\n * Links are cached in the records\n */\nvar RecordLink = (function (_super) {\n __extends(RecordLink, _super);\n function RecordLink(record, attr, value) {\n var _this = _super.call(this, value) || this;\n _this.record = record;\n _this.attr = attr;\n return _this;\n }\n RecordLink.prototype.set = function (x) {\n this.record[this.attr] = x;\n };\n Object.defineProperty(RecordLink.prototype, \"error\", {\n get: function () {\n return this._error === void 0 ?\n this.record.getValidationError(this.attr) :\n this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n return RecordLink;\n}(Link));\nvar RecordDeepLink = (function (_super) {\n __extends(RecordDeepLink, _super);\n function RecordDeepLink(record, path, options) {\n var _this = _super.call(this, record.deepGet(path)) || this;\n _this.record = record;\n _this.path = path;\n _this.options = options;\n return _this;\n }\n Object.defineProperty(RecordDeepLink.prototype, \"error\", {\n get: function () {\n if (this._error === void 0) {\n this._error = this.record.deepValidationError(this.path) || null;\n }\n return this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(RecordDeepLink.prototype, \"_changeToken\", {\n get: function () {\n return this.record._changeToken;\n },\n enumerable: true,\n configurable: true\n });\n RecordDeepLink.prototype.set = function (x) {\n this.record.deepSet(this.path, x, this.options);\n };\n return RecordDeepLink;\n}(Link));\nfunction getLinksCache(record) {\n return record._links || (record._links = new record.AttributesCopy({}));\n}\nfunction cacheLink(links, record, key) {\n var cached = links[key], value = record[key];\n return cached && cached.value === value ? cached\n : links[key] = new RecordLink(record, key, value);\n}\n/***********************************\n * Collection\n */\nMixinsState.get(Record.Collection).merge([{\n // Boolean link to the record's presence in the collection\n linkContains: function (record) {\n return new CollectionLink(this, record);\n },\n // Link to collection's property\n linkAt: function (prop) {\n var _this = this;\n return Link.value(this[prop], function (x) { return _this[prop] = x; });\n }\n }]);\n/**\n * Boolean link to presence of NestedType's record in collection.\n * Strict evaluation of value, no error.\n * Safe implementation of _changeToken.\n */\nvar CollectionLink = (function (_super) {\n __extends(CollectionLink, _super);\n function CollectionLink(collection, record) {\n var _this = _super.call(this, Boolean(collection._byId[record.cid])) || this;\n _this.collection = collection;\n _this.record = record;\n return _this;\n }\n CollectionLink.prototype.set = function (x) {\n this.collection.toggle(this.record, x);\n };\n return CollectionLink;\n}(Link));\n//# sourceMappingURL=link.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/link.js\n// module id = 17\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * Advanced React links for purely functional two-way data binding\n *\n * MIT License, (c) 2016 Vlad Balin, Volicon.\n */\nimport { helpers, arrayHelpers } from './helpers';\n// Main Link class. All links must extend it.\nvar Link = (function () {\n // create \n function Link(value) {\n this.value = value;\n }\n // Create custom link to arbitrary value\n Link.value = function (value, set) {\n return new CustomLink(value, set);\n };\n Object.defineProperty(Link.prototype, \"validationError\", {\n // DEPRECATED: Old error holder for backward compatibility with Volicon code base\n get: function () { return this.error; },\n enumerable: true,\n configurable: true\n });\n Link.prototype.onChange = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n handler(x);\n _this.set(x);\n });\n };\n Object.defineProperty(Link.prototype, \"props\", {\n // \n get: function () {\n var _this = this;\n return typeof this.value === 'boolean' ? {\n checked: this.value,\n onChange: function (e) { return _this.set(Boolean(e.target.checked)); }\n } : {\n value: this.value,\n onChange: function (e) { return _this.set(e.target.value); }\n };\n },\n enumerable: true,\n configurable: true\n });\n // DEPRECATED: Old React method for backward compatibility\n Link.prototype.requestChange = function (x) {\n this.set(x);\n };\n // Immediately update the link value using given transform function.\n Link.prototype.update = function (transform, e) {\n var next = transform(this.clone(), e);\n next === void 0 || this.set(next);\n };\n // Create new link which applies transform function on set.\n Link.prototype.pipe = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n var next = handler(x, _this.value);\n next === void 0 || _this.set(next);\n });\n };\n // Create UI event handler function which will update the link with a given transform function.\n Link.prototype.action = function (transform) {\n var _this = this;\n return function (e) { return _this.update(transform, e); };\n };\n Link.prototype.equals = function (truthyValue) {\n return new EqualsLink(this, truthyValue);\n };\n Link.prototype.enabled = function (defaultValue) {\n return new EnabledLink(this, defaultValue || \"\");\n };\n // Array-only links methods\n Link.prototype.contains = function (element) {\n return new ContainsLink(this, element);\n };\n Link.prototype.push = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.push.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.unshift = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.unshift.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.splice = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.splice.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.map = function (iterator) {\n return helpers(this.value).map(this, iterator);\n };\n Link.prototype.removeAt = function (key) {\n var value = this.value, _ = helpers(value);\n this.set(_.remove(_.clone(value), key));\n };\n Link.prototype.at = function (key) {\n return new LinkAt(this, key);\n };\n Link.prototype.clone = function () {\n var value = this.value;\n return helpers(value).clone(value);\n };\n Link.prototype.pick = function () {\n var links = {};\n for (var i = 0; i < arguments.length; i++) {\n var key = arguments[i];\n links[key] = new LinkAt(this, key);\n }\n return links;\n };\n /**\n * Validate link with validness predicate and optional custom error object. Can be chained.\n */\n Link.prototype.check = function (whenValid, error) {\n if (!this.error && !whenValid(this.value)) {\n this.error = error || whenValid.error || defaultError;\n }\n return this;\n };\n return Link;\n}());\nexport { Link };\nvar CustomLink = (function (_super) {\n __extends(CustomLink, _super);\n function CustomLink(value, set) {\n var _this = _super.call(this, value) || this;\n _this.set = set;\n return _this;\n }\n CustomLink.prototype.set = function (x) { };\n return CustomLink;\n}(Link));\nexport { CustomLink };\nvar CloneLink = (function (_super) {\n __extends(CloneLink, _super);\n function CloneLink(parent, set) {\n var _this = _super.call(this, parent.value) || this;\n _this.set = set;\n var error = parent.error;\n if (error)\n _this.error = error;\n return _this;\n }\n CloneLink.prototype.set = function (x) { };\n return CloneLink;\n}(Link));\nexport { CloneLink };\nvar EqualsLink = (function (_super) {\n __extends(EqualsLink, _super);\n function EqualsLink(parent, truthyValue) {\n var _this = _super.call(this, parent.value === truthyValue) || this;\n _this.parent = parent;\n _this.truthyValue = truthyValue;\n return _this;\n }\n EqualsLink.prototype.set = function (x) {\n this.parent.set(x ? this.truthyValue : null);\n };\n return EqualsLink;\n}(Link));\nexport { EqualsLink };\nvar EnabledLink = (function (_super) {\n __extends(EnabledLink, _super);\n function EnabledLink(parent, defaultValue) {\n var _this = _super.call(this, parent.value != null) || this;\n _this.parent = parent;\n _this.defaultValue = defaultValue;\n return _this;\n }\n EnabledLink.prototype.set = function (x) {\n this.parent.set(x ? this.defaultValue : null);\n };\n return EnabledLink;\n}(Link));\nexport { EnabledLink };\nvar ContainsLink = (function (_super) {\n __extends(ContainsLink, _super);\n function ContainsLink(parent, element) {\n var _this = _super.call(this, parent.value.indexOf(element) >= 0) || this;\n _this.parent = parent;\n _this.element = element;\n return _this;\n }\n ContainsLink.prototype.set = function (x) {\n var _this = this;\n var next = Boolean(x);\n if (this.value !== next) {\n var arr = this.parent.value, nextValue = x ? arr.concat(this.element) : arr.filter(function (el) { return el !== _this.element; });\n this.parent.set(nextValue);\n }\n };\n return ContainsLink;\n}(Link));\nexport { ContainsLink };\nvar defaultError = 'Invalid value';\n/**\n * Link to array or object element enclosed in parent link.\n * Performs purely functional update of the parent, shallow copying its value on `set`.\n */\nvar LinkAt = (function (_super) {\n __extends(LinkAt, _super);\n function LinkAt(parent, key) {\n var _this = _super.call(this, parent.value[key]) || this;\n _this.parent = parent;\n _this.key = key;\n return _this;\n }\n LinkAt.prototype.remove = function () {\n this.parent.removeAt(this.key);\n };\n // Set new element value to parent array or object, performing purely functional update.\n LinkAt.prototype.set = function (x) {\n var _this = this;\n if (this.value !== x) {\n this.parent.update(function (value) {\n value[_this.key] = x;\n return value;\n });\n }\n };\n ;\n return LinkAt;\n}(Link));\nexport { LinkAt };\n//# sourceMappingURL=link.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/valuelink/link.js\n// module id = 18\n// module chunks = 0","var ArrayProto = Array.prototype, ObjectProto = Object.prototype;\nexport function helpers(value) {\n if (value && typeof value === 'object') {\n switch (Object.getPrototypeOf(value)) {\n case ArrayProto: return arrayHelpers;\n case ObjectProto: return objectHelpers;\n }\n }\n return dummyHelpers;\n}\n// Do nothing for types other than Array and plain Object.\nvar dummyHelpers = {\n clone: function (value) { return value; },\n map: function (link, fun) { return []; },\n remove: function (value) { return value; }\n};\n// `map` and `clone` for plain JS objects\nexport var objectHelpers = {\n // Map through the link to object\n map: function (link, iterator) {\n var mapped = [];\n for (var key in link.value) {\n var element = iterator(link.at(key), key);\n element === void 0 || (mapped.push(element));\n }\n return mapped;\n },\n remove: function (object, key) {\n delete object[key];\n return object;\n },\n // Shallow clone plain JS object\n clone: function (object) {\n var cloned = {};\n for (var key in object) {\n cloned[key] = object[key];\n }\n return cloned;\n }\n};\n// `map` and `clone` helpers for arrays.\nexport var arrayHelpers = {\n // Shallow clone array\n clone: function (array) {\n return array.slice();\n },\n remove: function (array, i) {\n array.splice(i, 1);\n return array;\n },\n // Map through the link to array\n map: function (link, iterator) {\n var length = link.value.length, mapped = Array(length);\n for (var i = 0, j = 0; i < length; i++) {\n var y = iterator(link.at(i), i);\n y === void 0 || (mapped[j++] = y);\n }\n mapped.length === j || (mapped.length = j);\n return mapped;\n }\n};\n//# sourceMappingURL=helpers.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/valuelink/helpers.js\n// module id = 19\n// module chunks = 0","/**\n * React-Type-R component base class. Overrides React component.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport * as React from 'react';\nimport { mixinRules, define, mixins, definitions, Messenger } from 'type-r';\nimport onDefine from './define';\nvar Component = (function (_super) {\n __extends(Component, _super);\n function Component(props, context) {\n var _this = _super.call(this, props, context) || this;\n _this._initializeState();\n return _this;\n }\n Component.prototype.linkAt = function (key) {\n // Quick and dirty hack to suppres type error - refactor later.\n return this.state.linkAt(key);\n };\n Component.prototype.linkAll = function () {\n // Quick and dirty hack to suppres type error - refactor later.\n var state = this.state;\n return state.linkAll.apply(state, arguments);\n };\n Component.prototype.linkPath = function (path) {\n return this.state.linkPath(path);\n };\n Object.defineProperty(Component.prototype, \"links\", {\n get: function () {\n return this.state._links;\n },\n enumerable: true,\n configurable: true\n });\n Component.prototype._initializeState = function () {\n this.state = null;\n };\n Component.prototype.assignToState = function (x, key) {\n this.state.assignFrom((_a = {}, _a[key] = x, _a));\n var _a;\n };\n Component.prototype.componentWillUnmount = function () {\n this.dispose();\n };\n /**\n * Performs transactional update for both props and state.\n * Suppress updates during the transaction, and force update aftewards.\n * Wrapping the sequence of changes in a transactions guarantees that\n * React component will be updated _after_ all the changes to the\n * both props and local state are applied.\n */\n Component.prototype.transaction = function (fun) {\n var shouldComponentUpdate = this.shouldComponentUpdate, isRoot = shouldComponentUpdate !== returnFalse;\n if (isRoot) {\n this.shouldComponentUpdate = returnFalse;\n }\n var _a = this, state = _a.state, store = _a.store, withStore = store ? function (state) { return store.transaction(function () { return fun(state); }); } : fun;\n state ? state.transaction(withStore) : withStore(state);\n if (isRoot) {\n this.shouldComponentUpdate = shouldComponentUpdate;\n this.asyncUpdate();\n }\n };\n // Safe version of the forceUpdate suitable for asynchronous callbacks.\n Component.prototype.asyncUpdate = function () {\n this.shouldComponentUpdate === returnFalse || this._disposed || this.forceUpdate();\n };\n return Component;\n}(React.Component));\nComponent.onDefine = onDefine;\nComponent = __decorate([\n define,\n definitions({\n // Definitions to be extracted from mixins and statics and passed to `onDefine()`\n state: mixinRules.merge,\n State: mixinRules.value,\n store: mixinRules.merge,\n Store: mixinRules.value,\n props: mixinRules.merge,\n context: mixinRules.merge,\n childContext: mixinRules.merge,\n pureRender: mixinRules.protoValue\n }),\n mixinRules({\n // Apply old-school React mixin rules.\n componentWillMount: mixinRules.classLast,\n componentDidMount: mixinRules.classLast,\n componentWillReceiveProps: mixinRules.classLast,\n componentWillUpdate: mixinRules.classLast,\n componentDidUpdate: mixinRules.classLast,\n componentWillUnmount: mixinRules.classFirst,\n // And a bit more to fix inheritance quirks.\n shouldComponentUpdate: mixinRules.some,\n getChildContext: mixinRules.defaults\n })\n // Component can send and receive events...\n ,\n mixins(Messenger)\n], Component);\nexport { Component };\nfunction returnFalse() { return false; }\n// Looks like React guys _really_ want to deprecate it. But no way.\n// We will work around their attempt.\nObject.defineProperty(Component.prototype, 'isMounted', {\n value: function isMounted() {\n return !this._disposed;\n }\n});\n//# sourceMappingURL=component.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/component.js\n// module id = 20\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport React, { Component } from './react-mvx';\nimport { tools } from 'type-r';\nvar notEqual = tools.notEqual;\nvar BackboneView = (function (_super) {\n __extends(BackboneView, _super);\n function BackboneView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.saveRef = function (element) {\n _this.root = element;\n };\n return _this;\n }\n BackboneView.prototype.shouldComponentUpdate = function (next) {\n var props = this.props;\n return next.View !== props.View || notEqual(next.options, props.options);\n };\n BackboneView.prototype.hasUnsavedChanges = function () {\n var view = this.view;\n return view && (typeof view.hasUnsavedChanges === 'function' ? view.hasUnsavedChanges() : view.hasUnsavedChanges);\n };\n BackboneView.prototype.render = function () {\n return React.createElement('div', {\n ref: this.saveRef,\n className: this.props.className\n });\n };\n BackboneView.prototype.componentDidMount = function () {\n this._mountView();\n };\n BackboneView.prototype.componentDidUpdate = function () {\n this._dispose();\n this._mountView();\n };\n BackboneView.prototype.componentWillUnmount = function () {\n this._dispose();\n };\n BackboneView.prototype._mountView = function () {\n var el = this.root, p = this.props;\n var view = this.view = p.options ? new p.View(p.options) : new p.View();\n el.appendChild(view.el);\n view.render();\n };\n BackboneView.prototype._dispose = function () {\n var view = this.view;\n if (view) {\n if (view.dispose) {\n view.dispose();\n }\n else {\n view.stopListening();\n view.off();\n }\n this.root.innerHTML = \"\";\n this.view = null;\n }\n };\n return BackboneView;\n}(Component));\nexport default BackboneView;\n//# sourceMappingURL=view-element.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/view-element.js\n// module id = 21\n// module chunks = 0","import * as React from 'react';\nimport ReactDOM from 'react-dom';\nimport { tools } from 'type-r';\nwindow.Page || (window.Page = { forceResize: function () { } });\nexport default function use(View) {\n var dispose = View.prototype.dispose || function () { }, setElement = View.prototype.setElement;\n var ComponentView = View.extend({\n reactClass: null,\n props: {},\n element: null,\n initialize: function (props) {\n // memorise arguments to pass to React\n this.options = props || {};\n },\n setElement: function () {\n this.unmountComponent(true);\n return setElement.apply(this, arguments);\n },\n // cached instance of react component...\n component: null,\n prevState: null,\n resize: function () {\n window.Page.forceResize();\n },\n render: function () {\n var options = this.prevState ? tools.fastAssign({ __keepState: this.prevState }, this.options) : this.options, element = React.createElement(this.reactClass, options), component = ReactDOM.render(element, this.el);\n this.component || this.mountComponent(component);\n },\n mountComponent: function (component) {\n this.component = component;\n this.prevState = null;\n component.trigger && this.listenTo(component, 'all', function () {\n this.trigger.apply(this, arguments);\n });\n },\n unmountComponent: function (keepModel) {\n var component = this.component;\n if (component) {\n this.prevState = component.state;\n if (component.trigger) {\n this.stopListening(component);\n }\n component._preventDispose = Boolean(keepModel);\n ReactDOM.unmountComponentAtNode(this.el);\n this.component = null;\n }\n },\n dispose: function () {\n this.unmountComponent();\n return dispose.apply(this, arguments);\n }\n });\n Object.defineProperty(ComponentView.prototype, 'model', {\n get: function () {\n this.component || this.render();\n return this.component && this.component.state;\n }\n });\n return ComponentView;\n}\n//# sourceMappingURL=component-view.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/component-view.js\n// module id = 22\n// module chunks = 0","var __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\nimport { Component } from './react-mvx';\nvar dontAutobind = [\n 'State', 'Store', 'constructor',\n 'componentWillMount', 'componentDidMount', 'componentWillReceiveProps', 'shouldComponentUpdate',\n 'componentWillUpdate', 'componentDidUpdate', 'componentWillUnmount',\n 'render', 'getDefaultProps', 'getChildContext'\n];\n/**\n * ES5 components definition factory\n */\nexport default function createClass(_a) {\n var statics = _a.statics, a_spec = __rest(_a, [\"statics\"]);\n // Gather all methods to pin them to `this` later.\n var methods = [];\n var Subclass = Component.extend(__assign({ \n // Override constructor to autobind all the methods...\n constructor: function () {\n Component.apply(this, arguments);\n for (var _i = 0, methods_1 = methods; _i < methods_1.length; _i++) {\n var method = methods_1[_i];\n this[method] = this[method].bind(this);\n }\n } }, a_spec), statics);\n // Need to bind methods from mixins as well, so populate it here.\n var Proto = Subclass.prototype;\n for (var key in Proto) {\n if (Proto.hasOwnProperty(key) && dontAutobind.indexOf(key) === -1 && typeof Proto[key] === 'function') {\n methods.push(key);\n }\n }\n return Subclass;\n}\n//# sourceMappingURL=createClass.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/createClass.js\n// module id = 23\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///dist/index.min.js","webpack:///webpack/bootstrap 5aa10213c42c439c84d3","webpack:///external {\"commonjs\":\"nestedtypes\",\"commonjs2\":\"nestedtypes\",\"amd\":\"nestedtypes\",\"root\":\"Nested\"}","webpack:///./lib/react-mvx/index.js","webpack:///external {\"commonjs\":\"react\",\"commonjs2\":\"react\",\"amd\":\"react\",\"root\":\"React\"}","webpack:///./lib/react-mvx/define/typeSpecs.js","webpack:///./lib/react-mvx/define/index.js","webpack:///./lib/react-mvx/define/state.js","webpack:///./node_modules/prop-types/index.js","webpack:///./lib/react-mvx/define/pureRender.js","webpack:///external {\"commonjs\":\"react-dom\",\"commonjs2\":\"react-dom\",\"amd\":\"react-dom\",\"root\":\"ReactDOM\"}","webpack:///./lib/index.js","webpack:///./lib/react-mvx/define/store.js","webpack:///./lib/react-mvx/define/context.js","webpack:///./node_modules/prop-types/factoryWithThrowingShims.js","webpack:///./node_modules/fbjs/lib/emptyFunction.js","webpack:///./node_modules/fbjs/lib/invariant.js","webpack:///./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack:///./lib/react-mvx/define/props.js","webpack:///./lib/react-mvx/link.js","webpack:///./lib/react-mvx/valuelink/link.js","webpack:///./lib/react-mvx/valuelink/helpers.js","webpack:///./lib/react-mvx/component.js","webpack:///./lib/view-element.js","webpack:///./lib/component-view.js","webpack:///./lib/createClass.js"],"names":["root","factory","exports","module","require","define","amd","this","__WEBPACK_EXTERNAL_MODULE_0__","__WEBPACK_EXTERNAL_MODULE_2__","__WEBPACK_EXTERNAL_MODULE_8__","modules","__webpack_require__","moduleId","installedModules","i","l","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","__webpack_exports__","assignToState","__WEBPACK_IMPORTED_MODULE_0_react__","__WEBPACK_IMPORTED_MODULE_1_type_r__","__WEBPACK_IMPORTED_MODULE_2__define__","__WEBPACK_IMPORTED_MODULE_3__link__","__WEBPACK_IMPORTED_MODULE_4__component__","ReactMVx","create","default","mixins","Node","value","Element","Link","Component","key","prop","state","assignFrom","_a","compileSpecs","props","defaults","watchers","changeHandlers","propTypes","modelProto","forEachAttr","_attributes","spec","type","options","translateType","isRequired","_onChange","toLocalWatcher","length","changeEvents","handlers","changeEvents_1","push","next","prev","component","stopListening","listenTo","_changeEventName","asyncUpdate","convert","ref","Type","T","_translateType","Number","integer","__WEBPACK_IMPORTED_MODULE_0_prop_types__","String","Boolean","Array","Function","onDefine","definition","BaseClass","__WEBPACK_IMPORTED_MODULE_1__store__","__WEBPACK_IMPORTED_MODULE_2__state__","__WEBPACK_IMPORTED_MODULE_3__context__","__WEBPACK_IMPORTED_MODULE_4__props__","__WEBPACK_IMPORTED_MODULE_0_type_r__","__WEBPACK_IMPORTED_MODULE_5__typeSpecs__","__WEBPACK_IMPORTED_MODULE_6__pureRender__","process","BaseComponentClass","State","ComponentState","_super","apply","arguments","__extends","attributes","__decorate","merge","StateMixin","UpdateOnNestedChangesMixin","extendStatics","setPrototypeOf","__proto__","b","__","constructor","decorators","target","desc","r","getOwnPropertyDescriptor","Reflect","decorate","_initializeState","__keepState","_owner","_ownerKey","context","_nestedStore","getStore","_defaultStore","componentWillUnmount","_preventDispose","dispose","_onChildrenChange","componentDidMount","createChangeTokensConstructor","propNames","keys","PropsChangeTokens","map","join","_hasChanges","updateChangeTokens","_propsChangeTokens","EmptyPropsChangeTokensCtor","PureRenderMixin","shouldComponentUpdate","nextProps","componentDidUpdate","useView","View","BaseView","__WEBPACK_IMPORTED_MODULE_5__component_view__","__WEBPACK_IMPORTED_MODULE_0__react_mvx__","__WEBPACK_IMPORTED_MODULE_1_react_dom__","__WEBPACK_IMPORTED_MODULE_1_react_dom___default","__WEBPACK_IMPORTED_MODULE_2_type_r__","__WEBPACK_IMPORTED_MODULE_2_type_r___default","__WEBPACK_IMPORTED_MODULE_3_prop_types__","__WEBPACK_IMPORTED_MODULE_4__view_element__","__WEBPACK_IMPORTED_MODULE_6__createClass__","NestedReact","subview","createClass","definitions","extend","reactClass","RecordProto","getLink","linkAt","deepLink","linkPath","CollectionProto","Collection","hasLink","linkContains","BackboneViewProps","el","a","findDOMNode","$el","$","sel","find","defineProperties","store","StoreClass","Store","ExternalStoreMixin","ExposeStoreMixin","BaseClass_1","InternalStore","attrbutes","InternalStoreMixin","__WEBPACK_IMPORTED_MODULE_1__state__","childContext","getChildContext","componentWillMount","_context","contextTypes","__WEBPACK_IMPORTED_MODULE_0__typeSpecs__","_childContext","childContextTypes","emptyFunction","invariant","ReactPropTypesSecret","shim","propName","componentName","location","propFullName","secret","getShim","ReactPropTypes","array","bool","func","number","string","symbol","any","arrayOf","element","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","makeEmptyFunction","arg","thatReturns","thatReturnsFalse","thatReturnsTrue","thatReturnsNull","thatReturnsThis","thatReturnsArgument","condition","format","e","f","validateFormat","error","undefined","Error","args","argIndex","replace","framesToPop","pureRender","_props","_b","defaultProps","_watchers","WatchersMixin","_changeHandlers","ChangeHandlersMixin","__WEBPACK_IMPORTED_MODULE_1__pureRender__","handlePropsChanges","name_1","_i","handler","componentWillReceiveProps","name_2","name_3","getLinksCache","record","_links","AttributesCopy","cacheLink","links","cached","RecordLink","__WEBPACK_IMPORTED_MODULE_1__valuelink_link__","populate","path","RecordDeepLink","linkAll","attr","_this","set","x","_error","getValidationError","deepGet","deepValidationError","_changeToken","deepSet","CollectionLink","collection","_byId","cid","toggle","__WEBPACK_IMPORTED_MODULE_0__helpers__","CustomLink","onChange","CloneLink","checked","requestChange","update","transform","clone","pipe","action","equals","truthyValue","EqualsLink","enabled","defaultValue","EnabledLink","contains","ContainsLink","unshift","splice","iterator","removeAt","_","remove","at","LinkAt","pick","check","whenValid","defaultError","parent","indexOf","arr","nextValue","concat","filter","helpers","getPrototypeOf","ArrayProto","arrayHelpers","ObjectProto","objectHelpers","dummyHelpers","link","fun","mapped","cloned","slice","j","y","returnFalse","transaction","isRoot","withStore","_disposed","forceUpdate","protoValue","classLast","componentWillUpdate","classFirst","some","notEqual","BackboneView","saveRef","hasUnsavedChanges","view","render","createElement","className","_mountView","_dispose","appendChild","off","innerHTML","use","setElement","ComponentView","initialize","unmountComponent","prevState","resize","window","Page","forceResize","fastAssign","mountComponent","trigger","keepModel","unmountComponentAtNode","statics","a_spec","__rest","methods","Subclass","__assign","methods_1","method","bind","Proto","dontAutobind","assign","t","getOwnPropertySymbols"],"mappings":"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","file":"./dist/index.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"nestedtypes\"), require(\"react\"), require(\"react-dom\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"nestedtypes\", \"react\", \"react-dom\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"React\"] = factory(require(\"nestedtypes\"), require(\"react\"), require(\"react-dom\"));\n\telse\n\t\troot[\"React\"] = factory(root[\"Nested\"], root[\"React\"], root[\"ReactDOM\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_2__, __WEBPACK_EXTERNAL_MODULE_8__) {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"nestedtypes\"), require(\"react\"), require(\"react-dom\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"nestedtypes\", \"react\", \"react-dom\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"React\"] = factory(require(\"nestedtypes\"), require(\"react\"), require(\"react-dom\"));\n\telse\n\t\troot[\"React\"] = factory(root[\"Nested\"], root[\"React\"], root[\"ReactDOM\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_2__, __WEBPACK_EXTERNAL_MODULE_8__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\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, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\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 = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 9);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_0__;\n\n/***/ }),\n/* 1 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return assignToState; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__define__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__link__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__component__ = __webpack_require__(20);\n/* harmony reexport (binding) */ if(__webpack_require__.o(__WEBPACK_IMPORTED_MODULE_1_type_r__, \"define\")) __webpack_require__.d(__webpack_exports__, \"g\", function() { return __WEBPACK_IMPORTED_MODULE_1_type_r__[\"define\"]; });\n/* harmony reexport (binding) */ if(__webpack_require__.o(__WEBPACK_IMPORTED_MODULE_1_type_r__, \"mixins\")) __webpack_require__.d(__webpack_exports__, \"h\", function() { return __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixins\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return __WEBPACK_IMPORTED_MODULE_2__define__[\"c\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_2__define__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return __WEBPACK_IMPORTED_MODULE_3__link__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_4__component__[\"a\"]; });\n\n\n\n\n\n// extend React namespace\nvar ReactMVx = Object.create(__WEBPACK_IMPORTED_MODULE_0_react__);\n// Make it compatible with ES6 module format.\nReactMVx.default = ReactMVx;\n// listenToProps, listenToState, model, attributes, Model\nReactMVx.define = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"define\"];\nReactMVx.mixins = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixins\"];\nReactMVx.Node = __WEBPACK_IMPORTED_MODULE_2__define__[\"c\" /* Node */].value(null);\nReactMVx.Element = __WEBPACK_IMPORTED_MODULE_2__define__[\"a\" /* Element */].value(null);\nReactMVx.Link = __WEBPACK_IMPORTED_MODULE_3__link__[\"a\" /* default */];\nReactMVx.Component = __WEBPACK_IMPORTED_MODULE_4__component__[\"a\" /* Component */];\nvar assignToState = ReactMVx.assignToState = function (key) {\n return function (prop) {\n this.state.assignFrom((_a = {}, _a[key] = prop && prop instanceof __WEBPACK_IMPORTED_MODULE_3__link__[\"a\" /* default */] ? prop.value : prop, _a));\n var _a;\n };\n};\n/* harmony default export */ __webpack_exports__[\"f\"] = (ReactMVx);\n\n//# sourceMappingURL=index.js.map\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n/***/ }),\n/* 3 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = compileSpecs;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return Node; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Element; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n\n\nfunction compileSpecs(props) {\n var propTypes = {}, \n // Create NestedTypes model definition to process props spec.\n modelProto = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"Record\"].defaults(props).prototype;\n var defaults, watchers, changeHandlers;\n modelProto.forEachAttr(modelProto._attributes, function (spec, name) {\n // Skip auto-generated `id` attribute.\n if (name !== 'id') {\n var value = spec.value, type = spec.type, options = spec.options;\n // Translate props type to the propTypes guard.\n propTypes[name] = translateType(type, options.isRequired);\n if (options._onChange) {\n watchers || (watchers = {});\n watchers[name] = toLocalWatcher(options._onChange);\n }\n // Handle listening to event maps...\n if (options.changeHandlers && options.changeHandlers.length) {\n changeHandlers || (changeHandlers = {});\n changeHandlers[name] = options.changeHandlers;\n }\n // Handle listening to props changes...\n if (options.changeEvents) {\n changeHandlers || (changeHandlers = {});\n var handlers = changeHandlers[name] || (changeHandlers[name] = []), changeEvents_1 = typeof options.changeEvents === 'string' ? options.changeEvents : null;\n handlers.push(function (next, prev, component) {\n prev && component.stopListening(prev);\n next && component.listenTo(next, changeEvents_1 || next._changeEventName, component.asyncUpdate);\n });\n }\n // If default value is explicitly provided...\n if (value !== void 0) {\n //...append it to getDefaultProps function.\n defaults || (defaults = {});\n defaults[name] = spec.convert(value, void 0, null, {});\n }\n }\n });\n return { propTypes: propTypes, defaults: defaults, watchers: watchers, changeHandlers: changeHandlers };\n}\nfunction toLocalWatcher(ref) {\n return typeof ref === 'function' ? ref : function (value, name) {\n this[ref] && this[ref](value, name);\n };\n}\nvar Node = (function () {\n function Node() {\n }\n return Node;\n}());\n\nvar Element = (function () {\n function Element() {\n }\n return Element;\n}());\n\nfunction translateType(Type, isRequired) {\n var T = _translateType(Type);\n return isRequired ? T.isRequired : T;\n}\nfunction _translateType(Type) {\n switch (Type) {\n case Number:\n case Number.integer:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"number\"];\n case String:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"string\"];\n case Boolean:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"bool\"];\n case Array:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"array\"];\n case Function:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"func\"];\n case Object:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"object\"];\n case Node:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"node\"];\n case Element:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"element\"];\n case void 0:\n case null:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"any\"];\n default:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"instanceOf\"](Type);\n }\n}\n//# sourceMappingURL=typeSpecs.js.map\n\n/***/ }),\n/* 4 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = onDefine;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__store__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__state__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__context__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__props__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__typeSpecs__ = __webpack_require__(3);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return __WEBPACK_IMPORTED_MODULE_5__typeSpecs__[\"b\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_5__typeSpecs__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__pureRender__ = __webpack_require__(7);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_6__pureRender__[\"a\"]; });\n\n\n\n\n\nfunction onDefine(definition, BaseClass) {\n // Initialize mixins placeholder...\n __WEBPACK_IMPORTED_MODULE_1__store__[\"a\" /* default */].call(this, definition, BaseClass);\n __WEBPACK_IMPORTED_MODULE_2__state__[\"c\" /* default */].call(this, definition, BaseClass);\n __WEBPACK_IMPORTED_MODULE_3__context__[\"a\" /* default */].call(this, definition, BaseClass);\n __WEBPACK_IMPORTED_MODULE_4__props__[\"a\" /* default */].call(this, definition, BaseClass);\n __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Messenger\"].onDefine.call(this, definition, BaseClass);\n}\n;\n\n\n//# sourceMappingURL=index.js.map\n\n/***/ }),\n/* 5 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = process;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return StateMixin; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return UpdateOnNestedChangesMixin; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n/*****************\n * State\n */\n\nfunction process(definition, BaseComponentClass) {\n var prototype = this.prototype;\n var state = definition.state, State = definition.State;\n if (typeof state === 'function') {\n State = state;\n state = void 0;\n }\n if (state) {\n var BaseClass = State || prototype.State || __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Record\"];\n var ComponentState = (function (_super) {\n __extends(ComponentState, _super);\n function ComponentState() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return ComponentState;\n }(BaseClass));\n ComponentState.attributes = state;\n ComponentState = __decorate([\n __WEBPACK_IMPORTED_MODULE_0_type_r__[\"define\"]\n ], ComponentState);\n prototype.State = ComponentState;\n }\n else if (State) {\n prototype.State = State;\n }\n if (state || State) {\n this.mixins.merge([StateMixin, UpdateOnNestedChangesMixin]);\n }\n}\nvar StateMixin = {\n //state : null,\n _initializeState: function () {\n // props.__keepState is used to workaround issues in Backbone intergation layer\n var state = this.state = this.props.__keepState || new this.State();\n // Take ownership on state...\n state._owner = this;\n state._ownerKey = 'state';\n },\n context: {\n _nestedStore: __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Store\"]\n },\n // reference global store to fix model's store locator\n getStore: function () {\n // Attempt to get the store from the context first. Then - fallback to the state's default store.\n // TBD: Need to figure out a good way of managing local stores.\n var context, state;\n return ((context = this.context) && context._nestedStore) ||\n ((state = this.state) && state._defaultStore);\n },\n componentWillUnmount: function () {\n var state = this.state;\n state._owner = state._ownerKey = void 0;\n this._preventDispose /* hack for component-view to preserve the state */ || state.dispose();\n this.state = void 0;\n }\n};\nvar UpdateOnNestedChangesMixin = {\n _onChildrenChange: function () { },\n componentDidMount: function () {\n this._onChildrenChange = this.asyncUpdate;\n }\n};\n//# sourceMappingURL=state.js.map\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (false) {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = __webpack_require__(12)();\n}\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = createChangeTokensConstructor;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return EmptyPropsChangeTokensCtor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return PureRenderMixin; });\nfunction createChangeTokensConstructor(props) {\n var propNames = Object.keys(props);\n var PropsChangeTokens = new Function('p', 's', \"\\n var v;\\n this._s = s && s._changeToken;\\n \" + propNames.map(function (name) { return \"\\n this.\" + name + \" = ( ( v = p.\" + name + \") && v._changeToken ) || v;\\n \"; }).join('') + \"\\n \");\n PropsChangeTokens.prototype._hasChanges = new Function('p', 's', \"\\n var v;\\n return ( s && s._changeToken !== this._s ) \" + propNames.map(function (name) { return \" ||\\n this.\" + name + \" !== ( ( ( v = p.\" + name + \") && v._changeToken ) || v )\\n \"; }).join('') + \";\\n \");\n return PropsChangeTokens;\n}\n;\nvar EmptyPropsChangeTokensCtor = createChangeTokensConstructor({});\nvar PureRenderMixin = {\n shouldComponentUpdate: function (nextProps) {\n return this._propsChangeTokens._hasChanges(nextProps);\n },\n componentDidMount: updateChangeTokens,\n componentDidUpdate: updateChangeTokens\n};\nfunction updateChangeTokens() {\n this._propsChangeTokens = new this.PropsChangeTokens(this.props, this.state);\n}\n//# sourceMappingURL=pureRender.js.map\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_8__;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (immutable) */ __webpack_exports__[\"useView\"] = useView;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1);\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"define\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"g\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"mixins\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"h\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Node\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"d\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Element\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"b\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Link\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"c\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Component\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"assignToState\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"e\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__view_element__ = __webpack_require__(21);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"subview\", function() { return __WEBPACK_IMPORTED_MODULE_4__view_element__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__component_view__ = __webpack_require__(22);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__createClass__ = __webpack_require__(23);\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"PropTypes\", function() { return __WEBPACK_IMPORTED_MODULE_3_prop_types__; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"createClass\", function() { return __WEBPACK_IMPORTED_MODULE_6__createClass__[\"a\"]; });\n// Re-export react-mvx\n\nvar NestedReact = Object.create(__WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"f\" /* default */]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (NestedReact);\n\n// NestedReact backward compatibility layer\n\n\n\n\nNestedReact.subview = __WEBPACK_IMPORTED_MODULE_4__view_element__[\"a\" /* default */];\n\n\n\nNestedReact.createClass = __WEBPACK_IMPORTED_MODULE_6__createClass__[\"a\" /* default */];\nObject.defineProperty(NestedReact, 'PropTypes', { value: __WEBPACK_IMPORTED_MODULE_3_prop_types__ });\n\nvar BaseView;\n// export hook to override base View class used...\nfunction useView(View) {\n BaseView = Object(__WEBPACK_IMPORTED_MODULE_5__component_view__[\"a\" /* default */])(View);\n}\nvar onDefine = NestedReact.Component.onDefine;\nNestedReact.Component.onDefine = function (definitions, BaseClass) {\n this.View = BaseView.extend({ reactClass: this });\n return onDefine.call(this, definitions, BaseClass);\n};\n// Deprecated API for backward compatibility\nvar RecordProto = __WEBPACK_IMPORTED_MODULE_2_type_r__[\"Record\"].prototype;\nRecordProto.getLink = RecordProto.linkAt;\nRecordProto.deepLink = RecordProto.linkPath;\nvar CollectionProto = __WEBPACK_IMPORTED_MODULE_2_type_r__[\"Record\"].Collection.prototype;\nCollectionProto.hasLink = CollectionProto.linkContains;\nuseView(__WEBPACK_IMPORTED_MODULE_2_type_r__[\"View\"]);\n// Extend react components to have backbone-style jquery accessors\nvar BackboneViewProps = {\n el: { get: function () { return __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.findDOMNode(this); } },\n $el: { get: function () { return __WEBPACK_IMPORTED_MODULE_2_type_r___default.a.$(this.el); } },\n $: { value: function (sel) { return this.$el.find(sel); } }\n};\nObject.defineProperties(NestedReact.Component.prototype, BackboneViewProps);\n//# sourceMappingURL=index.js.map\n\n/***/ }),\n/* 10 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = onDefine;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__state__ = __webpack_require__(5);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\nfunction onDefine(definition, BaseClass) {\n var store = definition.store, StoreClass = definition.Store;\n if (store && store instanceof __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Store\"]) {\n // Direct reference to an existing store. Put it to the prototype.\n this.prototype.store = store;\n this.mixins.merge([ExternalStoreMixin, ExposeStoreMixin]);\n }\n else if (store || definition.Store) {\n if (typeof store === 'function') {\n StoreClass = store;\n store = void 0;\n }\n if (store) {\n var BaseClass_1 = StoreClass || this.prototype.Store || __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Store\"];\n var InternalStore = (function (_super) {\n __extends(InternalStore, _super);\n function InternalStore() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return InternalStore;\n }(BaseClass_1));\n InternalStore.attrbutes = store;\n InternalStore = __decorate([\n __WEBPACK_IMPORTED_MODULE_0_type_r__[\"define\"]\n ], InternalStore);\n ;\n this.prototype.Store = InternalStore;\n }\n else if (StoreClass) {\n this.prototype.Store = StoreClass;\n }\n this.mixins.merge([InternalStoreMixin, __WEBPACK_IMPORTED_MODULE_1__state__[\"b\" /* UpdateOnNestedChangesMixin */], ExposeStoreMixin]);\n }\n}\n/**\n * Attached whenever the store declaration of any form is present in the component.\n */\nvar ExposeStoreMixin = {\n childContext: {\n _nestedStore: __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Store\"]\n },\n getChildContext: function () {\n return { _nestedStore: this.store };\n },\n getStore: function () {\n return this.store;\n },\n // Will be called by the store when the lookup will fail.\n get: function (key) {\n // Ask upper store.\n var store = __WEBPACK_IMPORTED_MODULE_1__state__[\"a\" /* StateMixin */].getStore.call(this, key);\n return store && store.get(key);\n }\n};\n/**\n * External store must just track the changes and trigger render.\n * TBD: don't use it yet.\n */\nvar ExternalStoreMixin = {\n componentDidMount: function () {\n // Start UI updates on state changes.\n this.listenTo(this.store, 'change', this.asyncUpdate);\n }\n};\nvar InternalStoreMixin = {\n componentWillMount: function () {\n var store = this.store = new this.Store();\n store._owner = this;\n store._ownerKey = 'store';\n },\n componentWillUnmount: function () {\n this.store._ownerKey = this.store._owner = void 0;\n this.store.dispose();\n this.store = void 0;\n }\n};\n//# sourceMappingURL=store.js.map\n\n/***/ }),\n/* 11 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = onDefine;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n\n\nfunction onDefine(_a, BaseClass) {\n var context = _a.context, childContext = _a.childContext;\n var prototype = this.prototype;\n if (context) {\n // Merge in inherited members...\n prototype._context = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].defaults(context, BaseClass.prototype._context || {});\n // Compile to propTypes...\n this.contextTypes = Object(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* compileSpecs */])(context).propTypes;\n }\n if (childContext) {\n prototype._childContext = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].defaults(childContext, BaseClass.prototype._childContext);\n this.childContextTypes = Object(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* compileSpecs */])(childContext).propTypes;\n }\n}\n//# sourceMappingURL=context.js.map\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar emptyFunction = __webpack_require__(13);\nvar invariant = __webpack_require__(14);\nvar ReactPropTypesSecret = __webpack_require__(15);\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n invariant(\n false,\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim\n };\n\n ReactPropTypes.checkPropTypes = emptyFunction;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (false) {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = onDefine;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__pureRender__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__);\n/**\n * Handle props specification and everything which is related:\n * - local listening to props changes\n * - pure render mixin\n */\n\n\n\nfunction onDefine(_a, BaseClass) {\n var props = _a.props, pureRender = _a.pureRender;\n var prototype = this.prototype;\n // process props spec...\n if (props) {\n // Merge with inherited members...\n prototype._props = __WEBPACK_IMPORTED_MODULE_2_type_r__[\"tools\"].defaults(props, BaseClass.prototype._props || {});\n var _b = Object(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* compileSpecs */])(props), propTypes = _b.propTypes, defaults = _b.defaults, watchers = _b.watchers, changeHandlers = _b.changeHandlers;\n this.propTypes = propTypes;\n if (defaults)\n this.defaultProps = defaults;\n if (watchers) {\n prototype._watchers = watchers;\n this.mixins.merge([WatchersMixin]);\n }\n if (changeHandlers) {\n prototype._changeHandlers = changeHandlers;\n this.mixins.merge([ChangeHandlersMixin]);\n }\n if (prototype.pureRender) {\n prototype.PropsChangeTokens = Object(__WEBPACK_IMPORTED_MODULE_1__pureRender__[\"c\" /* createChangeTokensConstructor */])(props);\n }\n }\n if (pureRender) {\n this.mixins.merge([__WEBPACK_IMPORTED_MODULE_1__pureRender__[\"b\" /* PureRenderMixin */]]);\n }\n}\n/**\n * ChangeHandlers are fired in sequence upon props replacement.\n * Fires _after_ UI is updated. Used for managing events subscriptions.\n */\nvar ChangeHandlersMixin = {\n componentDidMount: function () {\n handlePropsChanges(this, {}, this.props);\n },\n componentDidUpdate: function (prev) {\n handlePropsChanges(this, prev, this.props);\n },\n componentWillUnmount: function () {\n handlePropsChanges(this, this.props, {});\n }\n};\nfunction handlePropsChanges(component, prev, next) {\n var _changeHandlers = component._changeHandlers;\n for (var name_1 in _changeHandlers) {\n if (prev[name_1] !== next[name_1]) {\n for (var _i = 0, _a = _changeHandlers[name_1]; _i < _a.length; _i++) {\n var handler = _a[_i];\n handler(next[name_1], prev[name_1], component);\n }\n }\n }\n}\n/**\n * Watchers works on props replacement and fires _before_ any change will be applied and UI is updated.\n * Fired in componentWillMount as well, which makes it a nice way to sync state from props.\n */\nvar WatchersMixin = {\n componentWillReceiveProps: function (next) {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_2 in _watchers) {\n if (next[name_2] !== props[name_2]) {\n _watchers[name_2].call(this, next[name_2], name_2);\n }\n }\n },\n componentWillMount: function () {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_3 in _watchers) {\n _watchers[name_3].call(this, props[name_3], name_3);\n }\n }\n};\n//# sourceMappingURL=props.js.map\n\n/***/ }),\n/* 17 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__valuelink_link__ = __webpack_require__(18);\n/**\n * Import ValueLink library\n * Define value links binding mixins to the Record and Collection\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]);\n__WEBPACK_IMPORTED_MODULE_0_type_r__[\"Mixable\"].mixins.populate(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]);\n/**\n * Record\n */\n__WEBPACK_IMPORTED_MODULE_0_type_r__[\"MixinsState\"].get(__WEBPACK_IMPORTED_MODULE_0_type_r__[\"Record\"]).merge([{\n // Link to the record's attribute by its key.\n linkAt: function (key) {\n return cacheLink(getLinksCache(this), this, key);\n },\n // Link to the attribute of the record's tree by symbolic path.\n linkPath: function (path, options) {\n return new RecordDeepLink(this, path, options);\n },\n // Link all (or listed) attributes and return links cache.\n linkAll: function () {\n var links = getLinksCache(this);\n if (arguments.length) {\n for (var i = 0; i < arguments.length; i++) {\n cacheLink(links, this, arguments[i]);\n }\n }\n else {\n var attributes = this.attributes;\n for (var key in attributes) {\n attributes[key] === void 0 || cacheLink(links, this, key);\n }\n }\n return links;\n }\n }]);\n/**\n * Link to Type-R's record attribute.\n * Strict evaluation of value, lazy evaluation of validation error.\n * Links are cached in the records\n */\nvar RecordLink = (function (_super) {\n __extends(RecordLink, _super);\n function RecordLink(record, attr, value) {\n var _this = _super.call(this, value) || this;\n _this.record = record;\n _this.attr = attr;\n return _this;\n }\n RecordLink.prototype.set = function (x) {\n this.record[this.attr] = x;\n };\n Object.defineProperty(RecordLink.prototype, \"error\", {\n get: function () {\n return this._error === void 0 ?\n this.record.getValidationError(this.attr) :\n this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n return RecordLink;\n}(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]));\nvar RecordDeepLink = (function (_super) {\n __extends(RecordDeepLink, _super);\n function RecordDeepLink(record, path, options) {\n var _this = _super.call(this, record.deepGet(path)) || this;\n _this.record = record;\n _this.path = path;\n _this.options = options;\n return _this;\n }\n Object.defineProperty(RecordDeepLink.prototype, \"error\", {\n get: function () {\n if (this._error === void 0) {\n this._error = this.record.deepValidationError(this.path) || null;\n }\n return this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(RecordDeepLink.prototype, \"_changeToken\", {\n get: function () {\n return this.record._changeToken;\n },\n enumerable: true,\n configurable: true\n });\n RecordDeepLink.prototype.set = function (x) {\n this.record.deepSet(this.path, x, this.options);\n };\n return RecordDeepLink;\n}(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]));\nfunction getLinksCache(record) {\n return record._links || (record._links = new record.AttributesCopy({}));\n}\nfunction cacheLink(links, record, key) {\n var cached = links[key], value = record[key];\n return cached && cached.value === value ? cached\n : links[key] = new RecordLink(record, key, value);\n}\n/***********************************\n * Collection\n */\n__WEBPACK_IMPORTED_MODULE_0_type_r__[\"MixinsState\"].get(__WEBPACK_IMPORTED_MODULE_0_type_r__[\"Record\"].Collection).merge([{\n // Boolean link to the record's presence in the collection\n linkContains: function (record) {\n return new CollectionLink(this, record);\n },\n // Link to collection's property\n linkAt: function (prop) {\n var _this = this;\n return __WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */].value(this[prop], function (x) { return _this[prop] = x; });\n }\n }]);\n/**\n * Boolean link to presence of NestedType's record in collection.\n * Strict evaluation of value, no error.\n * Safe implementation of _changeToken.\n */\nvar CollectionLink = (function (_super) {\n __extends(CollectionLink, _super);\n function CollectionLink(collection, record) {\n var _this = _super.call(this, Boolean(collection._byId[record.cid])) || this;\n _this.collection = collection;\n _this.record = record;\n return _this;\n }\n CollectionLink.prototype.set = function (x) {\n this.collection.toggle(this.record, x);\n };\n return CollectionLink;\n}(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]));\n//# sourceMappingURL=link.js.map\n\n/***/ }),\n/* 18 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Link; });\n/* unused harmony export CustomLink */\n/* unused harmony export CloneLink */\n/* unused harmony export EqualsLink */\n/* unused harmony export EnabledLink */\n/* unused harmony export ContainsLink */\n/* unused harmony export LinkAt */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__helpers__ = __webpack_require__(19);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * Advanced React links for purely functional two-way data binding\n *\n * MIT License, (c) 2016 Vlad Balin, Volicon.\n */\n\n// Main Link class. All links must extend it.\nvar Link = (function () {\n // create \n function Link(value) {\n this.value = value;\n }\n // Create custom link to arbitrary value\n Link.value = function (value, set) {\n return new CustomLink(value, set);\n };\n Object.defineProperty(Link.prototype, \"validationError\", {\n // DEPRECATED: Old error holder for backward compatibility with Volicon code base\n get: function () { return this.error; },\n enumerable: true,\n configurable: true\n });\n Link.prototype.onChange = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n handler(x);\n _this.set(x);\n });\n };\n Object.defineProperty(Link.prototype, \"props\", {\n // \n get: function () {\n var _this = this;\n return typeof this.value === 'boolean' ? {\n checked: this.value,\n onChange: function (e) { return _this.set(Boolean(e.target.checked)); }\n } : {\n value: this.value,\n onChange: function (e) { return _this.set(e.target.value); }\n };\n },\n enumerable: true,\n configurable: true\n });\n // DEPRECATED: Old React method for backward compatibility\n Link.prototype.requestChange = function (x) {\n this.set(x);\n };\n // Immediately update the link value using given transform function.\n Link.prototype.update = function (transform, e) {\n var next = transform(this.clone(), e);\n next === void 0 || this.set(next);\n };\n // Create new link which applies transform function on set.\n Link.prototype.pipe = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n var next = handler(x, _this.value);\n next === void 0 || _this.set(next);\n });\n };\n // Create UI event handler function which will update the link with a given transform function.\n Link.prototype.action = function (transform) {\n var _this = this;\n return function (e) { return _this.update(transform, e); };\n };\n Link.prototype.equals = function (truthyValue) {\n return new EqualsLink(this, truthyValue);\n };\n Link.prototype.enabled = function (defaultValue) {\n return new EnabledLink(this, defaultValue || \"\");\n };\n // Array-only links methods\n Link.prototype.contains = function (element) {\n return new ContainsLink(this, element);\n };\n Link.prototype.push = function () {\n var array = __WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* arrayHelpers */].clone(this.value);\n Array.prototype.push.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.unshift = function () {\n var array = __WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* arrayHelpers */].clone(this.value);\n Array.prototype.unshift.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.splice = function () {\n var array = __WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* arrayHelpers */].clone(this.value);\n Array.prototype.splice.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.map = function (iterator) {\n return Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* helpers */])(this.value).map(this, iterator);\n };\n Link.prototype.removeAt = function (key) {\n var value = this.value, _ = Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* helpers */])(value);\n this.set(_.remove(_.clone(value), key));\n };\n Link.prototype.at = function (key) {\n return new LinkAt(this, key);\n };\n Link.prototype.clone = function () {\n var value = this.value;\n return Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* helpers */])(value).clone(value);\n };\n Link.prototype.pick = function () {\n var links = {};\n for (var i = 0; i < arguments.length; i++) {\n var key = arguments[i];\n links[key] = new LinkAt(this, key);\n }\n return links;\n };\n /**\n * Validate link with validness predicate and optional custom error object. Can be chained.\n */\n Link.prototype.check = function (whenValid, error) {\n if (!this.error && !whenValid(this.value)) {\n this.error = error || whenValid.error || defaultError;\n }\n return this;\n };\n return Link;\n}());\n\nvar CustomLink = (function (_super) {\n __extends(CustomLink, _super);\n function CustomLink(value, set) {\n var _this = _super.call(this, value) || this;\n _this.set = set;\n return _this;\n }\n CustomLink.prototype.set = function (x) { };\n return CustomLink;\n}(Link));\n\nvar CloneLink = (function (_super) {\n __extends(CloneLink, _super);\n function CloneLink(parent, set) {\n var _this = _super.call(this, parent.value) || this;\n _this.set = set;\n var error = parent.error;\n if (error)\n _this.error = error;\n return _this;\n }\n CloneLink.prototype.set = function (x) { };\n return CloneLink;\n}(Link));\n\nvar EqualsLink = (function (_super) {\n __extends(EqualsLink, _super);\n function EqualsLink(parent, truthyValue) {\n var _this = _super.call(this, parent.value === truthyValue) || this;\n _this.parent = parent;\n _this.truthyValue = truthyValue;\n return _this;\n }\n EqualsLink.prototype.set = function (x) {\n this.parent.set(x ? this.truthyValue : null);\n };\n return EqualsLink;\n}(Link));\n\nvar EnabledLink = (function (_super) {\n __extends(EnabledLink, _super);\n function EnabledLink(parent, defaultValue) {\n var _this = _super.call(this, parent.value != null) || this;\n _this.parent = parent;\n _this.defaultValue = defaultValue;\n return _this;\n }\n EnabledLink.prototype.set = function (x) {\n this.parent.set(x ? this.defaultValue : null);\n };\n return EnabledLink;\n}(Link));\n\nvar ContainsLink = (function (_super) {\n __extends(ContainsLink, _super);\n function ContainsLink(parent, element) {\n var _this = _super.call(this, parent.value.indexOf(element) >= 0) || this;\n _this.parent = parent;\n _this.element = element;\n return _this;\n }\n ContainsLink.prototype.set = function (x) {\n var _this = this;\n var next = Boolean(x);\n if (this.value !== next) {\n var arr = this.parent.value, nextValue = x ? arr.concat(this.element) : arr.filter(function (el) { return el !== _this.element; });\n this.parent.set(nextValue);\n }\n };\n return ContainsLink;\n}(Link));\n\nvar defaultError = 'Invalid value';\n/**\n * Link to array or object element enclosed in parent link.\n * Performs purely functional update of the parent, shallow copying its value on `set`.\n */\nvar LinkAt = (function (_super) {\n __extends(LinkAt, _super);\n function LinkAt(parent, key) {\n var _this = _super.call(this, parent.value[key]) || this;\n _this.parent = parent;\n _this.key = key;\n return _this;\n }\n LinkAt.prototype.remove = function () {\n this.parent.removeAt(this.key);\n };\n // Set new element value to parent array or object, performing purely functional update.\n LinkAt.prototype.set = function (x) {\n var _this = this;\n if (this.value !== x) {\n this.parent.update(function (value) {\n value[_this.key] = x;\n return value;\n });\n }\n };\n ;\n return LinkAt;\n}(Link));\n\n//# sourceMappingURL=link.js.map\n\n/***/ }),\n/* 19 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = helpers;\n/* unused harmony export objectHelpers */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return arrayHelpers; });\nvar ArrayProto = Array.prototype, ObjectProto = Object.prototype;\nfunction helpers(value) {\n if (value && typeof value === 'object') {\n switch (Object.getPrototypeOf(value)) {\n case ArrayProto: return arrayHelpers;\n case ObjectProto: return objectHelpers;\n }\n }\n return dummyHelpers;\n}\n// Do nothing for types other than Array and plain Object.\nvar dummyHelpers = {\n clone: function (value) { return value; },\n map: function (link, fun) { return []; },\n remove: function (value) { return value; }\n};\n// `map` and `clone` for plain JS objects\nvar objectHelpers = {\n // Map through the link to object\n map: function (link, iterator) {\n var mapped = [];\n for (var key in link.value) {\n var element = iterator(link.at(key), key);\n element === void 0 || (mapped.push(element));\n }\n return mapped;\n },\n remove: function (object, key) {\n delete object[key];\n return object;\n },\n // Shallow clone plain JS object\n clone: function (object) {\n var cloned = {};\n for (var key in object) {\n cloned[key] = object[key];\n }\n return cloned;\n }\n};\n// `map` and `clone` helpers for arrays.\nvar arrayHelpers = {\n // Shallow clone array\n clone: function (array) {\n return array.slice();\n },\n remove: function (array, i) {\n array.splice(i, 1);\n return array;\n },\n // Map through the link to array\n map: function (link, iterator) {\n var length = link.value.length, mapped = Array(length);\n for (var i = 0, j = 0; i < length; i++) {\n var y = iterator(link.at(i), i);\n y === void 0 || (mapped[j++] = y);\n }\n mapped.length === j || (mapped.length = j);\n return mapped;\n }\n};\n//# sourceMappingURL=helpers.js.map\n\n/***/ }),\n/* 20 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Component; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__define__ = __webpack_require__(4);\n/**\n * React-Type-R component base class. Overrides React component.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\nvar Component = (function (_super) {\n __extends(Component, _super);\n function Component(props, context) {\n var _this = _super.call(this, props, context) || this;\n _this._initializeState();\n return _this;\n }\n Component.prototype.linkAt = function (key) {\n // Quick and dirty hack to suppres type error - refactor later.\n return this.state.linkAt(key);\n };\n Component.prototype.linkAll = function () {\n // Quick and dirty hack to suppres type error - refactor later.\n var state = this.state;\n return state.linkAll.apply(state, arguments);\n };\n Component.prototype.linkPath = function (path) {\n return this.state.linkPath(path);\n };\n Object.defineProperty(Component.prototype, \"links\", {\n get: function () {\n return this.state._links;\n },\n enumerable: true,\n configurable: true\n });\n Component.prototype._initializeState = function () {\n this.state = null;\n };\n Component.prototype.assignToState = function (x, key) {\n this.state.assignFrom((_a = {}, _a[key] = x, _a));\n var _a;\n };\n Component.prototype.componentWillUnmount = function () {\n this.dispose();\n };\n /**\n * Performs transactional update for both props and state.\n * Suppress updates during the transaction, and force update aftewards.\n * Wrapping the sequence of changes in a transactions guarantees that\n * React component will be updated _after_ all the changes to the\n * both props and local state are applied.\n */\n Component.prototype.transaction = function (fun) {\n var shouldComponentUpdate = this.shouldComponentUpdate, isRoot = shouldComponentUpdate !== returnFalse;\n if (isRoot) {\n this.shouldComponentUpdate = returnFalse;\n }\n var _a = this, state = _a.state, store = _a.store, withStore = store ? function (state) { return store.transaction(function () { return fun(state); }); } : fun;\n state ? state.transaction(withStore) : withStore(state);\n if (isRoot) {\n this.shouldComponentUpdate = shouldComponentUpdate;\n this.asyncUpdate();\n }\n };\n // Safe version of the forceUpdate suitable for asynchronous callbacks.\n Component.prototype.asyncUpdate = function () {\n this.shouldComponentUpdate === returnFalse || this._disposed || this.forceUpdate();\n };\n return Component;\n}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]));\nComponent.onDefine = __WEBPACK_IMPORTED_MODULE_2__define__[\"d\" /* default */];\nComponent = __decorate([\n Object(__WEBPACK_IMPORTED_MODULE_1_type_r__[\"define\"])({\n PropsChangeTokens: __WEBPACK_IMPORTED_MODULE_2__define__[\"b\" /* EmptyPropsChangeTokensCtor */]\n }),\n Object(__WEBPACK_IMPORTED_MODULE_1_type_r__[\"definitions\"])({\n // Definitions to be extracted from mixins and statics and passed to `onDefine()`\n state: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].merge,\n State: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].value,\n store: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].merge,\n Store: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].value,\n props: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].merge,\n context: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].merge,\n childContext: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].merge,\n pureRender: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].protoValue\n }),\n Object(__WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"])({\n // Apply old-school React mixin rules.\n componentWillMount: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classLast,\n componentDidMount: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classLast,\n componentWillReceiveProps: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classLast,\n componentWillUpdate: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classLast,\n componentDidUpdate: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classLast,\n componentWillUnmount: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classFirst,\n // And a bit more to fix inheritance quirks.\n shouldComponentUpdate: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].some,\n getChildContext: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].defaults\n })\n // Component can send and receive events...\n ,\n Object(__WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixins\"])(__WEBPACK_IMPORTED_MODULE_1_type_r__[\"Messenger\"])\n], Component);\n\nfunction returnFalse() { return false; }\n// Looks like React guys _really_ want to deprecate it. But no way.\n// We will work around their attempt.\nObject.defineProperty(Component.prototype, 'isMounted', {\n value: function isMounted() {\n return !this._disposed;\n }\n});\n//# sourceMappingURL=component.js.map\n\n/***/ }),\n/* 21 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\nvar notEqual = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].notEqual;\nvar BackboneView = (function (_super) {\n __extends(BackboneView, _super);\n function BackboneView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.saveRef = function (element) {\n _this.root = element;\n };\n return _this;\n }\n BackboneView.prototype.shouldComponentUpdate = function (next) {\n var props = this.props;\n return next.View !== props.View || notEqual(next.options, props.options);\n };\n BackboneView.prototype.hasUnsavedChanges = function () {\n var view = this.view;\n return view && (typeof view.hasUnsavedChanges === 'function' ? view.hasUnsavedChanges() : view.hasUnsavedChanges);\n };\n BackboneView.prototype.render = function () {\n return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"f\" /* default */].createElement('div', {\n ref: this.saveRef,\n className: this.props.className\n });\n };\n BackboneView.prototype.componentDidMount = function () {\n this._mountView();\n };\n BackboneView.prototype.componentDidUpdate = function () {\n this._dispose();\n this._mountView();\n };\n BackboneView.prototype.componentWillUnmount = function () {\n this._dispose();\n };\n BackboneView.prototype._mountView = function () {\n var el = this.root, p = this.props;\n var view = this.view = p.options ? new p.View(p.options) : new p.View();\n el.appendChild(view.el);\n view.render();\n };\n BackboneView.prototype._dispose = function () {\n var view = this.view;\n if (view) {\n if (view.dispose) {\n view.dispose();\n }\n else {\n view.stopListening();\n view.off();\n }\n this.root.innerHTML = \"\";\n this.view = null;\n }\n };\n return BackboneView;\n}(__WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\" /* Component */]));\n/* harmony default export */ __webpack_exports__[\"a\"] = (BackboneView);\n//# sourceMappingURL=view-element.js.map\n\n/***/ }),\n/* 22 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = use;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__);\n\n\n\nwindow.Page || (window.Page = { forceResize: function () { } });\nfunction use(View) {\n var dispose = View.prototype.dispose || function () { }, setElement = View.prototype.setElement;\n var ComponentView = View.extend({\n reactClass: null,\n props: {},\n element: null,\n initialize: function (props) {\n // memorise arguments to pass to React\n this.options = props || {};\n },\n setElement: function () {\n this.unmountComponent(true);\n return setElement.apply(this, arguments);\n },\n // cached instance of react component...\n component: null,\n prevState: null,\n resize: function () {\n window.Page.forceResize();\n },\n render: function () {\n var options = this.prevState ? __WEBPACK_IMPORTED_MODULE_2_type_r__[\"tools\"].fastAssign({ __keepState: this.prevState }, this.options) : this.options, element = __WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"](this.reactClass, options), component = __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.render(element, this.el);\n this.component || this.mountComponent(component);\n },\n mountComponent: function (component) {\n this.component = component;\n this.prevState = null;\n component.trigger && this.listenTo(component, 'all', function () {\n this.trigger.apply(this, arguments);\n });\n },\n unmountComponent: function (keepModel) {\n var component = this.component;\n if (component) {\n this.prevState = component.state;\n if (component.trigger) {\n this.stopListening(component);\n }\n component._preventDispose = Boolean(keepModel);\n __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.unmountComponentAtNode(this.el);\n this.component = null;\n }\n },\n dispose: function () {\n this.unmountComponent();\n return dispose.apply(this, arguments);\n }\n });\n Object.defineProperty(ComponentView.prototype, 'model', {\n get: function () {\n this.component || this.render();\n return this.component && this.component.state;\n }\n });\n return ComponentView;\n}\n//# sourceMappingURL=component-view.js.map\n\n/***/ }),\n/* 23 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = createClass;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1);\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\n\nvar dontAutobind = [\n 'State', 'Store', 'constructor',\n 'componentWillMount', 'componentDidMount', 'componentWillReceiveProps', 'shouldComponentUpdate',\n 'componentWillUpdate', 'componentDidUpdate', 'componentWillUnmount',\n 'render', 'getDefaultProps', 'getChildContext'\n];\n/**\n * ES5 components definition factory\n */\nfunction createClass(_a) {\n var statics = _a.statics, a_spec = __rest(_a, [\"statics\"]);\n // Gather all methods to pin them to `this` later.\n var methods = [];\n var Subclass = __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\" /* Component */].extend(__assign({ \n // Override constructor to autobind all the methods...\n constructor: function () {\n __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\" /* Component */].apply(this, arguments);\n for (var _i = 0, methods_1 = methods; _i < methods_1.length; _i++) {\n var method = methods_1[_i];\n this[method] = this[method].bind(this);\n }\n } }, a_spec), statics);\n // Need to bind methods from mixins as well, so populate it here.\n var Proto = Subclass.prototype;\n for (var key in Proto) {\n if (Proto.hasOwnProperty(key) && dontAutobind.indexOf(key) === -1 && typeof Proto[key] === 'function') {\n methods.push(key);\n }\n }\n return Subclass;\n}\n//# sourceMappingURL=createClass.js.map\n\n/***/ })\n/******/ ]);\n});\n\n\n// WEBPACK FOOTER //\n// dist/index.min.js"," \t// The module cache\n \tvar installedModules = {};\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, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\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 = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 9);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 5aa10213c42c439c84d3","module.exports = __WEBPACK_EXTERNAL_MODULE_0__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"commonjs\":\"nestedtypes\",\"commonjs2\":\"nestedtypes\",\"amd\":\"nestedtypes\",\"root\":\"Nested\"}\n// module id = 0\n// module chunks = 0","import * as React from 'react';\nimport { define, mixins } from 'type-r';\nimport { Node, Element } from './define';\nimport Link from './link';\nimport { Component } from './component';\n// extend React namespace\nvar ReactMVx = Object.create(React);\n// Make it compatible with ES6 module format.\nReactMVx.default = ReactMVx;\n// listenToProps, listenToState, model, attributes, Model\nReactMVx.define = define;\nReactMVx.mixins = mixins;\nReactMVx.Node = Node.value(null);\nReactMVx.Element = Element.value(null);\nReactMVx.Link = Link;\nReactMVx.Component = Component;\nvar assignToState = ReactMVx.assignToState = function (key) {\n return function (prop) {\n this.state.assignFrom((_a = {}, _a[key] = prop && prop instanceof Link ? prop.value : prop, _a));\n var _a;\n };\n};\nexport default ReactMVx;\nexport { define, mixins, Node, Element, Link, Component, assignToState };\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/index.js\n// module id = 1\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"commonjs\":\"react\",\"commonjs2\":\"react\",\"amd\":\"react\",\"root\":\"React\"}\n// module id = 2\n// module chunks = 0","import * as PropTypes from 'prop-types';\nimport { Record } from 'type-r';\nexport function compileSpecs(props) {\n var propTypes = {}, \n // Create NestedTypes model definition to process props spec.\n modelProto = Record.defaults(props).prototype;\n var defaults, watchers, changeHandlers;\n modelProto.forEachAttr(modelProto._attributes, function (spec, name) {\n // Skip auto-generated `id` attribute.\n if (name !== 'id') {\n var value = spec.value, type = spec.type, options = spec.options;\n // Translate props type to the propTypes guard.\n propTypes[name] = translateType(type, options.isRequired);\n if (options._onChange) {\n watchers || (watchers = {});\n watchers[name] = toLocalWatcher(options._onChange);\n }\n // Handle listening to event maps...\n if (options.changeHandlers && options.changeHandlers.length) {\n changeHandlers || (changeHandlers = {});\n changeHandlers[name] = options.changeHandlers;\n }\n // Handle listening to props changes...\n if (options.changeEvents) {\n changeHandlers || (changeHandlers = {});\n var handlers = changeHandlers[name] || (changeHandlers[name] = []), changeEvents_1 = typeof options.changeEvents === 'string' ? options.changeEvents : null;\n handlers.push(function (next, prev, component) {\n prev && component.stopListening(prev);\n next && component.listenTo(next, changeEvents_1 || next._changeEventName, component.asyncUpdate);\n });\n }\n // If default value is explicitly provided...\n if (value !== void 0) {\n //...append it to getDefaultProps function.\n defaults || (defaults = {});\n defaults[name] = spec.convert(value, void 0, null, {});\n }\n }\n });\n return { propTypes: propTypes, defaults: defaults, watchers: watchers, changeHandlers: changeHandlers };\n}\nfunction toLocalWatcher(ref) {\n return typeof ref === 'function' ? ref : function (value, name) {\n this[ref] && this[ref](value, name);\n };\n}\nvar Node = (function () {\n function Node() {\n }\n return Node;\n}());\nexport { Node };\nvar Element = (function () {\n function Element() {\n }\n return Element;\n}());\nexport { Element };\nfunction translateType(Type, isRequired) {\n var T = _translateType(Type);\n return isRequired ? T.isRequired : T;\n}\nfunction _translateType(Type) {\n switch (Type) {\n case Number:\n case Number.integer:\n return PropTypes.number;\n case String:\n return PropTypes.string;\n case Boolean:\n return PropTypes.bool;\n case Array:\n return PropTypes.array;\n case Function:\n return PropTypes.func;\n case Object:\n return PropTypes.object;\n case Node:\n return PropTypes.node;\n case Element:\n return PropTypes.element;\n case void 0:\n case null:\n return PropTypes.any;\n default:\n return PropTypes.instanceOf(Type);\n }\n}\n//# sourceMappingURL=typeSpecs.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/typeSpecs.js\n// module id = 3\n// module chunks = 0","import { Messenger } from 'type-r';\nimport onDefineStore from './store';\nimport onDefineState from './state';\nimport onDefineContext from './context';\nimport onDefineProps from './props';\nexport default function onDefine(definition, BaseClass) {\n // Initialize mixins placeholder...\n onDefineStore.call(this, definition, BaseClass);\n onDefineState.call(this, definition, BaseClass);\n onDefineContext.call(this, definition, BaseClass);\n onDefineProps.call(this, definition, BaseClass);\n Messenger.onDefine.call(this, definition, BaseClass);\n}\n;\nexport { Node, Element } from './typeSpecs';\nexport { EmptyPropsChangeTokensCtor } from './pureRender';\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/index.js\n// module id = 4\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n/*****************\n * State\n */\nimport { define, Record, Store } from 'type-r';\nexport default function process(definition, BaseComponentClass) {\n var prototype = this.prototype;\n var state = definition.state, State = definition.State;\n if (typeof state === 'function') {\n State = state;\n state = void 0;\n }\n if (state) {\n var BaseClass = State || prototype.State || Record;\n var ComponentState = (function (_super) {\n __extends(ComponentState, _super);\n function ComponentState() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return ComponentState;\n }(BaseClass));\n ComponentState.attributes = state;\n ComponentState = __decorate([\n define\n ], ComponentState);\n prototype.State = ComponentState;\n }\n else if (State) {\n prototype.State = State;\n }\n if (state || State) {\n this.mixins.merge([StateMixin, UpdateOnNestedChangesMixin]);\n }\n}\nexport var StateMixin = {\n //state : null,\n _initializeState: function () {\n // props.__keepState is used to workaround issues in Backbone intergation layer\n var state = this.state = this.props.__keepState || new this.State();\n // Take ownership on state...\n state._owner = this;\n state._ownerKey = 'state';\n },\n context: {\n _nestedStore: Store\n },\n // reference global store to fix model's store locator\n getStore: function () {\n // Attempt to get the store from the context first. Then - fallback to the state's default store.\n // TBD: Need to figure out a good way of managing local stores.\n var context, state;\n return ((context = this.context) && context._nestedStore) ||\n ((state = this.state) && state._defaultStore);\n },\n componentWillUnmount: function () {\n var state = this.state;\n state._owner = state._ownerKey = void 0;\n this._preventDispose /* hack for component-view to preserve the state */ || state.dispose();\n this.state = void 0;\n }\n};\nexport var UpdateOnNestedChangesMixin = {\n _onChildrenChange: function () { },\n componentDidMount: function () {\n this._onChildrenChange = this.asyncUpdate;\n }\n};\n//# sourceMappingURL=state.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/state.js\n// module id = 5\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/prop-types/index.js\n// module id = 6\n// module chunks = 0","export function createChangeTokensConstructor(props) {\n var propNames = Object.keys(props);\n var PropsChangeTokens = new Function('p', 's', \"\\n var v;\\n this._s = s && s._changeToken;\\n \" + propNames.map(function (name) { return \"\\n this.\" + name + \" = ( ( v = p.\" + name + \") && v._changeToken ) || v;\\n \"; }).join('') + \"\\n \");\n PropsChangeTokens.prototype._hasChanges = new Function('p', 's', \"\\n var v;\\n return ( s && s._changeToken !== this._s ) \" + propNames.map(function (name) { return \" ||\\n this.\" + name + \" !== ( ( ( v = p.\" + name + \") && v._changeToken ) || v )\\n \"; }).join('') + \";\\n \");\n return PropsChangeTokens;\n}\n;\nexport var EmptyPropsChangeTokensCtor = createChangeTokensConstructor({});\nexport var PureRenderMixin = {\n shouldComponentUpdate: function (nextProps) {\n return this._propsChangeTokens._hasChanges(nextProps);\n },\n componentDidMount: updateChangeTokens,\n componentDidUpdate: updateChangeTokens\n};\nfunction updateChangeTokens() {\n this._propsChangeTokens = new this.PropsChangeTokens(this.props, this.state);\n}\n//# sourceMappingURL=pureRender.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/pureRender.js\n// module id = 7\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_8__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"commonjs\":\"react-dom\",\"commonjs2\":\"react-dom\",\"amd\":\"react-dom\",\"root\":\"ReactDOM\"}\n// module id = 8\n// module chunks = 0","// Re-export react-mvx\nimport ReactMVx from './react-mvx';\nvar NestedReact = Object.create(ReactMVx);\nexport default NestedReact;\nexport * from './react-mvx';\n// NestedReact backward compatibility layer\nimport ReactDOM from 'react-dom';\nimport Nested, { View, Record } from 'type-r';\nimport * as PropTypes from 'prop-types';\nimport subview from './view-element';\nNestedReact.subview = subview;\nexport { subview };\nimport use from './component-view';\nimport createClass from './createClass';\nNestedReact.createClass = createClass;\nObject.defineProperty(NestedReact, 'PropTypes', { value: PropTypes });\nexport { PropTypes, createClass };\nvar BaseView;\n// export hook to override base View class used...\nexport function useView(View) {\n BaseView = use(View);\n}\nvar onDefine = NestedReact.Component.onDefine;\nNestedReact.Component.onDefine = function (definitions, BaseClass) {\n this.View = BaseView.extend({ reactClass: this });\n return onDefine.call(this, definitions, BaseClass);\n};\n// Deprecated API for backward compatibility\nvar RecordProto = Record.prototype;\nRecordProto.getLink = RecordProto.linkAt;\nRecordProto.deepLink = RecordProto.linkPath;\nvar CollectionProto = Record.Collection.prototype;\nCollectionProto.hasLink = CollectionProto.linkContains;\nuseView(View);\n// Extend react components to have backbone-style jquery accessors\nvar BackboneViewProps = {\n el: { get: function () { return ReactDOM.findDOMNode(this); } },\n $el: { get: function () { return Nested.$(this.el); } },\n $: { value: function (sel) { return this.$el.find(sel); } }\n};\nObject.defineProperties(NestedReact.Component.prototype, BackboneViewProps);\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/index.js\n// module id = 9\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { define, Store } from 'type-r';\nimport { StateMixin, UpdateOnNestedChangesMixin } from './state';\nexport default function onDefine(definition, BaseClass) {\n var store = definition.store, StoreClass = definition.Store;\n if (store && store instanceof Store) {\n // Direct reference to an existing store. Put it to the prototype.\n this.prototype.store = store;\n this.mixins.merge([ExternalStoreMixin, ExposeStoreMixin]);\n }\n else if (store || definition.Store) {\n if (typeof store === 'function') {\n StoreClass = store;\n store = void 0;\n }\n if (store) {\n var BaseClass_1 = StoreClass || this.prototype.Store || Store;\n var InternalStore = (function (_super) {\n __extends(InternalStore, _super);\n function InternalStore() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return InternalStore;\n }(BaseClass_1));\n InternalStore.attrbutes = store;\n InternalStore = __decorate([\n define\n ], InternalStore);\n ;\n this.prototype.Store = InternalStore;\n }\n else if (StoreClass) {\n this.prototype.Store = StoreClass;\n }\n this.mixins.merge([InternalStoreMixin, UpdateOnNestedChangesMixin, ExposeStoreMixin]);\n }\n}\n/**\n * Attached whenever the store declaration of any form is present in the component.\n */\nvar ExposeStoreMixin = {\n childContext: {\n _nestedStore: Store\n },\n getChildContext: function () {\n return { _nestedStore: this.store };\n },\n getStore: function () {\n return this.store;\n },\n // Will be called by the store when the lookup will fail.\n get: function (key) {\n // Ask upper store.\n var store = StateMixin.getStore.call(this, key);\n return store && store.get(key);\n }\n};\n/**\n * External store must just track the changes and trigger render.\n * TBD: don't use it yet.\n */\nvar ExternalStoreMixin = {\n componentDidMount: function () {\n // Start UI updates on state changes.\n this.listenTo(this.store, 'change', this.asyncUpdate);\n }\n};\nvar InternalStoreMixin = {\n componentWillMount: function () {\n var store = this.store = new this.Store();\n store._owner = this;\n store._ownerKey = 'store';\n },\n componentWillUnmount: function () {\n this.store._ownerKey = this.store._owner = void 0;\n this.store.dispose();\n this.store = void 0;\n }\n};\n//# sourceMappingURL=store.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/store.js\n// module id = 10\n// module chunks = 0","import { compileSpecs } from './typeSpecs';\nimport { tools } from 'type-r';\nexport default function onDefine(_a, BaseClass) {\n var context = _a.context, childContext = _a.childContext;\n var prototype = this.prototype;\n if (context) {\n // Merge in inherited members...\n prototype._context = tools.defaults(context, BaseClass.prototype._context || {});\n // Compile to propTypes...\n this.contextTypes = compileSpecs(context).propTypes;\n }\n if (childContext) {\n prototype._childContext = tools.defaults(childContext, BaseClass.prototype._childContext);\n this.childContextTypes = compileSpecs(childContext).propTypes;\n }\n}\n//# sourceMappingURL=context.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/context.js\n// module id = 11\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\nvar invariant = require('fbjs/lib/invariant');\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n invariant(\n false,\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim\n };\n\n ReactPropTypes.checkPropTypes = emptyFunction;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/prop-types/factoryWithThrowingShims.js\n// module id = 12\n// module chunks = 0","\"use strict\";\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/fbjs/lib/emptyFunction.js\n// module id = 13\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (process.env.NODE_ENV !== 'production') {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/fbjs/lib/invariant.js\n// module id = 14\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/prop-types/lib/ReactPropTypesSecret.js\n// module id = 15\n// module chunks = 0","/**\n * Handle props specification and everything which is related:\n * - local listening to props changes\n * - pure render mixin\n */\nimport { compileSpecs } from './typeSpecs';\nimport { PureRenderMixin, createChangeTokensConstructor } from './pureRender';\nimport { tools } from 'type-r';\nexport default function onDefine(_a, BaseClass) {\n var props = _a.props, pureRender = _a.pureRender;\n var prototype = this.prototype;\n // process props spec...\n if (props) {\n // Merge with inherited members...\n prototype._props = tools.defaults(props, BaseClass.prototype._props || {});\n var _b = compileSpecs(props), propTypes = _b.propTypes, defaults = _b.defaults, watchers = _b.watchers, changeHandlers = _b.changeHandlers;\n this.propTypes = propTypes;\n if (defaults)\n this.defaultProps = defaults;\n if (watchers) {\n prototype._watchers = watchers;\n this.mixins.merge([WatchersMixin]);\n }\n if (changeHandlers) {\n prototype._changeHandlers = changeHandlers;\n this.mixins.merge([ChangeHandlersMixin]);\n }\n if (prototype.pureRender) {\n prototype.PropsChangeTokens = createChangeTokensConstructor(props);\n }\n }\n if (pureRender) {\n this.mixins.merge([PureRenderMixin]);\n }\n}\n/**\n * ChangeHandlers are fired in sequence upon props replacement.\n * Fires _after_ UI is updated. Used for managing events subscriptions.\n */\nvar ChangeHandlersMixin = {\n componentDidMount: function () {\n handlePropsChanges(this, {}, this.props);\n },\n componentDidUpdate: function (prev) {\n handlePropsChanges(this, prev, this.props);\n },\n componentWillUnmount: function () {\n handlePropsChanges(this, this.props, {});\n }\n};\nfunction handlePropsChanges(component, prev, next) {\n var _changeHandlers = component._changeHandlers;\n for (var name_1 in _changeHandlers) {\n if (prev[name_1] !== next[name_1]) {\n for (var _i = 0, _a = _changeHandlers[name_1]; _i < _a.length; _i++) {\n var handler = _a[_i];\n handler(next[name_1], prev[name_1], component);\n }\n }\n }\n}\n/**\n * Watchers works on props replacement and fires _before_ any change will be applied and UI is updated.\n * Fired in componentWillMount as well, which makes it a nice way to sync state from props.\n */\nvar WatchersMixin = {\n componentWillReceiveProps: function (next) {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_2 in _watchers) {\n if (next[name_2] !== props[name_2]) {\n _watchers[name_2].call(this, next[name_2], name_2);\n }\n }\n },\n componentWillMount: function () {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_3 in _watchers) {\n _watchers[name_3].call(this, props[name_3], name_3);\n }\n }\n};\n//# sourceMappingURL=props.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/props.js\n// module id = 16\n// module chunks = 0","/**\n * Import ValueLink library\n * Define value links binding mixins to the Record and Collection\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { Mixable, MixinsState, Record } from 'type-r';\nimport { Link } from './valuelink/link';\nexport default Link;\nMixable.mixins.populate(Link);\n/**\n * Record\n */\nMixinsState.get(Record).merge([{\n // Link to the record's attribute by its key.\n linkAt: function (key) {\n return cacheLink(getLinksCache(this), this, key);\n },\n // Link to the attribute of the record's tree by symbolic path.\n linkPath: function (path, options) {\n return new RecordDeepLink(this, path, options);\n },\n // Link all (or listed) attributes and return links cache.\n linkAll: function () {\n var links = getLinksCache(this);\n if (arguments.length) {\n for (var i = 0; i < arguments.length; i++) {\n cacheLink(links, this, arguments[i]);\n }\n }\n else {\n var attributes = this.attributes;\n for (var key in attributes) {\n attributes[key] === void 0 || cacheLink(links, this, key);\n }\n }\n return links;\n }\n }]);\n/**\n * Link to Type-R's record attribute.\n * Strict evaluation of value, lazy evaluation of validation error.\n * Links are cached in the records\n */\nvar RecordLink = (function (_super) {\n __extends(RecordLink, _super);\n function RecordLink(record, attr, value) {\n var _this = _super.call(this, value) || this;\n _this.record = record;\n _this.attr = attr;\n return _this;\n }\n RecordLink.prototype.set = function (x) {\n this.record[this.attr] = x;\n };\n Object.defineProperty(RecordLink.prototype, \"error\", {\n get: function () {\n return this._error === void 0 ?\n this.record.getValidationError(this.attr) :\n this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n return RecordLink;\n}(Link));\nvar RecordDeepLink = (function (_super) {\n __extends(RecordDeepLink, _super);\n function RecordDeepLink(record, path, options) {\n var _this = _super.call(this, record.deepGet(path)) || this;\n _this.record = record;\n _this.path = path;\n _this.options = options;\n return _this;\n }\n Object.defineProperty(RecordDeepLink.prototype, \"error\", {\n get: function () {\n if (this._error === void 0) {\n this._error = this.record.deepValidationError(this.path) || null;\n }\n return this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(RecordDeepLink.prototype, \"_changeToken\", {\n get: function () {\n return this.record._changeToken;\n },\n enumerable: true,\n configurable: true\n });\n RecordDeepLink.prototype.set = function (x) {\n this.record.deepSet(this.path, x, this.options);\n };\n return RecordDeepLink;\n}(Link));\nfunction getLinksCache(record) {\n return record._links || (record._links = new record.AttributesCopy({}));\n}\nfunction cacheLink(links, record, key) {\n var cached = links[key], value = record[key];\n return cached && cached.value === value ? cached\n : links[key] = new RecordLink(record, key, value);\n}\n/***********************************\n * Collection\n */\nMixinsState.get(Record.Collection).merge([{\n // Boolean link to the record's presence in the collection\n linkContains: function (record) {\n return new CollectionLink(this, record);\n },\n // Link to collection's property\n linkAt: function (prop) {\n var _this = this;\n return Link.value(this[prop], function (x) { return _this[prop] = x; });\n }\n }]);\n/**\n * Boolean link to presence of NestedType's record in collection.\n * Strict evaluation of value, no error.\n * Safe implementation of _changeToken.\n */\nvar CollectionLink = (function (_super) {\n __extends(CollectionLink, _super);\n function CollectionLink(collection, record) {\n var _this = _super.call(this, Boolean(collection._byId[record.cid])) || this;\n _this.collection = collection;\n _this.record = record;\n return _this;\n }\n CollectionLink.prototype.set = function (x) {\n this.collection.toggle(this.record, x);\n };\n return CollectionLink;\n}(Link));\n//# sourceMappingURL=link.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/link.js\n// module id = 17\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * Advanced React links for purely functional two-way data binding\n *\n * MIT License, (c) 2016 Vlad Balin, Volicon.\n */\nimport { helpers, arrayHelpers } from './helpers';\n// Main Link class. All links must extend it.\nvar Link = (function () {\n // create \n function Link(value) {\n this.value = value;\n }\n // Create custom link to arbitrary value\n Link.value = function (value, set) {\n return new CustomLink(value, set);\n };\n Object.defineProperty(Link.prototype, \"validationError\", {\n // DEPRECATED: Old error holder for backward compatibility with Volicon code base\n get: function () { return this.error; },\n enumerable: true,\n configurable: true\n });\n Link.prototype.onChange = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n handler(x);\n _this.set(x);\n });\n };\n Object.defineProperty(Link.prototype, \"props\", {\n // \n get: function () {\n var _this = this;\n return typeof this.value === 'boolean' ? {\n checked: this.value,\n onChange: function (e) { return _this.set(Boolean(e.target.checked)); }\n } : {\n value: this.value,\n onChange: function (e) { return _this.set(e.target.value); }\n };\n },\n enumerable: true,\n configurable: true\n });\n // DEPRECATED: Old React method for backward compatibility\n Link.prototype.requestChange = function (x) {\n this.set(x);\n };\n // Immediately update the link value using given transform function.\n Link.prototype.update = function (transform, e) {\n var next = transform(this.clone(), e);\n next === void 0 || this.set(next);\n };\n // Create new link which applies transform function on set.\n Link.prototype.pipe = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n var next = handler(x, _this.value);\n next === void 0 || _this.set(next);\n });\n };\n // Create UI event handler function which will update the link with a given transform function.\n Link.prototype.action = function (transform) {\n var _this = this;\n return function (e) { return _this.update(transform, e); };\n };\n Link.prototype.equals = function (truthyValue) {\n return new EqualsLink(this, truthyValue);\n };\n Link.prototype.enabled = function (defaultValue) {\n return new EnabledLink(this, defaultValue || \"\");\n };\n // Array-only links methods\n Link.prototype.contains = function (element) {\n return new ContainsLink(this, element);\n };\n Link.prototype.push = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.push.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.unshift = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.unshift.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.splice = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.splice.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.map = function (iterator) {\n return helpers(this.value).map(this, iterator);\n };\n Link.prototype.removeAt = function (key) {\n var value = this.value, _ = helpers(value);\n this.set(_.remove(_.clone(value), key));\n };\n Link.prototype.at = function (key) {\n return new LinkAt(this, key);\n };\n Link.prototype.clone = function () {\n var value = this.value;\n return helpers(value).clone(value);\n };\n Link.prototype.pick = function () {\n var links = {};\n for (var i = 0; i < arguments.length; i++) {\n var key = arguments[i];\n links[key] = new LinkAt(this, key);\n }\n return links;\n };\n /**\n * Validate link with validness predicate and optional custom error object. Can be chained.\n */\n Link.prototype.check = function (whenValid, error) {\n if (!this.error && !whenValid(this.value)) {\n this.error = error || whenValid.error || defaultError;\n }\n return this;\n };\n return Link;\n}());\nexport { Link };\nvar CustomLink = (function (_super) {\n __extends(CustomLink, _super);\n function CustomLink(value, set) {\n var _this = _super.call(this, value) || this;\n _this.set = set;\n return _this;\n }\n CustomLink.prototype.set = function (x) { };\n return CustomLink;\n}(Link));\nexport { CustomLink };\nvar CloneLink = (function (_super) {\n __extends(CloneLink, _super);\n function CloneLink(parent, set) {\n var _this = _super.call(this, parent.value) || this;\n _this.set = set;\n var error = parent.error;\n if (error)\n _this.error = error;\n return _this;\n }\n CloneLink.prototype.set = function (x) { };\n return CloneLink;\n}(Link));\nexport { CloneLink };\nvar EqualsLink = (function (_super) {\n __extends(EqualsLink, _super);\n function EqualsLink(parent, truthyValue) {\n var _this = _super.call(this, parent.value === truthyValue) || this;\n _this.parent = parent;\n _this.truthyValue = truthyValue;\n return _this;\n }\n EqualsLink.prototype.set = function (x) {\n this.parent.set(x ? this.truthyValue : null);\n };\n return EqualsLink;\n}(Link));\nexport { EqualsLink };\nvar EnabledLink = (function (_super) {\n __extends(EnabledLink, _super);\n function EnabledLink(parent, defaultValue) {\n var _this = _super.call(this, parent.value != null) || this;\n _this.parent = parent;\n _this.defaultValue = defaultValue;\n return _this;\n }\n EnabledLink.prototype.set = function (x) {\n this.parent.set(x ? this.defaultValue : null);\n };\n return EnabledLink;\n}(Link));\nexport { EnabledLink };\nvar ContainsLink = (function (_super) {\n __extends(ContainsLink, _super);\n function ContainsLink(parent, element) {\n var _this = _super.call(this, parent.value.indexOf(element) >= 0) || this;\n _this.parent = parent;\n _this.element = element;\n return _this;\n }\n ContainsLink.prototype.set = function (x) {\n var _this = this;\n var next = Boolean(x);\n if (this.value !== next) {\n var arr = this.parent.value, nextValue = x ? arr.concat(this.element) : arr.filter(function (el) { return el !== _this.element; });\n this.parent.set(nextValue);\n }\n };\n return ContainsLink;\n}(Link));\nexport { ContainsLink };\nvar defaultError = 'Invalid value';\n/**\n * Link to array or object element enclosed in parent link.\n * Performs purely functional update of the parent, shallow copying its value on `set`.\n */\nvar LinkAt = (function (_super) {\n __extends(LinkAt, _super);\n function LinkAt(parent, key) {\n var _this = _super.call(this, parent.value[key]) || this;\n _this.parent = parent;\n _this.key = key;\n return _this;\n }\n LinkAt.prototype.remove = function () {\n this.parent.removeAt(this.key);\n };\n // Set new element value to parent array or object, performing purely functional update.\n LinkAt.prototype.set = function (x) {\n var _this = this;\n if (this.value !== x) {\n this.parent.update(function (value) {\n value[_this.key] = x;\n return value;\n });\n }\n };\n ;\n return LinkAt;\n}(Link));\nexport { LinkAt };\n//# sourceMappingURL=link.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/valuelink/link.js\n// module id = 18\n// module chunks = 0","var ArrayProto = Array.prototype, ObjectProto = Object.prototype;\nexport function helpers(value) {\n if (value && typeof value === 'object') {\n switch (Object.getPrototypeOf(value)) {\n case ArrayProto: return arrayHelpers;\n case ObjectProto: return objectHelpers;\n }\n }\n return dummyHelpers;\n}\n// Do nothing for types other than Array and plain Object.\nvar dummyHelpers = {\n clone: function (value) { return value; },\n map: function (link, fun) { return []; },\n remove: function (value) { return value; }\n};\n// `map` and `clone` for plain JS objects\nexport var objectHelpers = {\n // Map through the link to object\n map: function (link, iterator) {\n var mapped = [];\n for (var key in link.value) {\n var element = iterator(link.at(key), key);\n element === void 0 || (mapped.push(element));\n }\n return mapped;\n },\n remove: function (object, key) {\n delete object[key];\n return object;\n },\n // Shallow clone plain JS object\n clone: function (object) {\n var cloned = {};\n for (var key in object) {\n cloned[key] = object[key];\n }\n return cloned;\n }\n};\n// `map` and `clone` helpers for arrays.\nexport var arrayHelpers = {\n // Shallow clone array\n clone: function (array) {\n return array.slice();\n },\n remove: function (array, i) {\n array.splice(i, 1);\n return array;\n },\n // Map through the link to array\n map: function (link, iterator) {\n var length = link.value.length, mapped = Array(length);\n for (var i = 0, j = 0; i < length; i++) {\n var y = iterator(link.at(i), i);\n y === void 0 || (mapped[j++] = y);\n }\n mapped.length === j || (mapped.length = j);\n return mapped;\n }\n};\n//# sourceMappingURL=helpers.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/valuelink/helpers.js\n// module id = 19\n// module chunks = 0","/**\n * React-Type-R component base class. Overrides React component.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport * as React from 'react';\nimport { mixinRules, define, mixins, definitions, Messenger } from 'type-r';\nimport onDefine, { EmptyPropsChangeTokensCtor } from './define';\nvar Component = (function (_super) {\n __extends(Component, _super);\n function Component(props, context) {\n var _this = _super.call(this, props, context) || this;\n _this._initializeState();\n return _this;\n }\n Component.prototype.linkAt = function (key) {\n // Quick and dirty hack to suppres type error - refactor later.\n return this.state.linkAt(key);\n };\n Component.prototype.linkAll = function () {\n // Quick and dirty hack to suppres type error - refactor later.\n var state = this.state;\n return state.linkAll.apply(state, arguments);\n };\n Component.prototype.linkPath = function (path) {\n return this.state.linkPath(path);\n };\n Object.defineProperty(Component.prototype, \"links\", {\n get: function () {\n return this.state._links;\n },\n enumerable: true,\n configurable: true\n });\n Component.prototype._initializeState = function () {\n this.state = null;\n };\n Component.prototype.assignToState = function (x, key) {\n this.state.assignFrom((_a = {}, _a[key] = x, _a));\n var _a;\n };\n Component.prototype.componentWillUnmount = function () {\n this.dispose();\n };\n /**\n * Performs transactional update for both props and state.\n * Suppress updates during the transaction, and force update aftewards.\n * Wrapping the sequence of changes in a transactions guarantees that\n * React component will be updated _after_ all the changes to the\n * both props and local state are applied.\n */\n Component.prototype.transaction = function (fun) {\n var shouldComponentUpdate = this.shouldComponentUpdate, isRoot = shouldComponentUpdate !== returnFalse;\n if (isRoot) {\n this.shouldComponentUpdate = returnFalse;\n }\n var _a = this, state = _a.state, store = _a.store, withStore = store ? function (state) { return store.transaction(function () { return fun(state); }); } : fun;\n state ? state.transaction(withStore) : withStore(state);\n if (isRoot) {\n this.shouldComponentUpdate = shouldComponentUpdate;\n this.asyncUpdate();\n }\n };\n // Safe version of the forceUpdate suitable for asynchronous callbacks.\n Component.prototype.asyncUpdate = function () {\n this.shouldComponentUpdate === returnFalse || this._disposed || this.forceUpdate();\n };\n return Component;\n}(React.Component));\nComponent.onDefine = onDefine;\nComponent = __decorate([\n define({\n PropsChangeTokens: EmptyPropsChangeTokensCtor\n }),\n definitions({\n // Definitions to be extracted from mixins and statics and passed to `onDefine()`\n state: mixinRules.merge,\n State: mixinRules.value,\n store: mixinRules.merge,\n Store: mixinRules.value,\n props: mixinRules.merge,\n context: mixinRules.merge,\n childContext: mixinRules.merge,\n pureRender: mixinRules.protoValue\n }),\n mixinRules({\n // Apply old-school React mixin rules.\n componentWillMount: mixinRules.classLast,\n componentDidMount: mixinRules.classLast,\n componentWillReceiveProps: mixinRules.classLast,\n componentWillUpdate: mixinRules.classLast,\n componentDidUpdate: mixinRules.classLast,\n componentWillUnmount: mixinRules.classFirst,\n // And a bit more to fix inheritance quirks.\n shouldComponentUpdate: mixinRules.some,\n getChildContext: mixinRules.defaults\n })\n // Component can send and receive events...\n ,\n mixins(Messenger)\n], Component);\nexport { Component };\nfunction returnFalse() { return false; }\n// Looks like React guys _really_ want to deprecate it. But no way.\n// We will work around their attempt.\nObject.defineProperty(Component.prototype, 'isMounted', {\n value: function isMounted() {\n return !this._disposed;\n }\n});\n//# sourceMappingURL=component.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/component.js\n// module id = 20\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport React, { Component } from './react-mvx';\nimport { tools } from 'type-r';\nvar notEqual = tools.notEqual;\nvar BackboneView = (function (_super) {\n __extends(BackboneView, _super);\n function BackboneView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.saveRef = function (element) {\n _this.root = element;\n };\n return _this;\n }\n BackboneView.prototype.shouldComponentUpdate = function (next) {\n var props = this.props;\n return next.View !== props.View || notEqual(next.options, props.options);\n };\n BackboneView.prototype.hasUnsavedChanges = function () {\n var view = this.view;\n return view && (typeof view.hasUnsavedChanges === 'function' ? view.hasUnsavedChanges() : view.hasUnsavedChanges);\n };\n BackboneView.prototype.render = function () {\n return React.createElement('div', {\n ref: this.saveRef,\n className: this.props.className\n });\n };\n BackboneView.prototype.componentDidMount = function () {\n this._mountView();\n };\n BackboneView.prototype.componentDidUpdate = function () {\n this._dispose();\n this._mountView();\n };\n BackboneView.prototype.componentWillUnmount = function () {\n this._dispose();\n };\n BackboneView.prototype._mountView = function () {\n var el = this.root, p = this.props;\n var view = this.view = p.options ? new p.View(p.options) : new p.View();\n el.appendChild(view.el);\n view.render();\n };\n BackboneView.prototype._dispose = function () {\n var view = this.view;\n if (view) {\n if (view.dispose) {\n view.dispose();\n }\n else {\n view.stopListening();\n view.off();\n }\n this.root.innerHTML = \"\";\n this.view = null;\n }\n };\n return BackboneView;\n}(Component));\nexport default BackboneView;\n//# sourceMappingURL=view-element.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/view-element.js\n// module id = 21\n// module chunks = 0","import * as React from 'react';\nimport ReactDOM from 'react-dom';\nimport { tools } from 'type-r';\nwindow.Page || (window.Page = { forceResize: function () { } });\nexport default function use(View) {\n var dispose = View.prototype.dispose || function () { }, setElement = View.prototype.setElement;\n var ComponentView = View.extend({\n reactClass: null,\n props: {},\n element: null,\n initialize: function (props) {\n // memorise arguments to pass to React\n this.options = props || {};\n },\n setElement: function () {\n this.unmountComponent(true);\n return setElement.apply(this, arguments);\n },\n // cached instance of react component...\n component: null,\n prevState: null,\n resize: function () {\n window.Page.forceResize();\n },\n render: function () {\n var options = this.prevState ? tools.fastAssign({ __keepState: this.prevState }, this.options) : this.options, element = React.createElement(this.reactClass, options), component = ReactDOM.render(element, this.el);\n this.component || this.mountComponent(component);\n },\n mountComponent: function (component) {\n this.component = component;\n this.prevState = null;\n component.trigger && this.listenTo(component, 'all', function () {\n this.trigger.apply(this, arguments);\n });\n },\n unmountComponent: function (keepModel) {\n var component = this.component;\n if (component) {\n this.prevState = component.state;\n if (component.trigger) {\n this.stopListening(component);\n }\n component._preventDispose = Boolean(keepModel);\n ReactDOM.unmountComponentAtNode(this.el);\n this.component = null;\n }\n },\n dispose: function () {\n this.unmountComponent();\n return dispose.apply(this, arguments);\n }\n });\n Object.defineProperty(ComponentView.prototype, 'model', {\n get: function () {\n this.component || this.render();\n return this.component && this.component.state;\n }\n });\n return ComponentView;\n}\n//# sourceMappingURL=component-view.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/component-view.js\n// module id = 22\n// module chunks = 0","var __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\nimport { Component } from './react-mvx';\nvar dontAutobind = [\n 'State', 'Store', 'constructor',\n 'componentWillMount', 'componentDidMount', 'componentWillReceiveProps', 'shouldComponentUpdate',\n 'componentWillUpdate', 'componentDidUpdate', 'componentWillUnmount',\n 'render', 'getDefaultProps', 'getChildContext'\n];\n/**\n * ES5 components definition factory\n */\nexport default function createClass(_a) {\n var statics = _a.statics, a_spec = __rest(_a, [\"statics\"]);\n // Gather all methods to pin them to `this` later.\n var methods = [];\n var Subclass = Component.extend(__assign({ \n // Override constructor to autobind all the methods...\n constructor: function () {\n Component.apply(this, arguments);\n for (var _i = 0, methods_1 = methods; _i < methods_1.length; _i++) {\n var method = methods_1[_i];\n this[method] = this[method].bind(this);\n }\n } }, a_spec), statics);\n // Need to bind methods from mixins as well, so populate it here.\n var Proto = Subclass.prototype;\n for (var key in Proto) {\n if (Proto.hasOwnProperty(key) && dontAutobind.indexOf(key) === -1 && typeof Proto[key] === 'function') {\n methods.push(key);\n }\n }\n return Subclass;\n}\n//# sourceMappingURL=createClass.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/createClass.js\n// module id = 23\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file diff --git a/lib/react-mvx/component.d.ts b/lib/react-mvx/component.d.ts index 4ba84b0..125a322 100644 --- a/lib/react-mvx/component.d.ts +++ b/lib/react-mvx/component.d.ts @@ -19,6 +19,7 @@ export declare class Component extends React.Compo private static defaultProps; private static contextTypes; private static childContextTypes; + private PropsChangeTokens; static extend: (spec: object, statics?: object) => Component; linkAt(key: string): Link; linkAll(...keys: string[]): { diff --git a/lib/react-mvx/component.js b/lib/react-mvx/component.js index ed72e3c..2ec3ba0 100644 --- a/lib/react-mvx/component.js +++ b/lib/react-mvx/component.js @@ -19,7 +19,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, }; import * as React from 'react'; import { mixinRules, define, mixins, definitions, Messenger } from 'type-r'; -import onDefine from './define'; +import onDefine, { EmptyPropsChangeTokensCtor } from './define'; var Component = (function (_super) { __extends(Component, _super); function Component(props, context) { @@ -83,7 +83,9 @@ var Component = (function (_super) { }(React.Component)); Component.onDefine = onDefine; Component = __decorate([ - define, + define({ + PropsChangeTokens: EmptyPropsChangeTokensCtor + }), definitions({ // Definitions to be extracted from mixins and statics and passed to `onDefine()` state: mixinRules.merge, diff --git a/lib/react-mvx/component.js.map b/lib/react-mvx/component.js.map index 15200fc..3d7253e 100644 --- a/lib/react-mvx/component.js.map +++ b/lib/react-mvx/component.js.map @@ -1 +1 @@ -{"version":3,"file":"component.js","sourceRoot":"","sources":["../../src/react-mvx/component.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"component.js","sourceRoot":"","sources":["../../src/react-mvx/component.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/react-mvx/define/index.d.ts b/lib/react-mvx/define/index.d.ts index 396a7bb..f052aed 100644 --- a/lib/react-mvx/define/index.d.ts +++ b/lib/react-mvx/define/index.d.ts @@ -9,3 +9,4 @@ export interface ComponentProto extends StoreProto, StateProto, ContextProto, Pr } export default function onDefine(this: ComponentClass, definition: ComponentDefinition, BaseClass: ComponentClass): void; export { Node, Element, TypeSpecs } from './typeSpecs'; +export { EmptyPropsChangeTokensCtor } from './pureRender'; diff --git a/lib/react-mvx/define/index.js b/lib/react-mvx/define/index.js index 7f4c4f4..4d3016a 100644 --- a/lib/react-mvx/define/index.js +++ b/lib/react-mvx/define/index.js @@ -13,4 +13,5 @@ export default function onDefine(definition, BaseClass) { } ; export { Node, Element } from './typeSpecs'; +export { EmptyPropsChangeTokensCtor } from './pureRender'; //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/lib/react-mvx/define/index.js.map b/lib/react-mvx/define/index.js.map index 2d378fa..bfcc9e9 100644 --- a/lib/react-mvx/define/index.js.map +++ b/lib/react-mvx/define/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/react-mvx/define/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAElC,OAAO,aAA8C,MAAM,SAAS,CAAA;AACpE,OAAO,aAA8C,MAAM,SAAS,CAAA;AACpE,OAAO,eAAoD,MAAM,WAAW,CAAA;AAC5E,OAAO,aAA8C,MAAM,SAAS,CAAA;AAKpE,MAAM,CAAC,OAAO,mBAA2D,UAAgC,EAAE,SAA0C;IACjJ,mCAAmC;IACnC,aAAa,CAAC,IAAI,CAAE,IAAI,EAAE,UAAU,EAAE,SAAS,CAAE,CAAC;IAClD,aAAa,CAAC,IAAI,CAAE,IAAI,EAAE,UAAU,EAAE,SAAS,CAAE,CAAC;IAClD,eAAe,CAAC,IAAI,CAAE,IAAI,EAAE,UAAU,EAAE,SAAS,CAAE,CAAC;IACpD,aAAa,CAAC,IAAI,CAAE,IAAI,EAAE,UAAU,EAAE,SAAS,CAAE,CAAC;IAElD,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAE,IAAI,EAAE,UAAU,EAAE,SAAS,CAAE,CAAC;AAC3D,CAAC;AAAA,CAAC;AAEF,OAAO,EAAE,IAAI,EAAE,OAAO,EAAa,MAAM,aAAa,CAAA"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/react-mvx/define/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAElC,OAAO,aAA8C,MAAM,SAAS,CAAA;AACpE,OAAO,aAA8C,MAAM,SAAS,CAAA;AACpE,OAAO,eAAoD,MAAM,WAAW,CAAA;AAC5E,OAAO,aAA8C,MAAM,SAAS,CAAA;AAKpE,MAAM,CAAC,OAAO,mBAA2D,UAAgC,EAAE,SAA0C;IACjJ,mCAAmC;IACnC,aAAa,CAAC,IAAI,CAAE,IAAI,EAAE,UAAU,EAAE,SAAS,CAAE,CAAC;IAClD,aAAa,CAAC,IAAI,CAAE,IAAI,EAAE,UAAU,EAAE,SAAS,CAAE,CAAC;IAClD,eAAe,CAAC,IAAI,CAAE,IAAI,EAAE,UAAU,EAAE,SAAS,CAAE,CAAC;IACpD,aAAa,CAAC,IAAI,CAAE,IAAI,EAAE,UAAU,EAAE,SAAS,CAAE,CAAC;IAElD,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAE,IAAI,EAAE,UAAU,EAAE,SAAS,CAAE,CAAC;AAC3D,CAAC;AAAA,CAAC;AAEF,OAAO,EAAE,IAAI,EAAE,OAAO,EAAa,MAAM,aAAa,CAAA;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAA"} \ No newline at end of file diff --git a/lib/react-mvx/define/pureRender.d.ts b/lib/react-mvx/define/pureRender.d.ts index c8e1921..f9558e2 100644 --- a/lib/react-mvx/define/pureRender.d.ts +++ b/lib/react-mvx/define/pureRender.d.ts @@ -1,4 +1,5 @@ export declare function createChangeTokensConstructor(props: any): Function; +export declare const EmptyPropsChangeTokensCtor: Function; export declare const PureRenderMixin: { shouldComponentUpdate(nextProps: any): any; componentDidMount: () => void; diff --git a/lib/react-mvx/define/pureRender.js b/lib/react-mvx/define/pureRender.js index 0b8a6d4..a4ea5ca 100644 --- a/lib/react-mvx/define/pureRender.js +++ b/lib/react-mvx/define/pureRender.js @@ -5,6 +5,7 @@ export function createChangeTokensConstructor(props) { return PropsChangeTokens; } ; +export var EmptyPropsChangeTokensCtor = createChangeTokensConstructor({}); export var PureRenderMixin = { shouldComponentUpdate: function (nextProps) { return this._propsChangeTokens._hasChanges(nextProps); diff --git a/lib/react-mvx/define/pureRender.js.map b/lib/react-mvx/define/pureRender.js.map index c8ed448..a1f06a2 100644 --- a/lib/react-mvx/define/pureRender.js.map +++ b/lib/react-mvx/define/pureRender.js.map @@ -1 +1 @@ -{"version":3,"file":"pureRender.js","sourceRoot":"","sources":["../../../src/react-mvx/define/pureRender.ts"],"names":[],"mappings":"AAAA,MAAM,wCAAyC,KAAK;IAChD,IAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAE,KAAK,CAAE,CAAC;IAEvC,IAAM,iBAAiB,GAAG,IAAI,QAAQ,CAAE,GAAG,EAAE,GAAG,EAAE,uEAG3C,SAAS,CAAC,GAAG,CAAE,UAAA,IAAI,IAAI,OAAA,wBACd,IAAI,qBAAkB,IAAI,0CACrC,EAFyB,CAEzB,CAAC,CAAC,IAAI,CAAE,EAAE,CAAE,WAChB,CAAC,CAAC;IAEH,iBAAiB,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,QAAQ,CAAE,GAAG,EAAE,GAAG,EAAE,0EAEhB,SAAS,CAAC,GAAG,CAAE,UAAA,IAAI,IAAI,OAAA,2BACzD,IAAI,yBAAsB,IAAI,2CACzC,EAFoE,CAEpE,CAAC,CAAC,IAAI,CAAE,EAAE,CAAE,YAChB,CAAC,CAAC;IAEH,MAAM,CAAC,iBAAiB,CAAC;AAC7B,CAAC;AAAA,CAAC;AAEF,MAAM,CAAC,IAAM,eAAe,GAAG;IAC3B,qBAAqB,YAAE,SAAS;QAC5B,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAE,SAAS,CAAE,CAAC;IAC5D,CAAC;IAED,iBAAiB,EAAG,kBAAkB;IACtC,kBAAkB,EAAG,kBAAkB;CAC1C,CAAA;AAED;IACI,IAAI,CAAC,kBAAkB,GAAG,IAAI,IAAI,CAAC,iBAAiB,CAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAE,CAAC;AACnF,CAAC"} \ No newline at end of file +{"version":3,"file":"pureRender.js","sourceRoot":"","sources":["../../../src/react-mvx/define/pureRender.ts"],"names":[],"mappings":"AAAA,MAAM,wCAAyC,KAAK;IAChD,IAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAE,KAAK,CAAE,CAAC;IAEvC,IAAM,iBAAiB,GAAG,IAAI,QAAQ,CAAE,GAAG,EAAE,GAAG,EAAE,uEAG3C,SAAS,CAAC,GAAG,CAAE,UAAA,IAAI,IAAI,OAAA,wBACd,IAAI,qBAAkB,IAAI,0CACrC,EAFyB,CAEzB,CAAC,CAAC,IAAI,CAAE,EAAE,CAAE,WAChB,CAAC,CAAC;IAEH,iBAAiB,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,QAAQ,CAAE,GAAG,EAAE,GAAG,EAAE,0EAEhB,SAAS,CAAC,GAAG,CAAE,UAAA,IAAI,IAAI,OAAA,2BACzD,IAAI,yBAAsB,IAAI,2CACzC,EAFoE,CAEpE,CAAC,CAAC,IAAI,CAAE,EAAE,CAAE,YAChB,CAAC,CAAC;IAEH,MAAM,CAAC,iBAAiB,CAAC;AAC7B,CAAC;AAAA,CAAC;AAEF,MAAM,CAAC,IAAM,0BAA0B,GAAG,6BAA6B,CAAC,EAAE,CAAC,CAAC;AAE5E,MAAM,CAAC,IAAM,eAAe,GAAG;IAC3B,qBAAqB,YAAE,SAAS;QAC5B,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAE,SAAS,CAAE,CAAC;IAC5D,CAAC;IAED,iBAAiB,EAAG,kBAAkB;IACtC,kBAAkB,EAAG,kBAAkB;CAC1C,CAAA;AAED;IACI,IAAI,CAAC,kBAAkB,GAAG,IAAI,IAAI,CAAC,iBAAiB,CAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAE,CAAC;AACnF,CAAC"} \ No newline at end of file diff --git a/src/react-mvx/component.ts b/src/react-mvx/component.ts index 07b2895..3f2877c 100644 --- a/src/react-mvx/component.ts +++ b/src/react-mvx/component.ts @@ -5,9 +5,11 @@ import * as React from 'react' import { Record, Store, CallbacksByEvents, mixinRules, define, mixins, definitions, tools, Messenger } from 'type-r' import Link from './Link' -import onDefine, { TypeSpecs } from './define' +import onDefine, { TypeSpecs, EmptyPropsChangeTokensCtor } from './define' -@define +@define({ + PropsChangeTokens : EmptyPropsChangeTokensCtor +}) @definitions({ // Definitions to be extracted from mixins and statics and passed to `onDefine()` state : mixinRules.merge, @@ -49,6 +51,8 @@ export class Component extends React.Component Component< any > diff --git a/src/react-mvx/define/index.ts b/src/react-mvx/define/index.ts index 97516df..1f32409 100644 --- a/src/react-mvx/define/index.ts +++ b/src/react-mvx/define/index.ts @@ -20,3 +20,4 @@ export default function onDefine( this : ComponentClass, definit }; export { Node, Element, TypeSpecs } from './typeSpecs' +export { EmptyPropsChangeTokensCtor } from './pureRender' \ No newline at end of file diff --git a/src/react-mvx/define/pureRender.ts b/src/react-mvx/define/pureRender.ts index 91847c8..132ddb2 100644 --- a/src/react-mvx/define/pureRender.ts +++ b/src/react-mvx/define/pureRender.ts @@ -19,6 +19,8 @@ export function createChangeTokensConstructor( props ) { return PropsChangeTokens; }; +export const EmptyPropsChangeTokensCtor = createChangeTokensConstructor({}); + export const PureRenderMixin = { shouldComponentUpdate( nextProps ){ return this._propsChangeTokens._hasChanges( nextProps ); diff --git a/submodules/React-MVx b/submodules/React-MVx index 2d3af0c..5453e3b 160000 --- a/submodules/React-MVx +++ b/submodules/React-MVx @@ -1 +1 @@ -Subproject commit 2d3af0c39a5804aee54751f42d485f17ec60b956 +Subproject commit 5453e3bb42b9ead4ee7c4c8dcf07716ab4e90e10 From ce0d127ba65a9bd05172402b723f51a52f9e6ee1 Mon Sep 17 00:00:00 2001 From: Vlad Balin Date: Wed, 18 Oct 2017 15:59:56 -0400 Subject: [PATCH 12/25] pure render bugs --- dist/index.js | 2 +- dist/index.min.js | 2 +- dist/index.min.js.map | 2 +- lib/react-mvx/define/pureRender.js | 2 +- lib/react-mvx/define/pureRender.js.map | 2 +- src/react-mvx/define/pureRender.ts | 2 +- submodules/React-MVx | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/dist/index.js b/dist/index.js index c0b5793..84ca00d 100644 --- a/dist/index.js +++ b/dist/index.js @@ -406,7 +406,7 @@ if (false) { function createChangeTokensConstructor(props) { var propNames = Object.keys(props); var PropsChangeTokens = new Function('p', 's', "\n var v;\n this._s = s && s._changeToken;\n " + propNames.map(function (name) { return "\n this." + name + " = ( ( v = p." + name + ") && v._changeToken ) || v;\n "; }).join('') + "\n "); - PropsChangeTokens.prototype._hasChanges = new Function('p', 's', "\n var v;\n return ( s && s._changeToken !== this._s ) " + propNames.map(function (name) { return " ||\n this." + name + " !== ( ( ( v = p." + name + ") && v._changeToken ) || v )\n "; }).join('') + ";\n "); + PropsChangeTokens.prototype._hasChanges = new Function('p', 's', "\n var v;\n return ( ( s && s._changeToken ) !== this._s ) " + propNames.map(function (name) { return " ||\n this." + name + " !== ( ( ( v = p." + name + ") && v._changeToken ) || v )\n "; }).join('') + ";\n "); return PropsChangeTokens; } ; diff --git a/dist/index.min.js b/dist/index.min.js index 57582a1..99a5633 100644 --- a/dist/index.min.js +++ b/dist/index.min.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("nestedtypes"),require("react"),require("react-dom")):"function"==typeof define&&define.amd?define(["nestedtypes","react","react-dom"],e):"object"==typeof exports?exports.React=e(require("nestedtypes"),require("react"),require("react-dom")):t.React=e(t.Nested,t.React,t.ReactDOM)}(this,function(t,e,n){return function(t){function e(o){if(n[o])return n[o].exports;var r=n[o]={i:o,l:!1,exports:{}};return t[o].call(r.exports,r,r.exports,e),r.l=!0,r.exports}var n={};return e.m=t,e.c=n,e.d=function(t,n,o){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:o})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=9)}([function(e,n){e.exports=t},function(t,e,n){"use strict";n.d(e,"e",function(){return a});var o=n(2),r=(n.n(o),n(0)),i=(n.n(r),n(4)),s=n(17),u=n(20);n.o(r,"define")&&n.d(e,"g",function(){return r.define}),n.o(r,"mixins")&&n.d(e,"h",function(){return r.mixins}),n.d(e,"d",function(){return i.c}),n.d(e,"b",function(){return i.a}),n.d(e,"c",function(){return s.a}),n.d(e,"a",function(){return u.a});var c=Object.create(o);c.default=c,c.define=r.define,c.mixins=r.mixins,c.Node=i.c.value(null),c.Element=i.a.value(null),c.Link=s.a,c.Component=u.a;var a=c.assignToState=function(t){return function(e){this.state.assignFrom((n={},n[t]=e&&e instanceof s.a?e.value:e,n));var n}};e.f=c},function(t,n){t.exports=e},function(t,e,n){"use strict";function o(t){var e,n,o,s={},u=c.Record.defaults(t).prototype;return u.forEachAttr(u._attributes,function(t,u){if("id"!==u){var c=t.value,a=t.type,p=t.options;if(s[u]=i(a,p.isRequired),p._onChange&&(n||(n={}),n[u]=r(p._onChange)),p.changeHandlers&&p.changeHandlers.length&&(o||(o={}),o[u]=p.changeHandlers),p.changeEvents){o||(o={});var f=o[u]||(o[u]=[]),l="string"==typeof p.changeEvents?p.changeEvents:null;f.push(function(t,e,n){e&&n.stopListening(e),t&&n.listenTo(t,l||t._changeEventName,n.asyncUpdate)})}void 0!==c&&(e||(e={}),e[u]=t.convert(c,void 0,null,{}))}}),{propTypes:s,defaults:e,watchers:n,changeHandlers:o}}function r(t){return"function"==typeof t?t:function(e,n){this[t]&&this[t](e,n)}}function i(t,e){var n=s(t);return e?n.isRequired:n}function s(t){switch(t){case Number:case Number.integer:return u.number;case String:return u.string;case Boolean:return u.bool;case Array:return u.array;case Function:return u.func;case Object:return u.object;case a:return u.node;case p:return u.element;case void 0:case null:return u.any;default:return u.instanceOf(t)}}e.c=o,n.d(e,"b",function(){return a}),n.d(e,"a",function(){return p});var u=n(6),c=(n.n(u),n(0)),a=(n.n(c),function(){function t(){}return t}()),p=function(){function t(){}return t}()},function(t,e,n){"use strict";function o(t,e){i.a.call(this,t,e),s.c.call(this,t,e),u.a.call(this,t,e),c.a.call(this,t,e),r.Messenger.onDefine.call(this,t,e)}e.d=o;var r=n(0),i=(n.n(r),n(10)),s=n(5),u=n(11),c=n(16),a=n(3);n.d(e,"c",function(){return a.b}),n.d(e,"a",function(){return a.a});var p=n(7);n.d(e,"b",function(){return p.a})},function(t,e,n){"use strict";function o(t,e){var n=this.prototype,o=t.state,a=t.State;if("function"==typeof o&&(a=o,o=void 0),o){var p=a||n.State||r.Record,f=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e}(p);f.attributes=o,f=s([r.define],f),n.State=f}else a&&(n.State=a);(o||a)&&this.mixins.merge([u,c])}e.c=o,n.d(e,"a",function(){return u}),n.d(e,"b",function(){return c});var r=n(0),i=(n.n(r),this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};return function(e,n){function o(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}}()),s=this&&this.__decorate||function(t,e,n,o){var r,i=arguments.length,s=i<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,o);else for(var u=t.length-1;u>=0;u--)(r=t[u])&&(s=(i<3?r(s):i>3?r(e,n,s):r(e,n))||s);return i>3&&s&&Object.defineProperty(e,n,s),s},u={_initializeState:function(){var t=this.state=this.props.__keepState||new this.State;t._owner=this,t._ownerKey="state"},context:{_nestedStore:r.Store},getStore:function(){var t,e;return(t=this.context)&&t._nestedStore||(e=this.state)&&e._defaultStore},componentWillUnmount:function(){var t=this.state;t._owner=t._ownerKey=void 0,this._preventDispose||t.dispose(),this.state=void 0}},c={_onChildrenChange:function(){},componentDidMount:function(){this._onChildrenChange=this.asyncUpdate}}},function(t,e,n){t.exports=n(12)()},function(t,e,n){"use strict";function o(t){var e=Object.keys(t),n=new Function("p","s","\n var v;\n this._s = s && s._changeToken;\n "+e.map(function(t){return"\n this."+t+" = ( ( v = p."+t+") && v._changeToken ) || v;\n "}).join("")+"\n ");return n.prototype._hasChanges=new Function("p","s","\n var v;\n return ( s && s._changeToken !== this._s ) "+e.map(function(t){return" ||\n this."+t+" !== ( ( ( v = p."+t+") && v._changeToken ) || v )\n "}).join("")+";\n "),n}function r(){this._propsChangeTokens=new this.PropsChangeTokens(this.props,this.state)}e.c=o,n.d(e,"a",function(){return i}),n.d(e,"b",function(){return s});var i=o({}),s={shouldComponentUpdate:function(t){return this._propsChangeTokens._hasChanges(t)},componentDidMount:r,componentDidUpdate:r}},function(t,e){t.exports=n},function(t,e,n){"use strict";function o(t){d=Object(f.a)(t)}Object.defineProperty(e,"__esModule",{value:!0}),e.useView=o;var r=n(1);n.d(e,"define",function(){return r.g}),n.d(e,"mixins",function(){return r.h}),n.d(e,"Node",function(){return r.d}),n.d(e,"Element",function(){return r.b}),n.d(e,"Link",function(){return r.c}),n.d(e,"Component",function(){return r.a}),n.d(e,"assignToState",function(){return r.e});var i=n(8),s=n.n(i),u=n(0),c=n.n(u),a=n(6),p=(n.n(a),n(21));n.d(e,"subview",function(){return p.a});var f=n(22),l=n(23);n.d(e,"PropTypes",function(){return a}),n.d(e,"createClass",function(){return l.a});var h=Object.create(r.f);e.default=h,h.subview=p.a,h.createClass=l.a,Object.defineProperty(h,"PropTypes",{value:a});var d,v=h.Component.onDefine;h.Component.onDefine=function(t,e){return this.View=d.extend({reactClass:this}),v.call(this,t,e)};var y=u.Record.prototype;y.getLink=y.linkAt,y.deepLink=y.linkPath;var m=u.Record.Collection.prototype;m.hasLink=m.linkContains,o(u.View);var _={el:{get:function(){return s.a.findDOMNode(this)}},$el:{get:function(){return c.a.$(this.el)}},$:{value:function(t){return this.$el.find(t)}}};Object.defineProperties(h.Component.prototype,_)},function(t,e,n){"use strict";function o(t,e){var n=t.store,o=t.Store;if(n&&n instanceof r.Store)this.prototype.store=n,this.mixins.merge([a,c]);else if(n||t.Store){if("function"==typeof n&&(o=n,n=void 0),n){var f=o||this.prototype.Store||r.Store,l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s(e,t),e}(f);l.attrbutes=n,l=u([r.define],l),this.prototype.Store=l}else o&&(this.prototype.Store=o);this.mixins.merge([p,i.b,c])}}e.a=o;var r=n(0),i=(n.n(r),n(5)),s=this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};return function(e,n){function o(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}}(),u=this&&this.__decorate||function(t,e,n,o){var r,i=arguments.length,s=i<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,o);else for(var u=t.length-1;u>=0;u--)(r=t[u])&&(s=(i<3?r(s):i>3?r(e,n,s):r(e,n))||s);return i>3&&s&&Object.defineProperty(e,n,s),s},c={childContext:{_nestedStore:r.Store},getChildContext:function(){return{_nestedStore:this.store}},getStore:function(){return this.store},get:function(t){var e=i.a.getStore.call(this,t);return e&&e.get(t)}},a={componentDidMount:function(){this.listenTo(this.store,"change",this.asyncUpdate)}},p={componentWillMount:function(){var t=this.store=new this.Store;t._owner=this,t._ownerKey="store"},componentWillUnmount:function(){this.store._ownerKey=this.store._owner=void 0,this.store.dispose(),this.store=void 0}}},function(t,e,n){"use strict";function o(t,e){var n=t.context,o=t.childContext,s=this.prototype;n&&(s._context=i.tools.defaults(n,e.prototype._context||{}),this.contextTypes=Object(r.c)(n).propTypes),o&&(s._childContext=i.tools.defaults(o,e.prototype._childContext),this.childContextTypes=Object(r.c)(o).propTypes)}e.a=o;var r=n(3),i=n(0);n.n(i)},function(t,e,n){"use strict";var o=n(13),r=n(14),i=n(15);t.exports=function(){function t(t,e,n,o,s,u){u!==i&&r(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function e(){return t}t.isRequired=t;var n={array:t,bool:t,func:t,number:t,object:t,string:t,symbol:t,any:t,arrayOf:e,element:t,instanceOf:e,node:t,objectOf:e,oneOf:e,oneOfType:e,shape:e,exact:e};return n.checkPropTypes=o,n.PropTypes=n,n}},function(t,e,n){"use strict";function o(t){return function(){return t}}var r=function(){};r.thatReturns=o,r.thatReturnsFalse=o(!1),r.thatReturnsTrue=o(!0),r.thatReturnsNull=o(null),r.thatReturnsThis=function(){return this},r.thatReturnsArgument=function(t){return t},t.exports=r},function(t,e,n){"use strict";function o(t,e,n,o,i,s,u,c){if(r(e),!t){var a;if(void 0===e)a=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var p=[n,o,i,s,u,c],f=0;a=new Error(e.replace(/%s/g,function(){return p[f++]})),a.name="Invariant Violation"}throw a.framesToPop=1,a}}var r=function(t){};t.exports=o},function(t,e,n){"use strict";t.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(t,e,n){"use strict";function o(t,e){var n=t.props,o=t.pureRender,r=this.prototype;if(n){r._props=u.tools.defaults(n,e.prototype._props||{});var p=Object(i.c)(n),f=p.propTypes,l=p.defaults,h=p.watchers,d=p.changeHandlers;this.propTypes=f,l&&(this.defaultProps=l),h&&(r._watchers=h,this.mixins.merge([a])),d&&(r._changeHandlers=d,this.mixins.merge([c])),r.pureRender&&(r.PropsChangeTokens=Object(s.c)(n))}o&&this.mixins.merge([s.b])}function r(t,e,n){var o=t._changeHandlers;for(var r in o)if(e[r]!==n[r])for(var i=0,s=o[r];i=0)||this;return o.parent=e,o.element=n,o}return r(e,t),e.prototype.set=function(t){var e=this,n=Boolean(t);if(this.value!==n){var o=this.parent.value,r=t?o.concat(this.element):o.filter(function(t){return t!==e.element});this.parent.set(r)}},e}(i),f="Invalid value",l=function(t){function e(e,n){var o=t.call(this,e.value[n])||this;return o.parent=e,o.key=n,o}return r(e,t),e.prototype.remove=function(){this.parent.removeAt(this.key)},e.prototype.set=function(t){var e=this;this.value!==t&&this.parent.update(function(n){return n[e.key]=t,n})},e}(i)},function(t,e,n){"use strict";function o(t){if(t&&"object"==typeof t)switch(Object.getPrototypeOf(t)){case r:return c;case i:return u}return s}e.b=o,n.d(e,"a",function(){return c});var r=Array.prototype,i=Object.prototype,s={clone:function(t){return t},map:function(t,e){return[]},remove:function(t){return t}},u={map:function(t,e){var n=[];for(var o in t.value){var r=e(t.at(o),o);void 0===r||n.push(r)}return n},remove:function(t,e){return delete t[e],t},clone:function(t){var e={};for(var n in t)e[n]=t[n];return e}},c={clone:function(t){return t.slice()},remove:function(t,e){return t.splice(e,1),t},map:function(t,e){for(var n=t.value.length,o=Array(n),r=0,i=0;r=0;u--)(r=t[u])&&(s=(i<3?r(s):i>3?r(e,n,s):r(e,n))||s);return i>3&&s&&Object.defineProperty(e,n,s),s},a=function(t){function e(e,n){var o=t.call(this,e,n)||this;return o._initializeState(),o}return u(e,t),e.prototype.linkAt=function(t){return this.state.linkAt(t)},e.prototype.linkAll=function(){var t=this.state;return t.linkAll.apply(t,arguments)},e.prototype.linkPath=function(t){return this.state.linkPath(t)},Object.defineProperty(e.prototype,"links",{get:function(){return this.state._links},enumerable:!0,configurable:!0}),e.prototype._initializeState=function(){this.state=null},e.prototype.assignToState=function(t,e){this.state.assignFrom((n={},n[e]=t,n));var n},e.prototype.componentWillUnmount=function(){this.dispose()},e.prototype.transaction=function(t){var e=this.shouldComponentUpdate,n=e!==o;n&&(this.shouldComponentUpdate=o);var r=this,i=r.state,s=r.store,u=s?function(e){return s.transaction(function(){return t(e)})}:t;i?i.transaction(u):u(i),n&&(this.shouldComponentUpdate=e,this.asyncUpdate())},e.prototype.asyncUpdate=function(){this.shouldComponentUpdate===o||this._disposed||this.forceUpdate()},e}(r.Component);a.onDefine=s.d,a=c([Object(i.define)({PropsChangeTokens:s.b}),Object(i.definitions)({state:i.mixinRules.merge,State:i.mixinRules.value,store:i.mixinRules.merge,Store:i.mixinRules.value,props:i.mixinRules.merge,context:i.mixinRules.merge,childContext:i.mixinRules.merge,pureRender:i.mixinRules.protoValue}),Object(i.mixinRules)({componentWillMount:i.mixinRules.classLast,componentDidMount:i.mixinRules.classLast,componentWillReceiveProps:i.mixinRules.classLast,componentWillUpdate:i.mixinRules.classLast,componentDidUpdate:i.mixinRules.classLast,componentWillUnmount:i.mixinRules.classFirst,shouldComponentUpdate:i.mixinRules.some,getChildContext:i.mixinRules.defaults}),Object(i.mixins)(i.Messenger)],a),Object.defineProperty(a.prototype,"isMounted",{value:function(){return!this._disposed}})},function(t,e,n){"use strict";var o=n(1),r=n(0),i=(n.n(r),this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};return function(e,n){function o(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}}()),s=r.tools.notEqual,u=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.saveRef=function(t){e.root=t},e}return i(e,t),e.prototype.shouldComponentUpdate=function(t){var e=this.props;return t.View!==e.View||s(t.options,e.options)},e.prototype.hasUnsavedChanges=function(){var t=this.view;return t&&("function"==typeof t.hasUnsavedChanges?t.hasUnsavedChanges():t.hasUnsavedChanges)},e.prototype.render=function(){return o.f.createElement("div",{ref:this.saveRef,className:this.props.className})},e.prototype.componentDidMount=function(){this._mountView()},e.prototype.componentDidUpdate=function(){this._dispose(),this._mountView()},e.prototype.componentWillUnmount=function(){this._dispose()},e.prototype._mountView=function(){var t=this.root,e=this.props,n=this.view=e.options?new e.View(e.options):new e.View;t.appendChild(n.el),n.render()},e.prototype._dispose=function(){var t=this.view;t&&(t.dispose?t.dispose():(t.stopListening(),t.off()),this.root.innerHTML="",this.view=null)},e}(o.a);e.a=u},function(t,e,n){"use strict";function o(t){var e=t.prototype.dispose||function(){},n=t.prototype.setElement,o=t.extend({reactClass:null,props:{},element:null,initialize:function(t){this.options=t||{}},setElement:function(){return this.unmountComponent(!0),n.apply(this,arguments)},component:null,prevState:null,resize:function(){window.Page.forceResize()},render:function(){var t=this.prevState?u.tools.fastAssign({__keepState:this.prevState},this.options):this.options,e=r.createElement(this.reactClass,t),n=s.a.render(e,this.el);this.component||this.mountComponent(n)},mountComponent:function(t){this.component=t,this.prevState=null,t.trigger&&this.listenTo(t,"all",function(){this.trigger.apply(this,arguments)})},unmountComponent:function(t){var e=this.component;e&&(this.prevState=e.state,e.trigger&&this.stopListening(e),e._preventDispose=Boolean(t),s.a.unmountComponentAtNode(this.el),this.component=null)},dispose:function(){return this.unmountComponent(),e.apply(this,arguments)}});return Object.defineProperty(o.prototype,"model",{get:function(){return this.component||this.render(),this.component&&this.component.state}}),o}e.a=o;var r=n(2),i=(n.n(r),n(8)),s=n.n(i),u=n(0);n.n(u);window.Page||(window.Page={forceResize:function(){}})},function(t,e,n){"use strict";function o(t){var e=t.statics,n=s(t,["statics"]),o=[],c=r.a.extend(i({constructor:function(){r.a.apply(this,arguments);for(var t=0,e=o;t=0;u--)(r=t[u])&&(s=(i<3?r(s):i>3?r(e,n,s):r(e,n))||s);return i>3&&s&&Object.defineProperty(e,n,s),s},u={_initializeState:function(){var t=this.state=this.props.__keepState||new this.State;t._owner=this,t._ownerKey="state"},context:{_nestedStore:r.Store},getStore:function(){var t,e;return(t=this.context)&&t._nestedStore||(e=this.state)&&e._defaultStore},componentWillUnmount:function(){var t=this.state;t._owner=t._ownerKey=void 0,this._preventDispose||t.dispose(),this.state=void 0}},c={_onChildrenChange:function(){},componentDidMount:function(){this._onChildrenChange=this.asyncUpdate}}},function(t,e,n){t.exports=n(12)()},function(t,e,n){"use strict";function o(t){var e=Object.keys(t),n=new Function("p","s","\n var v;\n this._s = s && s._changeToken;\n "+e.map(function(t){return"\n this."+t+" = ( ( v = p."+t+") && v._changeToken ) || v;\n "}).join("")+"\n ");return n.prototype._hasChanges=new Function("p","s","\n var v;\n return ( ( s && s._changeToken ) !== this._s ) "+e.map(function(t){return" ||\n this."+t+" !== ( ( ( v = p."+t+") && v._changeToken ) || v )\n "}).join("")+";\n "),n}function r(){this._propsChangeTokens=new this.PropsChangeTokens(this.props,this.state)}e.c=o,n.d(e,"a",function(){return i}),n.d(e,"b",function(){return s});var i=o({}),s={shouldComponentUpdate:function(t){return this._propsChangeTokens._hasChanges(t)},componentDidMount:r,componentDidUpdate:r}},function(t,e){t.exports=n},function(t,e,n){"use strict";function o(t){d=Object(f.a)(t)}Object.defineProperty(e,"__esModule",{value:!0}),e.useView=o;var r=n(1);n.d(e,"define",function(){return r.g}),n.d(e,"mixins",function(){return r.h}),n.d(e,"Node",function(){return r.d}),n.d(e,"Element",function(){return r.b}),n.d(e,"Link",function(){return r.c}),n.d(e,"Component",function(){return r.a}),n.d(e,"assignToState",function(){return r.e});var i=n(8),s=n.n(i),u=n(0),c=n.n(u),a=n(6),p=(n.n(a),n(21));n.d(e,"subview",function(){return p.a});var f=n(22),l=n(23);n.d(e,"PropTypes",function(){return a}),n.d(e,"createClass",function(){return l.a});var h=Object.create(r.f);e.default=h,h.subview=p.a,h.createClass=l.a,Object.defineProperty(h,"PropTypes",{value:a});var d,v=h.Component.onDefine;h.Component.onDefine=function(t,e){return this.View=d.extend({reactClass:this}),v.call(this,t,e)};var y=u.Record.prototype;y.getLink=y.linkAt,y.deepLink=y.linkPath;var m=u.Record.Collection.prototype;m.hasLink=m.linkContains,o(u.View);var _={el:{get:function(){return s.a.findDOMNode(this)}},$el:{get:function(){return c.a.$(this.el)}},$:{value:function(t){return this.$el.find(t)}}};Object.defineProperties(h.Component.prototype,_)},function(t,e,n){"use strict";function o(t,e){var n=t.store,o=t.Store;if(n&&n instanceof r.Store)this.prototype.store=n,this.mixins.merge([a,c]);else if(n||t.Store){if("function"==typeof n&&(o=n,n=void 0),n){var f=o||this.prototype.Store||r.Store,l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s(e,t),e}(f);l.attrbutes=n,l=u([r.define],l),this.prototype.Store=l}else o&&(this.prototype.Store=o);this.mixins.merge([p,i.b,c])}}e.a=o;var r=n(0),i=(n.n(r),n(5)),s=this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};return function(e,n){function o(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}}(),u=this&&this.__decorate||function(t,e,n,o){var r,i=arguments.length,s=i<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,o);else for(var u=t.length-1;u>=0;u--)(r=t[u])&&(s=(i<3?r(s):i>3?r(e,n,s):r(e,n))||s);return i>3&&s&&Object.defineProperty(e,n,s),s},c={childContext:{_nestedStore:r.Store},getChildContext:function(){return{_nestedStore:this.store}},getStore:function(){return this.store},get:function(t){var e=i.a.getStore.call(this,t);return e&&e.get(t)}},a={componentDidMount:function(){this.listenTo(this.store,"change",this.asyncUpdate)}},p={componentWillMount:function(){var t=this.store=new this.Store;t._owner=this,t._ownerKey="store"},componentWillUnmount:function(){this.store._ownerKey=this.store._owner=void 0,this.store.dispose(),this.store=void 0}}},function(t,e,n){"use strict";function o(t,e){var n=t.context,o=t.childContext,s=this.prototype;n&&(s._context=i.tools.defaults(n,e.prototype._context||{}),this.contextTypes=Object(r.c)(n).propTypes),o&&(s._childContext=i.tools.defaults(o,e.prototype._childContext),this.childContextTypes=Object(r.c)(o).propTypes)}e.a=o;var r=n(3),i=n(0);n.n(i)},function(t,e,n){"use strict";var o=n(13),r=n(14),i=n(15);t.exports=function(){function t(t,e,n,o,s,u){u!==i&&r(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function e(){return t}t.isRequired=t;var n={array:t,bool:t,func:t,number:t,object:t,string:t,symbol:t,any:t,arrayOf:e,element:t,instanceOf:e,node:t,objectOf:e,oneOf:e,oneOfType:e,shape:e,exact:e};return n.checkPropTypes=o,n.PropTypes=n,n}},function(t,e,n){"use strict";function o(t){return function(){return t}}var r=function(){};r.thatReturns=o,r.thatReturnsFalse=o(!1),r.thatReturnsTrue=o(!0),r.thatReturnsNull=o(null),r.thatReturnsThis=function(){return this},r.thatReturnsArgument=function(t){return t},t.exports=r},function(t,e,n){"use strict";function o(t,e,n,o,i,s,u,c){if(r(e),!t){var a;if(void 0===e)a=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var p=[n,o,i,s,u,c],f=0;a=new Error(e.replace(/%s/g,function(){return p[f++]})),a.name="Invariant Violation"}throw a.framesToPop=1,a}}var r=function(t){};t.exports=o},function(t,e,n){"use strict";t.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(t,e,n){"use strict";function o(t,e){var n=t.props,o=t.pureRender,r=this.prototype;if(n){r._props=u.tools.defaults(n,e.prototype._props||{});var p=Object(i.c)(n),f=p.propTypes,l=p.defaults,h=p.watchers,d=p.changeHandlers;this.propTypes=f,l&&(this.defaultProps=l),h&&(r._watchers=h,this.mixins.merge([a])),d&&(r._changeHandlers=d,this.mixins.merge([c])),r.pureRender&&(r.PropsChangeTokens=Object(s.c)(n))}o&&this.mixins.merge([s.b])}function r(t,e,n){var o=t._changeHandlers;for(var r in o)if(e[r]!==n[r])for(var i=0,s=o[r];i=0)||this;return o.parent=e,o.element=n,o}return r(e,t),e.prototype.set=function(t){var e=this,n=Boolean(t);if(this.value!==n){var o=this.parent.value,r=t?o.concat(this.element):o.filter(function(t){return t!==e.element});this.parent.set(r)}},e}(i),f="Invalid value",l=function(t){function e(e,n){var o=t.call(this,e.value[n])||this;return o.parent=e,o.key=n,o}return r(e,t),e.prototype.remove=function(){this.parent.removeAt(this.key)},e.prototype.set=function(t){var e=this;this.value!==t&&this.parent.update(function(n){return n[e.key]=t,n})},e}(i)},function(t,e,n){"use strict";function o(t){if(t&&"object"==typeof t)switch(Object.getPrototypeOf(t)){case r:return c;case i:return u}return s}e.b=o,n.d(e,"a",function(){return c});var r=Array.prototype,i=Object.prototype,s={clone:function(t){return t},map:function(t,e){return[]},remove:function(t){return t}},u={map:function(t,e){var n=[];for(var o in t.value){var r=e(t.at(o),o);void 0===r||n.push(r)}return n},remove:function(t,e){return delete t[e],t},clone:function(t){var e={};for(var n in t)e[n]=t[n];return e}},c={clone:function(t){return t.slice()},remove:function(t,e){return t.splice(e,1),t},map:function(t,e){for(var n=t.value.length,o=Array(n),r=0,i=0;r=0;u--)(r=t[u])&&(s=(i<3?r(s):i>3?r(e,n,s):r(e,n))||s);return i>3&&s&&Object.defineProperty(e,n,s),s},a=function(t){function e(e,n){var o=t.call(this,e,n)||this;return o._initializeState(),o}return u(e,t),e.prototype.linkAt=function(t){return this.state.linkAt(t)},e.prototype.linkAll=function(){var t=this.state;return t.linkAll.apply(t,arguments)},e.prototype.linkPath=function(t){return this.state.linkPath(t)},Object.defineProperty(e.prototype,"links",{get:function(){return this.state._links},enumerable:!0,configurable:!0}),e.prototype._initializeState=function(){this.state=null},e.prototype.assignToState=function(t,e){this.state.assignFrom((n={},n[e]=t,n));var n},e.prototype.componentWillUnmount=function(){this.dispose()},e.prototype.transaction=function(t){var e=this.shouldComponentUpdate,n=e!==o;n&&(this.shouldComponentUpdate=o);var r=this,i=r.state,s=r.store,u=s?function(e){return s.transaction(function(){return t(e)})}:t;i?i.transaction(u):u(i),n&&(this.shouldComponentUpdate=e,this.asyncUpdate())},e.prototype.asyncUpdate=function(){this.shouldComponentUpdate===o||this._disposed||this.forceUpdate()},e}(r.Component);a.onDefine=s.d,a=c([Object(i.define)({PropsChangeTokens:s.b}),Object(i.definitions)({state:i.mixinRules.merge,State:i.mixinRules.value,store:i.mixinRules.merge,Store:i.mixinRules.value,props:i.mixinRules.merge,context:i.mixinRules.merge,childContext:i.mixinRules.merge,pureRender:i.mixinRules.protoValue}),Object(i.mixinRules)({componentWillMount:i.mixinRules.classLast,componentDidMount:i.mixinRules.classLast,componentWillReceiveProps:i.mixinRules.classLast,componentWillUpdate:i.mixinRules.classLast,componentDidUpdate:i.mixinRules.classLast,componentWillUnmount:i.mixinRules.classFirst,shouldComponentUpdate:i.mixinRules.some,getChildContext:i.mixinRules.defaults}),Object(i.mixins)(i.Messenger)],a),Object.defineProperty(a.prototype,"isMounted",{value:function(){return!this._disposed}})},function(t,e,n){"use strict";var o=n(1),r=n(0),i=(n.n(r),this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};return function(e,n){function o(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}}()),s=r.tools.notEqual,u=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.saveRef=function(t){e.root=t},e}return i(e,t),e.prototype.shouldComponentUpdate=function(t){var e=this.props;return t.View!==e.View||s(t.options,e.options)},e.prototype.hasUnsavedChanges=function(){var t=this.view;return t&&("function"==typeof t.hasUnsavedChanges?t.hasUnsavedChanges():t.hasUnsavedChanges)},e.prototype.render=function(){return o.f.createElement("div",{ref:this.saveRef,className:this.props.className})},e.prototype.componentDidMount=function(){this._mountView()},e.prototype.componentDidUpdate=function(){this._dispose(),this._mountView()},e.prototype.componentWillUnmount=function(){this._dispose()},e.prototype._mountView=function(){var t=this.root,e=this.props,n=this.view=e.options?new e.View(e.options):new e.View;t.appendChild(n.el),n.render()},e.prototype._dispose=function(){var t=this.view;t&&(t.dispose?t.dispose():(t.stopListening(),t.off()),this.root.innerHTML="",this.view=null)},e}(o.a);e.a=u},function(t,e,n){"use strict";function o(t){var e=t.prototype.dispose||function(){},n=t.prototype.setElement,o=t.extend({reactClass:null,props:{},element:null,initialize:function(t){this.options=t||{}},setElement:function(){return this.unmountComponent(!0),n.apply(this,arguments)},component:null,prevState:null,resize:function(){window.Page.forceResize()},render:function(){var t=this.prevState?u.tools.fastAssign({__keepState:this.prevState},this.options):this.options,e=r.createElement(this.reactClass,t),n=s.a.render(e,this.el);this.component||this.mountComponent(n)},mountComponent:function(t){this.component=t,this.prevState=null,t.trigger&&this.listenTo(t,"all",function(){this.trigger.apply(this,arguments)})},unmountComponent:function(t){var e=this.component;e&&(this.prevState=e.state,e.trigger&&this.stopListening(e),e._preventDispose=Boolean(t),s.a.unmountComponentAtNode(this.el),this.component=null)},dispose:function(){return this.unmountComponent(),e.apply(this,arguments)}});return Object.defineProperty(o.prototype,"model",{get:function(){return this.component||this.render(),this.component&&this.component.state}}),o}e.a=o;var r=n(2),i=(n.n(r),n(8)),s=n.n(i),u=n(0);n.n(u);window.Page||(window.Page={forceResize:function(){}})},function(t,e,n){"use strict";function o(t){var e=t.statics,n=s(t,["statics"]),o=[],c=r.a.extend(i({constructor:function(){r.a.apply(this,arguments);for(var t=0,e=o;t= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n/*****************\n * State\n */\n\nfunction process(definition, BaseComponentClass) {\n var prototype = this.prototype;\n var state = definition.state, State = definition.State;\n if (typeof state === 'function') {\n State = state;\n state = void 0;\n }\n if (state) {\n var BaseClass = State || prototype.State || __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Record\"];\n var ComponentState = (function (_super) {\n __extends(ComponentState, _super);\n function ComponentState() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return ComponentState;\n }(BaseClass));\n ComponentState.attributes = state;\n ComponentState = __decorate([\n __WEBPACK_IMPORTED_MODULE_0_type_r__[\"define\"]\n ], ComponentState);\n prototype.State = ComponentState;\n }\n else if (State) {\n prototype.State = State;\n }\n if (state || State) {\n this.mixins.merge([StateMixin, UpdateOnNestedChangesMixin]);\n }\n}\nvar StateMixin = {\n //state : null,\n _initializeState: function () {\n // props.__keepState is used to workaround issues in Backbone intergation layer\n var state = this.state = this.props.__keepState || new this.State();\n // Take ownership on state...\n state._owner = this;\n state._ownerKey = 'state';\n },\n context: {\n _nestedStore: __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Store\"]\n },\n // reference global store to fix model's store locator\n getStore: function () {\n // Attempt to get the store from the context first. Then - fallback to the state's default store.\n // TBD: Need to figure out a good way of managing local stores.\n var context, state;\n return ((context = this.context) && context._nestedStore) ||\n ((state = this.state) && state._defaultStore);\n },\n componentWillUnmount: function () {\n var state = this.state;\n state._owner = state._ownerKey = void 0;\n this._preventDispose /* hack for component-view to preserve the state */ || state.dispose();\n this.state = void 0;\n }\n};\nvar UpdateOnNestedChangesMixin = {\n _onChildrenChange: function () { },\n componentDidMount: function () {\n this._onChildrenChange = this.asyncUpdate;\n }\n};\n//# sourceMappingURL=state.js.map\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (false) {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = __webpack_require__(12)();\n}\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = createChangeTokensConstructor;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return EmptyPropsChangeTokensCtor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return PureRenderMixin; });\nfunction createChangeTokensConstructor(props) {\n var propNames = Object.keys(props);\n var PropsChangeTokens = new Function('p', 's', \"\\n var v;\\n this._s = s && s._changeToken;\\n \" + propNames.map(function (name) { return \"\\n this.\" + name + \" = ( ( v = p.\" + name + \") && v._changeToken ) || v;\\n \"; }).join('') + \"\\n \");\n PropsChangeTokens.prototype._hasChanges = new Function('p', 's', \"\\n var v;\\n return ( s && s._changeToken !== this._s ) \" + propNames.map(function (name) { return \" ||\\n this.\" + name + \" !== ( ( ( v = p.\" + name + \") && v._changeToken ) || v )\\n \"; }).join('') + \";\\n \");\n return PropsChangeTokens;\n}\n;\nvar EmptyPropsChangeTokensCtor = createChangeTokensConstructor({});\nvar PureRenderMixin = {\n shouldComponentUpdate: function (nextProps) {\n return this._propsChangeTokens._hasChanges(nextProps);\n },\n componentDidMount: updateChangeTokens,\n componentDidUpdate: updateChangeTokens\n};\nfunction updateChangeTokens() {\n this._propsChangeTokens = new this.PropsChangeTokens(this.props, this.state);\n}\n//# sourceMappingURL=pureRender.js.map\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_8__;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (immutable) */ __webpack_exports__[\"useView\"] = useView;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1);\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"define\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"g\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"mixins\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"h\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Node\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"d\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Element\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"b\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Link\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"c\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Component\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"assignToState\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"e\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__view_element__ = __webpack_require__(21);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"subview\", function() { return __WEBPACK_IMPORTED_MODULE_4__view_element__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__component_view__ = __webpack_require__(22);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__createClass__ = __webpack_require__(23);\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"PropTypes\", function() { return __WEBPACK_IMPORTED_MODULE_3_prop_types__; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"createClass\", function() { return __WEBPACK_IMPORTED_MODULE_6__createClass__[\"a\"]; });\n// Re-export react-mvx\n\nvar NestedReact = Object.create(__WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"f\" /* default */]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (NestedReact);\n\n// NestedReact backward compatibility layer\n\n\n\n\nNestedReact.subview = __WEBPACK_IMPORTED_MODULE_4__view_element__[\"a\" /* default */];\n\n\n\nNestedReact.createClass = __WEBPACK_IMPORTED_MODULE_6__createClass__[\"a\" /* default */];\nObject.defineProperty(NestedReact, 'PropTypes', { value: __WEBPACK_IMPORTED_MODULE_3_prop_types__ });\n\nvar BaseView;\n// export hook to override base View class used...\nfunction useView(View) {\n BaseView = Object(__WEBPACK_IMPORTED_MODULE_5__component_view__[\"a\" /* default */])(View);\n}\nvar onDefine = NestedReact.Component.onDefine;\nNestedReact.Component.onDefine = function (definitions, BaseClass) {\n this.View = BaseView.extend({ reactClass: this });\n return onDefine.call(this, definitions, BaseClass);\n};\n// Deprecated API for backward compatibility\nvar RecordProto = __WEBPACK_IMPORTED_MODULE_2_type_r__[\"Record\"].prototype;\nRecordProto.getLink = RecordProto.linkAt;\nRecordProto.deepLink = RecordProto.linkPath;\nvar CollectionProto = __WEBPACK_IMPORTED_MODULE_2_type_r__[\"Record\"].Collection.prototype;\nCollectionProto.hasLink = CollectionProto.linkContains;\nuseView(__WEBPACK_IMPORTED_MODULE_2_type_r__[\"View\"]);\n// Extend react components to have backbone-style jquery accessors\nvar BackboneViewProps = {\n el: { get: function () { return __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.findDOMNode(this); } },\n $el: { get: function () { return __WEBPACK_IMPORTED_MODULE_2_type_r___default.a.$(this.el); } },\n $: { value: function (sel) { return this.$el.find(sel); } }\n};\nObject.defineProperties(NestedReact.Component.prototype, BackboneViewProps);\n//# sourceMappingURL=index.js.map\n\n/***/ }),\n/* 10 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = onDefine;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__state__ = __webpack_require__(5);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\nfunction onDefine(definition, BaseClass) {\n var store = definition.store, StoreClass = definition.Store;\n if (store && store instanceof __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Store\"]) {\n // Direct reference to an existing store. Put it to the prototype.\n this.prototype.store = store;\n this.mixins.merge([ExternalStoreMixin, ExposeStoreMixin]);\n }\n else if (store || definition.Store) {\n if (typeof store === 'function') {\n StoreClass = store;\n store = void 0;\n }\n if (store) {\n var BaseClass_1 = StoreClass || this.prototype.Store || __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Store\"];\n var InternalStore = (function (_super) {\n __extends(InternalStore, _super);\n function InternalStore() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return InternalStore;\n }(BaseClass_1));\n InternalStore.attrbutes = store;\n InternalStore = __decorate([\n __WEBPACK_IMPORTED_MODULE_0_type_r__[\"define\"]\n ], InternalStore);\n ;\n this.prototype.Store = InternalStore;\n }\n else if (StoreClass) {\n this.prototype.Store = StoreClass;\n }\n this.mixins.merge([InternalStoreMixin, __WEBPACK_IMPORTED_MODULE_1__state__[\"b\" /* UpdateOnNestedChangesMixin */], ExposeStoreMixin]);\n }\n}\n/**\n * Attached whenever the store declaration of any form is present in the component.\n */\nvar ExposeStoreMixin = {\n childContext: {\n _nestedStore: __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Store\"]\n },\n getChildContext: function () {\n return { _nestedStore: this.store };\n },\n getStore: function () {\n return this.store;\n },\n // Will be called by the store when the lookup will fail.\n get: function (key) {\n // Ask upper store.\n var store = __WEBPACK_IMPORTED_MODULE_1__state__[\"a\" /* StateMixin */].getStore.call(this, key);\n return store && store.get(key);\n }\n};\n/**\n * External store must just track the changes and trigger render.\n * TBD: don't use it yet.\n */\nvar ExternalStoreMixin = {\n componentDidMount: function () {\n // Start UI updates on state changes.\n this.listenTo(this.store, 'change', this.asyncUpdate);\n }\n};\nvar InternalStoreMixin = {\n componentWillMount: function () {\n var store = this.store = new this.Store();\n store._owner = this;\n store._ownerKey = 'store';\n },\n componentWillUnmount: function () {\n this.store._ownerKey = this.store._owner = void 0;\n this.store.dispose();\n this.store = void 0;\n }\n};\n//# sourceMappingURL=store.js.map\n\n/***/ }),\n/* 11 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = onDefine;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n\n\nfunction onDefine(_a, BaseClass) {\n var context = _a.context, childContext = _a.childContext;\n var prototype = this.prototype;\n if (context) {\n // Merge in inherited members...\n prototype._context = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].defaults(context, BaseClass.prototype._context || {});\n // Compile to propTypes...\n this.contextTypes = Object(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* compileSpecs */])(context).propTypes;\n }\n if (childContext) {\n prototype._childContext = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].defaults(childContext, BaseClass.prototype._childContext);\n this.childContextTypes = Object(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* compileSpecs */])(childContext).propTypes;\n }\n}\n//# sourceMappingURL=context.js.map\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar emptyFunction = __webpack_require__(13);\nvar invariant = __webpack_require__(14);\nvar ReactPropTypesSecret = __webpack_require__(15);\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n invariant(\n false,\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim\n };\n\n ReactPropTypes.checkPropTypes = emptyFunction;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (false) {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = onDefine;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__pureRender__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__);\n/**\n * Handle props specification and everything which is related:\n * - local listening to props changes\n * - pure render mixin\n */\n\n\n\nfunction onDefine(_a, BaseClass) {\n var props = _a.props, pureRender = _a.pureRender;\n var prototype = this.prototype;\n // process props spec...\n if (props) {\n // Merge with inherited members...\n prototype._props = __WEBPACK_IMPORTED_MODULE_2_type_r__[\"tools\"].defaults(props, BaseClass.prototype._props || {});\n var _b = Object(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* compileSpecs */])(props), propTypes = _b.propTypes, defaults = _b.defaults, watchers = _b.watchers, changeHandlers = _b.changeHandlers;\n this.propTypes = propTypes;\n if (defaults)\n this.defaultProps = defaults;\n if (watchers) {\n prototype._watchers = watchers;\n this.mixins.merge([WatchersMixin]);\n }\n if (changeHandlers) {\n prototype._changeHandlers = changeHandlers;\n this.mixins.merge([ChangeHandlersMixin]);\n }\n if (prototype.pureRender) {\n prototype.PropsChangeTokens = Object(__WEBPACK_IMPORTED_MODULE_1__pureRender__[\"c\" /* createChangeTokensConstructor */])(props);\n }\n }\n if (pureRender) {\n this.mixins.merge([__WEBPACK_IMPORTED_MODULE_1__pureRender__[\"b\" /* PureRenderMixin */]]);\n }\n}\n/**\n * ChangeHandlers are fired in sequence upon props replacement.\n * Fires _after_ UI is updated. Used for managing events subscriptions.\n */\nvar ChangeHandlersMixin = {\n componentDidMount: function () {\n handlePropsChanges(this, {}, this.props);\n },\n componentDidUpdate: function (prev) {\n handlePropsChanges(this, prev, this.props);\n },\n componentWillUnmount: function () {\n handlePropsChanges(this, this.props, {});\n }\n};\nfunction handlePropsChanges(component, prev, next) {\n var _changeHandlers = component._changeHandlers;\n for (var name_1 in _changeHandlers) {\n if (prev[name_1] !== next[name_1]) {\n for (var _i = 0, _a = _changeHandlers[name_1]; _i < _a.length; _i++) {\n var handler = _a[_i];\n handler(next[name_1], prev[name_1], component);\n }\n }\n }\n}\n/**\n * Watchers works on props replacement and fires _before_ any change will be applied and UI is updated.\n * Fired in componentWillMount as well, which makes it a nice way to sync state from props.\n */\nvar WatchersMixin = {\n componentWillReceiveProps: function (next) {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_2 in _watchers) {\n if (next[name_2] !== props[name_2]) {\n _watchers[name_2].call(this, next[name_2], name_2);\n }\n }\n },\n componentWillMount: function () {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_3 in _watchers) {\n _watchers[name_3].call(this, props[name_3], name_3);\n }\n }\n};\n//# sourceMappingURL=props.js.map\n\n/***/ }),\n/* 17 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__valuelink_link__ = __webpack_require__(18);\n/**\n * Import ValueLink library\n * Define value links binding mixins to the Record and Collection\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]);\n__WEBPACK_IMPORTED_MODULE_0_type_r__[\"Mixable\"].mixins.populate(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]);\n/**\n * Record\n */\n__WEBPACK_IMPORTED_MODULE_0_type_r__[\"MixinsState\"].get(__WEBPACK_IMPORTED_MODULE_0_type_r__[\"Record\"]).merge([{\n // Link to the record's attribute by its key.\n linkAt: function (key) {\n return cacheLink(getLinksCache(this), this, key);\n },\n // Link to the attribute of the record's tree by symbolic path.\n linkPath: function (path, options) {\n return new RecordDeepLink(this, path, options);\n },\n // Link all (or listed) attributes and return links cache.\n linkAll: function () {\n var links = getLinksCache(this);\n if (arguments.length) {\n for (var i = 0; i < arguments.length; i++) {\n cacheLink(links, this, arguments[i]);\n }\n }\n else {\n var attributes = this.attributes;\n for (var key in attributes) {\n attributes[key] === void 0 || cacheLink(links, this, key);\n }\n }\n return links;\n }\n }]);\n/**\n * Link to Type-R's record attribute.\n * Strict evaluation of value, lazy evaluation of validation error.\n * Links are cached in the records\n */\nvar RecordLink = (function (_super) {\n __extends(RecordLink, _super);\n function RecordLink(record, attr, value) {\n var _this = _super.call(this, value) || this;\n _this.record = record;\n _this.attr = attr;\n return _this;\n }\n RecordLink.prototype.set = function (x) {\n this.record[this.attr] = x;\n };\n Object.defineProperty(RecordLink.prototype, \"error\", {\n get: function () {\n return this._error === void 0 ?\n this.record.getValidationError(this.attr) :\n this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n return RecordLink;\n}(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]));\nvar RecordDeepLink = (function (_super) {\n __extends(RecordDeepLink, _super);\n function RecordDeepLink(record, path, options) {\n var _this = _super.call(this, record.deepGet(path)) || this;\n _this.record = record;\n _this.path = path;\n _this.options = options;\n return _this;\n }\n Object.defineProperty(RecordDeepLink.prototype, \"error\", {\n get: function () {\n if (this._error === void 0) {\n this._error = this.record.deepValidationError(this.path) || null;\n }\n return this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(RecordDeepLink.prototype, \"_changeToken\", {\n get: function () {\n return this.record._changeToken;\n },\n enumerable: true,\n configurable: true\n });\n RecordDeepLink.prototype.set = function (x) {\n this.record.deepSet(this.path, x, this.options);\n };\n return RecordDeepLink;\n}(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]));\nfunction getLinksCache(record) {\n return record._links || (record._links = new record.AttributesCopy({}));\n}\nfunction cacheLink(links, record, key) {\n var cached = links[key], value = record[key];\n return cached && cached.value === value ? cached\n : links[key] = new RecordLink(record, key, value);\n}\n/***********************************\n * Collection\n */\n__WEBPACK_IMPORTED_MODULE_0_type_r__[\"MixinsState\"].get(__WEBPACK_IMPORTED_MODULE_0_type_r__[\"Record\"].Collection).merge([{\n // Boolean link to the record's presence in the collection\n linkContains: function (record) {\n return new CollectionLink(this, record);\n },\n // Link to collection's property\n linkAt: function (prop) {\n var _this = this;\n return __WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */].value(this[prop], function (x) { return _this[prop] = x; });\n }\n }]);\n/**\n * Boolean link to presence of NestedType's record in collection.\n * Strict evaluation of value, no error.\n * Safe implementation of _changeToken.\n */\nvar CollectionLink = (function (_super) {\n __extends(CollectionLink, _super);\n function CollectionLink(collection, record) {\n var _this = _super.call(this, Boolean(collection._byId[record.cid])) || this;\n _this.collection = collection;\n _this.record = record;\n return _this;\n }\n CollectionLink.prototype.set = function (x) {\n this.collection.toggle(this.record, x);\n };\n return CollectionLink;\n}(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]));\n//# sourceMappingURL=link.js.map\n\n/***/ }),\n/* 18 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Link; });\n/* unused harmony export CustomLink */\n/* unused harmony export CloneLink */\n/* unused harmony export EqualsLink */\n/* unused harmony export EnabledLink */\n/* unused harmony export ContainsLink */\n/* unused harmony export LinkAt */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__helpers__ = __webpack_require__(19);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * Advanced React links for purely functional two-way data binding\n *\n * MIT License, (c) 2016 Vlad Balin, Volicon.\n */\n\n// Main Link class. All links must extend it.\nvar Link = (function () {\n // create \n function Link(value) {\n this.value = value;\n }\n // Create custom link to arbitrary value\n Link.value = function (value, set) {\n return new CustomLink(value, set);\n };\n Object.defineProperty(Link.prototype, \"validationError\", {\n // DEPRECATED: Old error holder for backward compatibility with Volicon code base\n get: function () { return this.error; },\n enumerable: true,\n configurable: true\n });\n Link.prototype.onChange = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n handler(x);\n _this.set(x);\n });\n };\n Object.defineProperty(Link.prototype, \"props\", {\n // \n get: function () {\n var _this = this;\n return typeof this.value === 'boolean' ? {\n checked: this.value,\n onChange: function (e) { return _this.set(Boolean(e.target.checked)); }\n } : {\n value: this.value,\n onChange: function (e) { return _this.set(e.target.value); }\n };\n },\n enumerable: true,\n configurable: true\n });\n // DEPRECATED: Old React method for backward compatibility\n Link.prototype.requestChange = function (x) {\n this.set(x);\n };\n // Immediately update the link value using given transform function.\n Link.prototype.update = function (transform, e) {\n var next = transform(this.clone(), e);\n next === void 0 || this.set(next);\n };\n // Create new link which applies transform function on set.\n Link.prototype.pipe = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n var next = handler(x, _this.value);\n next === void 0 || _this.set(next);\n });\n };\n // Create UI event handler function which will update the link with a given transform function.\n Link.prototype.action = function (transform) {\n var _this = this;\n return function (e) { return _this.update(transform, e); };\n };\n Link.prototype.equals = function (truthyValue) {\n return new EqualsLink(this, truthyValue);\n };\n Link.prototype.enabled = function (defaultValue) {\n return new EnabledLink(this, defaultValue || \"\");\n };\n // Array-only links methods\n Link.prototype.contains = function (element) {\n return new ContainsLink(this, element);\n };\n Link.prototype.push = function () {\n var array = __WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* arrayHelpers */].clone(this.value);\n Array.prototype.push.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.unshift = function () {\n var array = __WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* arrayHelpers */].clone(this.value);\n Array.prototype.unshift.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.splice = function () {\n var array = __WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* arrayHelpers */].clone(this.value);\n Array.prototype.splice.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.map = function (iterator) {\n return Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* helpers */])(this.value).map(this, iterator);\n };\n Link.prototype.removeAt = function (key) {\n var value = this.value, _ = Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* helpers */])(value);\n this.set(_.remove(_.clone(value), key));\n };\n Link.prototype.at = function (key) {\n return new LinkAt(this, key);\n };\n Link.prototype.clone = function () {\n var value = this.value;\n return Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* helpers */])(value).clone(value);\n };\n Link.prototype.pick = function () {\n var links = {};\n for (var i = 0; i < arguments.length; i++) {\n var key = arguments[i];\n links[key] = new LinkAt(this, key);\n }\n return links;\n };\n /**\n * Validate link with validness predicate and optional custom error object. Can be chained.\n */\n Link.prototype.check = function (whenValid, error) {\n if (!this.error && !whenValid(this.value)) {\n this.error = error || whenValid.error || defaultError;\n }\n return this;\n };\n return Link;\n}());\n\nvar CustomLink = (function (_super) {\n __extends(CustomLink, _super);\n function CustomLink(value, set) {\n var _this = _super.call(this, value) || this;\n _this.set = set;\n return _this;\n }\n CustomLink.prototype.set = function (x) { };\n return CustomLink;\n}(Link));\n\nvar CloneLink = (function (_super) {\n __extends(CloneLink, _super);\n function CloneLink(parent, set) {\n var _this = _super.call(this, parent.value) || this;\n _this.set = set;\n var error = parent.error;\n if (error)\n _this.error = error;\n return _this;\n }\n CloneLink.prototype.set = function (x) { };\n return CloneLink;\n}(Link));\n\nvar EqualsLink = (function (_super) {\n __extends(EqualsLink, _super);\n function EqualsLink(parent, truthyValue) {\n var _this = _super.call(this, parent.value === truthyValue) || this;\n _this.parent = parent;\n _this.truthyValue = truthyValue;\n return _this;\n }\n EqualsLink.prototype.set = function (x) {\n this.parent.set(x ? this.truthyValue : null);\n };\n return EqualsLink;\n}(Link));\n\nvar EnabledLink = (function (_super) {\n __extends(EnabledLink, _super);\n function EnabledLink(parent, defaultValue) {\n var _this = _super.call(this, parent.value != null) || this;\n _this.parent = parent;\n _this.defaultValue = defaultValue;\n return _this;\n }\n EnabledLink.prototype.set = function (x) {\n this.parent.set(x ? this.defaultValue : null);\n };\n return EnabledLink;\n}(Link));\n\nvar ContainsLink = (function (_super) {\n __extends(ContainsLink, _super);\n function ContainsLink(parent, element) {\n var _this = _super.call(this, parent.value.indexOf(element) >= 0) || this;\n _this.parent = parent;\n _this.element = element;\n return _this;\n }\n ContainsLink.prototype.set = function (x) {\n var _this = this;\n var next = Boolean(x);\n if (this.value !== next) {\n var arr = this.parent.value, nextValue = x ? arr.concat(this.element) : arr.filter(function (el) { return el !== _this.element; });\n this.parent.set(nextValue);\n }\n };\n return ContainsLink;\n}(Link));\n\nvar defaultError = 'Invalid value';\n/**\n * Link to array or object element enclosed in parent link.\n * Performs purely functional update of the parent, shallow copying its value on `set`.\n */\nvar LinkAt = (function (_super) {\n __extends(LinkAt, _super);\n function LinkAt(parent, key) {\n var _this = _super.call(this, parent.value[key]) || this;\n _this.parent = parent;\n _this.key = key;\n return _this;\n }\n LinkAt.prototype.remove = function () {\n this.parent.removeAt(this.key);\n };\n // Set new element value to parent array or object, performing purely functional update.\n LinkAt.prototype.set = function (x) {\n var _this = this;\n if (this.value !== x) {\n this.parent.update(function (value) {\n value[_this.key] = x;\n return value;\n });\n }\n };\n ;\n return LinkAt;\n}(Link));\n\n//# sourceMappingURL=link.js.map\n\n/***/ }),\n/* 19 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = helpers;\n/* unused harmony export objectHelpers */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return arrayHelpers; });\nvar ArrayProto = Array.prototype, ObjectProto = Object.prototype;\nfunction helpers(value) {\n if (value && typeof value === 'object') {\n switch (Object.getPrototypeOf(value)) {\n case ArrayProto: return arrayHelpers;\n case ObjectProto: return objectHelpers;\n }\n }\n return dummyHelpers;\n}\n// Do nothing for types other than Array and plain Object.\nvar dummyHelpers = {\n clone: function (value) { return value; },\n map: function (link, fun) { return []; },\n remove: function (value) { return value; }\n};\n// `map` and `clone` for plain JS objects\nvar objectHelpers = {\n // Map through the link to object\n map: function (link, iterator) {\n var mapped = [];\n for (var key in link.value) {\n var element = iterator(link.at(key), key);\n element === void 0 || (mapped.push(element));\n }\n return mapped;\n },\n remove: function (object, key) {\n delete object[key];\n return object;\n },\n // Shallow clone plain JS object\n clone: function (object) {\n var cloned = {};\n for (var key in object) {\n cloned[key] = object[key];\n }\n return cloned;\n }\n};\n// `map` and `clone` helpers for arrays.\nvar arrayHelpers = {\n // Shallow clone array\n clone: function (array) {\n return array.slice();\n },\n remove: function (array, i) {\n array.splice(i, 1);\n return array;\n },\n // Map through the link to array\n map: function (link, iterator) {\n var length = link.value.length, mapped = Array(length);\n for (var i = 0, j = 0; i < length; i++) {\n var y = iterator(link.at(i), i);\n y === void 0 || (mapped[j++] = y);\n }\n mapped.length === j || (mapped.length = j);\n return mapped;\n }\n};\n//# sourceMappingURL=helpers.js.map\n\n/***/ }),\n/* 20 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Component; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__define__ = __webpack_require__(4);\n/**\n * React-Type-R component base class. Overrides React component.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\nvar Component = (function (_super) {\n __extends(Component, _super);\n function Component(props, context) {\n var _this = _super.call(this, props, context) || this;\n _this._initializeState();\n return _this;\n }\n Component.prototype.linkAt = function (key) {\n // Quick and dirty hack to suppres type error - refactor later.\n return this.state.linkAt(key);\n };\n Component.prototype.linkAll = function () {\n // Quick and dirty hack to suppres type error - refactor later.\n var state = this.state;\n return state.linkAll.apply(state, arguments);\n };\n Component.prototype.linkPath = function (path) {\n return this.state.linkPath(path);\n };\n Object.defineProperty(Component.prototype, \"links\", {\n get: function () {\n return this.state._links;\n },\n enumerable: true,\n configurable: true\n });\n Component.prototype._initializeState = function () {\n this.state = null;\n };\n Component.prototype.assignToState = function (x, key) {\n this.state.assignFrom((_a = {}, _a[key] = x, _a));\n var _a;\n };\n Component.prototype.componentWillUnmount = function () {\n this.dispose();\n };\n /**\n * Performs transactional update for both props and state.\n * Suppress updates during the transaction, and force update aftewards.\n * Wrapping the sequence of changes in a transactions guarantees that\n * React component will be updated _after_ all the changes to the\n * both props and local state are applied.\n */\n Component.prototype.transaction = function (fun) {\n var shouldComponentUpdate = this.shouldComponentUpdate, isRoot = shouldComponentUpdate !== returnFalse;\n if (isRoot) {\n this.shouldComponentUpdate = returnFalse;\n }\n var _a = this, state = _a.state, store = _a.store, withStore = store ? function (state) { return store.transaction(function () { return fun(state); }); } : fun;\n state ? state.transaction(withStore) : withStore(state);\n if (isRoot) {\n this.shouldComponentUpdate = shouldComponentUpdate;\n this.asyncUpdate();\n }\n };\n // Safe version of the forceUpdate suitable for asynchronous callbacks.\n Component.prototype.asyncUpdate = function () {\n this.shouldComponentUpdate === returnFalse || this._disposed || this.forceUpdate();\n };\n return Component;\n}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]));\nComponent.onDefine = __WEBPACK_IMPORTED_MODULE_2__define__[\"d\" /* default */];\nComponent = __decorate([\n Object(__WEBPACK_IMPORTED_MODULE_1_type_r__[\"define\"])({\n PropsChangeTokens: __WEBPACK_IMPORTED_MODULE_2__define__[\"b\" /* EmptyPropsChangeTokensCtor */]\n }),\n Object(__WEBPACK_IMPORTED_MODULE_1_type_r__[\"definitions\"])({\n // Definitions to be extracted from mixins and statics and passed to `onDefine()`\n state: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].merge,\n State: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].value,\n store: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].merge,\n Store: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].value,\n props: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].merge,\n context: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].merge,\n childContext: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].merge,\n pureRender: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].protoValue\n }),\n Object(__WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"])({\n // Apply old-school React mixin rules.\n componentWillMount: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classLast,\n componentDidMount: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classLast,\n componentWillReceiveProps: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classLast,\n componentWillUpdate: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classLast,\n componentDidUpdate: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classLast,\n componentWillUnmount: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classFirst,\n // And a bit more to fix inheritance quirks.\n shouldComponentUpdate: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].some,\n getChildContext: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].defaults\n })\n // Component can send and receive events...\n ,\n Object(__WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixins\"])(__WEBPACK_IMPORTED_MODULE_1_type_r__[\"Messenger\"])\n], Component);\n\nfunction returnFalse() { return false; }\n// Looks like React guys _really_ want to deprecate it. But no way.\n// We will work around their attempt.\nObject.defineProperty(Component.prototype, 'isMounted', {\n value: function isMounted() {\n return !this._disposed;\n }\n});\n//# sourceMappingURL=component.js.map\n\n/***/ }),\n/* 21 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\nvar notEqual = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].notEqual;\nvar BackboneView = (function (_super) {\n __extends(BackboneView, _super);\n function BackboneView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.saveRef = function (element) {\n _this.root = element;\n };\n return _this;\n }\n BackboneView.prototype.shouldComponentUpdate = function (next) {\n var props = this.props;\n return next.View !== props.View || notEqual(next.options, props.options);\n };\n BackboneView.prototype.hasUnsavedChanges = function () {\n var view = this.view;\n return view && (typeof view.hasUnsavedChanges === 'function' ? view.hasUnsavedChanges() : view.hasUnsavedChanges);\n };\n BackboneView.prototype.render = function () {\n return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"f\" /* default */].createElement('div', {\n ref: this.saveRef,\n className: this.props.className\n });\n };\n BackboneView.prototype.componentDidMount = function () {\n this._mountView();\n };\n BackboneView.prototype.componentDidUpdate = function () {\n this._dispose();\n this._mountView();\n };\n BackboneView.prototype.componentWillUnmount = function () {\n this._dispose();\n };\n BackboneView.prototype._mountView = function () {\n var el = this.root, p = this.props;\n var view = this.view = p.options ? new p.View(p.options) : new p.View();\n el.appendChild(view.el);\n view.render();\n };\n BackboneView.prototype._dispose = function () {\n var view = this.view;\n if (view) {\n if (view.dispose) {\n view.dispose();\n }\n else {\n view.stopListening();\n view.off();\n }\n this.root.innerHTML = \"\";\n this.view = null;\n }\n };\n return BackboneView;\n}(__WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\" /* Component */]));\n/* harmony default export */ __webpack_exports__[\"a\"] = (BackboneView);\n//# sourceMappingURL=view-element.js.map\n\n/***/ }),\n/* 22 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = use;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__);\n\n\n\nwindow.Page || (window.Page = { forceResize: function () { } });\nfunction use(View) {\n var dispose = View.prototype.dispose || function () { }, setElement = View.prototype.setElement;\n var ComponentView = View.extend({\n reactClass: null,\n props: {},\n element: null,\n initialize: function (props) {\n // memorise arguments to pass to React\n this.options = props || {};\n },\n setElement: function () {\n this.unmountComponent(true);\n return setElement.apply(this, arguments);\n },\n // cached instance of react component...\n component: null,\n prevState: null,\n resize: function () {\n window.Page.forceResize();\n },\n render: function () {\n var options = this.prevState ? __WEBPACK_IMPORTED_MODULE_2_type_r__[\"tools\"].fastAssign({ __keepState: this.prevState }, this.options) : this.options, element = __WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"](this.reactClass, options), component = __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.render(element, this.el);\n this.component || this.mountComponent(component);\n },\n mountComponent: function (component) {\n this.component = component;\n this.prevState = null;\n component.trigger && this.listenTo(component, 'all', function () {\n this.trigger.apply(this, arguments);\n });\n },\n unmountComponent: function (keepModel) {\n var component = this.component;\n if (component) {\n this.prevState = component.state;\n if (component.trigger) {\n this.stopListening(component);\n }\n component._preventDispose = Boolean(keepModel);\n __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.unmountComponentAtNode(this.el);\n this.component = null;\n }\n },\n dispose: function () {\n this.unmountComponent();\n return dispose.apply(this, arguments);\n }\n });\n Object.defineProperty(ComponentView.prototype, 'model', {\n get: function () {\n this.component || this.render();\n return this.component && this.component.state;\n }\n });\n return ComponentView;\n}\n//# sourceMappingURL=component-view.js.map\n\n/***/ }),\n/* 23 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = createClass;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1);\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\n\nvar dontAutobind = [\n 'State', 'Store', 'constructor',\n 'componentWillMount', 'componentDidMount', 'componentWillReceiveProps', 'shouldComponentUpdate',\n 'componentWillUpdate', 'componentDidUpdate', 'componentWillUnmount',\n 'render', 'getDefaultProps', 'getChildContext'\n];\n/**\n * ES5 components definition factory\n */\nfunction createClass(_a) {\n var statics = _a.statics, a_spec = __rest(_a, [\"statics\"]);\n // Gather all methods to pin them to `this` later.\n var methods = [];\n var Subclass = __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\" /* Component */].extend(__assign({ \n // Override constructor to autobind all the methods...\n constructor: function () {\n __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\" /* Component */].apply(this, arguments);\n for (var _i = 0, methods_1 = methods; _i < methods_1.length; _i++) {\n var method = methods_1[_i];\n this[method] = this[method].bind(this);\n }\n } }, a_spec), statics);\n // Need to bind methods from mixins as well, so populate it here.\n var Proto = Subclass.prototype;\n for (var key in Proto) {\n if (Proto.hasOwnProperty(key) && dontAutobind.indexOf(key) === -1 && typeof Proto[key] === 'function') {\n methods.push(key);\n }\n }\n return Subclass;\n}\n//# sourceMappingURL=createClass.js.map\n\n/***/ })\n/******/ ]);\n});\n\n\n// WEBPACK FOOTER //\n// dist/index.min.js"," \t// The module cache\n \tvar installedModules = {};\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, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\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 = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 9);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 5aa10213c42c439c84d3","module.exports = __WEBPACK_EXTERNAL_MODULE_0__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"commonjs\":\"nestedtypes\",\"commonjs2\":\"nestedtypes\",\"amd\":\"nestedtypes\",\"root\":\"Nested\"}\n// module id = 0\n// module chunks = 0","import * as React from 'react';\nimport { define, mixins } from 'type-r';\nimport { Node, Element } from './define';\nimport Link from './link';\nimport { Component } from './component';\n// extend React namespace\nvar ReactMVx = Object.create(React);\n// Make it compatible with ES6 module format.\nReactMVx.default = ReactMVx;\n// listenToProps, listenToState, model, attributes, Model\nReactMVx.define = define;\nReactMVx.mixins = mixins;\nReactMVx.Node = Node.value(null);\nReactMVx.Element = Element.value(null);\nReactMVx.Link = Link;\nReactMVx.Component = Component;\nvar assignToState = ReactMVx.assignToState = function (key) {\n return function (prop) {\n this.state.assignFrom((_a = {}, _a[key] = prop && prop instanceof Link ? prop.value : prop, _a));\n var _a;\n };\n};\nexport default ReactMVx;\nexport { define, mixins, Node, Element, Link, Component, assignToState };\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/index.js\n// module id = 1\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"commonjs\":\"react\",\"commonjs2\":\"react\",\"amd\":\"react\",\"root\":\"React\"}\n// module id = 2\n// module chunks = 0","import * as PropTypes from 'prop-types';\nimport { Record } from 'type-r';\nexport function compileSpecs(props) {\n var propTypes = {}, \n // Create NestedTypes model definition to process props spec.\n modelProto = Record.defaults(props).prototype;\n var defaults, watchers, changeHandlers;\n modelProto.forEachAttr(modelProto._attributes, function (spec, name) {\n // Skip auto-generated `id` attribute.\n if (name !== 'id') {\n var value = spec.value, type = spec.type, options = spec.options;\n // Translate props type to the propTypes guard.\n propTypes[name] = translateType(type, options.isRequired);\n if (options._onChange) {\n watchers || (watchers = {});\n watchers[name] = toLocalWatcher(options._onChange);\n }\n // Handle listening to event maps...\n if (options.changeHandlers && options.changeHandlers.length) {\n changeHandlers || (changeHandlers = {});\n changeHandlers[name] = options.changeHandlers;\n }\n // Handle listening to props changes...\n if (options.changeEvents) {\n changeHandlers || (changeHandlers = {});\n var handlers = changeHandlers[name] || (changeHandlers[name] = []), changeEvents_1 = typeof options.changeEvents === 'string' ? options.changeEvents : null;\n handlers.push(function (next, prev, component) {\n prev && component.stopListening(prev);\n next && component.listenTo(next, changeEvents_1 || next._changeEventName, component.asyncUpdate);\n });\n }\n // If default value is explicitly provided...\n if (value !== void 0) {\n //...append it to getDefaultProps function.\n defaults || (defaults = {});\n defaults[name] = spec.convert(value, void 0, null, {});\n }\n }\n });\n return { propTypes: propTypes, defaults: defaults, watchers: watchers, changeHandlers: changeHandlers };\n}\nfunction toLocalWatcher(ref) {\n return typeof ref === 'function' ? ref : function (value, name) {\n this[ref] && this[ref](value, name);\n };\n}\nvar Node = (function () {\n function Node() {\n }\n return Node;\n}());\nexport { Node };\nvar Element = (function () {\n function Element() {\n }\n return Element;\n}());\nexport { Element };\nfunction translateType(Type, isRequired) {\n var T = _translateType(Type);\n return isRequired ? T.isRequired : T;\n}\nfunction _translateType(Type) {\n switch (Type) {\n case Number:\n case Number.integer:\n return PropTypes.number;\n case String:\n return PropTypes.string;\n case Boolean:\n return PropTypes.bool;\n case Array:\n return PropTypes.array;\n case Function:\n return PropTypes.func;\n case Object:\n return PropTypes.object;\n case Node:\n return PropTypes.node;\n case Element:\n return PropTypes.element;\n case void 0:\n case null:\n return PropTypes.any;\n default:\n return PropTypes.instanceOf(Type);\n }\n}\n//# sourceMappingURL=typeSpecs.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/typeSpecs.js\n// module id = 3\n// module chunks = 0","import { Messenger } from 'type-r';\nimport onDefineStore from './store';\nimport onDefineState from './state';\nimport onDefineContext from './context';\nimport onDefineProps from './props';\nexport default function onDefine(definition, BaseClass) {\n // Initialize mixins placeholder...\n onDefineStore.call(this, definition, BaseClass);\n onDefineState.call(this, definition, BaseClass);\n onDefineContext.call(this, definition, BaseClass);\n onDefineProps.call(this, definition, BaseClass);\n Messenger.onDefine.call(this, definition, BaseClass);\n}\n;\nexport { Node, Element } from './typeSpecs';\nexport { EmptyPropsChangeTokensCtor } from './pureRender';\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/index.js\n// module id = 4\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n/*****************\n * State\n */\nimport { define, Record, Store } from 'type-r';\nexport default function process(definition, BaseComponentClass) {\n var prototype = this.prototype;\n var state = definition.state, State = definition.State;\n if (typeof state === 'function') {\n State = state;\n state = void 0;\n }\n if (state) {\n var BaseClass = State || prototype.State || Record;\n var ComponentState = (function (_super) {\n __extends(ComponentState, _super);\n function ComponentState() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return ComponentState;\n }(BaseClass));\n ComponentState.attributes = state;\n ComponentState = __decorate([\n define\n ], ComponentState);\n prototype.State = ComponentState;\n }\n else if (State) {\n prototype.State = State;\n }\n if (state || State) {\n this.mixins.merge([StateMixin, UpdateOnNestedChangesMixin]);\n }\n}\nexport var StateMixin = {\n //state : null,\n _initializeState: function () {\n // props.__keepState is used to workaround issues in Backbone intergation layer\n var state = this.state = this.props.__keepState || new this.State();\n // Take ownership on state...\n state._owner = this;\n state._ownerKey = 'state';\n },\n context: {\n _nestedStore: Store\n },\n // reference global store to fix model's store locator\n getStore: function () {\n // Attempt to get the store from the context first. Then - fallback to the state's default store.\n // TBD: Need to figure out a good way of managing local stores.\n var context, state;\n return ((context = this.context) && context._nestedStore) ||\n ((state = this.state) && state._defaultStore);\n },\n componentWillUnmount: function () {\n var state = this.state;\n state._owner = state._ownerKey = void 0;\n this._preventDispose /* hack for component-view to preserve the state */ || state.dispose();\n this.state = void 0;\n }\n};\nexport var UpdateOnNestedChangesMixin = {\n _onChildrenChange: function () { },\n componentDidMount: function () {\n this._onChildrenChange = this.asyncUpdate;\n }\n};\n//# sourceMappingURL=state.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/state.js\n// module id = 5\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/prop-types/index.js\n// module id = 6\n// module chunks = 0","export function createChangeTokensConstructor(props) {\n var propNames = Object.keys(props);\n var PropsChangeTokens = new Function('p', 's', \"\\n var v;\\n this._s = s && s._changeToken;\\n \" + propNames.map(function (name) { return \"\\n this.\" + name + \" = ( ( v = p.\" + name + \") && v._changeToken ) || v;\\n \"; }).join('') + \"\\n \");\n PropsChangeTokens.prototype._hasChanges = new Function('p', 's', \"\\n var v;\\n return ( s && s._changeToken !== this._s ) \" + propNames.map(function (name) { return \" ||\\n this.\" + name + \" !== ( ( ( v = p.\" + name + \") && v._changeToken ) || v )\\n \"; }).join('') + \";\\n \");\n return PropsChangeTokens;\n}\n;\nexport var EmptyPropsChangeTokensCtor = createChangeTokensConstructor({});\nexport var PureRenderMixin = {\n shouldComponentUpdate: function (nextProps) {\n return this._propsChangeTokens._hasChanges(nextProps);\n },\n componentDidMount: updateChangeTokens,\n componentDidUpdate: updateChangeTokens\n};\nfunction updateChangeTokens() {\n this._propsChangeTokens = new this.PropsChangeTokens(this.props, this.state);\n}\n//# sourceMappingURL=pureRender.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/pureRender.js\n// module id = 7\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_8__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"commonjs\":\"react-dom\",\"commonjs2\":\"react-dom\",\"amd\":\"react-dom\",\"root\":\"ReactDOM\"}\n// module id = 8\n// module chunks = 0","// Re-export react-mvx\nimport ReactMVx from './react-mvx';\nvar NestedReact = Object.create(ReactMVx);\nexport default NestedReact;\nexport * from './react-mvx';\n// NestedReact backward compatibility layer\nimport ReactDOM from 'react-dom';\nimport Nested, { View, Record } from 'type-r';\nimport * as PropTypes from 'prop-types';\nimport subview from './view-element';\nNestedReact.subview = subview;\nexport { subview };\nimport use from './component-view';\nimport createClass from './createClass';\nNestedReact.createClass = createClass;\nObject.defineProperty(NestedReact, 'PropTypes', { value: PropTypes });\nexport { PropTypes, createClass };\nvar BaseView;\n// export hook to override base View class used...\nexport function useView(View) {\n BaseView = use(View);\n}\nvar onDefine = NestedReact.Component.onDefine;\nNestedReact.Component.onDefine = function (definitions, BaseClass) {\n this.View = BaseView.extend({ reactClass: this });\n return onDefine.call(this, definitions, BaseClass);\n};\n// Deprecated API for backward compatibility\nvar RecordProto = Record.prototype;\nRecordProto.getLink = RecordProto.linkAt;\nRecordProto.deepLink = RecordProto.linkPath;\nvar CollectionProto = Record.Collection.prototype;\nCollectionProto.hasLink = CollectionProto.linkContains;\nuseView(View);\n// Extend react components to have backbone-style jquery accessors\nvar BackboneViewProps = {\n el: { get: function () { return ReactDOM.findDOMNode(this); } },\n $el: { get: function () { return Nested.$(this.el); } },\n $: { value: function (sel) { return this.$el.find(sel); } }\n};\nObject.defineProperties(NestedReact.Component.prototype, BackboneViewProps);\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/index.js\n// module id = 9\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { define, Store } from 'type-r';\nimport { StateMixin, UpdateOnNestedChangesMixin } from './state';\nexport default function onDefine(definition, BaseClass) {\n var store = definition.store, StoreClass = definition.Store;\n if (store && store instanceof Store) {\n // Direct reference to an existing store. Put it to the prototype.\n this.prototype.store = store;\n this.mixins.merge([ExternalStoreMixin, ExposeStoreMixin]);\n }\n else if (store || definition.Store) {\n if (typeof store === 'function') {\n StoreClass = store;\n store = void 0;\n }\n if (store) {\n var BaseClass_1 = StoreClass || this.prototype.Store || Store;\n var InternalStore = (function (_super) {\n __extends(InternalStore, _super);\n function InternalStore() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return InternalStore;\n }(BaseClass_1));\n InternalStore.attrbutes = store;\n InternalStore = __decorate([\n define\n ], InternalStore);\n ;\n this.prototype.Store = InternalStore;\n }\n else if (StoreClass) {\n this.prototype.Store = StoreClass;\n }\n this.mixins.merge([InternalStoreMixin, UpdateOnNestedChangesMixin, ExposeStoreMixin]);\n }\n}\n/**\n * Attached whenever the store declaration of any form is present in the component.\n */\nvar ExposeStoreMixin = {\n childContext: {\n _nestedStore: Store\n },\n getChildContext: function () {\n return { _nestedStore: this.store };\n },\n getStore: function () {\n return this.store;\n },\n // Will be called by the store when the lookup will fail.\n get: function (key) {\n // Ask upper store.\n var store = StateMixin.getStore.call(this, key);\n return store && store.get(key);\n }\n};\n/**\n * External store must just track the changes and trigger render.\n * TBD: don't use it yet.\n */\nvar ExternalStoreMixin = {\n componentDidMount: function () {\n // Start UI updates on state changes.\n this.listenTo(this.store, 'change', this.asyncUpdate);\n }\n};\nvar InternalStoreMixin = {\n componentWillMount: function () {\n var store = this.store = new this.Store();\n store._owner = this;\n store._ownerKey = 'store';\n },\n componentWillUnmount: function () {\n this.store._ownerKey = this.store._owner = void 0;\n this.store.dispose();\n this.store = void 0;\n }\n};\n//# sourceMappingURL=store.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/store.js\n// module id = 10\n// module chunks = 0","import { compileSpecs } from './typeSpecs';\nimport { tools } from 'type-r';\nexport default function onDefine(_a, BaseClass) {\n var context = _a.context, childContext = _a.childContext;\n var prototype = this.prototype;\n if (context) {\n // Merge in inherited members...\n prototype._context = tools.defaults(context, BaseClass.prototype._context || {});\n // Compile to propTypes...\n this.contextTypes = compileSpecs(context).propTypes;\n }\n if (childContext) {\n prototype._childContext = tools.defaults(childContext, BaseClass.prototype._childContext);\n this.childContextTypes = compileSpecs(childContext).propTypes;\n }\n}\n//# sourceMappingURL=context.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/context.js\n// module id = 11\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\nvar invariant = require('fbjs/lib/invariant');\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n invariant(\n false,\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim\n };\n\n ReactPropTypes.checkPropTypes = emptyFunction;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/prop-types/factoryWithThrowingShims.js\n// module id = 12\n// module chunks = 0","\"use strict\";\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/fbjs/lib/emptyFunction.js\n// module id = 13\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (process.env.NODE_ENV !== 'production') {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/fbjs/lib/invariant.js\n// module id = 14\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/prop-types/lib/ReactPropTypesSecret.js\n// module id = 15\n// module chunks = 0","/**\n * Handle props specification and everything which is related:\n * - local listening to props changes\n * - pure render mixin\n */\nimport { compileSpecs } from './typeSpecs';\nimport { PureRenderMixin, createChangeTokensConstructor } from './pureRender';\nimport { tools } from 'type-r';\nexport default function onDefine(_a, BaseClass) {\n var props = _a.props, pureRender = _a.pureRender;\n var prototype = this.prototype;\n // process props spec...\n if (props) {\n // Merge with inherited members...\n prototype._props = tools.defaults(props, BaseClass.prototype._props || {});\n var _b = compileSpecs(props), propTypes = _b.propTypes, defaults = _b.defaults, watchers = _b.watchers, changeHandlers = _b.changeHandlers;\n this.propTypes = propTypes;\n if (defaults)\n this.defaultProps = defaults;\n if (watchers) {\n prototype._watchers = watchers;\n this.mixins.merge([WatchersMixin]);\n }\n if (changeHandlers) {\n prototype._changeHandlers = changeHandlers;\n this.mixins.merge([ChangeHandlersMixin]);\n }\n if (prototype.pureRender) {\n prototype.PropsChangeTokens = createChangeTokensConstructor(props);\n }\n }\n if (pureRender) {\n this.mixins.merge([PureRenderMixin]);\n }\n}\n/**\n * ChangeHandlers are fired in sequence upon props replacement.\n * Fires _after_ UI is updated. Used for managing events subscriptions.\n */\nvar ChangeHandlersMixin = {\n componentDidMount: function () {\n handlePropsChanges(this, {}, this.props);\n },\n componentDidUpdate: function (prev) {\n handlePropsChanges(this, prev, this.props);\n },\n componentWillUnmount: function () {\n handlePropsChanges(this, this.props, {});\n }\n};\nfunction handlePropsChanges(component, prev, next) {\n var _changeHandlers = component._changeHandlers;\n for (var name_1 in _changeHandlers) {\n if (prev[name_1] !== next[name_1]) {\n for (var _i = 0, _a = _changeHandlers[name_1]; _i < _a.length; _i++) {\n var handler = _a[_i];\n handler(next[name_1], prev[name_1], component);\n }\n }\n }\n}\n/**\n * Watchers works on props replacement and fires _before_ any change will be applied and UI is updated.\n * Fired in componentWillMount as well, which makes it a nice way to sync state from props.\n */\nvar WatchersMixin = {\n componentWillReceiveProps: function (next) {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_2 in _watchers) {\n if (next[name_2] !== props[name_2]) {\n _watchers[name_2].call(this, next[name_2], name_2);\n }\n }\n },\n componentWillMount: function () {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_3 in _watchers) {\n _watchers[name_3].call(this, props[name_3], name_3);\n }\n }\n};\n//# sourceMappingURL=props.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/props.js\n// module id = 16\n// module chunks = 0","/**\n * Import ValueLink library\n * Define value links binding mixins to the Record and Collection\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { Mixable, MixinsState, Record } from 'type-r';\nimport { Link } from './valuelink/link';\nexport default Link;\nMixable.mixins.populate(Link);\n/**\n * Record\n */\nMixinsState.get(Record).merge([{\n // Link to the record's attribute by its key.\n linkAt: function (key) {\n return cacheLink(getLinksCache(this), this, key);\n },\n // Link to the attribute of the record's tree by symbolic path.\n linkPath: function (path, options) {\n return new RecordDeepLink(this, path, options);\n },\n // Link all (or listed) attributes and return links cache.\n linkAll: function () {\n var links = getLinksCache(this);\n if (arguments.length) {\n for (var i = 0; i < arguments.length; i++) {\n cacheLink(links, this, arguments[i]);\n }\n }\n else {\n var attributes = this.attributes;\n for (var key in attributes) {\n attributes[key] === void 0 || cacheLink(links, this, key);\n }\n }\n return links;\n }\n }]);\n/**\n * Link to Type-R's record attribute.\n * Strict evaluation of value, lazy evaluation of validation error.\n * Links are cached in the records\n */\nvar RecordLink = (function (_super) {\n __extends(RecordLink, _super);\n function RecordLink(record, attr, value) {\n var _this = _super.call(this, value) || this;\n _this.record = record;\n _this.attr = attr;\n return _this;\n }\n RecordLink.prototype.set = function (x) {\n this.record[this.attr] = x;\n };\n Object.defineProperty(RecordLink.prototype, \"error\", {\n get: function () {\n return this._error === void 0 ?\n this.record.getValidationError(this.attr) :\n this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n return RecordLink;\n}(Link));\nvar RecordDeepLink = (function (_super) {\n __extends(RecordDeepLink, _super);\n function RecordDeepLink(record, path, options) {\n var _this = _super.call(this, record.deepGet(path)) || this;\n _this.record = record;\n _this.path = path;\n _this.options = options;\n return _this;\n }\n Object.defineProperty(RecordDeepLink.prototype, \"error\", {\n get: function () {\n if (this._error === void 0) {\n this._error = this.record.deepValidationError(this.path) || null;\n }\n return this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(RecordDeepLink.prototype, \"_changeToken\", {\n get: function () {\n return this.record._changeToken;\n },\n enumerable: true,\n configurable: true\n });\n RecordDeepLink.prototype.set = function (x) {\n this.record.deepSet(this.path, x, this.options);\n };\n return RecordDeepLink;\n}(Link));\nfunction getLinksCache(record) {\n return record._links || (record._links = new record.AttributesCopy({}));\n}\nfunction cacheLink(links, record, key) {\n var cached = links[key], value = record[key];\n return cached && cached.value === value ? cached\n : links[key] = new RecordLink(record, key, value);\n}\n/***********************************\n * Collection\n */\nMixinsState.get(Record.Collection).merge([{\n // Boolean link to the record's presence in the collection\n linkContains: function (record) {\n return new CollectionLink(this, record);\n },\n // Link to collection's property\n linkAt: function (prop) {\n var _this = this;\n return Link.value(this[prop], function (x) { return _this[prop] = x; });\n }\n }]);\n/**\n * Boolean link to presence of NestedType's record in collection.\n * Strict evaluation of value, no error.\n * Safe implementation of _changeToken.\n */\nvar CollectionLink = (function (_super) {\n __extends(CollectionLink, _super);\n function CollectionLink(collection, record) {\n var _this = _super.call(this, Boolean(collection._byId[record.cid])) || this;\n _this.collection = collection;\n _this.record = record;\n return _this;\n }\n CollectionLink.prototype.set = function (x) {\n this.collection.toggle(this.record, x);\n };\n return CollectionLink;\n}(Link));\n//# sourceMappingURL=link.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/link.js\n// module id = 17\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * Advanced React links for purely functional two-way data binding\n *\n * MIT License, (c) 2016 Vlad Balin, Volicon.\n */\nimport { helpers, arrayHelpers } from './helpers';\n// Main Link class. All links must extend it.\nvar Link = (function () {\n // create \n function Link(value) {\n this.value = value;\n }\n // Create custom link to arbitrary value\n Link.value = function (value, set) {\n return new CustomLink(value, set);\n };\n Object.defineProperty(Link.prototype, \"validationError\", {\n // DEPRECATED: Old error holder for backward compatibility with Volicon code base\n get: function () { return this.error; },\n enumerable: true,\n configurable: true\n });\n Link.prototype.onChange = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n handler(x);\n _this.set(x);\n });\n };\n Object.defineProperty(Link.prototype, \"props\", {\n // \n get: function () {\n var _this = this;\n return typeof this.value === 'boolean' ? {\n checked: this.value,\n onChange: function (e) { return _this.set(Boolean(e.target.checked)); }\n } : {\n value: this.value,\n onChange: function (e) { return _this.set(e.target.value); }\n };\n },\n enumerable: true,\n configurable: true\n });\n // DEPRECATED: Old React method for backward compatibility\n Link.prototype.requestChange = function (x) {\n this.set(x);\n };\n // Immediately update the link value using given transform function.\n Link.prototype.update = function (transform, e) {\n var next = transform(this.clone(), e);\n next === void 0 || this.set(next);\n };\n // Create new link which applies transform function on set.\n Link.prototype.pipe = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n var next = handler(x, _this.value);\n next === void 0 || _this.set(next);\n });\n };\n // Create UI event handler function which will update the link with a given transform function.\n Link.prototype.action = function (transform) {\n var _this = this;\n return function (e) { return _this.update(transform, e); };\n };\n Link.prototype.equals = function (truthyValue) {\n return new EqualsLink(this, truthyValue);\n };\n Link.prototype.enabled = function (defaultValue) {\n return new EnabledLink(this, defaultValue || \"\");\n };\n // Array-only links methods\n Link.prototype.contains = function (element) {\n return new ContainsLink(this, element);\n };\n Link.prototype.push = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.push.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.unshift = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.unshift.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.splice = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.splice.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.map = function (iterator) {\n return helpers(this.value).map(this, iterator);\n };\n Link.prototype.removeAt = function (key) {\n var value = this.value, _ = helpers(value);\n this.set(_.remove(_.clone(value), key));\n };\n Link.prototype.at = function (key) {\n return new LinkAt(this, key);\n };\n Link.prototype.clone = function () {\n var value = this.value;\n return helpers(value).clone(value);\n };\n Link.prototype.pick = function () {\n var links = {};\n for (var i = 0; i < arguments.length; i++) {\n var key = arguments[i];\n links[key] = new LinkAt(this, key);\n }\n return links;\n };\n /**\n * Validate link with validness predicate and optional custom error object. Can be chained.\n */\n Link.prototype.check = function (whenValid, error) {\n if (!this.error && !whenValid(this.value)) {\n this.error = error || whenValid.error || defaultError;\n }\n return this;\n };\n return Link;\n}());\nexport { Link };\nvar CustomLink = (function (_super) {\n __extends(CustomLink, _super);\n function CustomLink(value, set) {\n var _this = _super.call(this, value) || this;\n _this.set = set;\n return _this;\n }\n CustomLink.prototype.set = function (x) { };\n return CustomLink;\n}(Link));\nexport { CustomLink };\nvar CloneLink = (function (_super) {\n __extends(CloneLink, _super);\n function CloneLink(parent, set) {\n var _this = _super.call(this, parent.value) || this;\n _this.set = set;\n var error = parent.error;\n if (error)\n _this.error = error;\n return _this;\n }\n CloneLink.prototype.set = function (x) { };\n return CloneLink;\n}(Link));\nexport { CloneLink };\nvar EqualsLink = (function (_super) {\n __extends(EqualsLink, _super);\n function EqualsLink(parent, truthyValue) {\n var _this = _super.call(this, parent.value === truthyValue) || this;\n _this.parent = parent;\n _this.truthyValue = truthyValue;\n return _this;\n }\n EqualsLink.prototype.set = function (x) {\n this.parent.set(x ? this.truthyValue : null);\n };\n return EqualsLink;\n}(Link));\nexport { EqualsLink };\nvar EnabledLink = (function (_super) {\n __extends(EnabledLink, _super);\n function EnabledLink(parent, defaultValue) {\n var _this = _super.call(this, parent.value != null) || this;\n _this.parent = parent;\n _this.defaultValue = defaultValue;\n return _this;\n }\n EnabledLink.prototype.set = function (x) {\n this.parent.set(x ? this.defaultValue : null);\n };\n return EnabledLink;\n}(Link));\nexport { EnabledLink };\nvar ContainsLink = (function (_super) {\n __extends(ContainsLink, _super);\n function ContainsLink(parent, element) {\n var _this = _super.call(this, parent.value.indexOf(element) >= 0) || this;\n _this.parent = parent;\n _this.element = element;\n return _this;\n }\n ContainsLink.prototype.set = function (x) {\n var _this = this;\n var next = Boolean(x);\n if (this.value !== next) {\n var arr = this.parent.value, nextValue = x ? arr.concat(this.element) : arr.filter(function (el) { return el !== _this.element; });\n this.parent.set(nextValue);\n }\n };\n return ContainsLink;\n}(Link));\nexport { ContainsLink };\nvar defaultError = 'Invalid value';\n/**\n * Link to array or object element enclosed in parent link.\n * Performs purely functional update of the parent, shallow copying its value on `set`.\n */\nvar LinkAt = (function (_super) {\n __extends(LinkAt, _super);\n function LinkAt(parent, key) {\n var _this = _super.call(this, parent.value[key]) || this;\n _this.parent = parent;\n _this.key = key;\n return _this;\n }\n LinkAt.prototype.remove = function () {\n this.parent.removeAt(this.key);\n };\n // Set new element value to parent array or object, performing purely functional update.\n LinkAt.prototype.set = function (x) {\n var _this = this;\n if (this.value !== x) {\n this.parent.update(function (value) {\n value[_this.key] = x;\n return value;\n });\n }\n };\n ;\n return LinkAt;\n}(Link));\nexport { LinkAt };\n//# sourceMappingURL=link.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/valuelink/link.js\n// module id = 18\n// module chunks = 0","var ArrayProto = Array.prototype, ObjectProto = Object.prototype;\nexport function helpers(value) {\n if (value && typeof value === 'object') {\n switch (Object.getPrototypeOf(value)) {\n case ArrayProto: return arrayHelpers;\n case ObjectProto: return objectHelpers;\n }\n }\n return dummyHelpers;\n}\n// Do nothing for types other than Array and plain Object.\nvar dummyHelpers = {\n clone: function (value) { return value; },\n map: function (link, fun) { return []; },\n remove: function (value) { return value; }\n};\n// `map` and `clone` for plain JS objects\nexport var objectHelpers = {\n // Map through the link to object\n map: function (link, iterator) {\n var mapped = [];\n for (var key in link.value) {\n var element = iterator(link.at(key), key);\n element === void 0 || (mapped.push(element));\n }\n return mapped;\n },\n remove: function (object, key) {\n delete object[key];\n return object;\n },\n // Shallow clone plain JS object\n clone: function (object) {\n var cloned = {};\n for (var key in object) {\n cloned[key] = object[key];\n }\n return cloned;\n }\n};\n// `map` and `clone` helpers for arrays.\nexport var arrayHelpers = {\n // Shallow clone array\n clone: function (array) {\n return array.slice();\n },\n remove: function (array, i) {\n array.splice(i, 1);\n return array;\n },\n // Map through the link to array\n map: function (link, iterator) {\n var length = link.value.length, mapped = Array(length);\n for (var i = 0, j = 0; i < length; i++) {\n var y = iterator(link.at(i), i);\n y === void 0 || (mapped[j++] = y);\n }\n mapped.length === j || (mapped.length = j);\n return mapped;\n }\n};\n//# sourceMappingURL=helpers.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/valuelink/helpers.js\n// module id = 19\n// module chunks = 0","/**\n * React-Type-R component base class. Overrides React component.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport * as React from 'react';\nimport { mixinRules, define, mixins, definitions, Messenger } from 'type-r';\nimport onDefine, { EmptyPropsChangeTokensCtor } from './define';\nvar Component = (function (_super) {\n __extends(Component, _super);\n function Component(props, context) {\n var _this = _super.call(this, props, context) || this;\n _this._initializeState();\n return _this;\n }\n Component.prototype.linkAt = function (key) {\n // Quick and dirty hack to suppres type error - refactor later.\n return this.state.linkAt(key);\n };\n Component.prototype.linkAll = function () {\n // Quick and dirty hack to suppres type error - refactor later.\n var state = this.state;\n return state.linkAll.apply(state, arguments);\n };\n Component.prototype.linkPath = function (path) {\n return this.state.linkPath(path);\n };\n Object.defineProperty(Component.prototype, \"links\", {\n get: function () {\n return this.state._links;\n },\n enumerable: true,\n configurable: true\n });\n Component.prototype._initializeState = function () {\n this.state = null;\n };\n Component.prototype.assignToState = function (x, key) {\n this.state.assignFrom((_a = {}, _a[key] = x, _a));\n var _a;\n };\n Component.prototype.componentWillUnmount = function () {\n this.dispose();\n };\n /**\n * Performs transactional update for both props and state.\n * Suppress updates during the transaction, and force update aftewards.\n * Wrapping the sequence of changes in a transactions guarantees that\n * React component will be updated _after_ all the changes to the\n * both props and local state are applied.\n */\n Component.prototype.transaction = function (fun) {\n var shouldComponentUpdate = this.shouldComponentUpdate, isRoot = shouldComponentUpdate !== returnFalse;\n if (isRoot) {\n this.shouldComponentUpdate = returnFalse;\n }\n var _a = this, state = _a.state, store = _a.store, withStore = store ? function (state) { return store.transaction(function () { return fun(state); }); } : fun;\n state ? state.transaction(withStore) : withStore(state);\n if (isRoot) {\n this.shouldComponentUpdate = shouldComponentUpdate;\n this.asyncUpdate();\n }\n };\n // Safe version of the forceUpdate suitable for asynchronous callbacks.\n Component.prototype.asyncUpdate = function () {\n this.shouldComponentUpdate === returnFalse || this._disposed || this.forceUpdate();\n };\n return Component;\n}(React.Component));\nComponent.onDefine = onDefine;\nComponent = __decorate([\n define({\n PropsChangeTokens: EmptyPropsChangeTokensCtor\n }),\n definitions({\n // Definitions to be extracted from mixins and statics and passed to `onDefine()`\n state: mixinRules.merge,\n State: mixinRules.value,\n store: mixinRules.merge,\n Store: mixinRules.value,\n props: mixinRules.merge,\n context: mixinRules.merge,\n childContext: mixinRules.merge,\n pureRender: mixinRules.protoValue\n }),\n mixinRules({\n // Apply old-school React mixin rules.\n componentWillMount: mixinRules.classLast,\n componentDidMount: mixinRules.classLast,\n componentWillReceiveProps: mixinRules.classLast,\n componentWillUpdate: mixinRules.classLast,\n componentDidUpdate: mixinRules.classLast,\n componentWillUnmount: mixinRules.classFirst,\n // And a bit more to fix inheritance quirks.\n shouldComponentUpdate: mixinRules.some,\n getChildContext: mixinRules.defaults\n })\n // Component can send and receive events...\n ,\n mixins(Messenger)\n], Component);\nexport { Component };\nfunction returnFalse() { return false; }\n// Looks like React guys _really_ want to deprecate it. But no way.\n// We will work around their attempt.\nObject.defineProperty(Component.prototype, 'isMounted', {\n value: function isMounted() {\n return !this._disposed;\n }\n});\n//# sourceMappingURL=component.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/component.js\n// module id = 20\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport React, { Component } from './react-mvx';\nimport { tools } from 'type-r';\nvar notEqual = tools.notEqual;\nvar BackboneView = (function (_super) {\n __extends(BackboneView, _super);\n function BackboneView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.saveRef = function (element) {\n _this.root = element;\n };\n return _this;\n }\n BackboneView.prototype.shouldComponentUpdate = function (next) {\n var props = this.props;\n return next.View !== props.View || notEqual(next.options, props.options);\n };\n BackboneView.prototype.hasUnsavedChanges = function () {\n var view = this.view;\n return view && (typeof view.hasUnsavedChanges === 'function' ? view.hasUnsavedChanges() : view.hasUnsavedChanges);\n };\n BackboneView.prototype.render = function () {\n return React.createElement('div', {\n ref: this.saveRef,\n className: this.props.className\n });\n };\n BackboneView.prototype.componentDidMount = function () {\n this._mountView();\n };\n BackboneView.prototype.componentDidUpdate = function () {\n this._dispose();\n this._mountView();\n };\n BackboneView.prototype.componentWillUnmount = function () {\n this._dispose();\n };\n BackboneView.prototype._mountView = function () {\n var el = this.root, p = this.props;\n var view = this.view = p.options ? new p.View(p.options) : new p.View();\n el.appendChild(view.el);\n view.render();\n };\n BackboneView.prototype._dispose = function () {\n var view = this.view;\n if (view) {\n if (view.dispose) {\n view.dispose();\n }\n else {\n view.stopListening();\n view.off();\n }\n this.root.innerHTML = \"\";\n this.view = null;\n }\n };\n return BackboneView;\n}(Component));\nexport default BackboneView;\n//# sourceMappingURL=view-element.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/view-element.js\n// module id = 21\n// module chunks = 0","import * as React from 'react';\nimport ReactDOM from 'react-dom';\nimport { tools } from 'type-r';\nwindow.Page || (window.Page = { forceResize: function () { } });\nexport default function use(View) {\n var dispose = View.prototype.dispose || function () { }, setElement = View.prototype.setElement;\n var ComponentView = View.extend({\n reactClass: null,\n props: {},\n element: null,\n initialize: function (props) {\n // memorise arguments to pass to React\n this.options = props || {};\n },\n setElement: function () {\n this.unmountComponent(true);\n return setElement.apply(this, arguments);\n },\n // cached instance of react component...\n component: null,\n prevState: null,\n resize: function () {\n window.Page.forceResize();\n },\n render: function () {\n var options = this.prevState ? tools.fastAssign({ __keepState: this.prevState }, this.options) : this.options, element = React.createElement(this.reactClass, options), component = ReactDOM.render(element, this.el);\n this.component || this.mountComponent(component);\n },\n mountComponent: function (component) {\n this.component = component;\n this.prevState = null;\n component.trigger && this.listenTo(component, 'all', function () {\n this.trigger.apply(this, arguments);\n });\n },\n unmountComponent: function (keepModel) {\n var component = this.component;\n if (component) {\n this.prevState = component.state;\n if (component.trigger) {\n this.stopListening(component);\n }\n component._preventDispose = Boolean(keepModel);\n ReactDOM.unmountComponentAtNode(this.el);\n this.component = null;\n }\n },\n dispose: function () {\n this.unmountComponent();\n return dispose.apply(this, arguments);\n }\n });\n Object.defineProperty(ComponentView.prototype, 'model', {\n get: function () {\n this.component || this.render();\n return this.component && this.component.state;\n }\n });\n return ComponentView;\n}\n//# sourceMappingURL=component-view.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/component-view.js\n// module id = 22\n// module chunks = 0","var __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\nimport { Component } from './react-mvx';\nvar dontAutobind = [\n 'State', 'Store', 'constructor',\n 'componentWillMount', 'componentDidMount', 'componentWillReceiveProps', 'shouldComponentUpdate',\n 'componentWillUpdate', 'componentDidUpdate', 'componentWillUnmount',\n 'render', 'getDefaultProps', 'getChildContext'\n];\n/**\n * ES5 components definition factory\n */\nexport default function createClass(_a) {\n var statics = _a.statics, a_spec = __rest(_a, [\"statics\"]);\n // Gather all methods to pin them to `this` later.\n var methods = [];\n var Subclass = Component.extend(__assign({ \n // Override constructor to autobind all the methods...\n constructor: function () {\n Component.apply(this, arguments);\n for (var _i = 0, methods_1 = methods; _i < methods_1.length; _i++) {\n var method = methods_1[_i];\n this[method] = this[method].bind(this);\n }\n } }, a_spec), statics);\n // Need to bind methods from mixins as well, so populate it here.\n var Proto = Subclass.prototype;\n for (var key in Proto) {\n if (Proto.hasOwnProperty(key) && dontAutobind.indexOf(key) === -1 && typeof Proto[key] === 'function') {\n methods.push(key);\n }\n }\n return Subclass;\n}\n//# sourceMappingURL=createClass.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/createClass.js\n// module id = 23\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///dist/index.min.js","webpack:///webpack/bootstrap ccc6c135e1d120a8e559","webpack:///external {\"commonjs\":\"nestedtypes\",\"commonjs2\":\"nestedtypes\",\"amd\":\"nestedtypes\",\"root\":\"Nested\"}","webpack:///./lib/react-mvx/index.js","webpack:///external {\"commonjs\":\"react\",\"commonjs2\":\"react\",\"amd\":\"react\",\"root\":\"React\"}","webpack:///./lib/react-mvx/define/typeSpecs.js","webpack:///./lib/react-mvx/define/index.js","webpack:///./lib/react-mvx/define/state.js","webpack:///./node_modules/prop-types/index.js","webpack:///./lib/react-mvx/define/pureRender.js","webpack:///external {\"commonjs\":\"react-dom\",\"commonjs2\":\"react-dom\",\"amd\":\"react-dom\",\"root\":\"ReactDOM\"}","webpack:///./lib/index.js","webpack:///./lib/react-mvx/define/store.js","webpack:///./lib/react-mvx/define/context.js","webpack:///./node_modules/prop-types/factoryWithThrowingShims.js","webpack:///./node_modules/fbjs/lib/emptyFunction.js","webpack:///./node_modules/fbjs/lib/invariant.js","webpack:///./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack:///./lib/react-mvx/define/props.js","webpack:///./lib/react-mvx/link.js","webpack:///./lib/react-mvx/valuelink/link.js","webpack:///./lib/react-mvx/valuelink/helpers.js","webpack:///./lib/react-mvx/component.js","webpack:///./lib/view-element.js","webpack:///./lib/component-view.js","webpack:///./lib/createClass.js"],"names":["root","factory","exports","module","require","define","amd","this","__WEBPACK_EXTERNAL_MODULE_0__","__WEBPACK_EXTERNAL_MODULE_2__","__WEBPACK_EXTERNAL_MODULE_8__","modules","__webpack_require__","moduleId","installedModules","i","l","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","__webpack_exports__","assignToState","__WEBPACK_IMPORTED_MODULE_0_react__","__WEBPACK_IMPORTED_MODULE_1_type_r__","__WEBPACK_IMPORTED_MODULE_2__define__","__WEBPACK_IMPORTED_MODULE_3__link__","__WEBPACK_IMPORTED_MODULE_4__component__","ReactMVx","create","default","mixins","Node","value","Element","Link","Component","key","prop","state","assignFrom","_a","compileSpecs","props","defaults","watchers","changeHandlers","propTypes","modelProto","forEachAttr","_attributes","spec","type","options","translateType","isRequired","_onChange","toLocalWatcher","length","changeEvents","handlers","changeEvents_1","push","next","prev","component","stopListening","listenTo","_changeEventName","asyncUpdate","convert","ref","Type","T","_translateType","Number","integer","__WEBPACK_IMPORTED_MODULE_0_prop_types__","String","Boolean","Array","Function","onDefine","definition","BaseClass","__WEBPACK_IMPORTED_MODULE_1__store__","__WEBPACK_IMPORTED_MODULE_2__state__","__WEBPACK_IMPORTED_MODULE_3__context__","__WEBPACK_IMPORTED_MODULE_4__props__","__WEBPACK_IMPORTED_MODULE_0_type_r__","__WEBPACK_IMPORTED_MODULE_5__typeSpecs__","__WEBPACK_IMPORTED_MODULE_6__pureRender__","process","BaseComponentClass","State","ComponentState","_super","apply","arguments","__extends","attributes","__decorate","merge","StateMixin","UpdateOnNestedChangesMixin","extendStatics","setPrototypeOf","__proto__","b","__","constructor","decorators","target","desc","r","getOwnPropertyDescriptor","Reflect","decorate","_initializeState","__keepState","_owner","_ownerKey","context","_nestedStore","getStore","_defaultStore","componentWillUnmount","_preventDispose","dispose","_onChildrenChange","componentDidMount","createChangeTokensConstructor","propNames","keys","PropsChangeTokens","map","join","_hasChanges","updateChangeTokens","_propsChangeTokens","EmptyPropsChangeTokensCtor","PureRenderMixin","shouldComponentUpdate","nextProps","componentDidUpdate","useView","View","BaseView","__WEBPACK_IMPORTED_MODULE_5__component_view__","__WEBPACK_IMPORTED_MODULE_0__react_mvx__","__WEBPACK_IMPORTED_MODULE_1_react_dom__","__WEBPACK_IMPORTED_MODULE_1_react_dom___default","__WEBPACK_IMPORTED_MODULE_2_type_r__","__WEBPACK_IMPORTED_MODULE_2_type_r___default","__WEBPACK_IMPORTED_MODULE_3_prop_types__","__WEBPACK_IMPORTED_MODULE_4__view_element__","__WEBPACK_IMPORTED_MODULE_6__createClass__","NestedReact","subview","createClass","definitions","extend","reactClass","RecordProto","getLink","linkAt","deepLink","linkPath","CollectionProto","Collection","hasLink","linkContains","BackboneViewProps","el","a","findDOMNode","$el","$","sel","find","defineProperties","store","StoreClass","Store","ExternalStoreMixin","ExposeStoreMixin","BaseClass_1","InternalStore","attrbutes","InternalStoreMixin","__WEBPACK_IMPORTED_MODULE_1__state__","childContext","getChildContext","componentWillMount","_context","contextTypes","__WEBPACK_IMPORTED_MODULE_0__typeSpecs__","_childContext","childContextTypes","emptyFunction","invariant","ReactPropTypesSecret","shim","propName","componentName","location","propFullName","secret","getShim","ReactPropTypes","array","bool","func","number","string","symbol","any","arrayOf","element","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","makeEmptyFunction","arg","thatReturns","thatReturnsFalse","thatReturnsTrue","thatReturnsNull","thatReturnsThis","thatReturnsArgument","condition","format","e","f","validateFormat","error","undefined","Error","args","argIndex","replace","framesToPop","pureRender","_props","_b","defaultProps","_watchers","WatchersMixin","_changeHandlers","ChangeHandlersMixin","__WEBPACK_IMPORTED_MODULE_1__pureRender__","handlePropsChanges","name_1","_i","handler","componentWillReceiveProps","name_2","name_3","getLinksCache","record","_links","AttributesCopy","cacheLink","links","cached","RecordLink","__WEBPACK_IMPORTED_MODULE_1__valuelink_link__","populate","path","RecordDeepLink","linkAll","attr","_this","set","x","_error","getValidationError","deepGet","deepValidationError","_changeToken","deepSet","CollectionLink","collection","_byId","cid","toggle","__WEBPACK_IMPORTED_MODULE_0__helpers__","CustomLink","onChange","CloneLink","checked","requestChange","update","transform","clone","pipe","action","equals","truthyValue","EqualsLink","enabled","defaultValue","EnabledLink","contains","ContainsLink","unshift","splice","iterator","removeAt","_","remove","at","LinkAt","pick","check","whenValid","defaultError","parent","indexOf","arr","nextValue","concat","filter","helpers","getPrototypeOf","ArrayProto","arrayHelpers","ObjectProto","objectHelpers","dummyHelpers","link","fun","mapped","cloned","slice","j","y","returnFalse","transaction","isRoot","withStore","_disposed","forceUpdate","protoValue","classLast","componentWillUpdate","classFirst","some","notEqual","BackboneView","saveRef","hasUnsavedChanges","view","render","createElement","className","_mountView","_dispose","appendChild","off","innerHTML","use","setElement","ComponentView","initialize","unmountComponent","prevState","resize","window","Page","forceResize","fastAssign","mountComponent","trigger","keepModel","unmountComponentAtNode","statics","a_spec","__rest","methods","Subclass","__assign","methods_1","method","bind","Proto","dontAutobind","assign","t","getOwnPropertySymbols"],"mappings":"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","file":"./dist/index.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"nestedtypes\"), require(\"react\"), require(\"react-dom\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"nestedtypes\", \"react\", \"react-dom\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"React\"] = factory(require(\"nestedtypes\"), require(\"react\"), require(\"react-dom\"));\n\telse\n\t\troot[\"React\"] = factory(root[\"Nested\"], root[\"React\"], root[\"ReactDOM\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_2__, __WEBPACK_EXTERNAL_MODULE_8__) {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"nestedtypes\"), require(\"react\"), require(\"react-dom\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"nestedtypes\", \"react\", \"react-dom\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"React\"] = factory(require(\"nestedtypes\"), require(\"react\"), require(\"react-dom\"));\n\telse\n\t\troot[\"React\"] = factory(root[\"Nested\"], root[\"React\"], root[\"ReactDOM\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_2__, __WEBPACK_EXTERNAL_MODULE_8__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\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, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\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 = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 9);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_0__;\n\n/***/ }),\n/* 1 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return assignToState; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__define__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__link__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__component__ = __webpack_require__(20);\n/* harmony reexport (binding) */ if(__webpack_require__.o(__WEBPACK_IMPORTED_MODULE_1_type_r__, \"define\")) __webpack_require__.d(__webpack_exports__, \"g\", function() { return __WEBPACK_IMPORTED_MODULE_1_type_r__[\"define\"]; });\n/* harmony reexport (binding) */ if(__webpack_require__.o(__WEBPACK_IMPORTED_MODULE_1_type_r__, \"mixins\")) __webpack_require__.d(__webpack_exports__, \"h\", function() { return __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixins\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return __WEBPACK_IMPORTED_MODULE_2__define__[\"c\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_2__define__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return __WEBPACK_IMPORTED_MODULE_3__link__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_4__component__[\"a\"]; });\n\n\n\n\n\n// extend React namespace\nvar ReactMVx = Object.create(__WEBPACK_IMPORTED_MODULE_0_react__);\n// Make it compatible with ES6 module format.\nReactMVx.default = ReactMVx;\n// listenToProps, listenToState, model, attributes, Model\nReactMVx.define = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"define\"];\nReactMVx.mixins = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixins\"];\nReactMVx.Node = __WEBPACK_IMPORTED_MODULE_2__define__[\"c\" /* Node */].value(null);\nReactMVx.Element = __WEBPACK_IMPORTED_MODULE_2__define__[\"a\" /* Element */].value(null);\nReactMVx.Link = __WEBPACK_IMPORTED_MODULE_3__link__[\"a\" /* default */];\nReactMVx.Component = __WEBPACK_IMPORTED_MODULE_4__component__[\"a\" /* Component */];\nvar assignToState = ReactMVx.assignToState = function (key) {\n return function (prop) {\n this.state.assignFrom((_a = {}, _a[key] = prop && prop instanceof __WEBPACK_IMPORTED_MODULE_3__link__[\"a\" /* default */] ? prop.value : prop, _a));\n var _a;\n };\n};\n/* harmony default export */ __webpack_exports__[\"f\"] = (ReactMVx);\n\n//# sourceMappingURL=index.js.map\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n/***/ }),\n/* 3 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = compileSpecs;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return Node; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Element; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n\n\nfunction compileSpecs(props) {\n var propTypes = {}, \n // Create NestedTypes model definition to process props spec.\n modelProto = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"Record\"].defaults(props).prototype;\n var defaults, watchers, changeHandlers;\n modelProto.forEachAttr(modelProto._attributes, function (spec, name) {\n // Skip auto-generated `id` attribute.\n if (name !== 'id') {\n var value = spec.value, type = spec.type, options = spec.options;\n // Translate props type to the propTypes guard.\n propTypes[name] = translateType(type, options.isRequired);\n if (options._onChange) {\n watchers || (watchers = {});\n watchers[name] = toLocalWatcher(options._onChange);\n }\n // Handle listening to event maps...\n if (options.changeHandlers && options.changeHandlers.length) {\n changeHandlers || (changeHandlers = {});\n changeHandlers[name] = options.changeHandlers;\n }\n // Handle listening to props changes...\n if (options.changeEvents) {\n changeHandlers || (changeHandlers = {});\n var handlers = changeHandlers[name] || (changeHandlers[name] = []), changeEvents_1 = typeof options.changeEvents === 'string' ? options.changeEvents : null;\n handlers.push(function (next, prev, component) {\n prev && component.stopListening(prev);\n next && component.listenTo(next, changeEvents_1 || next._changeEventName, component.asyncUpdate);\n });\n }\n // If default value is explicitly provided...\n if (value !== void 0) {\n //...append it to getDefaultProps function.\n defaults || (defaults = {});\n defaults[name] = spec.convert(value, void 0, null, {});\n }\n }\n });\n return { propTypes: propTypes, defaults: defaults, watchers: watchers, changeHandlers: changeHandlers };\n}\nfunction toLocalWatcher(ref) {\n return typeof ref === 'function' ? ref : function (value, name) {\n this[ref] && this[ref](value, name);\n };\n}\nvar Node = (function () {\n function Node() {\n }\n return Node;\n}());\n\nvar Element = (function () {\n function Element() {\n }\n return Element;\n}());\n\nfunction translateType(Type, isRequired) {\n var T = _translateType(Type);\n return isRequired ? T.isRequired : T;\n}\nfunction _translateType(Type) {\n switch (Type) {\n case Number:\n case Number.integer:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"number\"];\n case String:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"string\"];\n case Boolean:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"bool\"];\n case Array:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"array\"];\n case Function:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"func\"];\n case Object:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"object\"];\n case Node:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"node\"];\n case Element:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"element\"];\n case void 0:\n case null:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"any\"];\n default:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"instanceOf\"](Type);\n }\n}\n//# sourceMappingURL=typeSpecs.js.map\n\n/***/ }),\n/* 4 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = onDefine;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__store__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__state__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__context__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__props__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__typeSpecs__ = __webpack_require__(3);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return __WEBPACK_IMPORTED_MODULE_5__typeSpecs__[\"b\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_5__typeSpecs__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__pureRender__ = __webpack_require__(7);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_6__pureRender__[\"a\"]; });\n\n\n\n\n\nfunction onDefine(definition, BaseClass) {\n // Initialize mixins placeholder...\n __WEBPACK_IMPORTED_MODULE_1__store__[\"a\" /* default */].call(this, definition, BaseClass);\n __WEBPACK_IMPORTED_MODULE_2__state__[\"c\" /* default */].call(this, definition, BaseClass);\n __WEBPACK_IMPORTED_MODULE_3__context__[\"a\" /* default */].call(this, definition, BaseClass);\n __WEBPACK_IMPORTED_MODULE_4__props__[\"a\" /* default */].call(this, definition, BaseClass);\n __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Messenger\"].onDefine.call(this, definition, BaseClass);\n}\n;\n\n\n//# sourceMappingURL=index.js.map\n\n/***/ }),\n/* 5 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = process;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return StateMixin; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return UpdateOnNestedChangesMixin; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n/*****************\n * State\n */\n\nfunction process(definition, BaseComponentClass) {\n var prototype = this.prototype;\n var state = definition.state, State = definition.State;\n if (typeof state === 'function') {\n State = state;\n state = void 0;\n }\n if (state) {\n var BaseClass = State || prototype.State || __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Record\"];\n var ComponentState = (function (_super) {\n __extends(ComponentState, _super);\n function ComponentState() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return ComponentState;\n }(BaseClass));\n ComponentState.attributes = state;\n ComponentState = __decorate([\n __WEBPACK_IMPORTED_MODULE_0_type_r__[\"define\"]\n ], ComponentState);\n prototype.State = ComponentState;\n }\n else if (State) {\n prototype.State = State;\n }\n if (state || State) {\n this.mixins.merge([StateMixin, UpdateOnNestedChangesMixin]);\n }\n}\nvar StateMixin = {\n //state : null,\n _initializeState: function () {\n // props.__keepState is used to workaround issues in Backbone intergation layer\n var state = this.state = this.props.__keepState || new this.State();\n // Take ownership on state...\n state._owner = this;\n state._ownerKey = 'state';\n },\n context: {\n _nestedStore: __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Store\"]\n },\n // reference global store to fix model's store locator\n getStore: function () {\n // Attempt to get the store from the context first. Then - fallback to the state's default store.\n // TBD: Need to figure out a good way of managing local stores.\n var context, state;\n return ((context = this.context) && context._nestedStore) ||\n ((state = this.state) && state._defaultStore);\n },\n componentWillUnmount: function () {\n var state = this.state;\n state._owner = state._ownerKey = void 0;\n this._preventDispose /* hack for component-view to preserve the state */ || state.dispose();\n this.state = void 0;\n }\n};\nvar UpdateOnNestedChangesMixin = {\n _onChildrenChange: function () { },\n componentDidMount: function () {\n this._onChildrenChange = this.asyncUpdate;\n }\n};\n//# sourceMappingURL=state.js.map\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (false) {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = __webpack_require__(12)();\n}\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = createChangeTokensConstructor;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return EmptyPropsChangeTokensCtor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return PureRenderMixin; });\nfunction createChangeTokensConstructor(props) {\n var propNames = Object.keys(props);\n var PropsChangeTokens = new Function('p', 's', \"\\n var v;\\n this._s = s && s._changeToken;\\n \" + propNames.map(function (name) { return \"\\n this.\" + name + \" = ( ( v = p.\" + name + \") && v._changeToken ) || v;\\n \"; }).join('') + \"\\n \");\n PropsChangeTokens.prototype._hasChanges = new Function('p', 's', \"\\n var v;\\n return ( ( s && s._changeToken ) !== this._s ) \" + propNames.map(function (name) { return \" ||\\n this.\" + name + \" !== ( ( ( v = p.\" + name + \") && v._changeToken ) || v )\\n \"; }).join('') + \";\\n \");\n return PropsChangeTokens;\n}\n;\nvar EmptyPropsChangeTokensCtor = createChangeTokensConstructor({});\nvar PureRenderMixin = {\n shouldComponentUpdate: function (nextProps) {\n return this._propsChangeTokens._hasChanges(nextProps);\n },\n componentDidMount: updateChangeTokens,\n componentDidUpdate: updateChangeTokens\n};\nfunction updateChangeTokens() {\n this._propsChangeTokens = new this.PropsChangeTokens(this.props, this.state);\n}\n//# sourceMappingURL=pureRender.js.map\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_8__;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (immutable) */ __webpack_exports__[\"useView\"] = useView;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1);\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"define\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"g\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"mixins\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"h\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Node\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"d\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Element\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"b\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Link\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"c\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Component\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"assignToState\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"e\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__view_element__ = __webpack_require__(21);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"subview\", function() { return __WEBPACK_IMPORTED_MODULE_4__view_element__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__component_view__ = __webpack_require__(22);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__createClass__ = __webpack_require__(23);\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"PropTypes\", function() { return __WEBPACK_IMPORTED_MODULE_3_prop_types__; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"createClass\", function() { return __WEBPACK_IMPORTED_MODULE_6__createClass__[\"a\"]; });\n// Re-export react-mvx\n\nvar NestedReact = Object.create(__WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"f\" /* default */]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (NestedReact);\n\n// NestedReact backward compatibility layer\n\n\n\n\nNestedReact.subview = __WEBPACK_IMPORTED_MODULE_4__view_element__[\"a\" /* default */];\n\n\n\nNestedReact.createClass = __WEBPACK_IMPORTED_MODULE_6__createClass__[\"a\" /* default */];\nObject.defineProperty(NestedReact, 'PropTypes', { value: __WEBPACK_IMPORTED_MODULE_3_prop_types__ });\n\nvar BaseView;\n// export hook to override base View class used...\nfunction useView(View) {\n BaseView = Object(__WEBPACK_IMPORTED_MODULE_5__component_view__[\"a\" /* default */])(View);\n}\nvar onDefine = NestedReact.Component.onDefine;\nNestedReact.Component.onDefine = function (definitions, BaseClass) {\n this.View = BaseView.extend({ reactClass: this });\n return onDefine.call(this, definitions, BaseClass);\n};\n// Deprecated API for backward compatibility\nvar RecordProto = __WEBPACK_IMPORTED_MODULE_2_type_r__[\"Record\"].prototype;\nRecordProto.getLink = RecordProto.linkAt;\nRecordProto.deepLink = RecordProto.linkPath;\nvar CollectionProto = __WEBPACK_IMPORTED_MODULE_2_type_r__[\"Record\"].Collection.prototype;\nCollectionProto.hasLink = CollectionProto.linkContains;\nuseView(__WEBPACK_IMPORTED_MODULE_2_type_r__[\"View\"]);\n// Extend react components to have backbone-style jquery accessors\nvar BackboneViewProps = {\n el: { get: function () { return __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.findDOMNode(this); } },\n $el: { get: function () { return __WEBPACK_IMPORTED_MODULE_2_type_r___default.a.$(this.el); } },\n $: { value: function (sel) { return this.$el.find(sel); } }\n};\nObject.defineProperties(NestedReact.Component.prototype, BackboneViewProps);\n//# sourceMappingURL=index.js.map\n\n/***/ }),\n/* 10 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = onDefine;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__state__ = __webpack_require__(5);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\nfunction onDefine(definition, BaseClass) {\n var store = definition.store, StoreClass = definition.Store;\n if (store && store instanceof __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Store\"]) {\n // Direct reference to an existing store. Put it to the prototype.\n this.prototype.store = store;\n this.mixins.merge([ExternalStoreMixin, ExposeStoreMixin]);\n }\n else if (store || definition.Store) {\n if (typeof store === 'function') {\n StoreClass = store;\n store = void 0;\n }\n if (store) {\n var BaseClass_1 = StoreClass || this.prototype.Store || __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Store\"];\n var InternalStore = (function (_super) {\n __extends(InternalStore, _super);\n function InternalStore() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return InternalStore;\n }(BaseClass_1));\n InternalStore.attrbutes = store;\n InternalStore = __decorate([\n __WEBPACK_IMPORTED_MODULE_0_type_r__[\"define\"]\n ], InternalStore);\n ;\n this.prototype.Store = InternalStore;\n }\n else if (StoreClass) {\n this.prototype.Store = StoreClass;\n }\n this.mixins.merge([InternalStoreMixin, __WEBPACK_IMPORTED_MODULE_1__state__[\"b\" /* UpdateOnNestedChangesMixin */], ExposeStoreMixin]);\n }\n}\n/**\n * Attached whenever the store declaration of any form is present in the component.\n */\nvar ExposeStoreMixin = {\n childContext: {\n _nestedStore: __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Store\"]\n },\n getChildContext: function () {\n return { _nestedStore: this.store };\n },\n getStore: function () {\n return this.store;\n },\n // Will be called by the store when the lookup will fail.\n get: function (key) {\n // Ask upper store.\n var store = __WEBPACK_IMPORTED_MODULE_1__state__[\"a\" /* StateMixin */].getStore.call(this, key);\n return store && store.get(key);\n }\n};\n/**\n * External store must just track the changes and trigger render.\n * TBD: don't use it yet.\n */\nvar ExternalStoreMixin = {\n componentDidMount: function () {\n // Start UI updates on state changes.\n this.listenTo(this.store, 'change', this.asyncUpdate);\n }\n};\nvar InternalStoreMixin = {\n componentWillMount: function () {\n var store = this.store = new this.Store();\n store._owner = this;\n store._ownerKey = 'store';\n },\n componentWillUnmount: function () {\n this.store._ownerKey = this.store._owner = void 0;\n this.store.dispose();\n this.store = void 0;\n }\n};\n//# sourceMappingURL=store.js.map\n\n/***/ }),\n/* 11 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = onDefine;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n\n\nfunction onDefine(_a, BaseClass) {\n var context = _a.context, childContext = _a.childContext;\n var prototype = this.prototype;\n if (context) {\n // Merge in inherited members...\n prototype._context = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].defaults(context, BaseClass.prototype._context || {});\n // Compile to propTypes...\n this.contextTypes = Object(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* compileSpecs */])(context).propTypes;\n }\n if (childContext) {\n prototype._childContext = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].defaults(childContext, BaseClass.prototype._childContext);\n this.childContextTypes = Object(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* compileSpecs */])(childContext).propTypes;\n }\n}\n//# sourceMappingURL=context.js.map\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar emptyFunction = __webpack_require__(13);\nvar invariant = __webpack_require__(14);\nvar ReactPropTypesSecret = __webpack_require__(15);\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n invariant(\n false,\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim\n };\n\n ReactPropTypes.checkPropTypes = emptyFunction;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (false) {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = onDefine;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__pureRender__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__);\n/**\n * Handle props specification and everything which is related:\n * - local listening to props changes\n * - pure render mixin\n */\n\n\n\nfunction onDefine(_a, BaseClass) {\n var props = _a.props, pureRender = _a.pureRender;\n var prototype = this.prototype;\n // process props spec...\n if (props) {\n // Merge with inherited members...\n prototype._props = __WEBPACK_IMPORTED_MODULE_2_type_r__[\"tools\"].defaults(props, BaseClass.prototype._props || {});\n var _b = Object(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* compileSpecs */])(props), propTypes = _b.propTypes, defaults = _b.defaults, watchers = _b.watchers, changeHandlers = _b.changeHandlers;\n this.propTypes = propTypes;\n if (defaults)\n this.defaultProps = defaults;\n if (watchers) {\n prototype._watchers = watchers;\n this.mixins.merge([WatchersMixin]);\n }\n if (changeHandlers) {\n prototype._changeHandlers = changeHandlers;\n this.mixins.merge([ChangeHandlersMixin]);\n }\n if (prototype.pureRender) {\n prototype.PropsChangeTokens = Object(__WEBPACK_IMPORTED_MODULE_1__pureRender__[\"c\" /* createChangeTokensConstructor */])(props);\n }\n }\n if (pureRender) {\n this.mixins.merge([__WEBPACK_IMPORTED_MODULE_1__pureRender__[\"b\" /* PureRenderMixin */]]);\n }\n}\n/**\n * ChangeHandlers are fired in sequence upon props replacement.\n * Fires _after_ UI is updated. Used for managing events subscriptions.\n */\nvar ChangeHandlersMixin = {\n componentDidMount: function () {\n handlePropsChanges(this, {}, this.props);\n },\n componentDidUpdate: function (prev) {\n handlePropsChanges(this, prev, this.props);\n },\n componentWillUnmount: function () {\n handlePropsChanges(this, this.props, {});\n }\n};\nfunction handlePropsChanges(component, prev, next) {\n var _changeHandlers = component._changeHandlers;\n for (var name_1 in _changeHandlers) {\n if (prev[name_1] !== next[name_1]) {\n for (var _i = 0, _a = _changeHandlers[name_1]; _i < _a.length; _i++) {\n var handler = _a[_i];\n handler(next[name_1], prev[name_1], component);\n }\n }\n }\n}\n/**\n * Watchers works on props replacement and fires _before_ any change will be applied and UI is updated.\n * Fired in componentWillMount as well, which makes it a nice way to sync state from props.\n */\nvar WatchersMixin = {\n componentWillReceiveProps: function (next) {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_2 in _watchers) {\n if (next[name_2] !== props[name_2]) {\n _watchers[name_2].call(this, next[name_2], name_2);\n }\n }\n },\n componentWillMount: function () {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_3 in _watchers) {\n _watchers[name_3].call(this, props[name_3], name_3);\n }\n }\n};\n//# sourceMappingURL=props.js.map\n\n/***/ }),\n/* 17 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__valuelink_link__ = __webpack_require__(18);\n/**\n * Import ValueLink library\n * Define value links binding mixins to the Record and Collection\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]);\n__WEBPACK_IMPORTED_MODULE_0_type_r__[\"Mixable\"].mixins.populate(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]);\n/**\n * Record\n */\n__WEBPACK_IMPORTED_MODULE_0_type_r__[\"MixinsState\"].get(__WEBPACK_IMPORTED_MODULE_0_type_r__[\"Record\"]).merge([{\n // Link to the record's attribute by its key.\n linkAt: function (key) {\n return cacheLink(getLinksCache(this), this, key);\n },\n // Link to the attribute of the record's tree by symbolic path.\n linkPath: function (path, options) {\n return new RecordDeepLink(this, path, options);\n },\n // Link all (or listed) attributes and return links cache.\n linkAll: function () {\n var links = getLinksCache(this);\n if (arguments.length) {\n for (var i = 0; i < arguments.length; i++) {\n cacheLink(links, this, arguments[i]);\n }\n }\n else {\n var attributes = this.attributes;\n for (var key in attributes) {\n attributes[key] === void 0 || cacheLink(links, this, key);\n }\n }\n return links;\n }\n }]);\n/**\n * Link to Type-R's record attribute.\n * Strict evaluation of value, lazy evaluation of validation error.\n * Links are cached in the records\n */\nvar RecordLink = (function (_super) {\n __extends(RecordLink, _super);\n function RecordLink(record, attr, value) {\n var _this = _super.call(this, value) || this;\n _this.record = record;\n _this.attr = attr;\n return _this;\n }\n RecordLink.prototype.set = function (x) {\n this.record[this.attr] = x;\n };\n Object.defineProperty(RecordLink.prototype, \"error\", {\n get: function () {\n return this._error === void 0 ?\n this.record.getValidationError(this.attr) :\n this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n return RecordLink;\n}(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]));\nvar RecordDeepLink = (function (_super) {\n __extends(RecordDeepLink, _super);\n function RecordDeepLink(record, path, options) {\n var _this = _super.call(this, record.deepGet(path)) || this;\n _this.record = record;\n _this.path = path;\n _this.options = options;\n return _this;\n }\n Object.defineProperty(RecordDeepLink.prototype, \"error\", {\n get: function () {\n if (this._error === void 0) {\n this._error = this.record.deepValidationError(this.path) || null;\n }\n return this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(RecordDeepLink.prototype, \"_changeToken\", {\n get: function () {\n return this.record._changeToken;\n },\n enumerable: true,\n configurable: true\n });\n RecordDeepLink.prototype.set = function (x) {\n this.record.deepSet(this.path, x, this.options);\n };\n return RecordDeepLink;\n}(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]));\nfunction getLinksCache(record) {\n return record._links || (record._links = new record.AttributesCopy({}));\n}\nfunction cacheLink(links, record, key) {\n var cached = links[key], value = record[key];\n return cached && cached.value === value ? cached\n : links[key] = new RecordLink(record, key, value);\n}\n/***********************************\n * Collection\n */\n__WEBPACK_IMPORTED_MODULE_0_type_r__[\"MixinsState\"].get(__WEBPACK_IMPORTED_MODULE_0_type_r__[\"Record\"].Collection).merge([{\n // Boolean link to the record's presence in the collection\n linkContains: function (record) {\n return new CollectionLink(this, record);\n },\n // Link to collection's property\n linkAt: function (prop) {\n var _this = this;\n return __WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */].value(this[prop], function (x) { return _this[prop] = x; });\n }\n }]);\n/**\n * Boolean link to presence of NestedType's record in collection.\n * Strict evaluation of value, no error.\n * Safe implementation of _changeToken.\n */\nvar CollectionLink = (function (_super) {\n __extends(CollectionLink, _super);\n function CollectionLink(collection, record) {\n var _this = _super.call(this, Boolean(collection._byId[record.cid])) || this;\n _this.collection = collection;\n _this.record = record;\n return _this;\n }\n CollectionLink.prototype.set = function (x) {\n this.collection.toggle(this.record, x);\n };\n return CollectionLink;\n}(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]));\n//# sourceMappingURL=link.js.map\n\n/***/ }),\n/* 18 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Link; });\n/* unused harmony export CustomLink */\n/* unused harmony export CloneLink */\n/* unused harmony export EqualsLink */\n/* unused harmony export EnabledLink */\n/* unused harmony export ContainsLink */\n/* unused harmony export LinkAt */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__helpers__ = __webpack_require__(19);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * Advanced React links for purely functional two-way data binding\n *\n * MIT License, (c) 2016 Vlad Balin, Volicon.\n */\n\n// Main Link class. All links must extend it.\nvar Link = (function () {\n // create \n function Link(value) {\n this.value = value;\n }\n // Create custom link to arbitrary value\n Link.value = function (value, set) {\n return new CustomLink(value, set);\n };\n Object.defineProperty(Link.prototype, \"validationError\", {\n // DEPRECATED: Old error holder for backward compatibility with Volicon code base\n get: function () { return this.error; },\n enumerable: true,\n configurable: true\n });\n Link.prototype.onChange = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n handler(x);\n _this.set(x);\n });\n };\n Object.defineProperty(Link.prototype, \"props\", {\n // \n get: function () {\n var _this = this;\n return typeof this.value === 'boolean' ? {\n checked: this.value,\n onChange: function (e) { return _this.set(Boolean(e.target.checked)); }\n } : {\n value: this.value,\n onChange: function (e) { return _this.set(e.target.value); }\n };\n },\n enumerable: true,\n configurable: true\n });\n // DEPRECATED: Old React method for backward compatibility\n Link.prototype.requestChange = function (x) {\n this.set(x);\n };\n // Immediately update the link value using given transform function.\n Link.prototype.update = function (transform, e) {\n var next = transform(this.clone(), e);\n next === void 0 || this.set(next);\n };\n // Create new link which applies transform function on set.\n Link.prototype.pipe = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n var next = handler(x, _this.value);\n next === void 0 || _this.set(next);\n });\n };\n // Create UI event handler function which will update the link with a given transform function.\n Link.prototype.action = function (transform) {\n var _this = this;\n return function (e) { return _this.update(transform, e); };\n };\n Link.prototype.equals = function (truthyValue) {\n return new EqualsLink(this, truthyValue);\n };\n Link.prototype.enabled = function (defaultValue) {\n return new EnabledLink(this, defaultValue || \"\");\n };\n // Array-only links methods\n Link.prototype.contains = function (element) {\n return new ContainsLink(this, element);\n };\n Link.prototype.push = function () {\n var array = __WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* arrayHelpers */].clone(this.value);\n Array.prototype.push.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.unshift = function () {\n var array = __WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* arrayHelpers */].clone(this.value);\n Array.prototype.unshift.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.splice = function () {\n var array = __WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* arrayHelpers */].clone(this.value);\n Array.prototype.splice.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.map = function (iterator) {\n return Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* helpers */])(this.value).map(this, iterator);\n };\n Link.prototype.removeAt = function (key) {\n var value = this.value, _ = Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* helpers */])(value);\n this.set(_.remove(_.clone(value), key));\n };\n Link.prototype.at = function (key) {\n return new LinkAt(this, key);\n };\n Link.prototype.clone = function () {\n var value = this.value;\n return Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* helpers */])(value).clone(value);\n };\n Link.prototype.pick = function () {\n var links = {};\n for (var i = 0; i < arguments.length; i++) {\n var key = arguments[i];\n links[key] = new LinkAt(this, key);\n }\n return links;\n };\n /**\n * Validate link with validness predicate and optional custom error object. Can be chained.\n */\n Link.prototype.check = function (whenValid, error) {\n if (!this.error && !whenValid(this.value)) {\n this.error = error || whenValid.error || defaultError;\n }\n return this;\n };\n return Link;\n}());\n\nvar CustomLink = (function (_super) {\n __extends(CustomLink, _super);\n function CustomLink(value, set) {\n var _this = _super.call(this, value) || this;\n _this.set = set;\n return _this;\n }\n CustomLink.prototype.set = function (x) { };\n return CustomLink;\n}(Link));\n\nvar CloneLink = (function (_super) {\n __extends(CloneLink, _super);\n function CloneLink(parent, set) {\n var _this = _super.call(this, parent.value) || this;\n _this.set = set;\n var error = parent.error;\n if (error)\n _this.error = error;\n return _this;\n }\n CloneLink.prototype.set = function (x) { };\n return CloneLink;\n}(Link));\n\nvar EqualsLink = (function (_super) {\n __extends(EqualsLink, _super);\n function EqualsLink(parent, truthyValue) {\n var _this = _super.call(this, parent.value === truthyValue) || this;\n _this.parent = parent;\n _this.truthyValue = truthyValue;\n return _this;\n }\n EqualsLink.prototype.set = function (x) {\n this.parent.set(x ? this.truthyValue : null);\n };\n return EqualsLink;\n}(Link));\n\nvar EnabledLink = (function (_super) {\n __extends(EnabledLink, _super);\n function EnabledLink(parent, defaultValue) {\n var _this = _super.call(this, parent.value != null) || this;\n _this.parent = parent;\n _this.defaultValue = defaultValue;\n return _this;\n }\n EnabledLink.prototype.set = function (x) {\n this.parent.set(x ? this.defaultValue : null);\n };\n return EnabledLink;\n}(Link));\n\nvar ContainsLink = (function (_super) {\n __extends(ContainsLink, _super);\n function ContainsLink(parent, element) {\n var _this = _super.call(this, parent.value.indexOf(element) >= 0) || this;\n _this.parent = parent;\n _this.element = element;\n return _this;\n }\n ContainsLink.prototype.set = function (x) {\n var _this = this;\n var next = Boolean(x);\n if (this.value !== next) {\n var arr = this.parent.value, nextValue = x ? arr.concat(this.element) : arr.filter(function (el) { return el !== _this.element; });\n this.parent.set(nextValue);\n }\n };\n return ContainsLink;\n}(Link));\n\nvar defaultError = 'Invalid value';\n/**\n * Link to array or object element enclosed in parent link.\n * Performs purely functional update of the parent, shallow copying its value on `set`.\n */\nvar LinkAt = (function (_super) {\n __extends(LinkAt, _super);\n function LinkAt(parent, key) {\n var _this = _super.call(this, parent.value[key]) || this;\n _this.parent = parent;\n _this.key = key;\n return _this;\n }\n LinkAt.prototype.remove = function () {\n this.parent.removeAt(this.key);\n };\n // Set new element value to parent array or object, performing purely functional update.\n LinkAt.prototype.set = function (x) {\n var _this = this;\n if (this.value !== x) {\n this.parent.update(function (value) {\n value[_this.key] = x;\n return value;\n });\n }\n };\n ;\n return LinkAt;\n}(Link));\n\n//# sourceMappingURL=link.js.map\n\n/***/ }),\n/* 19 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = helpers;\n/* unused harmony export objectHelpers */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return arrayHelpers; });\nvar ArrayProto = Array.prototype, ObjectProto = Object.prototype;\nfunction helpers(value) {\n if (value && typeof value === 'object') {\n switch (Object.getPrototypeOf(value)) {\n case ArrayProto: return arrayHelpers;\n case ObjectProto: return objectHelpers;\n }\n }\n return dummyHelpers;\n}\n// Do nothing for types other than Array and plain Object.\nvar dummyHelpers = {\n clone: function (value) { return value; },\n map: function (link, fun) { return []; },\n remove: function (value) { return value; }\n};\n// `map` and `clone` for plain JS objects\nvar objectHelpers = {\n // Map through the link to object\n map: function (link, iterator) {\n var mapped = [];\n for (var key in link.value) {\n var element = iterator(link.at(key), key);\n element === void 0 || (mapped.push(element));\n }\n return mapped;\n },\n remove: function (object, key) {\n delete object[key];\n return object;\n },\n // Shallow clone plain JS object\n clone: function (object) {\n var cloned = {};\n for (var key in object) {\n cloned[key] = object[key];\n }\n return cloned;\n }\n};\n// `map` and `clone` helpers for arrays.\nvar arrayHelpers = {\n // Shallow clone array\n clone: function (array) {\n return array.slice();\n },\n remove: function (array, i) {\n array.splice(i, 1);\n return array;\n },\n // Map through the link to array\n map: function (link, iterator) {\n var length = link.value.length, mapped = Array(length);\n for (var i = 0, j = 0; i < length; i++) {\n var y = iterator(link.at(i), i);\n y === void 0 || (mapped[j++] = y);\n }\n mapped.length === j || (mapped.length = j);\n return mapped;\n }\n};\n//# sourceMappingURL=helpers.js.map\n\n/***/ }),\n/* 20 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Component; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__define__ = __webpack_require__(4);\n/**\n * React-Type-R component base class. Overrides React component.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\nvar Component = (function (_super) {\n __extends(Component, _super);\n function Component(props, context) {\n var _this = _super.call(this, props, context) || this;\n _this._initializeState();\n return _this;\n }\n Component.prototype.linkAt = function (key) {\n // Quick and dirty hack to suppres type error - refactor later.\n return this.state.linkAt(key);\n };\n Component.prototype.linkAll = function () {\n // Quick and dirty hack to suppres type error - refactor later.\n var state = this.state;\n return state.linkAll.apply(state, arguments);\n };\n Component.prototype.linkPath = function (path) {\n return this.state.linkPath(path);\n };\n Object.defineProperty(Component.prototype, \"links\", {\n get: function () {\n return this.state._links;\n },\n enumerable: true,\n configurable: true\n });\n Component.prototype._initializeState = function () {\n this.state = null;\n };\n Component.prototype.assignToState = function (x, key) {\n this.state.assignFrom((_a = {}, _a[key] = x, _a));\n var _a;\n };\n Component.prototype.componentWillUnmount = function () {\n this.dispose();\n };\n /**\n * Performs transactional update for both props and state.\n * Suppress updates during the transaction, and force update aftewards.\n * Wrapping the sequence of changes in a transactions guarantees that\n * React component will be updated _after_ all the changes to the\n * both props and local state are applied.\n */\n Component.prototype.transaction = function (fun) {\n var shouldComponentUpdate = this.shouldComponentUpdate, isRoot = shouldComponentUpdate !== returnFalse;\n if (isRoot) {\n this.shouldComponentUpdate = returnFalse;\n }\n var _a = this, state = _a.state, store = _a.store, withStore = store ? function (state) { return store.transaction(function () { return fun(state); }); } : fun;\n state ? state.transaction(withStore) : withStore(state);\n if (isRoot) {\n this.shouldComponentUpdate = shouldComponentUpdate;\n this.asyncUpdate();\n }\n };\n // Safe version of the forceUpdate suitable for asynchronous callbacks.\n Component.prototype.asyncUpdate = function () {\n this.shouldComponentUpdate === returnFalse || this._disposed || this.forceUpdate();\n };\n return Component;\n}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]));\nComponent.onDefine = __WEBPACK_IMPORTED_MODULE_2__define__[\"d\" /* default */];\nComponent = __decorate([\n Object(__WEBPACK_IMPORTED_MODULE_1_type_r__[\"define\"])({\n PropsChangeTokens: __WEBPACK_IMPORTED_MODULE_2__define__[\"b\" /* EmptyPropsChangeTokensCtor */]\n }),\n Object(__WEBPACK_IMPORTED_MODULE_1_type_r__[\"definitions\"])({\n // Definitions to be extracted from mixins and statics and passed to `onDefine()`\n state: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].merge,\n State: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].value,\n store: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].merge,\n Store: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].value,\n props: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].merge,\n context: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].merge,\n childContext: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].merge,\n pureRender: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].protoValue\n }),\n Object(__WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"])({\n // Apply old-school React mixin rules.\n componentWillMount: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classLast,\n componentDidMount: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classLast,\n componentWillReceiveProps: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classLast,\n componentWillUpdate: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classLast,\n componentDidUpdate: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classLast,\n componentWillUnmount: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classFirst,\n // And a bit more to fix inheritance quirks.\n shouldComponentUpdate: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].some,\n getChildContext: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].defaults\n })\n // Component can send and receive events...\n ,\n Object(__WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixins\"])(__WEBPACK_IMPORTED_MODULE_1_type_r__[\"Messenger\"])\n], Component);\n\nfunction returnFalse() { return false; }\n// Looks like React guys _really_ want to deprecate it. But no way.\n// We will work around their attempt.\nObject.defineProperty(Component.prototype, 'isMounted', {\n value: function isMounted() {\n return !this._disposed;\n }\n});\n//# sourceMappingURL=component.js.map\n\n/***/ }),\n/* 21 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\nvar notEqual = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].notEqual;\nvar BackboneView = (function (_super) {\n __extends(BackboneView, _super);\n function BackboneView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.saveRef = function (element) {\n _this.root = element;\n };\n return _this;\n }\n BackboneView.prototype.shouldComponentUpdate = function (next) {\n var props = this.props;\n return next.View !== props.View || notEqual(next.options, props.options);\n };\n BackboneView.prototype.hasUnsavedChanges = function () {\n var view = this.view;\n return view && (typeof view.hasUnsavedChanges === 'function' ? view.hasUnsavedChanges() : view.hasUnsavedChanges);\n };\n BackboneView.prototype.render = function () {\n return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"f\" /* default */].createElement('div', {\n ref: this.saveRef,\n className: this.props.className\n });\n };\n BackboneView.prototype.componentDidMount = function () {\n this._mountView();\n };\n BackboneView.prototype.componentDidUpdate = function () {\n this._dispose();\n this._mountView();\n };\n BackboneView.prototype.componentWillUnmount = function () {\n this._dispose();\n };\n BackboneView.prototype._mountView = function () {\n var el = this.root, p = this.props;\n var view = this.view = p.options ? new p.View(p.options) : new p.View();\n el.appendChild(view.el);\n view.render();\n };\n BackboneView.prototype._dispose = function () {\n var view = this.view;\n if (view) {\n if (view.dispose) {\n view.dispose();\n }\n else {\n view.stopListening();\n view.off();\n }\n this.root.innerHTML = \"\";\n this.view = null;\n }\n };\n return BackboneView;\n}(__WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\" /* Component */]));\n/* harmony default export */ __webpack_exports__[\"a\"] = (BackboneView);\n//# sourceMappingURL=view-element.js.map\n\n/***/ }),\n/* 22 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = use;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__);\n\n\n\nwindow.Page || (window.Page = { forceResize: function () { } });\nfunction use(View) {\n var dispose = View.prototype.dispose || function () { }, setElement = View.prototype.setElement;\n var ComponentView = View.extend({\n reactClass: null,\n props: {},\n element: null,\n initialize: function (props) {\n // memorise arguments to pass to React\n this.options = props || {};\n },\n setElement: function () {\n this.unmountComponent(true);\n return setElement.apply(this, arguments);\n },\n // cached instance of react component...\n component: null,\n prevState: null,\n resize: function () {\n window.Page.forceResize();\n },\n render: function () {\n var options = this.prevState ? __WEBPACK_IMPORTED_MODULE_2_type_r__[\"tools\"].fastAssign({ __keepState: this.prevState }, this.options) : this.options, element = __WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"](this.reactClass, options), component = __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.render(element, this.el);\n this.component || this.mountComponent(component);\n },\n mountComponent: function (component) {\n this.component = component;\n this.prevState = null;\n component.trigger && this.listenTo(component, 'all', function () {\n this.trigger.apply(this, arguments);\n });\n },\n unmountComponent: function (keepModel) {\n var component = this.component;\n if (component) {\n this.prevState = component.state;\n if (component.trigger) {\n this.stopListening(component);\n }\n component._preventDispose = Boolean(keepModel);\n __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.unmountComponentAtNode(this.el);\n this.component = null;\n }\n },\n dispose: function () {\n this.unmountComponent();\n return dispose.apply(this, arguments);\n }\n });\n Object.defineProperty(ComponentView.prototype, 'model', {\n get: function () {\n this.component || this.render();\n return this.component && this.component.state;\n }\n });\n return ComponentView;\n}\n//# sourceMappingURL=component-view.js.map\n\n/***/ }),\n/* 23 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = createClass;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1);\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\n\nvar dontAutobind = [\n 'State', 'Store', 'constructor',\n 'componentWillMount', 'componentDidMount', 'componentWillReceiveProps', 'shouldComponentUpdate',\n 'componentWillUpdate', 'componentDidUpdate', 'componentWillUnmount',\n 'render', 'getDefaultProps', 'getChildContext'\n];\n/**\n * ES5 components definition factory\n */\nfunction createClass(_a) {\n var statics = _a.statics, a_spec = __rest(_a, [\"statics\"]);\n // Gather all methods to pin them to `this` later.\n var methods = [];\n var Subclass = __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\" /* Component */].extend(__assign({ \n // Override constructor to autobind all the methods...\n constructor: function () {\n __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\" /* Component */].apply(this, arguments);\n for (var _i = 0, methods_1 = methods; _i < methods_1.length; _i++) {\n var method = methods_1[_i];\n this[method] = this[method].bind(this);\n }\n } }, a_spec), statics);\n // Need to bind methods from mixins as well, so populate it here.\n var Proto = Subclass.prototype;\n for (var key in Proto) {\n if (Proto.hasOwnProperty(key) && dontAutobind.indexOf(key) === -1 && typeof Proto[key] === 'function') {\n methods.push(key);\n }\n }\n return Subclass;\n}\n//# sourceMappingURL=createClass.js.map\n\n/***/ })\n/******/ ]);\n});\n\n\n// WEBPACK FOOTER //\n// dist/index.min.js"," \t// The module cache\n \tvar installedModules = {};\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, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\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 = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 9);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap ccc6c135e1d120a8e559","module.exports = __WEBPACK_EXTERNAL_MODULE_0__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"commonjs\":\"nestedtypes\",\"commonjs2\":\"nestedtypes\",\"amd\":\"nestedtypes\",\"root\":\"Nested\"}\n// module id = 0\n// module chunks = 0","import * as React from 'react';\nimport { define, mixins } from 'type-r';\nimport { Node, Element } from './define';\nimport Link from './link';\nimport { Component } from './component';\n// extend React namespace\nvar ReactMVx = Object.create(React);\n// Make it compatible with ES6 module format.\nReactMVx.default = ReactMVx;\n// listenToProps, listenToState, model, attributes, Model\nReactMVx.define = define;\nReactMVx.mixins = mixins;\nReactMVx.Node = Node.value(null);\nReactMVx.Element = Element.value(null);\nReactMVx.Link = Link;\nReactMVx.Component = Component;\nvar assignToState = ReactMVx.assignToState = function (key) {\n return function (prop) {\n this.state.assignFrom((_a = {}, _a[key] = prop && prop instanceof Link ? prop.value : prop, _a));\n var _a;\n };\n};\nexport default ReactMVx;\nexport { define, mixins, Node, Element, Link, Component, assignToState };\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/index.js\n// module id = 1\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"commonjs\":\"react\",\"commonjs2\":\"react\",\"amd\":\"react\",\"root\":\"React\"}\n// module id = 2\n// module chunks = 0","import * as PropTypes from 'prop-types';\nimport { Record } from 'type-r';\nexport function compileSpecs(props) {\n var propTypes = {}, \n // Create NestedTypes model definition to process props spec.\n modelProto = Record.defaults(props).prototype;\n var defaults, watchers, changeHandlers;\n modelProto.forEachAttr(modelProto._attributes, function (spec, name) {\n // Skip auto-generated `id` attribute.\n if (name !== 'id') {\n var value = spec.value, type = spec.type, options = spec.options;\n // Translate props type to the propTypes guard.\n propTypes[name] = translateType(type, options.isRequired);\n if (options._onChange) {\n watchers || (watchers = {});\n watchers[name] = toLocalWatcher(options._onChange);\n }\n // Handle listening to event maps...\n if (options.changeHandlers && options.changeHandlers.length) {\n changeHandlers || (changeHandlers = {});\n changeHandlers[name] = options.changeHandlers;\n }\n // Handle listening to props changes...\n if (options.changeEvents) {\n changeHandlers || (changeHandlers = {});\n var handlers = changeHandlers[name] || (changeHandlers[name] = []), changeEvents_1 = typeof options.changeEvents === 'string' ? options.changeEvents : null;\n handlers.push(function (next, prev, component) {\n prev && component.stopListening(prev);\n next && component.listenTo(next, changeEvents_1 || next._changeEventName, component.asyncUpdate);\n });\n }\n // If default value is explicitly provided...\n if (value !== void 0) {\n //...append it to getDefaultProps function.\n defaults || (defaults = {});\n defaults[name] = spec.convert(value, void 0, null, {});\n }\n }\n });\n return { propTypes: propTypes, defaults: defaults, watchers: watchers, changeHandlers: changeHandlers };\n}\nfunction toLocalWatcher(ref) {\n return typeof ref === 'function' ? ref : function (value, name) {\n this[ref] && this[ref](value, name);\n };\n}\nvar Node = (function () {\n function Node() {\n }\n return Node;\n}());\nexport { Node };\nvar Element = (function () {\n function Element() {\n }\n return Element;\n}());\nexport { Element };\nfunction translateType(Type, isRequired) {\n var T = _translateType(Type);\n return isRequired ? T.isRequired : T;\n}\nfunction _translateType(Type) {\n switch (Type) {\n case Number:\n case Number.integer:\n return PropTypes.number;\n case String:\n return PropTypes.string;\n case Boolean:\n return PropTypes.bool;\n case Array:\n return PropTypes.array;\n case Function:\n return PropTypes.func;\n case Object:\n return PropTypes.object;\n case Node:\n return PropTypes.node;\n case Element:\n return PropTypes.element;\n case void 0:\n case null:\n return PropTypes.any;\n default:\n return PropTypes.instanceOf(Type);\n }\n}\n//# sourceMappingURL=typeSpecs.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/typeSpecs.js\n// module id = 3\n// module chunks = 0","import { Messenger } from 'type-r';\nimport onDefineStore from './store';\nimport onDefineState from './state';\nimport onDefineContext from './context';\nimport onDefineProps from './props';\nexport default function onDefine(definition, BaseClass) {\n // Initialize mixins placeholder...\n onDefineStore.call(this, definition, BaseClass);\n onDefineState.call(this, definition, BaseClass);\n onDefineContext.call(this, definition, BaseClass);\n onDefineProps.call(this, definition, BaseClass);\n Messenger.onDefine.call(this, definition, BaseClass);\n}\n;\nexport { Node, Element } from './typeSpecs';\nexport { EmptyPropsChangeTokensCtor } from './pureRender';\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/index.js\n// module id = 4\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n/*****************\n * State\n */\nimport { define, Record, Store } from 'type-r';\nexport default function process(definition, BaseComponentClass) {\n var prototype = this.prototype;\n var state = definition.state, State = definition.State;\n if (typeof state === 'function') {\n State = state;\n state = void 0;\n }\n if (state) {\n var BaseClass = State || prototype.State || Record;\n var ComponentState = (function (_super) {\n __extends(ComponentState, _super);\n function ComponentState() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return ComponentState;\n }(BaseClass));\n ComponentState.attributes = state;\n ComponentState = __decorate([\n define\n ], ComponentState);\n prototype.State = ComponentState;\n }\n else if (State) {\n prototype.State = State;\n }\n if (state || State) {\n this.mixins.merge([StateMixin, UpdateOnNestedChangesMixin]);\n }\n}\nexport var StateMixin = {\n //state : null,\n _initializeState: function () {\n // props.__keepState is used to workaround issues in Backbone intergation layer\n var state = this.state = this.props.__keepState || new this.State();\n // Take ownership on state...\n state._owner = this;\n state._ownerKey = 'state';\n },\n context: {\n _nestedStore: Store\n },\n // reference global store to fix model's store locator\n getStore: function () {\n // Attempt to get the store from the context first. Then - fallback to the state's default store.\n // TBD: Need to figure out a good way of managing local stores.\n var context, state;\n return ((context = this.context) && context._nestedStore) ||\n ((state = this.state) && state._defaultStore);\n },\n componentWillUnmount: function () {\n var state = this.state;\n state._owner = state._ownerKey = void 0;\n this._preventDispose /* hack for component-view to preserve the state */ || state.dispose();\n this.state = void 0;\n }\n};\nexport var UpdateOnNestedChangesMixin = {\n _onChildrenChange: function () { },\n componentDidMount: function () {\n this._onChildrenChange = this.asyncUpdate;\n }\n};\n//# sourceMappingURL=state.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/state.js\n// module id = 5\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/prop-types/index.js\n// module id = 6\n// module chunks = 0","export function createChangeTokensConstructor(props) {\n var propNames = Object.keys(props);\n var PropsChangeTokens = new Function('p', 's', \"\\n var v;\\n this._s = s && s._changeToken;\\n \" + propNames.map(function (name) { return \"\\n this.\" + name + \" = ( ( v = p.\" + name + \") && v._changeToken ) || v;\\n \"; }).join('') + \"\\n \");\n PropsChangeTokens.prototype._hasChanges = new Function('p', 's', \"\\n var v;\\n return ( ( s && s._changeToken ) !== this._s ) \" + propNames.map(function (name) { return \" ||\\n this.\" + name + \" !== ( ( ( v = p.\" + name + \") && v._changeToken ) || v )\\n \"; }).join('') + \";\\n \");\n return PropsChangeTokens;\n}\n;\nexport var EmptyPropsChangeTokensCtor = createChangeTokensConstructor({});\nexport var PureRenderMixin = {\n shouldComponentUpdate: function (nextProps) {\n return this._propsChangeTokens._hasChanges(nextProps);\n },\n componentDidMount: updateChangeTokens,\n componentDidUpdate: updateChangeTokens\n};\nfunction updateChangeTokens() {\n this._propsChangeTokens = new this.PropsChangeTokens(this.props, this.state);\n}\n//# sourceMappingURL=pureRender.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/pureRender.js\n// module id = 7\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_8__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"commonjs\":\"react-dom\",\"commonjs2\":\"react-dom\",\"amd\":\"react-dom\",\"root\":\"ReactDOM\"}\n// module id = 8\n// module chunks = 0","// Re-export react-mvx\nimport ReactMVx from './react-mvx';\nvar NestedReact = Object.create(ReactMVx);\nexport default NestedReact;\nexport * from './react-mvx';\n// NestedReact backward compatibility layer\nimport ReactDOM from 'react-dom';\nimport Nested, { View, Record } from 'type-r';\nimport * as PropTypes from 'prop-types';\nimport subview from './view-element';\nNestedReact.subview = subview;\nexport { subview };\nimport use from './component-view';\nimport createClass from './createClass';\nNestedReact.createClass = createClass;\nObject.defineProperty(NestedReact, 'PropTypes', { value: PropTypes });\nexport { PropTypes, createClass };\nvar BaseView;\n// export hook to override base View class used...\nexport function useView(View) {\n BaseView = use(View);\n}\nvar onDefine = NestedReact.Component.onDefine;\nNestedReact.Component.onDefine = function (definitions, BaseClass) {\n this.View = BaseView.extend({ reactClass: this });\n return onDefine.call(this, definitions, BaseClass);\n};\n// Deprecated API for backward compatibility\nvar RecordProto = Record.prototype;\nRecordProto.getLink = RecordProto.linkAt;\nRecordProto.deepLink = RecordProto.linkPath;\nvar CollectionProto = Record.Collection.prototype;\nCollectionProto.hasLink = CollectionProto.linkContains;\nuseView(View);\n// Extend react components to have backbone-style jquery accessors\nvar BackboneViewProps = {\n el: { get: function () { return ReactDOM.findDOMNode(this); } },\n $el: { get: function () { return Nested.$(this.el); } },\n $: { value: function (sel) { return this.$el.find(sel); } }\n};\nObject.defineProperties(NestedReact.Component.prototype, BackboneViewProps);\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/index.js\n// module id = 9\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { define, Store } from 'type-r';\nimport { StateMixin, UpdateOnNestedChangesMixin } from './state';\nexport default function onDefine(definition, BaseClass) {\n var store = definition.store, StoreClass = definition.Store;\n if (store && store instanceof Store) {\n // Direct reference to an existing store. Put it to the prototype.\n this.prototype.store = store;\n this.mixins.merge([ExternalStoreMixin, ExposeStoreMixin]);\n }\n else if (store || definition.Store) {\n if (typeof store === 'function') {\n StoreClass = store;\n store = void 0;\n }\n if (store) {\n var BaseClass_1 = StoreClass || this.prototype.Store || Store;\n var InternalStore = (function (_super) {\n __extends(InternalStore, _super);\n function InternalStore() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return InternalStore;\n }(BaseClass_1));\n InternalStore.attrbutes = store;\n InternalStore = __decorate([\n define\n ], InternalStore);\n ;\n this.prototype.Store = InternalStore;\n }\n else if (StoreClass) {\n this.prototype.Store = StoreClass;\n }\n this.mixins.merge([InternalStoreMixin, UpdateOnNestedChangesMixin, ExposeStoreMixin]);\n }\n}\n/**\n * Attached whenever the store declaration of any form is present in the component.\n */\nvar ExposeStoreMixin = {\n childContext: {\n _nestedStore: Store\n },\n getChildContext: function () {\n return { _nestedStore: this.store };\n },\n getStore: function () {\n return this.store;\n },\n // Will be called by the store when the lookup will fail.\n get: function (key) {\n // Ask upper store.\n var store = StateMixin.getStore.call(this, key);\n return store && store.get(key);\n }\n};\n/**\n * External store must just track the changes and trigger render.\n * TBD: don't use it yet.\n */\nvar ExternalStoreMixin = {\n componentDidMount: function () {\n // Start UI updates on state changes.\n this.listenTo(this.store, 'change', this.asyncUpdate);\n }\n};\nvar InternalStoreMixin = {\n componentWillMount: function () {\n var store = this.store = new this.Store();\n store._owner = this;\n store._ownerKey = 'store';\n },\n componentWillUnmount: function () {\n this.store._ownerKey = this.store._owner = void 0;\n this.store.dispose();\n this.store = void 0;\n }\n};\n//# sourceMappingURL=store.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/store.js\n// module id = 10\n// module chunks = 0","import { compileSpecs } from './typeSpecs';\nimport { tools } from 'type-r';\nexport default function onDefine(_a, BaseClass) {\n var context = _a.context, childContext = _a.childContext;\n var prototype = this.prototype;\n if (context) {\n // Merge in inherited members...\n prototype._context = tools.defaults(context, BaseClass.prototype._context || {});\n // Compile to propTypes...\n this.contextTypes = compileSpecs(context).propTypes;\n }\n if (childContext) {\n prototype._childContext = tools.defaults(childContext, BaseClass.prototype._childContext);\n this.childContextTypes = compileSpecs(childContext).propTypes;\n }\n}\n//# sourceMappingURL=context.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/context.js\n// module id = 11\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\nvar invariant = require('fbjs/lib/invariant');\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n invariant(\n false,\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim\n };\n\n ReactPropTypes.checkPropTypes = emptyFunction;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/prop-types/factoryWithThrowingShims.js\n// module id = 12\n// module chunks = 0","\"use strict\";\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/fbjs/lib/emptyFunction.js\n// module id = 13\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (process.env.NODE_ENV !== 'production') {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/fbjs/lib/invariant.js\n// module id = 14\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/prop-types/lib/ReactPropTypesSecret.js\n// module id = 15\n// module chunks = 0","/**\n * Handle props specification and everything which is related:\n * - local listening to props changes\n * - pure render mixin\n */\nimport { compileSpecs } from './typeSpecs';\nimport { PureRenderMixin, createChangeTokensConstructor } from './pureRender';\nimport { tools } from 'type-r';\nexport default function onDefine(_a, BaseClass) {\n var props = _a.props, pureRender = _a.pureRender;\n var prototype = this.prototype;\n // process props spec...\n if (props) {\n // Merge with inherited members...\n prototype._props = tools.defaults(props, BaseClass.prototype._props || {});\n var _b = compileSpecs(props), propTypes = _b.propTypes, defaults = _b.defaults, watchers = _b.watchers, changeHandlers = _b.changeHandlers;\n this.propTypes = propTypes;\n if (defaults)\n this.defaultProps = defaults;\n if (watchers) {\n prototype._watchers = watchers;\n this.mixins.merge([WatchersMixin]);\n }\n if (changeHandlers) {\n prototype._changeHandlers = changeHandlers;\n this.mixins.merge([ChangeHandlersMixin]);\n }\n if (prototype.pureRender) {\n prototype.PropsChangeTokens = createChangeTokensConstructor(props);\n }\n }\n if (pureRender) {\n this.mixins.merge([PureRenderMixin]);\n }\n}\n/**\n * ChangeHandlers are fired in sequence upon props replacement.\n * Fires _after_ UI is updated. Used for managing events subscriptions.\n */\nvar ChangeHandlersMixin = {\n componentDidMount: function () {\n handlePropsChanges(this, {}, this.props);\n },\n componentDidUpdate: function (prev) {\n handlePropsChanges(this, prev, this.props);\n },\n componentWillUnmount: function () {\n handlePropsChanges(this, this.props, {});\n }\n};\nfunction handlePropsChanges(component, prev, next) {\n var _changeHandlers = component._changeHandlers;\n for (var name_1 in _changeHandlers) {\n if (prev[name_1] !== next[name_1]) {\n for (var _i = 0, _a = _changeHandlers[name_1]; _i < _a.length; _i++) {\n var handler = _a[_i];\n handler(next[name_1], prev[name_1], component);\n }\n }\n }\n}\n/**\n * Watchers works on props replacement and fires _before_ any change will be applied and UI is updated.\n * Fired in componentWillMount as well, which makes it a nice way to sync state from props.\n */\nvar WatchersMixin = {\n componentWillReceiveProps: function (next) {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_2 in _watchers) {\n if (next[name_2] !== props[name_2]) {\n _watchers[name_2].call(this, next[name_2], name_2);\n }\n }\n },\n componentWillMount: function () {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_3 in _watchers) {\n _watchers[name_3].call(this, props[name_3], name_3);\n }\n }\n};\n//# sourceMappingURL=props.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/props.js\n// module id = 16\n// module chunks = 0","/**\n * Import ValueLink library\n * Define value links binding mixins to the Record and Collection\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { Mixable, MixinsState, Record } from 'type-r';\nimport { Link } from './valuelink/link';\nexport default Link;\nMixable.mixins.populate(Link);\n/**\n * Record\n */\nMixinsState.get(Record).merge([{\n // Link to the record's attribute by its key.\n linkAt: function (key) {\n return cacheLink(getLinksCache(this), this, key);\n },\n // Link to the attribute of the record's tree by symbolic path.\n linkPath: function (path, options) {\n return new RecordDeepLink(this, path, options);\n },\n // Link all (or listed) attributes and return links cache.\n linkAll: function () {\n var links = getLinksCache(this);\n if (arguments.length) {\n for (var i = 0; i < arguments.length; i++) {\n cacheLink(links, this, arguments[i]);\n }\n }\n else {\n var attributes = this.attributes;\n for (var key in attributes) {\n attributes[key] === void 0 || cacheLink(links, this, key);\n }\n }\n return links;\n }\n }]);\n/**\n * Link to Type-R's record attribute.\n * Strict evaluation of value, lazy evaluation of validation error.\n * Links are cached in the records\n */\nvar RecordLink = (function (_super) {\n __extends(RecordLink, _super);\n function RecordLink(record, attr, value) {\n var _this = _super.call(this, value) || this;\n _this.record = record;\n _this.attr = attr;\n return _this;\n }\n RecordLink.prototype.set = function (x) {\n this.record[this.attr] = x;\n };\n Object.defineProperty(RecordLink.prototype, \"error\", {\n get: function () {\n return this._error === void 0 ?\n this.record.getValidationError(this.attr) :\n this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n return RecordLink;\n}(Link));\nvar RecordDeepLink = (function (_super) {\n __extends(RecordDeepLink, _super);\n function RecordDeepLink(record, path, options) {\n var _this = _super.call(this, record.deepGet(path)) || this;\n _this.record = record;\n _this.path = path;\n _this.options = options;\n return _this;\n }\n Object.defineProperty(RecordDeepLink.prototype, \"error\", {\n get: function () {\n if (this._error === void 0) {\n this._error = this.record.deepValidationError(this.path) || null;\n }\n return this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(RecordDeepLink.prototype, \"_changeToken\", {\n get: function () {\n return this.record._changeToken;\n },\n enumerable: true,\n configurable: true\n });\n RecordDeepLink.prototype.set = function (x) {\n this.record.deepSet(this.path, x, this.options);\n };\n return RecordDeepLink;\n}(Link));\nfunction getLinksCache(record) {\n return record._links || (record._links = new record.AttributesCopy({}));\n}\nfunction cacheLink(links, record, key) {\n var cached = links[key], value = record[key];\n return cached && cached.value === value ? cached\n : links[key] = new RecordLink(record, key, value);\n}\n/***********************************\n * Collection\n */\nMixinsState.get(Record.Collection).merge([{\n // Boolean link to the record's presence in the collection\n linkContains: function (record) {\n return new CollectionLink(this, record);\n },\n // Link to collection's property\n linkAt: function (prop) {\n var _this = this;\n return Link.value(this[prop], function (x) { return _this[prop] = x; });\n }\n }]);\n/**\n * Boolean link to presence of NestedType's record in collection.\n * Strict evaluation of value, no error.\n * Safe implementation of _changeToken.\n */\nvar CollectionLink = (function (_super) {\n __extends(CollectionLink, _super);\n function CollectionLink(collection, record) {\n var _this = _super.call(this, Boolean(collection._byId[record.cid])) || this;\n _this.collection = collection;\n _this.record = record;\n return _this;\n }\n CollectionLink.prototype.set = function (x) {\n this.collection.toggle(this.record, x);\n };\n return CollectionLink;\n}(Link));\n//# sourceMappingURL=link.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/link.js\n// module id = 17\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * Advanced React links for purely functional two-way data binding\n *\n * MIT License, (c) 2016 Vlad Balin, Volicon.\n */\nimport { helpers, arrayHelpers } from './helpers';\n// Main Link class. All links must extend it.\nvar Link = (function () {\n // create \n function Link(value) {\n this.value = value;\n }\n // Create custom link to arbitrary value\n Link.value = function (value, set) {\n return new CustomLink(value, set);\n };\n Object.defineProperty(Link.prototype, \"validationError\", {\n // DEPRECATED: Old error holder for backward compatibility with Volicon code base\n get: function () { return this.error; },\n enumerable: true,\n configurable: true\n });\n Link.prototype.onChange = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n handler(x);\n _this.set(x);\n });\n };\n Object.defineProperty(Link.prototype, \"props\", {\n // \n get: function () {\n var _this = this;\n return typeof this.value === 'boolean' ? {\n checked: this.value,\n onChange: function (e) { return _this.set(Boolean(e.target.checked)); }\n } : {\n value: this.value,\n onChange: function (e) { return _this.set(e.target.value); }\n };\n },\n enumerable: true,\n configurable: true\n });\n // DEPRECATED: Old React method for backward compatibility\n Link.prototype.requestChange = function (x) {\n this.set(x);\n };\n // Immediately update the link value using given transform function.\n Link.prototype.update = function (transform, e) {\n var next = transform(this.clone(), e);\n next === void 0 || this.set(next);\n };\n // Create new link which applies transform function on set.\n Link.prototype.pipe = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n var next = handler(x, _this.value);\n next === void 0 || _this.set(next);\n });\n };\n // Create UI event handler function which will update the link with a given transform function.\n Link.prototype.action = function (transform) {\n var _this = this;\n return function (e) { return _this.update(transform, e); };\n };\n Link.prototype.equals = function (truthyValue) {\n return new EqualsLink(this, truthyValue);\n };\n Link.prototype.enabled = function (defaultValue) {\n return new EnabledLink(this, defaultValue || \"\");\n };\n // Array-only links methods\n Link.prototype.contains = function (element) {\n return new ContainsLink(this, element);\n };\n Link.prototype.push = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.push.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.unshift = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.unshift.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.splice = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.splice.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.map = function (iterator) {\n return helpers(this.value).map(this, iterator);\n };\n Link.prototype.removeAt = function (key) {\n var value = this.value, _ = helpers(value);\n this.set(_.remove(_.clone(value), key));\n };\n Link.prototype.at = function (key) {\n return new LinkAt(this, key);\n };\n Link.prototype.clone = function () {\n var value = this.value;\n return helpers(value).clone(value);\n };\n Link.prototype.pick = function () {\n var links = {};\n for (var i = 0; i < arguments.length; i++) {\n var key = arguments[i];\n links[key] = new LinkAt(this, key);\n }\n return links;\n };\n /**\n * Validate link with validness predicate and optional custom error object. Can be chained.\n */\n Link.prototype.check = function (whenValid, error) {\n if (!this.error && !whenValid(this.value)) {\n this.error = error || whenValid.error || defaultError;\n }\n return this;\n };\n return Link;\n}());\nexport { Link };\nvar CustomLink = (function (_super) {\n __extends(CustomLink, _super);\n function CustomLink(value, set) {\n var _this = _super.call(this, value) || this;\n _this.set = set;\n return _this;\n }\n CustomLink.prototype.set = function (x) { };\n return CustomLink;\n}(Link));\nexport { CustomLink };\nvar CloneLink = (function (_super) {\n __extends(CloneLink, _super);\n function CloneLink(parent, set) {\n var _this = _super.call(this, parent.value) || this;\n _this.set = set;\n var error = parent.error;\n if (error)\n _this.error = error;\n return _this;\n }\n CloneLink.prototype.set = function (x) { };\n return CloneLink;\n}(Link));\nexport { CloneLink };\nvar EqualsLink = (function (_super) {\n __extends(EqualsLink, _super);\n function EqualsLink(parent, truthyValue) {\n var _this = _super.call(this, parent.value === truthyValue) || this;\n _this.parent = parent;\n _this.truthyValue = truthyValue;\n return _this;\n }\n EqualsLink.prototype.set = function (x) {\n this.parent.set(x ? this.truthyValue : null);\n };\n return EqualsLink;\n}(Link));\nexport { EqualsLink };\nvar EnabledLink = (function (_super) {\n __extends(EnabledLink, _super);\n function EnabledLink(parent, defaultValue) {\n var _this = _super.call(this, parent.value != null) || this;\n _this.parent = parent;\n _this.defaultValue = defaultValue;\n return _this;\n }\n EnabledLink.prototype.set = function (x) {\n this.parent.set(x ? this.defaultValue : null);\n };\n return EnabledLink;\n}(Link));\nexport { EnabledLink };\nvar ContainsLink = (function (_super) {\n __extends(ContainsLink, _super);\n function ContainsLink(parent, element) {\n var _this = _super.call(this, parent.value.indexOf(element) >= 0) || this;\n _this.parent = parent;\n _this.element = element;\n return _this;\n }\n ContainsLink.prototype.set = function (x) {\n var _this = this;\n var next = Boolean(x);\n if (this.value !== next) {\n var arr = this.parent.value, nextValue = x ? arr.concat(this.element) : arr.filter(function (el) { return el !== _this.element; });\n this.parent.set(nextValue);\n }\n };\n return ContainsLink;\n}(Link));\nexport { ContainsLink };\nvar defaultError = 'Invalid value';\n/**\n * Link to array or object element enclosed in parent link.\n * Performs purely functional update of the parent, shallow copying its value on `set`.\n */\nvar LinkAt = (function (_super) {\n __extends(LinkAt, _super);\n function LinkAt(parent, key) {\n var _this = _super.call(this, parent.value[key]) || this;\n _this.parent = parent;\n _this.key = key;\n return _this;\n }\n LinkAt.prototype.remove = function () {\n this.parent.removeAt(this.key);\n };\n // Set new element value to parent array or object, performing purely functional update.\n LinkAt.prototype.set = function (x) {\n var _this = this;\n if (this.value !== x) {\n this.parent.update(function (value) {\n value[_this.key] = x;\n return value;\n });\n }\n };\n ;\n return LinkAt;\n}(Link));\nexport { LinkAt };\n//# sourceMappingURL=link.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/valuelink/link.js\n// module id = 18\n// module chunks = 0","var ArrayProto = Array.prototype, ObjectProto = Object.prototype;\nexport function helpers(value) {\n if (value && typeof value === 'object') {\n switch (Object.getPrototypeOf(value)) {\n case ArrayProto: return arrayHelpers;\n case ObjectProto: return objectHelpers;\n }\n }\n return dummyHelpers;\n}\n// Do nothing for types other than Array and plain Object.\nvar dummyHelpers = {\n clone: function (value) { return value; },\n map: function (link, fun) { return []; },\n remove: function (value) { return value; }\n};\n// `map` and `clone` for plain JS objects\nexport var objectHelpers = {\n // Map through the link to object\n map: function (link, iterator) {\n var mapped = [];\n for (var key in link.value) {\n var element = iterator(link.at(key), key);\n element === void 0 || (mapped.push(element));\n }\n return mapped;\n },\n remove: function (object, key) {\n delete object[key];\n return object;\n },\n // Shallow clone plain JS object\n clone: function (object) {\n var cloned = {};\n for (var key in object) {\n cloned[key] = object[key];\n }\n return cloned;\n }\n};\n// `map` and `clone` helpers for arrays.\nexport var arrayHelpers = {\n // Shallow clone array\n clone: function (array) {\n return array.slice();\n },\n remove: function (array, i) {\n array.splice(i, 1);\n return array;\n },\n // Map through the link to array\n map: function (link, iterator) {\n var length = link.value.length, mapped = Array(length);\n for (var i = 0, j = 0; i < length; i++) {\n var y = iterator(link.at(i), i);\n y === void 0 || (mapped[j++] = y);\n }\n mapped.length === j || (mapped.length = j);\n return mapped;\n }\n};\n//# sourceMappingURL=helpers.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/valuelink/helpers.js\n// module id = 19\n// module chunks = 0","/**\n * React-Type-R component base class. Overrides React component.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport * as React from 'react';\nimport { mixinRules, define, mixins, definitions, Messenger } from 'type-r';\nimport onDefine, { EmptyPropsChangeTokensCtor } from './define';\nvar Component = (function (_super) {\n __extends(Component, _super);\n function Component(props, context) {\n var _this = _super.call(this, props, context) || this;\n _this._initializeState();\n return _this;\n }\n Component.prototype.linkAt = function (key) {\n // Quick and dirty hack to suppres type error - refactor later.\n return this.state.linkAt(key);\n };\n Component.prototype.linkAll = function () {\n // Quick and dirty hack to suppres type error - refactor later.\n var state = this.state;\n return state.linkAll.apply(state, arguments);\n };\n Component.prototype.linkPath = function (path) {\n return this.state.linkPath(path);\n };\n Object.defineProperty(Component.prototype, \"links\", {\n get: function () {\n return this.state._links;\n },\n enumerable: true,\n configurable: true\n });\n Component.prototype._initializeState = function () {\n this.state = null;\n };\n Component.prototype.assignToState = function (x, key) {\n this.state.assignFrom((_a = {}, _a[key] = x, _a));\n var _a;\n };\n Component.prototype.componentWillUnmount = function () {\n this.dispose();\n };\n /**\n * Performs transactional update for both props and state.\n * Suppress updates during the transaction, and force update aftewards.\n * Wrapping the sequence of changes in a transactions guarantees that\n * React component will be updated _after_ all the changes to the\n * both props and local state are applied.\n */\n Component.prototype.transaction = function (fun) {\n var shouldComponentUpdate = this.shouldComponentUpdate, isRoot = shouldComponentUpdate !== returnFalse;\n if (isRoot) {\n this.shouldComponentUpdate = returnFalse;\n }\n var _a = this, state = _a.state, store = _a.store, withStore = store ? function (state) { return store.transaction(function () { return fun(state); }); } : fun;\n state ? state.transaction(withStore) : withStore(state);\n if (isRoot) {\n this.shouldComponentUpdate = shouldComponentUpdate;\n this.asyncUpdate();\n }\n };\n // Safe version of the forceUpdate suitable for asynchronous callbacks.\n Component.prototype.asyncUpdate = function () {\n this.shouldComponentUpdate === returnFalse || this._disposed || this.forceUpdate();\n };\n return Component;\n}(React.Component));\nComponent.onDefine = onDefine;\nComponent = __decorate([\n define({\n PropsChangeTokens: EmptyPropsChangeTokensCtor\n }),\n definitions({\n // Definitions to be extracted from mixins and statics and passed to `onDefine()`\n state: mixinRules.merge,\n State: mixinRules.value,\n store: mixinRules.merge,\n Store: mixinRules.value,\n props: mixinRules.merge,\n context: mixinRules.merge,\n childContext: mixinRules.merge,\n pureRender: mixinRules.protoValue\n }),\n mixinRules({\n // Apply old-school React mixin rules.\n componentWillMount: mixinRules.classLast,\n componentDidMount: mixinRules.classLast,\n componentWillReceiveProps: mixinRules.classLast,\n componentWillUpdate: mixinRules.classLast,\n componentDidUpdate: mixinRules.classLast,\n componentWillUnmount: mixinRules.classFirst,\n // And a bit more to fix inheritance quirks.\n shouldComponentUpdate: mixinRules.some,\n getChildContext: mixinRules.defaults\n })\n // Component can send and receive events...\n ,\n mixins(Messenger)\n], Component);\nexport { Component };\nfunction returnFalse() { return false; }\n// Looks like React guys _really_ want to deprecate it. But no way.\n// We will work around their attempt.\nObject.defineProperty(Component.prototype, 'isMounted', {\n value: function isMounted() {\n return !this._disposed;\n }\n});\n//# sourceMappingURL=component.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/component.js\n// module id = 20\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport React, { Component } from './react-mvx';\nimport { tools } from 'type-r';\nvar notEqual = tools.notEqual;\nvar BackboneView = (function (_super) {\n __extends(BackboneView, _super);\n function BackboneView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.saveRef = function (element) {\n _this.root = element;\n };\n return _this;\n }\n BackboneView.prototype.shouldComponentUpdate = function (next) {\n var props = this.props;\n return next.View !== props.View || notEqual(next.options, props.options);\n };\n BackboneView.prototype.hasUnsavedChanges = function () {\n var view = this.view;\n return view && (typeof view.hasUnsavedChanges === 'function' ? view.hasUnsavedChanges() : view.hasUnsavedChanges);\n };\n BackboneView.prototype.render = function () {\n return React.createElement('div', {\n ref: this.saveRef,\n className: this.props.className\n });\n };\n BackboneView.prototype.componentDidMount = function () {\n this._mountView();\n };\n BackboneView.prototype.componentDidUpdate = function () {\n this._dispose();\n this._mountView();\n };\n BackboneView.prototype.componentWillUnmount = function () {\n this._dispose();\n };\n BackboneView.prototype._mountView = function () {\n var el = this.root, p = this.props;\n var view = this.view = p.options ? new p.View(p.options) : new p.View();\n el.appendChild(view.el);\n view.render();\n };\n BackboneView.prototype._dispose = function () {\n var view = this.view;\n if (view) {\n if (view.dispose) {\n view.dispose();\n }\n else {\n view.stopListening();\n view.off();\n }\n this.root.innerHTML = \"\";\n this.view = null;\n }\n };\n return BackboneView;\n}(Component));\nexport default BackboneView;\n//# sourceMappingURL=view-element.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/view-element.js\n// module id = 21\n// module chunks = 0","import * as React from 'react';\nimport ReactDOM from 'react-dom';\nimport { tools } from 'type-r';\nwindow.Page || (window.Page = { forceResize: function () { } });\nexport default function use(View) {\n var dispose = View.prototype.dispose || function () { }, setElement = View.prototype.setElement;\n var ComponentView = View.extend({\n reactClass: null,\n props: {},\n element: null,\n initialize: function (props) {\n // memorise arguments to pass to React\n this.options = props || {};\n },\n setElement: function () {\n this.unmountComponent(true);\n return setElement.apply(this, arguments);\n },\n // cached instance of react component...\n component: null,\n prevState: null,\n resize: function () {\n window.Page.forceResize();\n },\n render: function () {\n var options = this.prevState ? tools.fastAssign({ __keepState: this.prevState }, this.options) : this.options, element = React.createElement(this.reactClass, options), component = ReactDOM.render(element, this.el);\n this.component || this.mountComponent(component);\n },\n mountComponent: function (component) {\n this.component = component;\n this.prevState = null;\n component.trigger && this.listenTo(component, 'all', function () {\n this.trigger.apply(this, arguments);\n });\n },\n unmountComponent: function (keepModel) {\n var component = this.component;\n if (component) {\n this.prevState = component.state;\n if (component.trigger) {\n this.stopListening(component);\n }\n component._preventDispose = Boolean(keepModel);\n ReactDOM.unmountComponentAtNode(this.el);\n this.component = null;\n }\n },\n dispose: function () {\n this.unmountComponent();\n return dispose.apply(this, arguments);\n }\n });\n Object.defineProperty(ComponentView.prototype, 'model', {\n get: function () {\n this.component || this.render();\n return this.component && this.component.state;\n }\n });\n return ComponentView;\n}\n//# sourceMappingURL=component-view.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/component-view.js\n// module id = 22\n// module chunks = 0","var __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\nimport { Component } from './react-mvx';\nvar dontAutobind = [\n 'State', 'Store', 'constructor',\n 'componentWillMount', 'componentDidMount', 'componentWillReceiveProps', 'shouldComponentUpdate',\n 'componentWillUpdate', 'componentDidUpdate', 'componentWillUnmount',\n 'render', 'getDefaultProps', 'getChildContext'\n];\n/**\n * ES5 components definition factory\n */\nexport default function createClass(_a) {\n var statics = _a.statics, a_spec = __rest(_a, [\"statics\"]);\n // Gather all methods to pin them to `this` later.\n var methods = [];\n var Subclass = Component.extend(__assign({ \n // Override constructor to autobind all the methods...\n constructor: function () {\n Component.apply(this, arguments);\n for (var _i = 0, methods_1 = methods; _i < methods_1.length; _i++) {\n var method = methods_1[_i];\n this[method] = this[method].bind(this);\n }\n } }, a_spec), statics);\n // Need to bind methods from mixins as well, so populate it here.\n var Proto = Subclass.prototype;\n for (var key in Proto) {\n if (Proto.hasOwnProperty(key) && dontAutobind.indexOf(key) === -1 && typeof Proto[key] === 'function') {\n methods.push(key);\n }\n }\n return Subclass;\n}\n//# sourceMappingURL=createClass.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/createClass.js\n// module id = 23\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file diff --git a/lib/react-mvx/define/pureRender.js b/lib/react-mvx/define/pureRender.js index a4ea5ca..2d95017 100644 --- a/lib/react-mvx/define/pureRender.js +++ b/lib/react-mvx/define/pureRender.js @@ -1,7 +1,7 @@ export function createChangeTokensConstructor(props) { var propNames = Object.keys(props); var PropsChangeTokens = new Function('p', 's', "\n var v;\n this._s = s && s._changeToken;\n " + propNames.map(function (name) { return "\n this." + name + " = ( ( v = p." + name + ") && v._changeToken ) || v;\n "; }).join('') + "\n "); - PropsChangeTokens.prototype._hasChanges = new Function('p', 's', "\n var v;\n return ( s && s._changeToken !== this._s ) " + propNames.map(function (name) { return " ||\n this." + name + " !== ( ( ( v = p." + name + ") && v._changeToken ) || v )\n "; }).join('') + ";\n "); + PropsChangeTokens.prototype._hasChanges = new Function('p', 's', "\n var v;\n return ( ( s && s._changeToken ) !== this._s ) " + propNames.map(function (name) { return " ||\n this." + name + " !== ( ( ( v = p." + name + ") && v._changeToken ) || v )\n "; }).join('') + ";\n "); return PropsChangeTokens; } ; diff --git a/lib/react-mvx/define/pureRender.js.map b/lib/react-mvx/define/pureRender.js.map index a1f06a2..6cd30c8 100644 --- a/lib/react-mvx/define/pureRender.js.map +++ b/lib/react-mvx/define/pureRender.js.map @@ -1 +1 @@ -{"version":3,"file":"pureRender.js","sourceRoot":"","sources":["../../../src/react-mvx/define/pureRender.ts"],"names":[],"mappings":"AAAA,MAAM,wCAAyC,KAAK;IAChD,IAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAE,KAAK,CAAE,CAAC;IAEvC,IAAM,iBAAiB,GAAG,IAAI,QAAQ,CAAE,GAAG,EAAE,GAAG,EAAE,uEAG3C,SAAS,CAAC,GAAG,CAAE,UAAA,IAAI,IAAI,OAAA,wBACd,IAAI,qBAAkB,IAAI,0CACrC,EAFyB,CAEzB,CAAC,CAAC,IAAI,CAAE,EAAE,CAAE,WAChB,CAAC,CAAC;IAEH,iBAAiB,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,QAAQ,CAAE,GAAG,EAAE,GAAG,EAAE,0EAEhB,SAAS,CAAC,GAAG,CAAE,UAAA,IAAI,IAAI,OAAA,2BACzD,IAAI,yBAAsB,IAAI,2CACzC,EAFoE,CAEpE,CAAC,CAAC,IAAI,CAAE,EAAE,CAAE,YAChB,CAAC,CAAC;IAEH,MAAM,CAAC,iBAAiB,CAAC;AAC7B,CAAC;AAAA,CAAC;AAEF,MAAM,CAAC,IAAM,0BAA0B,GAAG,6BAA6B,CAAC,EAAE,CAAC,CAAC;AAE5E,MAAM,CAAC,IAAM,eAAe,GAAG;IAC3B,qBAAqB,YAAE,SAAS;QAC5B,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAE,SAAS,CAAE,CAAC;IAC5D,CAAC;IAED,iBAAiB,EAAG,kBAAkB;IACtC,kBAAkB,EAAG,kBAAkB;CAC1C,CAAA;AAED;IACI,IAAI,CAAC,kBAAkB,GAAG,IAAI,IAAI,CAAC,iBAAiB,CAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAE,CAAC;AACnF,CAAC"} \ No newline at end of file +{"version":3,"file":"pureRender.js","sourceRoot":"","sources":["../../../src/react-mvx/define/pureRender.ts"],"names":[],"mappings":"AAAA,MAAM,wCAAyC,KAAK;IAChD,IAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAE,KAAK,CAAE,CAAC;IAEvC,IAAM,iBAAiB,GAAG,IAAI,QAAQ,CAAE,GAAG,EAAE,GAAG,EAAE,uEAG3C,SAAS,CAAC,GAAG,CAAE,UAAA,IAAI,IAAI,OAAA,wBACd,IAAI,qBAAkB,IAAI,0CACrC,EAFyB,CAEzB,CAAC,CAAC,IAAI,CAAE,EAAE,CAAE,WAChB,CAAC,CAAC;IAEH,iBAAiB,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,QAAQ,CAAE,GAAG,EAAE,GAAG,EAAE,8EAEZ,SAAS,CAAC,GAAG,CAAE,UAAA,IAAI,IAAI,OAAA,2BAC7D,IAAI,yBAAsB,IAAI,2CACzC,EAFwE,CAExE,CAAC,CAAC,IAAI,CAAE,EAAE,CAAE,YAChB,CAAC,CAAC;IAEH,MAAM,CAAC,iBAAiB,CAAC;AAC7B,CAAC;AAAA,CAAC;AAEF,MAAM,CAAC,IAAM,0BAA0B,GAAG,6BAA6B,CAAC,EAAE,CAAC,CAAC;AAE5E,MAAM,CAAC,IAAM,eAAe,GAAG;IAC3B,qBAAqB,YAAE,SAAS;QAC5B,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAE,SAAS,CAAE,CAAC;IAC5D,CAAC;IAED,iBAAiB,EAAG,kBAAkB;IACtC,kBAAkB,EAAG,kBAAkB;CAC1C,CAAA;AAED;IACI,IAAI,CAAC,kBAAkB,GAAG,IAAI,IAAI,CAAC,iBAAiB,CAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAE,CAAC;AACnF,CAAC"} \ No newline at end of file diff --git a/src/react-mvx/define/pureRender.ts b/src/react-mvx/define/pureRender.ts index 132ddb2..85f1c70 100644 --- a/src/react-mvx/define/pureRender.ts +++ b/src/react-mvx/define/pureRender.ts @@ -11,7 +11,7 @@ export function createChangeTokensConstructor( props ) { PropsChangeTokens.prototype._hasChanges = new Function( 'p', 's', ` var v; - return ( s && s._changeToken !== this._s ) ${ propNames.map( name => ` || + return ( ( s && s._changeToken ) !== this._s ) ${ propNames.map( name => ` || this.${ name } !== ( ( ( v = p.${ name }) && v._changeToken ) || v ) `).join( '' )}; `); diff --git a/submodules/React-MVx b/submodules/React-MVx index 5453e3b..c94aeaf 160000 --- a/submodules/React-MVx +++ b/submodules/React-MVx @@ -1 +1 @@ -Subproject commit 5453e3bb42b9ead4ee7c4c8dcf07716ab4e90e10 +Subproject commit c94aeaf0a78ab04f0fab70f5dbaf223461ff5041 From e5a81a635cf39be79a86c14f82e9be8bbc679c9d Mon Sep 17 00:00:00 2001 From: Ivan Terpugov Date: Wed, 25 Oct 2017 01:09:30 +0300 Subject: [PATCH 13/25] Rollup build in progress --- dist/index.js | 1531 +- dist/index.js.map | 2 +- dist/index.min.js | 4 +- dist/index.min.js.map | 2 +- examples/checklistTree/.babelrc | 18 + examples/checklistTree/dist/app.js | 38725 +++++++++++++++++++ examples/checklistTree/dist/app.js.map | 1 + examples/checklistTree/index.html | 2 +- examples/checklistTree/package-lock.json | 5586 +++ examples/checklistTree/package.json | 34 +- examples/checklistTree/webpack.config.js | 33 +- examples/todomvc/.babelrc | 18 + examples/todomvc/app.js.map | 2 +- examples/todomvc/dist/app.js | 33907 +++++++++++++++++ examples/todomvc/dist/app.js.map | 1 + examples/todomvc/index.html | 2 +- examples/todomvc/js/addtodo.jsx | 2 +- examples/todomvc/js/main.jsx | 4 +- examples/todomvc/js/todolist.jsx | 4 +- examples/todomvc/package-lock.json | 5601 +++ examples/todomvc/package.json | 37 +- examples/todomvc/webpack.config.js | 34 +- examples/userslist/.babelrc | 18 + examples/userslist/dist/app.js | 40965 +++++++++++++++++++++ examples/userslist/dist/app.js.map | 1 + examples/userslist/index.html | 2 +- examples/userslist/package-lock.json | 5617 +++ examples/userslist/package.json | 32 +- examples/userslist/{ => src}/main.css | 0 examples/userslist/{ => src}/main.jsx | 9 +- examples/userslist/webpack.config.js | 39 +- lib/component-view.js | 2 +- lib/component-view.js.map | 2 +- lib/index.js | 3 +- lib/index.js.map | 2 +- package-lock.json | 3429 +- package.json | 12 +- rollup.config.js | 28 + rollup.config.minify.js | 7 + src/component-view.ts | 2 +- src/index.ts | 4 +- submodules/React-MVx | 2 +- 42 files changed, 131308 insertions(+), 4418 deletions(-) create mode 100644 examples/checklistTree/.babelrc create mode 100644 examples/checklistTree/dist/app.js create mode 100644 examples/checklistTree/dist/app.js.map create mode 100644 examples/checklistTree/package-lock.json create mode 100644 examples/todomvc/.babelrc create mode 100644 examples/todomvc/dist/app.js create mode 100644 examples/todomvc/dist/app.js.map create mode 100644 examples/todomvc/package-lock.json create mode 100644 examples/userslist/.babelrc create mode 100644 examples/userslist/dist/app.js create mode 100644 examples/userslist/dist/app.js.map create mode 100644 examples/userslist/package-lock.json rename examples/userslist/{ => src}/main.css (100%) rename examples/userslist/{ => src}/main.jsx (97%) create mode 100644 rollup.config.js create mode 100644 rollup.config.minify.js diff --git a/dist/index.js b/dist/index.js index 84ca00d..429a7bc 100644 --- a/dist/index.js +++ b/dist/index.js @@ -1,283 +1,12 @@ -(function webpackUniversalModuleDefinition(root, factory) { - if(typeof exports === 'object' && typeof module === 'object') - module.exports = factory(require("nestedtypes"), require("react"), require("react-dom")); - else if(typeof define === 'function' && define.amd) - define(["nestedtypes", "react", "react-dom"], factory); - else if(typeof exports === 'object') - exports["React"] = factory(require("nestedtypes"), require("react"), require("react-dom")); - else - root["React"] = factory(root["Nested"], root["React"], root["ReactDOM"]); -})(this, function(__WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_2__, __WEBPACK_EXTERNAL_MODULE_8__) { -return /******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { -/******/ configurable: false, -/******/ enumerable: true, -/******/ get: getter -/******/ }); -/******/ } -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 9); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ (function(module, exports) { +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react'), require('type-r'), require('prop-types'), require('react-dom')) : + typeof define === 'function' && define.amd ? define(['exports', 'react', 'type-r', 'prop-types', 'react-dom'], factory) : + (factory((global.ReactMVx = {}),global.React,global.Nested,global.PropTypes,global.ReactDOM)); +}(this, (function (exports,React,Nested,PropTypes,ReactDOM) { 'use strict'; -module.exports = __WEBPACK_EXTERNAL_MODULE_0__; +var Nested__default = 'default' in Nested ? Nested['default'] : Nested; -/***/ }), -/* 1 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return assignToState; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(2); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__define__ = __webpack_require__(4); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__link__ = __webpack_require__(17); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__component__ = __webpack_require__(20); -/* harmony reexport (binding) */ if(__webpack_require__.o(__WEBPACK_IMPORTED_MODULE_1_type_r__, "define")) __webpack_require__.d(__webpack_exports__, "g", function() { return __WEBPACK_IMPORTED_MODULE_1_type_r__["define"]; }); -/* harmony reexport (binding) */ if(__webpack_require__.o(__WEBPACK_IMPORTED_MODULE_1_type_r__, "mixins")) __webpack_require__.d(__webpack_exports__, "h", function() { return __WEBPACK_IMPORTED_MODULE_1_type_r__["mixins"]; }); -/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return __WEBPACK_IMPORTED_MODULE_2__define__["c"]; }); -/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return __WEBPACK_IMPORTED_MODULE_2__define__["a"]; }); -/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return __WEBPACK_IMPORTED_MODULE_3__link__["a"]; }); -/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return __WEBPACK_IMPORTED_MODULE_4__component__["a"]; }); - - - - - -// extend React namespace -var ReactMVx = Object.create(__WEBPACK_IMPORTED_MODULE_0_react__); -// Make it compatible with ES6 module format. -ReactMVx.default = ReactMVx; -// listenToProps, listenToState, model, attributes, Model -ReactMVx.define = __WEBPACK_IMPORTED_MODULE_1_type_r__["define"]; -ReactMVx.mixins = __WEBPACK_IMPORTED_MODULE_1_type_r__["mixins"]; -ReactMVx.Node = __WEBPACK_IMPORTED_MODULE_2__define__["c" /* Node */].value(null); -ReactMVx.Element = __WEBPACK_IMPORTED_MODULE_2__define__["a" /* Element */].value(null); -ReactMVx.Link = __WEBPACK_IMPORTED_MODULE_3__link__["a" /* default */]; -ReactMVx.Component = __WEBPACK_IMPORTED_MODULE_4__component__["a" /* Component */]; -var assignToState = ReactMVx.assignToState = function (key) { - return function (prop) { - this.state.assignFrom((_a = {}, _a[key] = prop && prop instanceof __WEBPACK_IMPORTED_MODULE_3__link__["a" /* default */] ? prop.value : prop, _a)); - var _a; - }; -}; -/* harmony default export */ __webpack_exports__["f"] = (ReactMVx); - -//# sourceMappingURL=index.js.map - -/***/ }), -/* 2 */ -/***/ (function(module, exports) { - -module.exports = __WEBPACK_EXTERNAL_MODULE_2__; - -/***/ }), -/* 3 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (immutable) */ __webpack_exports__["c"] = compileSpecs; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return Node; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Element; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types__ = __webpack_require__(6); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_prop_types__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__); - - -function compileSpecs(props) { - var propTypes = {}, - // Create NestedTypes model definition to process props spec. - modelProto = __WEBPACK_IMPORTED_MODULE_1_type_r__["Record"].defaults(props).prototype; - var defaults, watchers, changeHandlers; - modelProto.forEachAttr(modelProto._attributes, function (spec, name) { - // Skip auto-generated `id` attribute. - if (name !== 'id') { - var value = spec.value, type = spec.type, options = spec.options; - // Translate props type to the propTypes guard. - propTypes[name] = translateType(type, options.isRequired); - if (options._onChange) { - watchers || (watchers = {}); - watchers[name] = toLocalWatcher(options._onChange); - } - // Handle listening to event maps... - if (options.changeHandlers && options.changeHandlers.length) { - changeHandlers || (changeHandlers = {}); - changeHandlers[name] = options.changeHandlers; - } - // Handle listening to props changes... - if (options.changeEvents) { - changeHandlers || (changeHandlers = {}); - var handlers = changeHandlers[name] || (changeHandlers[name] = []), changeEvents_1 = typeof options.changeEvents === 'string' ? options.changeEvents : null; - handlers.push(function (next, prev, component) { - prev && component.stopListening(prev); - next && component.listenTo(next, changeEvents_1 || next._changeEventName, component.asyncUpdate); - }); - } - // If default value is explicitly provided... - if (value !== void 0) { - //...append it to getDefaultProps function. - defaults || (defaults = {}); - defaults[name] = spec.convert(value, void 0, null, {}); - } - } - }); - return { propTypes: propTypes, defaults: defaults, watchers: watchers, changeHandlers: changeHandlers }; -} -function toLocalWatcher(ref) { - return typeof ref === 'function' ? ref : function (value, name) { - this[ref] && this[ref](value, name); - }; -} -var Node = (function () { - function Node() { - } - return Node; -}()); - -var Element = (function () { - function Element() { - } - return Element; -}()); - -function translateType(Type, isRequired) { - var T = _translateType(Type); - return isRequired ? T.isRequired : T; -} -function _translateType(Type) { - switch (Type) { - case Number: - case Number.integer: - return __WEBPACK_IMPORTED_MODULE_0_prop_types__["number"]; - case String: - return __WEBPACK_IMPORTED_MODULE_0_prop_types__["string"]; - case Boolean: - return __WEBPACK_IMPORTED_MODULE_0_prop_types__["bool"]; - case Array: - return __WEBPACK_IMPORTED_MODULE_0_prop_types__["array"]; - case Function: - return __WEBPACK_IMPORTED_MODULE_0_prop_types__["func"]; - case Object: - return __WEBPACK_IMPORTED_MODULE_0_prop_types__["object"]; - case Node: - return __WEBPACK_IMPORTED_MODULE_0_prop_types__["node"]; - case Element: - return __WEBPACK_IMPORTED_MODULE_0_prop_types__["element"]; - case void 0: - case null: - return __WEBPACK_IMPORTED_MODULE_0_prop_types__["any"]; - default: - return __WEBPACK_IMPORTED_MODULE_0_prop_types__["instanceOf"](Type); - } -} -//# sourceMappingURL=typeSpecs.js.map - -/***/ }), -/* 4 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (immutable) */ __webpack_exports__["d"] = onDefine; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__store__ = __webpack_require__(10); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__state__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__context__ = __webpack_require__(11); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__props__ = __webpack_require__(16); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__typeSpecs__ = __webpack_require__(3); -/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return __WEBPACK_IMPORTED_MODULE_5__typeSpecs__["b"]; }); -/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return __WEBPACK_IMPORTED_MODULE_5__typeSpecs__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__pureRender__ = __webpack_require__(7); -/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return __WEBPACK_IMPORTED_MODULE_6__pureRender__["a"]; }); - - - - - -function onDefine(definition, BaseClass) { - // Initialize mixins placeholder... - __WEBPACK_IMPORTED_MODULE_1__store__["a" /* default */].call(this, definition, BaseClass); - __WEBPACK_IMPORTED_MODULE_2__state__["c" /* default */].call(this, definition, BaseClass); - __WEBPACK_IMPORTED_MODULE_3__context__["a" /* default */].call(this, definition, BaseClass); - __WEBPACK_IMPORTED_MODULE_4__props__["a" /* default */].call(this, definition, BaseClass); - __WEBPACK_IMPORTED_MODULE_0_type_r__["Messenger"].onDefine.call(this, definition, BaseClass); -} -; - - -//# sourceMappingURL=index.js.map - -/***/ }), -/* 5 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (immutable) */ __webpack_exports__["c"] = process; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return StateMixin; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return UpdateOnNestedChangesMixin; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__); -var __extends = (this && this.__extends) || (function () { +var __extends$1 = (this && this.__extends) || (function () { var extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; @@ -287,7 +16,7 @@ var __extends = (this && this.__extends) || (function () { d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { +var __decorate$1 = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; @@ -296,7 +25,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, /***************** * State */ - function process(definition, BaseComponentClass) { var prototype = this.prototype; var state = definition.state, State = definition.State; @@ -305,17 +33,17 @@ function process(definition, BaseComponentClass) { state = void 0; } if (state) { - var BaseClass = State || prototype.State || __WEBPACK_IMPORTED_MODULE_0_type_r__["Record"]; + var BaseClass = State || prototype.State || Nested.Record; var ComponentState = (function (_super) { - __extends(ComponentState, _super); + __extends$1(ComponentState, _super); function ComponentState() { return _super !== null && _super.apply(this, arguments) || this; } return ComponentState; }(BaseClass)); ComponentState.attributes = state; - ComponentState = __decorate([ - __WEBPACK_IMPORTED_MODULE_0_type_r__["define"] + ComponentState = __decorate$1([ + Nested.define ], ComponentState); prototype.State = ComponentState; } @@ -336,7 +64,7 @@ var StateMixin = { state._ownerKey = 'state'; }, context: { - _nestedStore: __WEBPACK_IMPORTED_MODULE_0_type_r__["Store"] + _nestedStore: Nested.Store }, // reference global store to fix model's store locator getStore: function () { @@ -359,155 +87,7 @@ var UpdateOnNestedChangesMixin = { this._onChildrenChange = this.asyncUpdate; } }; -//# sourceMappingURL=state.js.map - -/***/ }), -/* 6 */ -/***/ (function(module, exports, __webpack_require__) { - -/** - * Copyright (c) 2013-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -if (false) { - var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' && - Symbol.for && - Symbol.for('react.element')) || - 0xeac7; - - var isValidElement = function(object) { - return typeof object === 'object' && - object !== null && - object.$$typeof === REACT_ELEMENT_TYPE; - }; - - // By explicitly using `prop-types` you are opting into new development behavior. - // http://fb.me/prop-types-in-prod - var throwOnDirectAccess = true; - module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess); -} else { - // By explicitly using `prop-types` you are opting into new production behavior. - // http://fb.me/prop-types-in-prod - module.exports = __webpack_require__(12)(); -} - - -/***/ }), -/* 7 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (immutable) */ __webpack_exports__["c"] = createChangeTokensConstructor; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return EmptyPropsChangeTokensCtor; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return PureRenderMixin; }); -function createChangeTokensConstructor(props) { - var propNames = Object.keys(props); - var PropsChangeTokens = new Function('p', 's', "\n var v;\n this._s = s && s._changeToken;\n " + propNames.map(function (name) { return "\n this." + name + " = ( ( v = p." + name + ") && v._changeToken ) || v;\n "; }).join('') + "\n "); - PropsChangeTokens.prototype._hasChanges = new Function('p', 's', "\n var v;\n return ( ( s && s._changeToken ) !== this._s ) " + propNames.map(function (name) { return " ||\n this." + name + " !== ( ( ( v = p." + name + ") && v._changeToken ) || v )\n "; }).join('') + ";\n "); - return PropsChangeTokens; -} -; -var EmptyPropsChangeTokensCtor = createChangeTokensConstructor({}); -var PureRenderMixin = { - shouldComponentUpdate: function (nextProps) { - return this._propsChangeTokens._hasChanges(nextProps); - }, - componentDidMount: updateChangeTokens, - componentDidUpdate: updateChangeTokens -}; -function updateChangeTokens() { - this._propsChangeTokens = new this.PropsChangeTokens(this.props, this.state); -} -//# sourceMappingURL=pureRender.js.map - -/***/ }), -/* 8 */ -/***/ (function(module, exports) { - -module.exports = __WEBPACK_EXTERNAL_MODULE_8__; - -/***/ }), -/* 9 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); -/* harmony export (immutable) */ __webpack_exports__["useView"] = useView; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1); -/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "define", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__["g"]; }); -/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "mixins", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__["h"]; }); -/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "Node", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__["d"]; }); -/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "Element", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__["b"]; }); -/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "Link", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__["c"]; }); -/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "Component", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__["a"]; }); -/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "assignToState", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__["e"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(8); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types__ = __webpack_require__(6); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_prop_types__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__view_element__ = __webpack_require__(21); -/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "subview", function() { return __WEBPACK_IMPORTED_MODULE_4__view_element__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__component_view__ = __webpack_require__(22); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__createClass__ = __webpack_require__(23); -/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "PropTypes", function() { return __WEBPACK_IMPORTED_MODULE_3_prop_types__; }); -/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "createClass", function() { return __WEBPACK_IMPORTED_MODULE_6__createClass__["a"]; }); -// Re-export react-mvx - -var NestedReact = Object.create(__WEBPACK_IMPORTED_MODULE_0__react_mvx__["f" /* default */]); -/* harmony default export */ __webpack_exports__["default"] = (NestedReact); - -// NestedReact backward compatibility layer - - - -NestedReact.subview = __WEBPACK_IMPORTED_MODULE_4__view_element__["a" /* default */]; - - - -NestedReact.createClass = __WEBPACK_IMPORTED_MODULE_6__createClass__["a" /* default */]; -Object.defineProperty(NestedReact, 'PropTypes', { value: __WEBPACK_IMPORTED_MODULE_3_prop_types__ }); - -var BaseView; -// export hook to override base View class used... -function useView(View) { - BaseView = Object(__WEBPACK_IMPORTED_MODULE_5__component_view__["a" /* default */])(View); -} -var onDefine = NestedReact.Component.onDefine; -NestedReact.Component.onDefine = function (definitions, BaseClass) { - this.View = BaseView.extend({ reactClass: this }); - return onDefine.call(this, definitions, BaseClass); -}; -// Deprecated API for backward compatibility -var RecordProto = __WEBPACK_IMPORTED_MODULE_2_type_r__["Record"].prototype; -RecordProto.getLink = RecordProto.linkAt; -RecordProto.deepLink = RecordProto.linkPath; -var CollectionProto = __WEBPACK_IMPORTED_MODULE_2_type_r__["Record"].Collection.prototype; -CollectionProto.hasLink = CollectionProto.linkContains; -useView(__WEBPACK_IMPORTED_MODULE_2_type_r__["View"]); -// Extend react components to have backbone-style jquery accessors -var BackboneViewProps = { - el: { get: function () { return __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.findDOMNode(this); } }, - $el: { get: function () { return __WEBPACK_IMPORTED_MODULE_2_type_r___default.a.$(this.el); } }, - $: { value: function (sel) { return this.$el.find(sel); } } -}; -Object.defineProperties(NestedReact.Component.prototype, BackboneViewProps); -//# sourceMappingURL=index.js.map - -/***/ }), -/* 10 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (immutable) */ __webpack_exports__["a"] = onDefine; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__state__ = __webpack_require__(5); var __extends = (this && this.__extends) || (function () { var extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || @@ -524,11 +104,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; - - -function onDefine(definition, BaseClass) { +function onDefine$2(definition, BaseClass) { var store = definition.store, StoreClass = definition.Store; - if (store && store instanceof __WEBPACK_IMPORTED_MODULE_0_type_r__["Store"]) { + if (store && store instanceof Nested.Store) { // Direct reference to an existing store. Put it to the prototype. this.prototype.store = store; this.mixins.merge([ExternalStoreMixin, ExposeStoreMixin]); @@ -539,7 +117,7 @@ function onDefine(definition, BaseClass) { store = void 0; } if (store) { - var BaseClass_1 = StoreClass || this.prototype.Store || __WEBPACK_IMPORTED_MODULE_0_type_r__["Store"]; + var BaseClass_1 = StoreClass || this.prototype.Store || Nested.Store; var InternalStore = (function (_super) { __extends(InternalStore, _super); function InternalStore() { @@ -549,15 +127,15 @@ function onDefine(definition, BaseClass) { }(BaseClass_1)); InternalStore.attrbutes = store; InternalStore = __decorate([ - __WEBPACK_IMPORTED_MODULE_0_type_r__["define"] + Nested.define ], InternalStore); - ; + this.prototype.Store = InternalStore; } else if (StoreClass) { this.prototype.Store = StoreClass; } - this.mixins.merge([InternalStoreMixin, __WEBPACK_IMPORTED_MODULE_1__state__["b" /* UpdateOnNestedChangesMixin */], ExposeStoreMixin]); + this.mixins.merge([InternalStoreMixin, UpdateOnNestedChangesMixin, ExposeStoreMixin]); } } /** @@ -565,7 +143,7 @@ function onDefine(definition, BaseClass) { */ var ExposeStoreMixin = { childContext: { - _nestedStore: __WEBPACK_IMPORTED_MODULE_0_type_r__["Store"] + _nestedStore: Nested.Store }, getChildContext: function () { return { _nestedStore: this.store }; @@ -576,7 +154,7 @@ var ExposeStoreMixin = { // Will be called by the store when the lookup will fail. get: function (key) { // Ask upper store. - var store = __WEBPACK_IMPORTED_MODULE_1__state__["a" /* StateMixin */].getStore.call(this, key); + var store = StateMixin.getStore.call(this, key); return store && store.get(key); } }; @@ -602,246 +180,139 @@ var InternalStoreMixin = { this.store = void 0; } }; -//# sourceMappingURL=store.js.map - -/***/ }), -/* 11 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (immutable) */ __webpack_exports__["a"] = onDefine; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(3); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__); +function compileSpecs(props) { + var propTypes = {}, + // Create NestedTypes model definition to process props spec. + modelProto = Nested.Record.defaults(props).prototype; + var defaults, watchers, changeHandlers; + modelProto.forEachAttr(modelProto._attributes, function (spec, name) { + // Skip auto-generated `id` attribute. + if (name !== 'id') { + var value = spec.value, type = spec.type, options = spec.options; + // Translate props type to the propTypes guard. + propTypes[name] = translateType(type, options.isRequired); + if (options._onChange) { + watchers || (watchers = {}); + watchers[name] = toLocalWatcher(options._onChange); + } + // Handle listening to event maps... + if (options.changeHandlers && options.changeHandlers.length) { + changeHandlers || (changeHandlers = {}); + changeHandlers[name] = options.changeHandlers; + } + // Handle listening to props changes... + if (options.changeEvents) { + changeHandlers || (changeHandlers = {}); + var handlers = changeHandlers[name] || (changeHandlers[name] = []), changeEvents_1 = typeof options.changeEvents === 'string' ? options.changeEvents : null; + handlers.push(function (next, prev, component) { + prev && component.stopListening(prev); + next && component.listenTo(next, changeEvents_1 || next._changeEventName, component.asyncUpdate); + }); + } + // If default value is explicitly provided... + if (value !== void 0) { + //...append it to getDefaultProps function. + defaults || (defaults = {}); + defaults[name] = spec.convert(value, void 0, null, {}); + } + } + }); + return { propTypes: propTypes, defaults: defaults, watchers: watchers, changeHandlers: changeHandlers }; +} +function toLocalWatcher(ref) { + return typeof ref === 'function' ? ref : function (value, name) { + this[ref] && this[ref](value, name); + }; +} +var Node = (function () { + function Node() { + } + return Node; +}()); +var Element = (function () { + function Element() { + } + return Element; +}()); +function translateType(Type, isRequired) { + var T = _translateType(Type); + return isRequired ? T.isRequired : T; +} +function _translateType(Type) { + switch (Type) { + case Number: + case Number.integer: + return PropTypes.number; + case String: + return PropTypes.string; + case Boolean: + return PropTypes.bool; + case Array: + return PropTypes.array; + case Function: + return PropTypes.func; + case Object: + return PropTypes.object; + case Node: + return PropTypes.node; + case Element: + return PropTypes.element; + case void 0: + case null: + return PropTypes.any; + default: + return PropTypes.instanceOf(Type); + } +} -function onDefine(_a, BaseClass) { +function onDefine$3(_a, BaseClass) { var context = _a.context, childContext = _a.childContext; var prototype = this.prototype; if (context) { // Merge in inherited members... - prototype._context = __WEBPACK_IMPORTED_MODULE_1_type_r__["tools"].defaults(context, BaseClass.prototype._context || {}); + prototype._context = Nested.tools.defaults(context, BaseClass.prototype._context || {}); // Compile to propTypes... - this.contextTypes = Object(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__["c" /* compileSpecs */])(context).propTypes; + this.contextTypes = compileSpecs(context).propTypes; } if (childContext) { - prototype._childContext = __WEBPACK_IMPORTED_MODULE_1_type_r__["tools"].defaults(childContext, BaseClass.prototype._childContext); - this.childContextTypes = Object(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__["c" /* compileSpecs */])(childContext).propTypes; + prototype._childContext = Nested.tools.defaults(childContext, BaseClass.prototype._childContext); + this.childContextTypes = compileSpecs(childContext).propTypes; } } -//# sourceMappingURL=context.js.map -/***/ }), -/* 12 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * Copyright (c) 2013-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - - - -var emptyFunction = __webpack_require__(13); -var invariant = __webpack_require__(14); -var ReactPropTypesSecret = __webpack_require__(15); - -module.exports = function() { - function shim(props, propName, componentName, location, propFullName, secret) { - if (secret === ReactPropTypesSecret) { - // It is still safe when called from React. - return; - } - invariant( - false, - 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' + - 'Use PropTypes.checkPropTypes() to call them. ' + - 'Read more at http://fb.me/use-check-prop-types' - ); - }; - shim.isRequired = shim; - function getShim() { - return shim; - }; - // Important! - // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`. - var ReactPropTypes = { - array: shim, - bool: shim, - func: shim, - number: shim, - object: shim, - string: shim, - symbol: shim, - - any: shim, - arrayOf: getShim, - element: shim, - instanceOf: getShim, - node: shim, - objectOf: getShim, - oneOf: getShim, - oneOfType: getShim, - shape: getShim, - exact: getShim - }; - - ReactPropTypes.checkPropTypes = emptyFunction; - ReactPropTypes.PropTypes = ReactPropTypes; - - return ReactPropTypes; -}; - - -/***/ }), -/* 13 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -/** - * Copyright (c) 2013-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - * - * - */ - -function makeEmptyFunction(arg) { - return function () { - return arg; - }; +function createChangeTokensConstructor(props) { + var propNames = Object.keys(props); + var PropsChangeTokens = new Function('p', 's', "\n var v;\n this._s = s && s._changeToken;\n " + propNames.map(function (name) { return "\n this." + name + " = ( ( v = p." + name + ") && v._changeToken ) || v;\n "; }).join('') + "\n "); + PropsChangeTokens.prototype._hasChanges = new Function('p', 's', "\n var v;\n return ( ( s && s._changeToken ) !== this._s ) " + propNames.map(function (name) { return " ||\n this." + name + " !== ( ( ( v = p." + name + ") && v._changeToken ) || v )\n "; }).join('') + ";\n "); + return PropsChangeTokens; } -/** - * This function accepts and discards inputs; it has no side effects. This is - * primarily useful idiomatically for overridable function endpoints which - * always need to be callable, since JS lacks a null-call idiom ala Cocoa. - */ -var emptyFunction = function emptyFunction() {}; - -emptyFunction.thatReturns = makeEmptyFunction; -emptyFunction.thatReturnsFalse = makeEmptyFunction(false); -emptyFunction.thatReturnsTrue = makeEmptyFunction(true); -emptyFunction.thatReturnsNull = makeEmptyFunction(null); -emptyFunction.thatReturnsThis = function () { - return this; -}; -emptyFunction.thatReturnsArgument = function (arg) { - return arg; +var EmptyPropsChangeTokensCtor = createChangeTokensConstructor({}); +var PureRenderMixin = { + shouldComponentUpdate: function (nextProps) { + return this._propsChangeTokens._hasChanges(nextProps); + }, + componentDidMount: updateChangeTokens, + componentDidUpdate: updateChangeTokens }; - -module.exports = emptyFunction; - -/***/ }), -/* 14 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * Copyright (c) 2013-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - * - */ - - - -/** - * Use invariant() to assert state which your program assumes to be true. - * - * Provide sprintf-style format (only %s is supported) and arguments - * to provide information about what broke and what you were - * expecting. - * - * The invariant message will be stripped in production, but the invariant - * will remain to ensure logic does not differ in production. - */ - -var validateFormat = function validateFormat(format) {}; - -if (false) { - validateFormat = function validateFormat(format) { - if (format === undefined) { - throw new Error('invariant requires an error message argument'); - } - }; -} - -function invariant(condition, format, a, b, c, d, e, f) { - validateFormat(format); - - if (!condition) { - var error; - if (format === undefined) { - error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.'); - } else { - var args = [a, b, c, d, e, f]; - var argIndex = 0; - error = new Error(format.replace(/%s/g, function () { - return args[argIndex++]; - })); - error.name = 'Invariant Violation'; - } - - error.framesToPop = 1; // we don't care about invariant's own frame - throw error; - } +function updateChangeTokens() { + this._propsChangeTokens = new this.PropsChangeTokens(this.props, this.state); } -module.exports = invariant; - -/***/ }), -/* 15 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * Copyright (c) 2013-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - - - -var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED'; - -module.exports = ReactPropTypesSecret; - - -/***/ }), -/* 16 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (immutable) */ __webpack_exports__["a"] = onDefine; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(3); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__pureRender__ = __webpack_require__(7); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__); /** * Handle props specification and everything which is related: * - local listening to props changes * - pure render mixin */ - - - -function onDefine(_a, BaseClass) { +function onDefine$4(_a, BaseClass) { var props = _a.props, pureRender = _a.pureRender; var prototype = this.prototype; // process props spec... if (props) { // Merge with inherited members... - prototype._props = __WEBPACK_IMPORTED_MODULE_2_type_r__["tools"].defaults(props, BaseClass.prototype._props || {}); - var _b = Object(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__["c" /* compileSpecs */])(props), propTypes = _b.propTypes, defaults = _b.defaults, watchers = _b.watchers, changeHandlers = _b.changeHandlers; + prototype._props = Nested.tools.defaults(props, BaseClass.prototype._props || {}); + var _b = compileSpecs(props), propTypes = _b.propTypes, defaults = _b.defaults, watchers = _b.watchers, changeHandlers = _b.changeHandlers; this.propTypes = propTypes; if (defaults) this.defaultProps = defaults; @@ -854,11 +325,11 @@ function onDefine(_a, BaseClass) { this.mixins.merge([ChangeHandlersMixin]); } if (prototype.pureRender) { - prototype.PropsChangeTokens = Object(__WEBPACK_IMPORTED_MODULE_1__pureRender__["c" /* createChangeTokensConstructor */])(props); + prototype.PropsChangeTokens = createChangeTokensConstructor(props); } } if (pureRender) { - this.mixins.merge([__WEBPACK_IMPORTED_MODULE_1__pureRender__["b" /* PureRenderMixin */]]); + this.mixins.merge([PureRenderMixin]); } } /** @@ -907,183 +378,80 @@ var WatchersMixin = { } } }; -//# sourceMappingURL=props.js.map - -/***/ }), -/* 17 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__valuelink_link__ = __webpack_require__(18); -/** - * Import ValueLink library - * Define value links binding mixins to the Record and Collection - */ -var __extends = (this && this.__extends) || (function () { - var extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); +function onDefine$1(definition, BaseClass) { + // Initialize mixins placeholder... + onDefine$2.call(this, definition, BaseClass); + process.call(this, definition, BaseClass); + onDefine$3.call(this, definition, BaseClass); + onDefine$4.call(this, definition, BaseClass); + Nested.Messenger.onDefine.call(this, definition, BaseClass); +} -/* harmony default export */ __webpack_exports__["a"] = (__WEBPACK_IMPORTED_MODULE_1__valuelink_link__["a" /* Link */]); -__WEBPACK_IMPORTED_MODULE_0_type_r__["Mixable"].mixins.populate(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__["a" /* Link */]); -/** - * Record - */ -__WEBPACK_IMPORTED_MODULE_0_type_r__["MixinsState"].get(__WEBPACK_IMPORTED_MODULE_0_type_r__["Record"]).merge([{ - // Link to the record's attribute by its key. - linkAt: function (key) { - return cacheLink(getLinksCache(this), this, key); - }, - // Link to the attribute of the record's tree by symbolic path. - linkPath: function (path, options) { - return new RecordDeepLink(this, path, options); - }, - // Link all (or listed) attributes and return links cache. - linkAll: function () { - var links = getLinksCache(this); - if (arguments.length) { - for (var i = 0; i < arguments.length; i++) { - cacheLink(links, this, arguments[i]); - } - } - else { - var attributes = this.attributes; - for (var key in attributes) { - attributes[key] === void 0 || cacheLink(links, this, key); - } - } - return links; +var ArrayProto = Array.prototype; +var ObjectProto = Object.prototype; +function helpers(value) { + if (value && typeof value === 'object') { + switch (Object.getPrototypeOf(value)) { + case ArrayProto: return arrayHelpers; + case ObjectProto: return objectHelpers; } - }]); -/** - * Link to Type-R's record attribute. - * Strict evaluation of value, lazy evaluation of validation error. - * Links are cached in the records - */ -var RecordLink = (function (_super) { - __extends(RecordLink, _super); - function RecordLink(record, attr, value) { - var _this = _super.call(this, value) || this; - _this.record = record; - _this.attr = attr; - return _this; } - RecordLink.prototype.set = function (x) { - this.record[this.attr] = x; - }; - Object.defineProperty(RecordLink.prototype, "error", { - get: function () { - return this._error === void 0 ? - this.record.getValidationError(this.attr) : - this._error; - }, - set: function (x) { - this._error = x; - }, - enumerable: true, - configurable: true - }); - return RecordLink; -}(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__["a" /* Link */])); -var RecordDeepLink = (function (_super) { - __extends(RecordDeepLink, _super); - function RecordDeepLink(record, path, options) { - var _this = _super.call(this, record.deepGet(path)) || this; - _this.record = record; - _this.path = path; - _this.options = options; - return _this; - } - Object.defineProperty(RecordDeepLink.prototype, "error", { - get: function () { - if (this._error === void 0) { - this._error = this.record.deepValidationError(this.path) || null; - } - return this._error; - }, - set: function (x) { - this._error = x; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(RecordDeepLink.prototype, "_changeToken", { - get: function () { - return this.record._changeToken; - }, - enumerable: true, - configurable: true - }); - RecordDeepLink.prototype.set = function (x) { - this.record.deepSet(this.path, x, this.options); - }; - return RecordDeepLink; -}(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__["a" /* Link */])); -function getLinksCache(record) { - return record._links || (record._links = new record.AttributesCopy({})); -} -function cacheLink(links, record, key) { - var cached = links[key], value = record[key]; - return cached && cached.value === value ? cached - : links[key] = new RecordLink(record, key, value); + return dummyHelpers; } -/*********************************** - * Collection - */ -__WEBPACK_IMPORTED_MODULE_0_type_r__["MixinsState"].get(__WEBPACK_IMPORTED_MODULE_0_type_r__["Record"].Collection).merge([{ - // Boolean link to the record's presence in the collection - linkContains: function (record) { - return new CollectionLink(this, record); - }, - // Link to collection's property - linkAt: function (prop) { - var _this = this; - return __WEBPACK_IMPORTED_MODULE_1__valuelink_link__["a" /* Link */].value(this[prop], function (x) { return _this[prop] = x; }); +// Do nothing for types other than Array and plain Object. +var dummyHelpers = { + clone: function (value) { return value; }, + map: function (link, fun) { return []; }, + remove: function (value) { return value; } +}; +// `map` and `clone` for plain JS objects +var objectHelpers = { + // Map through the link to object + map: function (link, iterator) { + var mapped = []; + for (var key in link.value) { + var element$$1 = iterator(link.at(key), key); + element$$1 === void 0 || (mapped.push(element$$1)); + } + return mapped; + }, + remove: function (object$$1, key) { + delete object$$1[key]; + return object$$1; + }, + // Shallow clone plain JS object + clone: function (object$$1) { + var cloned = {}; + for (var key in object$$1) { + cloned[key] = object$$1[key]; + } + return cloned; + } +}; +// `map` and `clone` helpers for arrays. +var arrayHelpers = { + // Shallow clone array + clone: function (array$$1) { + return array$$1.slice(); + }, + remove: function (array$$1, i) { + array$$1.splice(i, 1); + return array$$1; + }, + // Map through the link to array + map: function (link, iterator) { + var length = link.value.length, mapped = Array(length); + for (var i = 0, j = 0; i < length; i++) { + var y = iterator(link.at(i), i); + y === void 0 || (mapped[j++] = y); } - }]); -/** - * Boolean link to presence of NestedType's record in collection. - * Strict evaluation of value, no error. - * Safe implementation of _changeToken. - */ -var CollectionLink = (function (_super) { - __extends(CollectionLink, _super); - function CollectionLink(collection, record) { - var _this = _super.call(this, Boolean(collection._byId[record.cid])) || this; - _this.collection = collection; - _this.record = record; - return _this; + mapped.length === j || (mapped.length = j); + return mapped; } - CollectionLink.prototype.set = function (x) { - this.collection.toggle(this.record, x); - }; - return CollectionLink; -}(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__["a" /* Link */])); -//# sourceMappingURL=link.js.map - -/***/ }), -/* 18 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +}; -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Link; }); -/* unused harmony export CustomLink */ -/* unused harmony export CloneLink */ -/* unused harmony export EqualsLink */ -/* unused harmony export EnabledLink */ -/* unused harmony export ContainsLink */ -/* unused harmony export LinkAt */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__helpers__ = __webpack_require__(19); -var __extends = (this && this.__extends) || (function () { +var __extends$3 = (this && this.__extends) || (function () { var extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; @@ -1098,9 +466,8 @@ var __extends = (this && this.__extends) || (function () { * * MIT License, (c) 2016 Vlad Balin, Volicon. */ - // Main Link class. All links must extend it. -var Link = (function () { +var Link$1 = (function () { // create function Link(value) { this.value = value; @@ -1166,29 +533,29 @@ var Link = (function () { return new EnabledLink(this, defaultValue || ""); }; // Array-only links methods - Link.prototype.contains = function (element) { - return new ContainsLink(this, element); + Link.prototype.contains = function (element$$1) { + return new ContainsLink(this, element$$1); }; Link.prototype.push = function () { - var array = __WEBPACK_IMPORTED_MODULE_0__helpers__["a" /* arrayHelpers */].clone(this.value); - Array.prototype.push.apply(array, arguments); - this.set(array); + var array$$1 = arrayHelpers.clone(this.value); + Array.prototype.push.apply(array$$1, arguments); + this.set(array$$1); }; Link.prototype.unshift = function () { - var array = __WEBPACK_IMPORTED_MODULE_0__helpers__["a" /* arrayHelpers */].clone(this.value); - Array.prototype.unshift.apply(array, arguments); - this.set(array); + var array$$1 = arrayHelpers.clone(this.value); + Array.prototype.unshift.apply(array$$1, arguments); + this.set(array$$1); }; Link.prototype.splice = function () { - var array = __WEBPACK_IMPORTED_MODULE_0__helpers__["a" /* arrayHelpers */].clone(this.value); - Array.prototype.splice.apply(array, arguments); - this.set(array); + var array$$1 = arrayHelpers.clone(this.value); + Array.prototype.splice.apply(array$$1, arguments); + this.set(array$$1); }; Link.prototype.map = function (iterator) { - return Object(__WEBPACK_IMPORTED_MODULE_0__helpers__["b" /* helpers */])(this.value).map(this, iterator); + return helpers(this.value).map(this, iterator); }; Link.prototype.removeAt = function (key) { - var value = this.value, _ = Object(__WEBPACK_IMPORTED_MODULE_0__helpers__["b" /* helpers */])(value); + var value = this.value, _ = helpers(value); this.set(_.remove(_.clone(value), key)); }; Link.prototype.at = function (key) { @@ -1196,7 +563,7 @@ var Link = (function () { }; Link.prototype.clone = function () { var value = this.value; - return Object(__WEBPACK_IMPORTED_MODULE_0__helpers__["b" /* helpers */])(value).clone(value); + return helpers(value).clone(value); }; Link.prototype.pick = function () { var links = {}; @@ -1217,9 +584,8 @@ var Link = (function () { }; return Link; }()); - var CustomLink = (function (_super) { - __extends(CustomLink, _super); + __extends$3(CustomLink, _super); function CustomLink(value, set) { var _this = _super.call(this, value) || this; _this.set = set; @@ -1227,10 +593,9 @@ var CustomLink = (function (_super) { } CustomLink.prototype.set = function (x) { }; return CustomLink; -}(Link)); - +}(Link$1)); var CloneLink = (function (_super) { - __extends(CloneLink, _super); + __extends$3(CloneLink, _super); function CloneLink(parent, set) { var _this = _super.call(this, parent.value) || this; _this.set = set; @@ -1241,10 +606,9 @@ var CloneLink = (function (_super) { } CloneLink.prototype.set = function (x) { }; return CloneLink; -}(Link)); - +}(Link$1)); var EqualsLink = (function (_super) { - __extends(EqualsLink, _super); + __extends$3(EqualsLink, _super); function EqualsLink(parent, truthyValue) { var _this = _super.call(this, parent.value === truthyValue) || this; _this.parent = parent; @@ -1255,10 +619,9 @@ var EqualsLink = (function (_super) { this.parent.set(x ? this.truthyValue : null); }; return EqualsLink; -}(Link)); - +}(Link$1)); var EnabledLink = (function (_super) { - __extends(EnabledLink, _super); + __extends$3(EnabledLink, _super); function EnabledLink(parent, defaultValue) { var _this = _super.call(this, parent.value != null) || this; _this.parent = parent; @@ -1269,14 +632,13 @@ var EnabledLink = (function (_super) { this.parent.set(x ? this.defaultValue : null); }; return EnabledLink; -}(Link)); - +}(Link$1)); var ContainsLink = (function (_super) { - __extends(ContainsLink, _super); - function ContainsLink(parent, element) { - var _this = _super.call(this, parent.value.indexOf(element) >= 0) || this; + __extends$3(ContainsLink, _super); + function ContainsLink(parent, element$$1) { + var _this = _super.call(this, parent.value.indexOf(element$$1) >= 0) || this; _this.parent = parent; - _this.element = element; + _this.element = element$$1; return _this; } ContainsLink.prototype.set = function (x) { @@ -1288,15 +650,14 @@ var ContainsLink = (function (_super) { } }; return ContainsLink; -}(Link)); - +}(Link$1)); var defaultError = 'Invalid value'; /** * Link to array or object element enclosed in parent link. * Performs purely functional update of the parent, shallow copying its value on `set`. */ var LinkAt = (function (_super) { - __extends(LinkAt, _super); + __extends$3(LinkAt, _super); function LinkAt(parent, key) { var _this = _super.call(this, parent.value[key]) || this; _this.parent = parent; @@ -1316,98 +677,163 @@ var LinkAt = (function (_super) { }); } }; - ; + return LinkAt; -}(Link)); +}(Link$1)); -//# sourceMappingURL=link.js.map - -/***/ }), -/* 19 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (immutable) */ __webpack_exports__["b"] = helpers; -/* unused harmony export objectHelpers */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return arrayHelpers; }); -var ArrayProto = Array.prototype, ObjectProto = Object.prototype; -function helpers(value) { - if (value && typeof value === 'object') { - switch (Object.getPrototypeOf(value)) { - case ArrayProto: return arrayHelpers; - case ObjectProto: return objectHelpers; +/** + * Import ValueLink library + * Define value links binding mixins to the Record and Collection + */ +var __extends$2 = (this && this.__extends) || (function () { + var extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +Nested.Mixable.mixins.populate(Link$1); +/** + * Record + */ +Nested.MixinsState.get(Nested.Record).merge([{ + // Link to the record's attribute by its key. + linkAt: function (key) { + return cacheLink(getLinksCache(this), this, key); + }, + // Link to the attribute of the record's tree by symbolic path. + linkPath: function (path, options) { + return new RecordDeepLink(this, path, options); + }, + // Link all (or listed) attributes and return links cache. + linkAll: function () { + var links = getLinksCache(this); + if (arguments.length) { + for (var i = 0; i < arguments.length; i++) { + cacheLink(links, this, arguments[i]); + } + } + else { + var attributes = this.attributes; + for (var key in attributes) { + attributes[key] === void 0 || cacheLink(links, this, key); + } + } + return links; } + }]); +/** + * Link to Type-R's record attribute. + * Strict evaluation of value, lazy evaluation of validation error. + * Links are cached in the records + */ +var RecordLink = (function (_super) { + __extends$2(RecordLink, _super); + function RecordLink(record, attr, value) { + var _this = _super.call(this, value) || this; + _this.record = record; + _this.attr = attr; + return _this; } - return dummyHelpers; -} -// Do nothing for types other than Array and plain Object. -var dummyHelpers = { - clone: function (value) { return value; }, - map: function (link, fun) { return []; }, - remove: function (value) { return value; } -}; -// `map` and `clone` for plain JS objects -var objectHelpers = { - // Map through the link to object - map: function (link, iterator) { - var mapped = []; - for (var key in link.value) { - var element = iterator(link.at(key), key); - element === void 0 || (mapped.push(element)); - } - return mapped; - }, - remove: function (object, key) { - delete object[key]; - return object; - }, - // Shallow clone plain JS object - clone: function (object) { - var cloned = {}; - for (var key in object) { - cloned[key] = object[key]; - } - return cloned; + RecordLink.prototype.set = function (x) { + this.record[this.attr] = x; + }; + Object.defineProperty(RecordLink.prototype, "error", { + get: function () { + return this._error === void 0 ? + this.record.getValidationError(this.attr) : + this._error; + }, + set: function (x) { + this._error = x; + }, + enumerable: true, + configurable: true + }); + return RecordLink; +}(Link$1)); +var RecordDeepLink = (function (_super) { + __extends$2(RecordDeepLink, _super); + function RecordDeepLink(record, path, options) { + var _this = _super.call(this, record.deepGet(path)) || this; + _this.record = record; + _this.path = path; + _this.options = options; + return _this; } -}; -// `map` and `clone` helpers for arrays. -var arrayHelpers = { - // Shallow clone array - clone: function (array) { - return array.slice(); - }, - remove: function (array, i) { - array.splice(i, 1); - return array; - }, - // Map through the link to array - map: function (link, iterator) { - var length = link.value.length, mapped = Array(length); - for (var i = 0, j = 0; i < length; i++) { - var y = iterator(link.at(i), i); - y === void 0 || (mapped[j++] = y); + Object.defineProperty(RecordDeepLink.prototype, "error", { + get: function () { + if (this._error === void 0) { + this._error = this.record.deepValidationError(this.path) || null; + } + return this._error; + }, + set: function (x) { + this._error = x; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(RecordDeepLink.prototype, "_changeToken", { + get: function () { + return this.record._changeToken; + }, + enumerable: true, + configurable: true + }); + RecordDeepLink.prototype.set = function (x) { + this.record.deepSet(this.path, x, this.options); + }; + return RecordDeepLink; +}(Link$1)); +function getLinksCache(record) { + return record._links || (record._links = new record.AttributesCopy({})); +} +function cacheLink(links, record, key) { + var cached = links[key], value = record[key]; + return cached && cached.value === value ? cached + : links[key] = new RecordLink(record, key, value); +} +/*********************************** + * Collection + */ +Nested.MixinsState.get(Nested.Record.Collection).merge([{ + // Boolean link to the record's presence in the collection + linkContains: function (record) { + return new CollectionLink(this, record); + }, + // Link to collection's property + linkAt: function (prop) { + var _this = this; + return Link$1.value(this[prop], function (x) { return _this[prop] = x; }); } - mapped.length === j || (mapped.length = j); - return mapped; + }]); +/** + * Boolean link to presence of NestedType's record in collection. + * Strict evaluation of value, no error. + * Safe implementation of _changeToken. + */ +var CollectionLink = (function (_super) { + __extends$2(CollectionLink, _super); + function CollectionLink(collection, record) { + var _this = _super.call(this, Boolean(collection._byId[record.cid])) || this; + _this.collection = collection; + _this.record = record; + return _this; } -}; -//# sourceMappingURL=helpers.js.map - -/***/ }), -/* 20 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { + CollectionLink.prototype.set = function (x) { + this.collection.toggle(this.record, x); + }; + return CollectionLink; +}(Link$1)); -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Component; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(2); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__define__ = __webpack_require__(4); /** * React-Type-R component base class. Overrides React component. */ -var __extends = (this && this.__extends) || (function () { +var __extends$4 = (this && this.__extends) || (function () { var extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; @@ -1417,49 +843,46 @@ var __extends = (this && this.__extends) || (function () { d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { +var __decorate$2 = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; - - - -var Component = (function (_super) { - __extends(Component, _super); - function Component(props, context) { +exports.Component = (function (_super) { + __extends$4(Component$$1, _super); + function Component$$1(props, context) { var _this = _super.call(this, props, context) || this; _this._initializeState(); return _this; } - Component.prototype.linkAt = function (key) { + Component$$1.prototype.linkAt = function (key) { // Quick and dirty hack to suppres type error - refactor later. return this.state.linkAt(key); }; - Component.prototype.linkAll = function () { + Component$$1.prototype.linkAll = function () { // Quick and dirty hack to suppres type error - refactor later. var state = this.state; return state.linkAll.apply(state, arguments); }; - Component.prototype.linkPath = function (path) { + Component$$1.prototype.linkPath = function (path) { return this.state.linkPath(path); }; - Object.defineProperty(Component.prototype, "links", { + Object.defineProperty(Component$$1.prototype, "links", { get: function () { return this.state._links; }, enumerable: true, configurable: true }); - Component.prototype._initializeState = function () { + Component$$1.prototype._initializeState = function () { this.state = null; }; - Component.prototype.assignToState = function (x, key) { + Component$$1.prototype.assignToState = function (x, key) { this.state.assignFrom((_a = {}, _a[key] = x, _a)); var _a; }; - Component.prototype.componentWillUnmount = function () { + Component$$1.prototype.componentWillUnmount = function () { this.dispose(); }; /** @@ -1469,7 +892,7 @@ var Component = (function (_super) { * React component will be updated _after_ all the changes to the * both props and local state are applied. */ - Component.prototype.transaction = function (fun) { + Component$$1.prototype.transaction = function (fun) { var shouldComponentUpdate = this.shouldComponentUpdate, isRoot = shouldComponentUpdate !== returnFalse; if (isRoot) { this.shouldComponentUpdate = returnFalse; @@ -1482,63 +905,71 @@ var Component = (function (_super) { } }; // Safe version of the forceUpdate suitable for asynchronous callbacks. - Component.prototype.asyncUpdate = function () { + Component$$1.prototype.asyncUpdate = function () { this.shouldComponentUpdate === returnFalse || this._disposed || this.forceUpdate(); }; - return Component; -}(__WEBPACK_IMPORTED_MODULE_0_react__["Component"])); -Component.onDefine = __WEBPACK_IMPORTED_MODULE_2__define__["d" /* default */]; -Component = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_1_type_r__["define"])({ - PropsChangeTokens: __WEBPACK_IMPORTED_MODULE_2__define__["b" /* EmptyPropsChangeTokensCtor */] + return Component$$1; +}(React.Component)); +exports.Component.onDefine = onDefine$1; +exports.Component = __decorate$2([ + Nested.define({ + PropsChangeTokens: EmptyPropsChangeTokensCtor }), - Object(__WEBPACK_IMPORTED_MODULE_1_type_r__["definitions"])({ + Nested.definitions({ // Definitions to be extracted from mixins and statics and passed to `onDefine()` - state: __WEBPACK_IMPORTED_MODULE_1_type_r__["mixinRules"].merge, - State: __WEBPACK_IMPORTED_MODULE_1_type_r__["mixinRules"].value, - store: __WEBPACK_IMPORTED_MODULE_1_type_r__["mixinRules"].merge, - Store: __WEBPACK_IMPORTED_MODULE_1_type_r__["mixinRules"].value, - props: __WEBPACK_IMPORTED_MODULE_1_type_r__["mixinRules"].merge, - context: __WEBPACK_IMPORTED_MODULE_1_type_r__["mixinRules"].merge, - childContext: __WEBPACK_IMPORTED_MODULE_1_type_r__["mixinRules"].merge, - pureRender: __WEBPACK_IMPORTED_MODULE_1_type_r__["mixinRules"].protoValue + state: Nested.mixinRules.merge, + State: Nested.mixinRules.value, + store: Nested.mixinRules.merge, + Store: Nested.mixinRules.value, + props: Nested.mixinRules.merge, + context: Nested.mixinRules.merge, + childContext: Nested.mixinRules.merge, + pureRender: Nested.mixinRules.protoValue }), - Object(__WEBPACK_IMPORTED_MODULE_1_type_r__["mixinRules"])({ + Nested.mixinRules({ // Apply old-school React mixin rules. - componentWillMount: __WEBPACK_IMPORTED_MODULE_1_type_r__["mixinRules"].classLast, - componentDidMount: __WEBPACK_IMPORTED_MODULE_1_type_r__["mixinRules"].classLast, - componentWillReceiveProps: __WEBPACK_IMPORTED_MODULE_1_type_r__["mixinRules"].classLast, - componentWillUpdate: __WEBPACK_IMPORTED_MODULE_1_type_r__["mixinRules"].classLast, - componentDidUpdate: __WEBPACK_IMPORTED_MODULE_1_type_r__["mixinRules"].classLast, - componentWillUnmount: __WEBPACK_IMPORTED_MODULE_1_type_r__["mixinRules"].classFirst, + componentWillMount: Nested.mixinRules.classLast, + componentDidMount: Nested.mixinRules.classLast, + componentWillReceiveProps: Nested.mixinRules.classLast, + componentWillUpdate: Nested.mixinRules.classLast, + componentDidUpdate: Nested.mixinRules.classLast, + componentWillUnmount: Nested.mixinRules.classFirst, // And a bit more to fix inheritance quirks. - shouldComponentUpdate: __WEBPACK_IMPORTED_MODULE_1_type_r__["mixinRules"].some, - getChildContext: __WEBPACK_IMPORTED_MODULE_1_type_r__["mixinRules"].defaults + shouldComponentUpdate: Nested.mixinRules.some, + getChildContext: Nested.mixinRules.defaults }) // Component can send and receive events... , - Object(__WEBPACK_IMPORTED_MODULE_1_type_r__["mixins"])(__WEBPACK_IMPORTED_MODULE_1_type_r__["Messenger"]) -], Component); - + Nested.mixins(Nested.Messenger) +], exports.Component); function returnFalse() { return false; } // Looks like React guys _really_ want to deprecate it. But no way. // We will work around their attempt. -Object.defineProperty(Component.prototype, 'isMounted', { +Object.defineProperty(exports.Component.prototype, 'isMounted', { value: function isMounted() { return !this._disposed; } }); -//# sourceMappingURL=component.js.map -/***/ }), -/* 21 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +// extend React namespace +var ReactMVx = Object.create(React); +// Make it compatible with ES6 module format. +ReactMVx.default = ReactMVx; +// listenToProps, listenToState, model, attributes, Model +ReactMVx.define = Nested.define; +ReactMVx.mixins = Nested.mixins; +ReactMVx.Node = Node.value(null); +ReactMVx.Element = Element.value(null); +ReactMVx.Link = Link$1; +ReactMVx.Component = exports.Component; +var assignToState = ReactMVx.assignToState = function (key) { + return function (prop) { + this.state.assignFrom((_a = {}, _a[key] = prop && prop instanceof Link$1 ? prop.value : prop, _a)); + var _a; + }; +}; -"use strict"; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__); -var __extends = (this && this.__extends) || (function () { +var __extends$5 = (this && this.__extends) || (function () { var extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; @@ -1548,15 +979,13 @@ var __extends = (this && this.__extends) || (function () { d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); - - -var notEqual = __WEBPACK_IMPORTED_MODULE_1_type_r__["tools"].notEqual; +var notEqual = Nested.tools.notEqual; var BackboneView = (function (_super) { - __extends(BackboneView, _super); + __extends$5(BackboneView, _super); function BackboneView() { var _this = _super !== null && _super.apply(this, arguments) || this; - _this.saveRef = function (element) { - _this.root = element; + _this.saveRef = function (element$$1) { + _this.root = element$$1; }; return _this; } @@ -1569,7 +998,7 @@ var BackboneView = (function (_super) { return view && (typeof view.hasUnsavedChanges === 'function' ? view.hasUnsavedChanges() : view.hasUnsavedChanges); }; BackboneView.prototype.render = function () { - return __WEBPACK_IMPORTED_MODULE_0__react_mvx__["f" /* default */].createElement('div', { + return ReactMVx.createElement('div', { ref: this.saveRef, className: this.props.className }); @@ -1605,29 +1034,12 @@ var BackboneView = (function (_super) { } }; return BackboneView; -}(__WEBPACK_IMPORTED_MODULE_0__react_mvx__["a" /* Component */])); -/* harmony default export */ __webpack_exports__["a"] = (BackboneView); -//# sourceMappingURL=view-element.js.map - -/***/ }), -/* 22 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (immutable) */ __webpack_exports__["a"] = use; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(2); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(8); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__); - - +}(exports.Component)); window.Page || (window.Page = { forceResize: function () { } }); -function use(View) { - var dispose = View.prototype.dispose || function () { }, setElement = View.prototype.setElement; - var ComponentView = View.extend({ +function use(View$$1) { + var dispose = View$$1.prototype.dispose || function () { }, setElement = View$$1.prototype.setElement; + var ComponentView = View$$1.extend({ reactClass: null, props: {}, element: null, @@ -1646,7 +1058,7 @@ function use(View) { window.Page.forceResize(); }, render: function () { - var options = this.prevState ? __WEBPACK_IMPORTED_MODULE_2_type_r__["tools"].fastAssign({ __keepState: this.prevState }, this.options) : this.options, element = __WEBPACK_IMPORTED_MODULE_0_react__["createElement"](this.reactClass, options), component = __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.render(element, this.el); + var options = this.prevState ? Nested.tools.fastAssign({ __keepState: this.prevState }, this.options) : this.options, element$$1 = React.createElement(this.reactClass, options), component = ReactDOM.render(element$$1, this.el); this.component || this.mountComponent(component); }, mountComponent: function (component) { @@ -1664,7 +1076,7 @@ function use(View) { this.stopListening(component); } component._preventDispose = Boolean(keepModel); - __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.unmountComponentAtNode(this.el); + ReactDOM.unmountComponentAtNode(this.el); this.component = null; } }, @@ -1681,15 +1093,7 @@ function use(View) { }); return ComponentView; } -//# sourceMappingURL=component-view.js.map - -/***/ }), -/* 23 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { -"use strict"; -/* harmony export (immutable) */ __webpack_exports__["a"] = createClass; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1); var __assign = (this && this.__assign) || Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; @@ -1707,7 +1111,6 @@ var __rest = (this && this.__rest) || function (s, e) { t[p[i]] = s[p[i]]; return t; }; - var dontAutobind = [ 'State', 'Store', 'constructor', 'componentWillMount', 'componentDidMount', 'componentWillReceiveProps', 'shouldComponentUpdate', @@ -1721,10 +1124,10 @@ function createClass(_a) { var statics = _a.statics, a_spec = __rest(_a, ["statics"]); // Gather all methods to pin them to `this` later. var methods = []; - var Subclass = __WEBPACK_IMPORTED_MODULE_0__react_mvx__["a" /* Component */].extend(__assign({ + var Subclass = exports.Component.extend(__assign({ // Override constructor to autobind all the methods... constructor: function () { - __WEBPACK_IMPORTED_MODULE_0__react_mvx__["a" /* Component */].apply(this, arguments); + exports.Component.apply(this, arguments); for (var _i = 0, methods_1 = methods; _i < methods_1.length; _i++) { var method = methods_1[_i]; this[method] = this[method].bind(this); @@ -1739,8 +1142,52 @@ function createClass(_a) { } return Subclass; } -//# sourceMappingURL=createClass.js.map -/***/ }) -/******/ ]); -}); \ No newline at end of file +// Re-export react-mvx +var NestedReact = Object.create(ReactMVx); +// NestedReact backward compatibility layer +NestedReact.subview = BackboneView; +console.log("ReactDOM=", ReactDOM); +NestedReact.createClass = createClass; +Object.defineProperty(NestedReact, 'PropTypes', { value: PropTypes }); +var BaseView; +// export hook to override base View class used... +function useView(View$$1) { + BaseView = use(View$$1); +} +var onDefine = NestedReact.Component.onDefine; +NestedReact.Component.onDefine = function (definitions$$1, BaseClass) { + this.View = BaseView.extend({ reactClass: this }); + return onDefine.call(this, definitions$$1, BaseClass); +}; +// Deprecated API for backward compatibility +var RecordProto = Nested.Record.prototype; +RecordProto.getLink = RecordProto.linkAt; +RecordProto.deepLink = RecordProto.linkPath; +var CollectionProto = Nested.Record.Collection.prototype; +CollectionProto.hasLink = CollectionProto.linkContains; +useView(Nested.View); +// Extend react components to have backbone-style jquery accessors +var BackboneViewProps = { + el: { get: function () { return ReactDOM.findDOMNode(this); } }, + $el: { get: function () { return Nested__default.$(this.el); } }, + $: { value: function (sel) { return this.$el.find(sel); } } +}; +Object.defineProperties(NestedReact.Component.prototype, BackboneViewProps); + +exports['default'] = NestedReact; +exports.subview = BackboneView; +exports.PropTypes = PropTypes; +exports.createClass = createClass; +exports.useView = useView; +exports.define = Nested.define; +exports.mixins = Nested.mixins; +exports.Node = Node; +exports.Element = Element; +exports.Link = Link$1; +exports.assignToState = assignToState; + +Object.defineProperty(exports, '__esModule', { value: true }); + +}))); +//# sourceMappingURL=index.js.map diff --git a/dist/index.js.map b/dist/index.js.map index 1cab5ac..0ed1752 100644 --- a/dist/index.js.map +++ b/dist/index.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///dist/index.js","webpack:///webpack/bootstrap 6ec19945f386c7385049","webpack:///external {\"commonjs\":\"nestedtypes\",\"commonjs2\":\"nestedtypes\",\"amd\":\"nestedtypes\",\"root\":\"Nested\"}","webpack:///./lib/react-mvx/define/typeSpecs.js","webpack:///./lib/react-mvx/index.js","webpack:///external {\"commonjs\":\"react-dom\",\"commonjs2\":\"react-dom\",\"amd\":\"react-dom\",\"root\":\"ReactDOM\"}","webpack:///external {\"commonjs\":\"react\",\"commonjs2\":\"react\",\"amd\":\"react\",\"root\":\"React\"}","webpack:///./lib/react-mvx/define/index.js","webpack:///./lib/react-mvx/define/state.js","webpack:///./lib/component-view.js","webpack:///./lib/view-element.js","webpack:///./lib/index.js","webpack:///./lib/react-mvx/component.js","webpack:///./lib/react-mvx/define/common.js","webpack:///./lib/react-mvx/define/context.js","webpack:///./lib/react-mvx/define/props.js","webpack:///./lib/react-mvx/define/pureRender.js","webpack:///./lib/react-mvx/define/store.js","webpack:///./lib/react-mvx/link.js","webpack:///./lib/react-mvx/valuelink/helpers.js","webpack:///./lib/react-mvx/valuelink/link.js","webpack:///./~/fbjs/lib/emptyFunction.js","webpack:///./~/fbjs/lib/invariant.js","webpack:///./~/prop-types/factoryWithThrowingShims.js","webpack:///./~/prop-types/index.js"],"names":["root","factory","exports","module","require","define","amd","this","__WEBPACK_EXTERNAL_MODULE_0__","__WEBPACK_EXTERNAL_MODULE_3__","__WEBPACK_EXTERNAL_MODULE_4__","modules","__webpack_require__","moduleId","installedModules","i","l","call","m","c","value","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","__webpack_exports__","collectSpecs","spec","attributes","mixins","length","mixin","mixinAttrs","__WEBPACK_IMPORTED_MODULE_1_type_r__","assign","specAttrs","compileSpecs","props","defaults","watchers","changeHandlers","propTypes","modelProto","forEachAttr","_attributes","type","options","translateType","isRequired","_onChange","toLocalWatcher","changeEvents","handlers","changeEvents_1","push","prev","next","component","stopListening","listenTo","_changeEventName","asyncUpdate","convert","ref","Type","T","_translateType","Number","integer","__WEBPACK_IMPORTED_MODULE_0_prop_types__","String","Boolean","Array","Function","Node","Element","__WEBPACK_IMPORTED_MODULE_0_react__","__WEBPACK_IMPORTED_MODULE_2__define__","__WEBPACK_IMPORTED_MODULE_3__link__","__WEBPACK_IMPORTED_MODULE_4__component__","assignToState","ReactMVx","create","default","createClass","Link","Component","key","prop","state","assignFrom","_a","process","baseProto","__WEBPACK_IMPORTED_MODULE_0__store__","__WEBPACK_IMPORTED_MODULE_1__state__","__WEBPACK_IMPORTED_MODULE_2__context__","__WEBPACK_IMPORTED_MODULE_4__props__","__WEBPACK_IMPORTED_MODULE_3__common__","__WEBPACK_IMPORTED_MODULE_5__typeSpecs__","__WEBPACK_IMPORTED_MODULE_0__typeSpecs__","State","BaseModel","StateMixin","UpdateOnNestedChangesMixin","componentWillMount","__keepState","_owner","_ownerKey","context","_nestedStore","getStore","_archetypeStore","_defaultStore","componentWillUnmount","dispose","_onChildrenChange","componentDidMount","use","View","setElement","ComponentView","extend","reactClass","element","initialize","unmountComponent","apply","arguments","prevState","resize","window","Page","forceResize","render","__WEBPACK_IMPORTED_MODULE_2_type_r__","fastAssign","__WEBPACK_IMPORTED_MODULE_1_react_dom___default","a","el","mountComponent","trigger","keepModel","model","_preventDispose","unmountComponentAtNode","__WEBPACK_IMPORTED_MODULE_1_react_dom__","__WEBPACK_IMPORTED_MODULE_0__react_mvx__","__extends","extendStatics","setPrototypeOf","__proto__","b","__","constructor","notEqual","BackboneView","_super","_this","saveRef","shouldComponentUpdate","hasUnsavedChanges","view","div","className","_mountView","componentDidUpdate","_dispose","appendChild","off","innerHTML","useView","BaseView","__WEBPACK_IMPORTED_MODULE_4__component_view__","defineBackboneProxy","_View","__WEBPACK_IMPORTED_MODULE_3__view_element__","protoProps","staticProps","RecordProto","getLink","linkAt","deepLink","linkPath","BackboneViewProps","findDOMNode","$el","$","sel","find","defineProperties","a_spec","methods","__assign","method","bind","t","__decorate","decorators","target","desc","r","getOwnPropertyDescriptor","Reflect","decorate","__rest","e","indexOf","getOwnPropertySymbols","reactMixinRules","componentWillReceiveProps","componentWillUpdate","store","childContext","getChildContext","linkAll","staticsDefinition","getBaseClass","getChangedStatics","combinedDefinition","definition","getDefaultProps","contextTypes","childContextTypes","protoDefinition","defaultProps","x","compile","_b","_autobind","autobind","split","concat","AutobindMixin","CommonMixin","returnFalse","_disposed","forceUpdate","__WEBPACK_IMPORTED_MODULE_0_type_r__","_i","name_1","transaction","fun","isRoot","_context","_c","_childContext","pureRender","_props","_listenToPropsArray","_listenToPropsHash","allProps","_e","defaults_1","unshift","WatchersMixin","_watchers","ChangeHandlersMixin","_changeHandlers","__WEBPACK_IMPORTED_MODULE_1__pureRender__","handleChanges","handler","name_2","name_3","createPureRenderMixin","ctorBody","isChangedBody","propExpr","ChangeTokens","join","isChanged","_changeTokens","nextProps","ExternalStoreMixin","Store","InternalStoreMixin","__WEBPACK_IMPORTED_MODULE_2__state__","ExposeStoreMixin","getLinksCache","record","_links","Attributes","cacheLink","links","cached","RecordLink","__WEBPACK_IMPORTED_MODULE_1__valuelink_link__","mixTo","path","RecordDeepLink","attr","set","_error","getValidationError","deepGet","deepValidationError","_changeToken","deepSet","Collection","linkContains","CollectionLink","collection","_byId","cid","toggle","helpers","getPrototypeOf","ArrayProto","arrayHelpers","ObjectProto","objectHelpers","dummyHelpers","clone","map","link","remove","iterator","mapped","at","cloned","array","slice","splice","j","y","__WEBPACK_IMPORTED_MODULE_0__helpers__","CustomLink","error","onChange","CloneLink","requestChange","update","transform","pipe","action","equals","truthyValue","EqualsLink","enabled","defaultValue","EnabledLink","contains","ContainsLink","removeAt","_","LinkAt","pick","check","whenValid","defaultError","parent","arr","nextValue","filter","makeEmptyFunction","arg","emptyFunction","thatReturns","thatReturnsFalse","thatReturnsTrue","thatReturnsNull","thatReturnsThis","thatReturnsArgument","invariant","condition","format","f","validateFormat","undefined","Error","args","argIndex","replace","framesToPop","shim","getShim","ReactPropTypes","bool","func","number","string","symbol","any","arrayOf","instanceOf","node","objectOf","oneOf","oneOfType","shape","checkPropTypes","PropTypes"],"mappings":"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","file":"./dist/index.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"nestedtypes\"), require(\"react-dom\"), require(\"react\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"nestedtypes\", \"react-dom\", \"react\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"React\"] = factory(require(\"nestedtypes\"), require(\"react-dom\"), require(\"react\"));\n\telse\n\t\troot[\"React\"] = factory(root[\"Nested\"], root[\"ReactDOM\"], root[\"React\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_3__, __WEBPACK_EXTERNAL_MODULE_4__) {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"nestedtypes\"), require(\"react-dom\"), require(\"react\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"nestedtypes\", \"react-dom\", \"react\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"React\"] = factory(require(\"nestedtypes\"), require(\"react-dom\"), require(\"react\"));\n\telse\n\t\troot[\"React\"] = factory(root[\"Nested\"], root[\"ReactDOM\"], root[\"React\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_3__, __WEBPACK_EXTERNAL_MODULE_4__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\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// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\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, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\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 = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 9);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_0__;\n\n/***/ }),\n/* 1 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types__ = __webpack_require__(22);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = collectSpecs;\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = compileSpecs;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Node; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return Element; });\n\n\nfunction collectSpecs(spec, name) {\n var attributes = null;\n // Scan through local mixin, and gather specs. Refactor it later, it's not good. At all.\n for (var i = spec.mixins.length - 1; i >= 0; i--) {\n var mixin = spec.mixins[i], mixinAttrs = mixin[name];\n if (mixinAttrs) {\n attributes || (attributes = {});\n __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].assign(attributes, mixinAttrs);\n }\n }\n // Merge it with local data.\n var specAttrs = spec[name];\n if (specAttrs) {\n if (attributes) {\n __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].assign(attributes, specAttrs);\n }\n else {\n attributes = specAttrs;\n }\n }\n return attributes;\n}\nfunction compileSpecs(props) {\n var propTypes = {}, \n // Create NestedTypes model definition to process props spec.\n modelProto = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"Record\"].defaults(props).prototype;\n var defaults, watchers, changeHandlers;\n modelProto.forEachAttr(modelProto._attributes, function (spec, name) {\n // Skip auto-generated `id` attribute.\n if (name !== 'id') {\n var value = spec.value, type = spec.type, options = spec.options;\n // Translate props type to the propTypes guard.\n propTypes[name] = translateType(type, options.isRequired);\n if (options._onChange) {\n watchers || (watchers = {});\n watchers[name] = toLocalWatcher(options._onChange);\n }\n // Handle listening to event maps...\n if (options.changeHandlers) {\n changeHandlers || (changeHandlers = {});\n changeHandlers[name] = options.changeHandlers;\n }\n // Handle listening to props changes...\n if (options.changeEvents) {\n changeHandlers || (changeHandlers = {});\n var handlers = changeHandlers[name] || (changeHandlers[name] = []), changeEvents_1 = options.changeEvents === 'string' ? options.changeEvents : null;\n handlers.push(function (prev, next, component) {\n prev && component.stopListening(prev);\n next && component.listenTo(next, changeEvents_1 || next._changeEventName, component.asyncUpdate);\n });\n }\n // If default value is explicitly provided...\n if (value !== void 0) {\n //...append it to getDefaultProps function.\n defaults || (defaults = {});\n defaults[name] = spec.convert(value);\n }\n }\n });\n return { propTypes: propTypes, defaults: defaults, watchers: watchers, changeHandlers: changeHandlers };\n}\nfunction toLocalWatcher(ref) {\n return typeof ref === 'function' ? ref : function (value, name) {\n this[ref] && this[ref](value, name);\n };\n}\nvar Node = (function () {\n function Node() {\n }\n return Node;\n}());\n\nvar Element = (function () {\n function Element() {\n }\n return Element;\n}());\n\nfunction translateType(Type, isRequired) {\n var T = _translateType(Type);\n return isRequired ? T.isRequired : T;\n}\nfunction _translateType(Type) {\n switch (Type) {\n case Number:\n case Number.integer:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"number\"];\n case String:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"string\"];\n case Boolean:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"bool\"];\n case Array:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"array\"];\n case Function:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"func\"];\n case Object:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"object\"];\n case Node:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"node\"];\n case Element:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"element\"];\n case void 0:\n case null:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"any\"];\n default:\n return __WEBPACK_IMPORTED_MODULE_0_prop_types__[\"instanceOf\"](Type);\n }\n}\n//# sourceMappingURL=typeSpecs.js.map\n\n/***/ }),\n/* 2 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__define__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__link__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__component__ = __webpack_require__(10);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_4__component__[\"a\"]; });\n/* harmony reexport (binding) */ if(__webpack_require__.o(__WEBPACK_IMPORTED_MODULE_1_type_r__, \"define\")) __webpack_require__.d(__webpack_exports__, \"c\", function() { return __WEBPACK_IMPORTED_MODULE_1_type_r__[\"define\"]; });\n/* harmony reexport (binding) */ if(__webpack_require__.o(__WEBPACK_IMPORTED_MODULE_1_type_r__, \"mixins\")) __webpack_require__.d(__webpack_exports__, \"d\", function() { return __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixins\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return __WEBPACK_IMPORTED_MODULE_2__define__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return __WEBPACK_IMPORTED_MODULE_2__define__[\"b\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"g\", function() { return __WEBPACK_IMPORTED_MODULE_3__link__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"h\", function() { return __WEBPACK_IMPORTED_MODULE_4__component__[\"b\"]; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"i\", function() { return assignToState; });\n\n\n\n\n\n// extend React namespace\nvar ReactMVx = Object.create(__WEBPACK_IMPORTED_MODULE_0_react__);\n// Make it compatible with ES6 module format.\nReactMVx.default = ReactMVx;\n// listenToProps, listenToState, model, attributes, Model\nReactMVx.createClass = __WEBPACK_IMPORTED_MODULE_4__component__[\"a\" /* createClass */];\nReactMVx.define = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"define\"];\nReactMVx.mixins = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixins\"];\nReactMVx.Node = __WEBPACK_IMPORTED_MODULE_2__define__[\"a\" /* Node */].value(null);\nReactMVx.Element = __WEBPACK_IMPORTED_MODULE_2__define__[\"b\" /* Element */].value(null);\nReactMVx.Link = __WEBPACK_IMPORTED_MODULE_3__link__[\"a\" /* default */];\nReactMVx.Component = __WEBPACK_IMPORTED_MODULE_4__component__[\"b\" /* Component */];\nvar assignToState = ReactMVx.assignToState = function (key) {\n return function (prop) {\n this.state.assignFrom((_a = {}, _a[key] = prop && prop instanceof __WEBPACK_IMPORTED_MODULE_3__link__[\"a\" /* default */] ? prop.value : prop, _a));\n var _a;\n };\n};\n/* harmony default export */ __webpack_exports__[\"a\"] = (ReactMVx);\n\n//# sourceMappingURL=index.js.map\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_3__;\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_4__;\n\n/***/ }),\n/* 5 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__store__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__state__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__context__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__common__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__props__ = __webpack_require__(13);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__typeSpecs__ = __webpack_require__(1);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_5__typeSpecs__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_5__typeSpecs__[\"b\"]; });\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = process;\n\n\n\n\n\nfunction process(spec, baseProto) {\n if (baseProto === void 0) { baseProto = {}; }\n // Initialize mixins placeholder...\n spec.mixins || (spec.mixins = []);\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__store__[\"a\" /* default */])(spec, baseProto);\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__state__[\"a\" /* default */])(spec, baseProto);\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__context__[\"a\" /* default */])(spec, baseProto);\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__props__[\"a\" /* default */])(spec, baseProto);\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__common__[\"a\" /* default */])(spec, baseProto);\n return spec;\n}\n;\n\n//# sourceMappingURL=index.js.map\n\n/***/ }),\n/* 6 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = process;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return StateMixin; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return UpdateOnNestedChangesMixin; });\n/*****************\n * State\n */\n\n\nfunction process(spec, baseProto) {\n // process state spec...\n var attributes = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* collectSpecs */])(spec, 'state');\n if (attributes || baseProto.State) {\n var BaseModel = baseProto.State || __WEBPACK_IMPORTED_MODULE_1_type_r__[\"Record\"];\n spec.State = attributes ? (typeof attributes === 'function' ? attributes : BaseModel.defaults(attributes)) : BaseModel;\n spec.mixins.push(StateMixin);\n spec.mixins.push(UpdateOnNestedChangesMixin);\n delete spec.state;\n delete spec.attributes;\n }\n}\nvar StateMixin = {\n state: null,\n componentWillMount: function () {\n // props.__keepState is used to workaround issues in Backbone intergation layer\n var state = this.state = this.props.__keepState || new this.State();\n // Take ownership on state...\n state._owner = this;\n state._ownerKey = 'state';\n },\n context: {\n _nestedStore: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"Store\"]\n },\n // reference global store to fix model's store locator\n getStore: function () {\n // Attempt to get the store from the context first. Then - fallback to the state's default store.\n // TBD: Need to figure out a good way of managing local stores.\n var context, state;\n return ((context = this.context) && context._archetypeStore) ||\n ((state = this.state) && state._defaultStore);\n },\n componentWillUnmount: function () {\n var state = this.state;\n state._owner = state._ownerKey = void 0;\n state.dispose();\n this.state = void 0;\n }\n};\nvar UpdateOnNestedChangesMixin = {\n _onChildrenChange: function () { },\n componentDidMount: function () {\n this._onChildrenChange = this.asyncUpdate;\n }\n};\n//# sourceMappingURL=state.js.map\n\n/***/ }),\n/* 7 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__);\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = use;\n\n\n\nwindow.Page || (window.Page = { forceResize: function () { } });\nfunction use(View) {\n var dispose = View.prototype.dispose || function () { }, setElement = View.prototype.setElement;\n var ComponentView = View.extend({\n reactClass: null,\n props: {},\n element: null,\n initialize: function (props) {\n // memorise arguments to pass to React\n this.options = props || {};\n },\n setElement: function () {\n this.unmountComponent(true);\n return setElement.apply(this, arguments);\n },\n // cached instance of react component...\n component: null,\n prevState: null,\n resize: function () {\n window.Page.forceResize();\n },\n render: function () {\n var options = this.prevState ? __WEBPACK_IMPORTED_MODULE_2_type_r__[\"tools\"].fastAssign({ __keepState: this.prevState }, this.options) : this.options, element = __WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"](this.reactClass, options), component = __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.render(element, this.el);\n this.component || this.mountComponent(component);\n },\n mountComponent: function (component) {\n this.component = component;\n this.prevState = null;\n component.trigger && this.listenTo(component, 'all', function () {\n this.trigger.apply(this, arguments);\n });\n },\n unmountComponent: function (keepModel) {\n var component = this.component;\n if (component) {\n this.prevState = component.model;\n if (component.trigger) {\n this.stopListening(component);\n }\n component._preventDispose = Boolean(keepModel);\n __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.unmountComponentAtNode(this.el);\n this.component = null;\n }\n },\n dispose: function () {\n this.unmountComponent();\n return dispose.apply(this, arguments);\n }\n });\n Object.defineProperty(ComponentView.prototype, 'model', {\n get: function () {\n this.component || this.render();\n return this.component && this.component.model;\n }\n });\n return ComponentView;\n}\n//# sourceMappingURL=component-view.js.map\n\n/***/ }),\n/* 8 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\nvar notEqual = __WEBPACK_IMPORTED_MODULE_2_type_r__[\"tools\"].notEqual;\nvar BackboneView = (function (_super) {\n __extends(BackboneView, _super);\n function BackboneView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.saveRef = function (element) {\n _this.root = element;\n };\n return _this;\n }\n BackboneView.prototype.shouldComponentUpdate = function (next) {\n var props = this.props;\n return next.View !== props.View || notEqual(next.options, props.options);\n };\n BackboneView.prototype.hasUnsavedChanges = function () {\n var view = this.view;\n return view && (typeof view.hasUnsavedChanges === 'function' ? view.hasUnsavedChanges() : view.hasUnsavedChanges);\n };\n BackboneView.prototype.render = function () {\n return __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.div({\n ref: this.saveRef,\n className: this.props.className\n });\n };\n BackboneView.prototype.componentDidMount = function () {\n this._mountView();\n };\n BackboneView.prototype.componentDidUpdate = function () {\n this._dispose();\n this._mountView();\n };\n BackboneView.prototype.componentWillUnmount = function () {\n this._dispose();\n };\n BackboneView.prototype._mountView = function () {\n var el = this.root, p = this.props;\n var view = this.view = p.options ? new p.View(p.options) : new p.View();\n el.appendChild(view.el);\n view.render();\n };\n BackboneView.prototype._dispose = function () {\n var view = this.view;\n if (view) {\n if (view.dispose) {\n view.dispose();\n }\n else {\n view.stopListening();\n view.off();\n }\n this.root.innerHTML = \"\";\n this.view = null;\n }\n };\n return BackboneView;\n}(__WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\" /* default */].Component));\n/* harmony default export */ __webpack_exports__[\"a\"] = (BackboneView);\n//# sourceMappingURL=view-element.js.map\n\n/***/ }),\n/* 9 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(2);\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"createClass\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"b\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"define\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"c\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"mixins\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"d\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Node\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"e\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Element\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"f\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Link\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"g\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Component\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"h\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"assignToState\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"i\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__view_element__ = __webpack_require__(8);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"subview\", function() { return __WEBPACK_IMPORTED_MODULE_3__view_element__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__component_view__ = __webpack_require__(7);\n/* harmony export (immutable) */ __webpack_exports__[\"useView\"] = useView;\nvar _this = this;\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (__WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\" /* default */]);\n\n\n\n\n\n\nvar BaseView;\n// export hook to override base View class used...\nfunction useView(View) {\n BaseView = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__component_view__[\"a\" /* default */])(View);\n}\nvar define = __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\" /* default */].Component.define;\n__WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\" /* default */].Component.define = function define(protoProps, staticProps) {\n defineBackboneProxy(this);\n return define.call(this, protoProps, staticProps);\n};\nfunction defineBackboneProxy(Component) {\n Object.defineProperty(Component, 'View', {\n get: function () {\n return this._View || (this._View = BaseView.extend({ reactClass: Component }));\n }\n });\n}\n// Deprecated API for backward compatibility\nvar RecordProto = __WEBPACK_IMPORTED_MODULE_2_type_r__[\"Record\"].prototype;\nRecordProto.getLink = RecordProto.linkAt;\nRecordProto.deepLink = RecordProto.linkPath;\nuseView(__WEBPACK_IMPORTED_MODULE_2_type_r__[\"View\"]);\n// Extend react components to have backbone-style jquery accessors\nvar BackboneViewProps = {\n el: { get: function () { return __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.findDOMNode(_this); } },\n $el: { get: function () { return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2_type_r__[\"$\"])(_this.el); } },\n $: { value: function (sel) { return _this.$el.find(sel); } }\n};\nObject.defineProperties(__WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\" /* default */].Component.prototype, BackboneViewProps);\n//# sourceMappingURL=index.js.map\n\n/***/ }),\n/* 10 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__define__ = __webpack_require__(5);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return Component; });\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = createClass;\n/**\n * React components\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\n\n\n\nvar reactMixinRules = {\n componentWillMount: 'reverse',\n componentDidMount: 'reverse',\n componentWillReceiveProps: 'reverse',\n shouldComponentUpdate: 'some',\n componentWillUpdate: 'reverse',\n componentDidUpdate: 'reverse',\n componentWillUnmount: 'sequence',\n state: 'merge',\n store: 'merge',\n props: 'merge',\n context: 'merge',\n childContext: 'merge',\n getChildContext: 'mergeSequence'\n};\nvar Component = (function (_super) {\n __extends(Component, _super);\n function Component() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Component.prototype.linkAt = function (key) {\n // Quick and dirty hack to suppres type error - refactor later.\n return this.state.linkAt(key);\n };\n Component.prototype.linkAll = function () {\n // Quick and dirty hack to suppres type error - refactor later.\n return this.state.linkAll.apply(this, arguments);\n };\n Component.define = function (protoProps, staticProps) {\n var BaseClass = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].getBaseClass(this), staticsDefinition = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].getChangedStatics(this, 'state', 'store', 'props', 'autobind', 'context', 'childContext', 'pureRender'), combinedDefinition = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].assign(staticsDefinition, protoProps || {});\n var definition = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__define__[\"c\" /* default */])(combinedDefinition, this.prototype);\n var getDefaultProps = definition.getDefaultProps, propTypes = definition.propTypes, contextTypes = definition.contextTypes, childContextTypes = definition.childContextTypes, protoDefinition = __rest(definition, [\"getDefaultProps\", \"propTypes\", \"contextTypes\", \"childContextTypes\"]);\n if (getDefaultProps)\n this.defaultProps = definition.getDefaultProps();\n if (propTypes)\n this.propTypes = propTypes;\n if (contextTypes)\n this.contextTypes = contextTypes;\n if (childContextTypes)\n this.childContextTypes = childContextTypes;\n __WEBPACK_IMPORTED_MODULE_1_type_r__[\"Mixable\"].define.call(this, protoDefinition, staticProps);\n return this;\n };\n Component.prototype.assignToState = function (x, key) {\n this.state.assignFrom((_a = {}, _a[key] = x, _a));\n var _a;\n };\n return Component;\n}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]));\nComponent = __decorate([\n __WEBPACK_IMPORTED_MODULE_1_type_r__[\"extendable\"],\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"])(reactMixinRules)\n], Component);\n\n/**\n * ES5 components definition factory\n */\nfunction createClass(a_spec) {\n // Gather all methods to pin them to `this` later.\n var methods = [];\n for (var key in a_spec) {\n if (a_spec.hasOwnProperty(key) && typeof a_spec[key] === 'function') {\n methods.push(key);\n }\n }\n var Subclass = Component.extend(__assign({ \n // Override constructor to autobind all the methods...\n constructor: function () {\n Component.apply(this.arguments);\n for (var method in methods) {\n this[method] = this[method].bind(this);\n }\n } }, a_spec));\n return Subclass;\n}\n//# sourceMappingURL=component.js.map\n\n/***/ }),\n/* 11 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__);\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = compile;\n/* unused harmony export asyncUpdate */\n/**\n * Process `autobind` specs, attach async event processing and transactional support.\n */\n\nfunction compile(spec, _a) {\n var _b = _a._autobind, _autobind = _b === void 0 ? [] : _b;\n // Attach autobind mixin...\n if (spec.autobind) {\n spec._autobind = spec.autobind.split(/\\s+/).concat(_autobind);\n spec.mixins.push(AutobindMixin);\n delete spec.autobind;\n }\n // Attach common mixin\n spec.mixins.push(CommonMixin);\n}\n/***\n * Autobinding\n */\nvar AutobindMixin = {\n componentWillMount: function () {\n for (var _i = 0, _a = this._autobind; _i < _a.length; _i++) {\n var name_1 = _a[_i];\n this[name_1] = this[name_1].bind(this);\n }\n }\n};\nfunction asyncUpdate() {\n this.shouldComponentUpdate === returnFalse || this._disposed || this.forceUpdate();\n}\nfunction returnFalse() { return false; }\n/**\n * Mixin which is attached to all components.\n */\nvar CommonMixin = __WEBPACK_IMPORTED_MODULE_0_type_r__[\"tools\"].assign({\n componentWillUnmount: function () {\n // Prevent memory leaks when working with events.\n this.off();\n this.stopListening();\n // Mark component as disposed.\n this._disposed = true;\n },\n // Safe version of the forceUpdate suitable for asynchronous callbacks.\n asyncUpdate: asyncUpdate,\n /**\n * Performs transactional update for both props and state.\n * Suppress updates during the transaction, and force update aftewards.\n * Wrapping the sequence of changes in a transactions guarantees that\n * React component will be updated _after_ all the changes to the\n * both props and local state are applied.\n */\n transaction: function (fun) {\n var shouldComponentUpdate = this.shouldComponentUpdate, isRoot = shouldComponentUpdate !== returnFalse;\n if (isRoot) {\n this.shouldComponentUpdate = returnFalse;\n }\n fun(this.props, this.state);\n if (isRoot) {\n this.shouldComponentUpdate = shouldComponentUpdate;\n this.asyncUpdate();\n }\n }\n}, __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Events\"]);\n//# sourceMappingURL=common.js.map\n\n/***/ }),\n/* 12 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(1);\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = process;\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\n\nfunction process(spec, _a) {\n var _b = _a._context, _context = _b === void 0 ? {} : _b, _c = _a._childContext, _childContext = _c === void 0 ? {} : _c;\n // process context specs...\n var context = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* collectSpecs */])(spec, 'context');\n if (context) {\n spec._context = __assign({}, _context, context);\n spec.contextTypes = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"d\" /* compileSpecs */])(context).propTypes;\n delete spec.context;\n }\n // and child context specs...\n var childContext = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* collectSpecs */])(spec, 'childContext');\n if (childContext) {\n spec._childContext = __assign({}, _childContext, childContext);\n spec.childContextTypes = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"d\" /* compileSpecs */])(childContext).propTypes;\n delete spec.childContext;\n }\n}\n//# sourceMappingURL=context.js.map\n\n/***/ }),\n/* 13 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__pureRender__ = __webpack_require__(14);\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = process;\n/**\n * Handle props specification and everything which is related:\n * - local listening to props changes\n * - pure render mixin\n */\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\n\n\nfunction process(spec, _a) {\n var pureRender = _a.pureRender, _b = _a._props, _props = _b === void 0 ? {} : _b, _c = _a._listenToPropsArray, _listenToPropsArray = _c === void 0 ? [] : _c, _d = _a._listenToPropsHash, _listenToPropsHash = _d === void 0 ? {} : _d;\n // process props spec...\n var props = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* collectSpecs */])(spec, 'props');\n if (props) {\n var allProps = spec._props = __assign({}, _props, props);\n var _e = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"d\" /* compileSpecs */])(allProps), propTypes = _e.propTypes, defaults_1 = _e.defaults, watchers = _e.watchers, changeHandlers = _e.changeHandlers;\n spec.propTypes = propTypes;\n if (defaults_1)\n spec.getDefaultProps = function () { return defaults_1; };\n if (watchers) {\n spec.mixins.unshift(WatchersMixin);\n spec._watchers = watchers;\n }\n if (changeHandlers) {\n spec.mixins.unshift(ChangeHandlersMixin);\n spec._changeHandlers = changeHandlers;\n }\n delete spec.props;\n }\n // compile pure render mixin\n if (spec._props && (spec.pureRender || pureRender)) {\n spec.mixins.push(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__pureRender__[\"a\" /* default */])(spec._props));\n }\n}\n/**\n * ChangeHandlers are fired in sequence upon props replacement.\n * Fires _after_ UI is updated. Used for managing events subscriptions.\n */\nvar ChangeHandlersMixin = {\n componentDidMount: handleChanges,\n componentDidUpdate: handleChanges\n};\nfunction handleChanges(prev) {\n if (prev === void 0) { prev = {}; }\n var _a = this, _changeHandlers = _a._changeHandlers, props = _a.props;\n for (var name_1 in _changeHandlers) {\n if (prev[name_1] !== props[name_1]) {\n for (var _i = 0, _b = _changeHandlers[name_1]; _i < _b.length; _i++) {\n var handler = _b[_i];\n handler(props[name_1], prev[name_1], this);\n }\n }\n }\n}\n/**\n * Watchers works on props replacement and fires _before_ any change will be applied and UI is updated.\n * Fired in componentWillMount as well, which makes it a nice way to sync state from props.\n */\nvar WatchersMixin = {\n componentWillReceiveProps: function (next) {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_2 in _watchers) {\n if (next[name_2] !== props[name_2]) {\n _watchers[name_2].call(this, next[name_2], name_2);\n }\n }\n },\n componentWillMount: function () {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_3 in _watchers) {\n _watchers[name_3].call(this, props[name_3], name_3);\n }\n }\n};\n//# sourceMappingURL=props.js.map\n\n/***/ }),\n/* 14 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = createPureRenderMixin;\nfunction createPureRenderMixin(props) {\n var ctorBody = ['var v; this._s = s && s._changeToken'], isChangedBody = ['var v; return ( s && s._changeToken !== t._s )'];\n for (var name_1 in props) {\n var propExpr = \"( ( v = p.\" + name_1 + \") && v._changeToken ) || v\";\n ctorBody.push(\"this.\" + name_1 + \"= \" + propExpr);\n isChangedBody.push(\"t.\" + name_1 + \" !== (\" + propExpr + \")\");\n }\n var ChangeTokens = new Function('p', 's', ctorBody.join(';')), isChanged = new Function('t', 'p', 's', isChangedBody.join('||'));\n ChangeTokens.prototype = null;\n return {\n _changeTokens: null,\n shouldComponentUpdate: function (nextProps) {\n return isChanged(this._changeTokens, nextProps, this.state);\n },\n componentDidMount: function () {\n this._changeTokens = new ChangeTokens(this.props, this.state);\n },\n componentDidUpdate: function () {\n this._changeTokens = new ChangeTokens(this.props, this.state);\n }\n };\n}\n;\n//# sourceMappingURL=pureRender.js.map\n\n/***/ }),\n/* 15 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__state__ = __webpack_require__(6);\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = process;\n\n\n\nfunction process(spec, baseProto) {\n var store = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* collectSpecs */])(spec, 'store');\n if (store) {\n delete spec.store;\n if (store instanceof __WEBPACK_IMPORTED_MODULE_1_type_r__[\"Store\"]) {\n // Direct reference to an existing store. Put it to the prototype.\n spec.store = store;\n spec.mixins.push(ExternalStoreMixin);\n }\n else {\n spec.Store = store;\n spec.mixins.push(InternalStoreMixin);\n spec.mixins.push(__WEBPACK_IMPORTED_MODULE_2__state__[\"b\" /* UpdateOnNestedChangesMixin */]);\n }\n spec.mixins.push(ExposeStoreMixin);\n }\n}\n/**\n * Attached whenever the store declaration of any form is present in the component.\n */\nvar ExposeStoreMixin = {\n childContext: {\n _nestedStore: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"Store\"]\n },\n getChildContext: function () {\n return { _nestedStore: this.store };\n },\n getStore: function () {\n return this.store;\n },\n // Will be called by the store when the lookup will fail.\n get: function (key) {\n // Ask upper store.\n var store = __WEBPACK_IMPORTED_MODULE_2__state__[\"c\" /* StateMixin */].getStore.call(this, key);\n return store && store.get(key);\n }\n};\n/**\n * External store must just track the changes and trigger render.\n * TBD: don't use it yet.\n */\nvar ExternalStoreMixin = {\n componentDidMount: function () {\n // Start UI updates on state changes.\n this.listenTo(this.store, 'change', this.asyncUpdate);\n }\n};\nvar InternalStoreMixin = {\n componentWillMount: function () {\n var store = this.store = new this.Store();\n store._owner = this;\n store._ownerKey = 'store';\n },\n componentWillUnmount: function () {\n this.store._ownerKey = this.store._owner = void 0;\n this.store.dispose();\n this.store = void 0;\n }\n};\n//# sourceMappingURL=store.js.map\n\n/***/ }),\n/* 16 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__valuelink_link__ = __webpack_require__(18);\n/**\n * Import ValueLink library\n * Define value links binding mixins to the Record and Collection\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]);\n__WEBPACK_IMPORTED_MODULE_0_type_r__[\"Mixable\"].mixTo(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]);\n/**\n * Record\n */\n__WEBPACK_IMPORTED_MODULE_0_type_r__[\"Record\"].mixins({\n // Link to the record's attribute by its key.\n linkAt: function (key) {\n return cacheLink(getLinksCache(this), this, key);\n },\n // Link to the attribute of the record's tree by symbolic path.\n linkPath: function (path, options) {\n return new RecordDeepLink(this, path, options);\n },\n // Link all (or listed) attributes and return links cache.\n linkAll: function () {\n var links = getLinksCache(this);\n if (arguments.length) {\n for (var i = 0; i < arguments.length; i++) {\n cacheLink(links, this, arguments[i]);\n }\n }\n else {\n var attributes = this.attributes;\n for (var key in attributes) {\n attributes[key] === void 0 || cacheLink(links, this, key);\n }\n }\n return links;\n }\n});\n/**\n * Link to Type-R's record attribute.\n * Strict evaluation of value, lazy evaluation of validation error.\n * Links are cached in the records\n */\nvar RecordLink = (function (_super) {\n __extends(RecordLink, _super);\n function RecordLink(record, attr, value) {\n var _this = _super.call(this, value) || this;\n _this.record = record;\n _this.attr = attr;\n return _this;\n }\n RecordLink.prototype.set = function (x) {\n this.record[this.attr] = x;\n };\n Object.defineProperty(RecordLink.prototype, \"error\", {\n get: function () {\n return this._error === void 0 ?\n this.record.getValidationError(this.attr) :\n this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n return RecordLink;\n}(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]));\nvar RecordDeepLink = (function (_super) {\n __extends(RecordDeepLink, _super);\n function RecordDeepLink(record, path, options) {\n var _this = _super.call(this, record.deepGet(path)) || this;\n _this.record = record;\n _this.path = path;\n _this.options = options;\n return _this;\n }\n Object.defineProperty(RecordDeepLink.prototype, \"error\", {\n get: function () {\n if (this._error === void 0) {\n this._error = this.record.deepValidationError(this.path) || null;\n }\n return this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(RecordDeepLink.prototype, \"_changeToken\", {\n get: function () {\n return this.record._changeToken;\n },\n enumerable: true,\n configurable: true\n });\n RecordDeepLink.prototype.set = function (x) {\n this.record.deepSet(this.path, x, this.options);\n };\n return RecordDeepLink;\n}(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]));\nfunction getLinksCache(record) {\n return record._links || (record._links = new record.Attributes({}));\n}\nfunction cacheLink(links, record, key) {\n var cached = links[key], value = record[key];\n return cached && cached.value === value ? cached\n : links[key] = new RecordLink(record, key, value);\n}\n/***********************************\n * Collection\n */\n__WEBPACK_IMPORTED_MODULE_0_type_r__[\"Record\"].Collection.mixins({\n // Boolean link to the record's presence in the collection\n linkContains: function (record) {\n return new CollectionLink(this, record);\n },\n // Link to collection's property\n linkAt: function (prop) {\n var _this = this;\n return __WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */].value(this[prop], function (x) { return _this[prop] = x; });\n }\n});\n/**\n * Boolean link to presence of NestedType's record in collection.\n * Strict evaluation of value, no error.\n * Safe implementation of _changeToken.\n */\nvar CollectionLink = (function (_super) {\n __extends(CollectionLink, _super);\n function CollectionLink(collection, record) {\n var _this = _super.call(this, Boolean(collection._byId[record.cid])) || this;\n _this.collection = collection;\n _this.record = record;\n return _this;\n }\n CollectionLink.prototype.set = function (x) {\n this.collection.toggle(this.record, x);\n };\n return CollectionLink;\n}(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]));\n//# sourceMappingURL=link.js.map\n\n/***/ }),\n/* 17 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = helpers;\n/* unused harmony export objectHelpers */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return arrayHelpers; });\nvar ArrayProto = Array.prototype, ObjectProto = Object.prototype;\nfunction helpers(value) {\n if (value && typeof value === 'object') {\n switch (Object.getPrototypeOf(value)) {\n case ArrayProto: return arrayHelpers;\n case ObjectProto: return objectHelpers;\n }\n }\n return dummyHelpers;\n}\n// Do nothing for types other than Array and plain Object.\nvar dummyHelpers = {\n clone: function (value) { return value; },\n map: function (link, fun) { return []; },\n remove: function (value) { return value; }\n};\n// `map` and `clone` for plain JS objects\nvar objectHelpers = {\n // Map through the link to object\n map: function (link, iterator) {\n var mapped = [];\n for (var key in link.value) {\n var element = iterator(link.at(key), key);\n element === void 0 || (mapped.push(element));\n }\n return mapped;\n },\n remove: function (object, key) {\n delete object[key];\n return object;\n },\n // Shallow clone plain JS object\n clone: function (object) {\n var cloned = {};\n for (var key in object) {\n cloned[key] = object[key];\n }\n return cloned;\n }\n};\n// `map` and `clone` helpers for arrays.\nvar arrayHelpers = {\n // Shallow clone array\n clone: function (array) {\n return array.slice();\n },\n remove: function (array, i) {\n array.splice(i, 1);\n return array;\n },\n // Map through the link to array\n map: function (link, iterator) {\n var length = link.value.length, mapped = Array(length);\n for (var i = 0, j = 0; i < length; i++) {\n var y = iterator(link.at(i), i);\n y === void 0 || (mapped[j++] = y);\n }\n mapped.length === j || (mapped.length = j);\n return mapped;\n }\n};\n//# sourceMappingURL=helpers.js.map\n\n/***/ }),\n/* 18 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__helpers__ = __webpack_require__(17);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Link; });\n/* unused harmony export CustomLink */\n/* unused harmony export CloneLink */\n/* unused harmony export EqualsLink */\n/* unused harmony export EnabledLink */\n/* unused harmony export ContainsLink */\n/* unused harmony export LinkAt */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * Advanced React links for purely functional two-way data binding\n *\n * MIT License, (c) 2016 Vlad Balin, Volicon.\n */\n\n// Main Link class. All links must extend it.\nvar Link = (function () {\n // create \n function Link(value) {\n this.value = value;\n }\n // Create custom link to arbitrary value\n Link.value = function (value, set) {\n return new CustomLink(value, set);\n };\n Object.defineProperty(Link.prototype, \"validationError\", {\n // DEPRECATED: Old error holder for backward compatibility with Volicon code base\n get: function () { return this.error; },\n enumerable: true,\n configurable: true\n });\n Link.prototype.onChange = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n handler(x);\n _this.set(x);\n });\n };\n // DEPRECATED: Old React method for backward compatibility\n Link.prototype.requestChange = function (x) {\n this.set(x);\n };\n // Immediately update the link value using given transform function.\n Link.prototype.update = function (transform, e) {\n var next = transform(this.clone(), e);\n next === void 0 || this.set(next);\n };\n // Create new link which applies transform function on set.\n Link.prototype.pipe = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n var next = handler(x, _this.value);\n next === void 0 || _this.set(next);\n });\n };\n // Create UI event handler function which will update the link with a given transform function.\n Link.prototype.action = function (transform) {\n var _this = this;\n return function (e) { return _this.update(transform, e); };\n };\n Link.prototype.equals = function (truthyValue) {\n return new EqualsLink(this, truthyValue);\n };\n Link.prototype.enabled = function (defaultValue) {\n return new EnabledLink(this, defaultValue || \"\");\n };\n // Array-only links methods\n Link.prototype.contains = function (element) {\n return new ContainsLink(this, element);\n };\n Link.prototype.push = function () {\n var array = __WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* arrayHelpers */].clone(this.value);\n Array.prototype.push.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.unshift = function () {\n var array = __WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* arrayHelpers */].clone(this.value);\n Array.prototype.unshift.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.splice = function () {\n var array = __WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* arrayHelpers */].clone(this.value);\n Array.prototype.splice.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.map = function (iterator) {\n return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* helpers */])(this.value).map(this, iterator);\n };\n Link.prototype.removeAt = function (key) {\n var value = this.value, _ = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* helpers */])(value);\n this.set(_.remove(_.clone(value), key));\n };\n Link.prototype.at = function (key) {\n return new LinkAt(this, key);\n };\n Link.prototype.clone = function () {\n var value = this.value;\n return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* helpers */])(value).clone(value);\n };\n Link.prototype.pick = function () {\n var links = {};\n for (var i = 0; i < arguments.length; i++) {\n var key = arguments[i];\n links[key] = new LinkAt(this, key);\n }\n return links;\n };\n /**\n * Validate link with validness predicate and optional custom error object. Can be chained.\n */\n Link.prototype.check = function (whenValid, error) {\n if (!this.error && !whenValid(this.value)) {\n this.error = error || whenValid.error || defaultError;\n }\n return this;\n };\n return Link;\n}());\n\nvar CustomLink = (function (_super) {\n __extends(CustomLink, _super);\n function CustomLink(value, set) {\n var _this = _super.call(this, value) || this;\n _this.set = set;\n return _this;\n }\n CustomLink.prototype.set = function (x) { };\n return CustomLink;\n}(Link));\n\nvar CloneLink = (function (_super) {\n __extends(CloneLink, _super);\n function CloneLink(parent, set) {\n var _this = _super.call(this, parent.value) || this;\n _this.set = set;\n var error = parent.error;\n if (error)\n _this.error = error;\n return _this;\n }\n CloneLink.prototype.set = function (x) { };\n return CloneLink;\n}(Link));\n\nvar EqualsLink = (function (_super) {\n __extends(EqualsLink, _super);\n function EqualsLink(parent, truthyValue) {\n var _this = _super.call(this, parent.value === truthyValue) || this;\n _this.parent = parent;\n _this.truthyValue = truthyValue;\n return _this;\n }\n EqualsLink.prototype.set = function (x) {\n this.parent.set(x ? this.truthyValue : null);\n };\n return EqualsLink;\n}(Link));\n\nvar EnabledLink = (function (_super) {\n __extends(EnabledLink, _super);\n function EnabledLink(parent, defaultValue) {\n var _this = _super.call(this, parent.value != null) || this;\n _this.parent = parent;\n _this.defaultValue = defaultValue;\n return _this;\n }\n EnabledLink.prototype.set = function (x) {\n this.parent.set(x ? this.defaultValue : null);\n };\n return EnabledLink;\n}(Link));\n\nvar ContainsLink = (function (_super) {\n __extends(ContainsLink, _super);\n function ContainsLink(parent, element) {\n var _this = _super.call(this, parent.value.indexOf(element) >= 0) || this;\n _this.parent = parent;\n _this.element = element;\n return _this;\n }\n ContainsLink.prototype.set = function (x) {\n var _this = this;\n var next = Boolean(x);\n if (this.value !== next) {\n var arr = this.parent.value, nextValue = x ? arr.concat(this.element) : arr.filter(function (el) { return el !== _this.element; });\n this.parent.set(nextValue);\n }\n };\n return ContainsLink;\n}(Link));\n\nvar defaultError = 'Invalid value';\n/**\n * Link to array or object element enclosed in parent link.\n * Performs purely functional update of the parent, shallow copying its value on `set`.\n */\nvar LinkAt = (function (_super) {\n __extends(LinkAt, _super);\n function LinkAt(parent, key) {\n var _this = _super.call(this, parent.value[key]) || this;\n _this.parent = parent;\n _this.key = key;\n return _this;\n }\n LinkAt.prototype.remove = function () {\n this.parent.removeAt(this.key);\n };\n // Set new element value to parent array or object, performing purely functional update.\n LinkAt.prototype.set = function (x) {\n var _this = this;\n if (this.value !== x) {\n this.parent.update(function (value) {\n value[_this.key] = x;\n return value;\n });\n }\n };\n ;\n return LinkAt;\n}(Link));\n\n//# sourceMappingURL=link.js.map\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (false) {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n\n\nvar emptyFunction = __webpack_require__(19);\nvar invariant = __webpack_require__(20);\n\nmodule.exports = function() {\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n function shim() {\n invariant(\n false,\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim\n };\n\n ReactPropTypes.checkPropTypes = emptyFunction;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\nif (false) {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = __webpack_require__(21)();\n}\n\n\n/***/ })\n/******/ ]);\n});\n\n\n// WEBPACK FOOTER //\n// dist/index.js"," \t// The module cache\n \tvar installedModules = {};\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// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\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, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\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 = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 9);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 6ec19945f386c7385049","module.exports = __WEBPACK_EXTERNAL_MODULE_0__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"commonjs\":\"nestedtypes\",\"commonjs2\":\"nestedtypes\",\"amd\":\"nestedtypes\",\"root\":\"Nested\"}\n// module id = 0\n// module chunks = 0","import * as PropTypes from 'prop-types';\nimport { Record, tools } from 'type-r';\nexport function collectSpecs(spec, name) {\n var attributes = null;\n // Scan through local mixin, and gather specs. Refactor it later, it's not good. At all.\n for (var i = spec.mixins.length - 1; i >= 0; i--) {\n var mixin = spec.mixins[i], mixinAttrs = mixin[name];\n if (mixinAttrs) {\n attributes || (attributes = {});\n tools.assign(attributes, mixinAttrs);\n }\n }\n // Merge it with local data.\n var specAttrs = spec[name];\n if (specAttrs) {\n if (attributes) {\n tools.assign(attributes, specAttrs);\n }\n else {\n attributes = specAttrs;\n }\n }\n return attributes;\n}\nexport function compileSpecs(props) {\n var propTypes = {}, \n // Create NestedTypes model definition to process props spec.\n modelProto = Record.defaults(props).prototype;\n var defaults, watchers, changeHandlers;\n modelProto.forEachAttr(modelProto._attributes, function (spec, name) {\n // Skip auto-generated `id` attribute.\n if (name !== 'id') {\n var value = spec.value, type = spec.type, options = spec.options;\n // Translate props type to the propTypes guard.\n propTypes[name] = translateType(type, options.isRequired);\n if (options._onChange) {\n watchers || (watchers = {});\n watchers[name] = toLocalWatcher(options._onChange);\n }\n // Handle listening to event maps...\n if (options.changeHandlers) {\n changeHandlers || (changeHandlers = {});\n changeHandlers[name] = options.changeHandlers;\n }\n // Handle listening to props changes...\n if (options.changeEvents) {\n changeHandlers || (changeHandlers = {});\n var handlers = changeHandlers[name] || (changeHandlers[name] = []), changeEvents_1 = options.changeEvents === 'string' ? options.changeEvents : null;\n handlers.push(function (prev, next, component) {\n prev && component.stopListening(prev);\n next && component.listenTo(next, changeEvents_1 || next._changeEventName, component.asyncUpdate);\n });\n }\n // If default value is explicitly provided...\n if (value !== void 0) {\n //...append it to getDefaultProps function.\n defaults || (defaults = {});\n defaults[name] = spec.convert(value);\n }\n }\n });\n return { propTypes: propTypes, defaults: defaults, watchers: watchers, changeHandlers: changeHandlers };\n}\nfunction toLocalWatcher(ref) {\n return typeof ref === 'function' ? ref : function (value, name) {\n this[ref] && this[ref](value, name);\n };\n}\nvar Node = (function () {\n function Node() {\n }\n return Node;\n}());\nexport { Node };\nvar Element = (function () {\n function Element() {\n }\n return Element;\n}());\nexport { Element };\nfunction translateType(Type, isRequired) {\n var T = _translateType(Type);\n return isRequired ? T.isRequired : T;\n}\nfunction _translateType(Type) {\n switch (Type) {\n case Number:\n case Number.integer:\n return PropTypes.number;\n case String:\n return PropTypes.string;\n case Boolean:\n return PropTypes.bool;\n case Array:\n return PropTypes.array;\n case Function:\n return PropTypes.func;\n case Object:\n return PropTypes.object;\n case Node:\n return PropTypes.node;\n case Element:\n return PropTypes.element;\n case void 0:\n case null:\n return PropTypes.any;\n default:\n return PropTypes.instanceOf(Type);\n }\n}\n//# sourceMappingURL=typeSpecs.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/typeSpecs.js\n// module id = 1\n// module chunks = 0","import * as React from 'react';\nimport { define, mixins } from 'type-r';\nimport { Node, Element } from './define';\nimport Link from './link';\nimport { Component, createClass } from './component';\n// extend React namespace\nvar ReactMVx = Object.create(React);\n// Make it compatible with ES6 module format.\nReactMVx.default = ReactMVx;\n// listenToProps, listenToState, model, attributes, Model\nReactMVx.createClass = createClass;\nReactMVx.define = define;\nReactMVx.mixins = mixins;\nReactMVx.Node = Node.value(null);\nReactMVx.Element = Element.value(null);\nReactMVx.Link = Link;\nReactMVx.Component = Component;\nvar assignToState = ReactMVx.assignToState = function (key) {\n return function (prop) {\n this.state.assignFrom((_a = {}, _a[key] = prop && prop instanceof Link ? prop.value : prop, _a));\n var _a;\n };\n};\nexport default ReactMVx;\nexport { createClass, define, mixins, Node, Element, Link, Component, assignToState };\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/index.js\n// module id = 2\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_3__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"commonjs\":\"react-dom\",\"commonjs2\":\"react-dom\",\"amd\":\"react-dom\",\"root\":\"ReactDOM\"}\n// module id = 3\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_4__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"commonjs\":\"react\",\"commonjs2\":\"react\",\"amd\":\"react\",\"root\":\"React\"}\n// module id = 4\n// module chunks = 0","import processStore from './store';\nimport processState from './state';\nimport processContext from './context';\nimport processCommons from './common';\nimport processProps from './props';\nexport default function process(spec, baseProto) {\n if (baseProto === void 0) { baseProto = {}; }\n // Initialize mixins placeholder...\n spec.mixins || (spec.mixins = []);\n processStore(spec, baseProto);\n processState(spec, baseProto);\n processContext(spec, baseProto);\n processProps(spec, baseProto);\n processCommons(spec, baseProto);\n return spec;\n}\n;\nexport { Node, Element } from './typeSpecs';\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/index.js\n// module id = 5\n// module chunks = 0","/*****************\n * State\n */\nimport { collectSpecs } from './typeSpecs';\nimport { Record, Store } from 'type-r';\nexport default function process(spec, baseProto) {\n // process state spec...\n var attributes = collectSpecs(spec, 'state');\n if (attributes || baseProto.State) {\n var BaseModel = baseProto.State || Record;\n spec.State = attributes ? (typeof attributes === 'function' ? attributes : BaseModel.defaults(attributes)) : BaseModel;\n spec.mixins.push(StateMixin);\n spec.mixins.push(UpdateOnNestedChangesMixin);\n delete spec.state;\n delete spec.attributes;\n }\n}\nexport var StateMixin = {\n state: null,\n componentWillMount: function () {\n // props.__keepState is used to workaround issues in Backbone intergation layer\n var state = this.state = this.props.__keepState || new this.State();\n // Take ownership on state...\n state._owner = this;\n state._ownerKey = 'state';\n },\n context: {\n _nestedStore: Store\n },\n // reference global store to fix model's store locator\n getStore: function () {\n // Attempt to get the store from the context first. Then - fallback to the state's default store.\n // TBD: Need to figure out a good way of managing local stores.\n var context, state;\n return ((context = this.context) && context._archetypeStore) ||\n ((state = this.state) && state._defaultStore);\n },\n componentWillUnmount: function () {\n var state = this.state;\n state._owner = state._ownerKey = void 0;\n state.dispose();\n this.state = void 0;\n }\n};\nexport var UpdateOnNestedChangesMixin = {\n _onChildrenChange: function () { },\n componentDidMount: function () {\n this._onChildrenChange = this.asyncUpdate;\n }\n};\n//# sourceMappingURL=state.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/state.js\n// module id = 6\n// module chunks = 0","import * as React from 'react';\nimport ReactDOM from 'react-dom';\nimport { tools } from 'type-r';\nwindow.Page || (window.Page = { forceResize: function () { } });\nexport default function use(View) {\n var dispose = View.prototype.dispose || function () { }, setElement = View.prototype.setElement;\n var ComponentView = View.extend({\n reactClass: null,\n props: {},\n element: null,\n initialize: function (props) {\n // memorise arguments to pass to React\n this.options = props || {};\n },\n setElement: function () {\n this.unmountComponent(true);\n return setElement.apply(this, arguments);\n },\n // cached instance of react component...\n component: null,\n prevState: null,\n resize: function () {\n window.Page.forceResize();\n },\n render: function () {\n var options = this.prevState ? tools.fastAssign({ __keepState: this.prevState }, this.options) : this.options, element = React.createElement(this.reactClass, options), component = ReactDOM.render(element, this.el);\n this.component || this.mountComponent(component);\n },\n mountComponent: function (component) {\n this.component = component;\n this.prevState = null;\n component.trigger && this.listenTo(component, 'all', function () {\n this.trigger.apply(this, arguments);\n });\n },\n unmountComponent: function (keepModel) {\n var component = this.component;\n if (component) {\n this.prevState = component.model;\n if (component.trigger) {\n this.stopListening(component);\n }\n component._preventDispose = Boolean(keepModel);\n ReactDOM.unmountComponentAtNode(this.el);\n this.component = null;\n }\n },\n dispose: function () {\n this.unmountComponent();\n return dispose.apply(this, arguments);\n }\n });\n Object.defineProperty(ComponentView.prototype, 'model', {\n get: function () {\n this.component || this.render();\n return this.component && this.component.model;\n }\n });\n return ComponentView;\n}\n//# sourceMappingURL=component-view.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/component-view.js\n// module id = 7\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport React from './react-mvx';\nimport ReactDOM from 'react-dom';\nimport { tools } from 'type-r';\nvar notEqual = tools.notEqual;\nvar BackboneView = (function (_super) {\n __extends(BackboneView, _super);\n function BackboneView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.saveRef = function (element) {\n _this.root = element;\n };\n return _this;\n }\n BackboneView.prototype.shouldComponentUpdate = function (next) {\n var props = this.props;\n return next.View !== props.View || notEqual(next.options, props.options);\n };\n BackboneView.prototype.hasUnsavedChanges = function () {\n var view = this.view;\n return view && (typeof view.hasUnsavedChanges === 'function' ? view.hasUnsavedChanges() : view.hasUnsavedChanges);\n };\n BackboneView.prototype.render = function () {\n return ReactDOM.div({\n ref: this.saveRef,\n className: this.props.className\n });\n };\n BackboneView.prototype.componentDidMount = function () {\n this._mountView();\n };\n BackboneView.prototype.componentDidUpdate = function () {\n this._dispose();\n this._mountView();\n };\n BackboneView.prototype.componentWillUnmount = function () {\n this._dispose();\n };\n BackboneView.prototype._mountView = function () {\n var el = this.root, p = this.props;\n var view = this.view = p.options ? new p.View(p.options) : new p.View();\n el.appendChild(view.el);\n view.render();\n };\n BackboneView.prototype._dispose = function () {\n var view = this.view;\n if (view) {\n if (view.dispose) {\n view.dispose();\n }\n else {\n view.stopListening();\n view.off();\n }\n this.root.innerHTML = \"\";\n this.view = null;\n }\n };\n return BackboneView;\n}(React.Component));\nexport default BackboneView;\n//# sourceMappingURL=view-element.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/view-element.js\n// module id = 8\n// module chunks = 0","var _this = this;\nimport React from './react-mvx';\nexport default React;\nexport * from './react-mvx';\nimport ReactDOM from 'react-dom';\nimport { $, View, Record } from 'type-r';\nimport subview from './view-element';\nexport { subview };\nimport use from './component-view';\nvar BaseView;\n// export hook to override base View class used...\nexport function useView(View) {\n BaseView = use(View);\n}\nvar define = React.Component.define;\nReact.Component.define = function define(protoProps, staticProps) {\n defineBackboneProxy(this);\n return define.call(this, protoProps, staticProps);\n};\nfunction defineBackboneProxy(Component) {\n Object.defineProperty(Component, 'View', {\n get: function () {\n return this._View || (this._View = BaseView.extend({ reactClass: Component }));\n }\n });\n}\n// Deprecated API for backward compatibility\nvar RecordProto = Record.prototype;\nRecordProto.getLink = RecordProto.linkAt;\nRecordProto.deepLink = RecordProto.linkPath;\nuseView(View);\n// Extend react components to have backbone-style jquery accessors\nvar BackboneViewProps = {\n el: { get: function () { return ReactDOM.findDOMNode(_this); } },\n $el: { get: function () { return $(_this.el); } },\n $: { value: function (sel) { return _this.$el.find(sel); } }\n};\nObject.defineProperties(React.Component.prototype, BackboneViewProps);\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/index.js\n// module id = 9\n// module chunks = 0","/**\n * React components\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\nimport * as React from 'react';\nimport { extendable, mixinRules, tools, Mixable } from 'type-r';\nimport processSpec from './define';\nvar reactMixinRules = {\n componentWillMount: 'reverse',\n componentDidMount: 'reverse',\n componentWillReceiveProps: 'reverse',\n shouldComponentUpdate: 'some',\n componentWillUpdate: 'reverse',\n componentDidUpdate: 'reverse',\n componentWillUnmount: 'sequence',\n state: 'merge',\n store: 'merge',\n props: 'merge',\n context: 'merge',\n childContext: 'merge',\n getChildContext: 'mergeSequence'\n};\nvar Component = (function (_super) {\n __extends(Component, _super);\n function Component() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Component.prototype.linkAt = function (key) {\n // Quick and dirty hack to suppres type error - refactor later.\n return this.state.linkAt(key);\n };\n Component.prototype.linkAll = function () {\n // Quick and dirty hack to suppres type error - refactor later.\n return this.state.linkAll.apply(this, arguments);\n };\n Component.define = function (protoProps, staticProps) {\n var BaseClass = tools.getBaseClass(this), staticsDefinition = tools.getChangedStatics(this, 'state', 'store', 'props', 'autobind', 'context', 'childContext', 'pureRender'), combinedDefinition = tools.assign(staticsDefinition, protoProps || {});\n var definition = processSpec(combinedDefinition, this.prototype);\n var getDefaultProps = definition.getDefaultProps, propTypes = definition.propTypes, contextTypes = definition.contextTypes, childContextTypes = definition.childContextTypes, protoDefinition = __rest(definition, [\"getDefaultProps\", \"propTypes\", \"contextTypes\", \"childContextTypes\"]);\n if (getDefaultProps)\n this.defaultProps = definition.getDefaultProps();\n if (propTypes)\n this.propTypes = propTypes;\n if (contextTypes)\n this.contextTypes = contextTypes;\n if (childContextTypes)\n this.childContextTypes = childContextTypes;\n Mixable.define.call(this, protoDefinition, staticProps);\n return this;\n };\n Component.prototype.assignToState = function (x, key) {\n this.state.assignFrom((_a = {}, _a[key] = x, _a));\n var _a;\n };\n return Component;\n}(React.Component));\nComponent = __decorate([\n extendable,\n mixinRules(reactMixinRules)\n], Component);\nexport { Component };\n/**\n * ES5 components definition factory\n */\nexport function createClass(a_spec) {\n // Gather all methods to pin them to `this` later.\n var methods = [];\n for (var key in a_spec) {\n if (a_spec.hasOwnProperty(key) && typeof a_spec[key] === 'function') {\n methods.push(key);\n }\n }\n var Subclass = Component.extend(__assign({ \n // Override constructor to autobind all the methods...\n constructor: function () {\n Component.apply(this.arguments);\n for (var method in methods) {\n this[method] = this[method].bind(this);\n }\n } }, a_spec));\n return Subclass;\n}\n//# sourceMappingURL=component.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/component.js\n// module id = 10\n// module chunks = 0","/**\n * Process `autobind` specs, attach async event processing and transactional support.\n */\nimport { tools, Events } from 'type-r';\nexport default function compile(spec, _a) {\n var _b = _a._autobind, _autobind = _b === void 0 ? [] : _b;\n // Attach autobind mixin...\n if (spec.autobind) {\n spec._autobind = spec.autobind.split(/\\s+/).concat(_autobind);\n spec.mixins.push(AutobindMixin);\n delete spec.autobind;\n }\n // Attach common mixin\n spec.mixins.push(CommonMixin);\n}\n/***\n * Autobinding\n */\nvar AutobindMixin = {\n componentWillMount: function () {\n for (var _i = 0, _a = this._autobind; _i < _a.length; _i++) {\n var name_1 = _a[_i];\n this[name_1] = this[name_1].bind(this);\n }\n }\n};\nexport function asyncUpdate() {\n this.shouldComponentUpdate === returnFalse || this._disposed || this.forceUpdate();\n}\nfunction returnFalse() { return false; }\n/**\n * Mixin which is attached to all components.\n */\nvar CommonMixin = tools.assign({\n componentWillUnmount: function () {\n // Prevent memory leaks when working with events.\n this.off();\n this.stopListening();\n // Mark component as disposed.\n this._disposed = true;\n },\n // Safe version of the forceUpdate suitable for asynchronous callbacks.\n asyncUpdate: asyncUpdate,\n /**\n * Performs transactional update for both props and state.\n * Suppress updates during the transaction, and force update aftewards.\n * Wrapping the sequence of changes in a transactions guarantees that\n * React component will be updated _after_ all the changes to the\n * both props and local state are applied.\n */\n transaction: function (fun) {\n var shouldComponentUpdate = this.shouldComponentUpdate, isRoot = shouldComponentUpdate !== returnFalse;\n if (isRoot) {\n this.shouldComponentUpdate = returnFalse;\n }\n fun(this.props, this.state);\n if (isRoot) {\n this.shouldComponentUpdate = shouldComponentUpdate;\n this.asyncUpdate();\n }\n }\n}, Events);\n//# sourceMappingURL=common.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/common.js\n// module id = 11\n// module chunks = 0","var __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nimport { compileSpecs, collectSpecs } from './typeSpecs';\nexport default function process(spec, _a) {\n var _b = _a._context, _context = _b === void 0 ? {} : _b, _c = _a._childContext, _childContext = _c === void 0 ? {} : _c;\n // process context specs...\n var context = collectSpecs(spec, 'context');\n if (context) {\n spec._context = __assign({}, _context, context);\n spec.contextTypes = compileSpecs(context).propTypes;\n delete spec.context;\n }\n // and child context specs...\n var childContext = collectSpecs(spec, 'childContext');\n if (childContext) {\n spec._childContext = __assign({}, _childContext, childContext);\n spec.childContextTypes = compileSpecs(childContext).propTypes;\n delete spec.childContext;\n }\n}\n//# sourceMappingURL=context.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/context.js\n// module id = 12\n// module chunks = 0","/**\n * Handle props specification and everything which is related:\n * - local listening to props changes\n * - pure render mixin\n */\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nimport { collectSpecs, compileSpecs } from './typeSpecs';\nimport createPureRenderMixin from './pureRender';\nexport default function process(spec, _a) {\n var pureRender = _a.pureRender, _b = _a._props, _props = _b === void 0 ? {} : _b, _c = _a._listenToPropsArray, _listenToPropsArray = _c === void 0 ? [] : _c, _d = _a._listenToPropsHash, _listenToPropsHash = _d === void 0 ? {} : _d;\n // process props spec...\n var props = collectSpecs(spec, 'props');\n if (props) {\n var allProps = spec._props = __assign({}, _props, props);\n var _e = compileSpecs(allProps), propTypes = _e.propTypes, defaults_1 = _e.defaults, watchers = _e.watchers, changeHandlers = _e.changeHandlers;\n spec.propTypes = propTypes;\n if (defaults_1)\n spec.getDefaultProps = function () { return defaults_1; };\n if (watchers) {\n spec.mixins.unshift(WatchersMixin);\n spec._watchers = watchers;\n }\n if (changeHandlers) {\n spec.mixins.unshift(ChangeHandlersMixin);\n spec._changeHandlers = changeHandlers;\n }\n delete spec.props;\n }\n // compile pure render mixin\n if (spec._props && (spec.pureRender || pureRender)) {\n spec.mixins.push(createPureRenderMixin(spec._props));\n }\n}\n/**\n * ChangeHandlers are fired in sequence upon props replacement.\n * Fires _after_ UI is updated. Used for managing events subscriptions.\n */\nvar ChangeHandlersMixin = {\n componentDidMount: handleChanges,\n componentDidUpdate: handleChanges\n};\nfunction handleChanges(prev) {\n if (prev === void 0) { prev = {}; }\n var _a = this, _changeHandlers = _a._changeHandlers, props = _a.props;\n for (var name_1 in _changeHandlers) {\n if (prev[name_1] !== props[name_1]) {\n for (var _i = 0, _b = _changeHandlers[name_1]; _i < _b.length; _i++) {\n var handler = _b[_i];\n handler(props[name_1], prev[name_1], this);\n }\n }\n }\n}\n/**\n * Watchers works on props replacement and fires _before_ any change will be applied and UI is updated.\n * Fired in componentWillMount as well, which makes it a nice way to sync state from props.\n */\nvar WatchersMixin = {\n componentWillReceiveProps: function (next) {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_2 in _watchers) {\n if (next[name_2] !== props[name_2]) {\n _watchers[name_2].call(this, next[name_2], name_2);\n }\n }\n },\n componentWillMount: function () {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_3 in _watchers) {\n _watchers[name_3].call(this, props[name_3], name_3);\n }\n }\n};\n//# sourceMappingURL=props.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/props.js\n// module id = 13\n// module chunks = 0","export default function createPureRenderMixin(props) {\n var ctorBody = ['var v; this._s = s && s._changeToken'], isChangedBody = ['var v; return ( s && s._changeToken !== t._s )'];\n for (var name_1 in props) {\n var propExpr = \"( ( v = p.\" + name_1 + \") && v._changeToken ) || v\";\n ctorBody.push(\"this.\" + name_1 + \"= \" + propExpr);\n isChangedBody.push(\"t.\" + name_1 + \" !== (\" + propExpr + \")\");\n }\n var ChangeTokens = new Function('p', 's', ctorBody.join(';')), isChanged = new Function('t', 'p', 's', isChangedBody.join('||'));\n ChangeTokens.prototype = null;\n return {\n _changeTokens: null,\n shouldComponentUpdate: function (nextProps) {\n return isChanged(this._changeTokens, nextProps, this.state);\n },\n componentDidMount: function () {\n this._changeTokens = new ChangeTokens(this.props, this.state);\n },\n componentDidUpdate: function () {\n this._changeTokens = new ChangeTokens(this.props, this.state);\n }\n };\n}\n;\n//# sourceMappingURL=pureRender.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/pureRender.js\n// module id = 14\n// module chunks = 0","import { collectSpecs } from './typeSpecs';\nimport { Store } from 'type-r';\nimport { StateMixin, UpdateOnNestedChangesMixin } from './state';\nexport default function process(spec, baseProto) {\n var store = collectSpecs(spec, 'store');\n if (store) {\n delete spec.store;\n if (store instanceof Store) {\n // Direct reference to an existing store. Put it to the prototype.\n spec.store = store;\n spec.mixins.push(ExternalStoreMixin);\n }\n else {\n spec.Store = store;\n spec.mixins.push(InternalStoreMixin);\n spec.mixins.push(UpdateOnNestedChangesMixin);\n }\n spec.mixins.push(ExposeStoreMixin);\n }\n}\n/**\n * Attached whenever the store declaration of any form is present in the component.\n */\nvar ExposeStoreMixin = {\n childContext: {\n _nestedStore: Store\n },\n getChildContext: function () {\n return { _nestedStore: this.store };\n },\n getStore: function () {\n return this.store;\n },\n // Will be called by the store when the lookup will fail.\n get: function (key) {\n // Ask upper store.\n var store = StateMixin.getStore.call(this, key);\n return store && store.get(key);\n }\n};\n/**\n * External store must just track the changes and trigger render.\n * TBD: don't use it yet.\n */\nvar ExternalStoreMixin = {\n componentDidMount: function () {\n // Start UI updates on state changes.\n this.listenTo(this.store, 'change', this.asyncUpdate);\n }\n};\nvar InternalStoreMixin = {\n componentWillMount: function () {\n var store = this.store = new this.Store();\n store._owner = this;\n store._ownerKey = 'store';\n },\n componentWillUnmount: function () {\n this.store._ownerKey = this.store._owner = void 0;\n this.store.dispose();\n this.store = void 0;\n }\n};\n//# sourceMappingURL=store.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/store.js\n// module id = 15\n// module chunks = 0","/**\n * Import ValueLink library\n * Define value links binding mixins to the Record and Collection\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { Mixable, Record } from 'type-r';\nimport { Link } from './valuelink/link';\nexport default Link;\nMixable.mixTo(Link);\n/**\n * Record\n */\nRecord.mixins({\n // Link to the record's attribute by its key.\n linkAt: function (key) {\n return cacheLink(getLinksCache(this), this, key);\n },\n // Link to the attribute of the record's tree by symbolic path.\n linkPath: function (path, options) {\n return new RecordDeepLink(this, path, options);\n },\n // Link all (or listed) attributes and return links cache.\n linkAll: function () {\n var links = getLinksCache(this);\n if (arguments.length) {\n for (var i = 0; i < arguments.length; i++) {\n cacheLink(links, this, arguments[i]);\n }\n }\n else {\n var attributes = this.attributes;\n for (var key in attributes) {\n attributes[key] === void 0 || cacheLink(links, this, key);\n }\n }\n return links;\n }\n});\n/**\n * Link to Type-R's record attribute.\n * Strict evaluation of value, lazy evaluation of validation error.\n * Links are cached in the records\n */\nvar RecordLink = (function (_super) {\n __extends(RecordLink, _super);\n function RecordLink(record, attr, value) {\n var _this = _super.call(this, value) || this;\n _this.record = record;\n _this.attr = attr;\n return _this;\n }\n RecordLink.prototype.set = function (x) {\n this.record[this.attr] = x;\n };\n Object.defineProperty(RecordLink.prototype, \"error\", {\n get: function () {\n return this._error === void 0 ?\n this.record.getValidationError(this.attr) :\n this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n return RecordLink;\n}(Link));\nvar RecordDeepLink = (function (_super) {\n __extends(RecordDeepLink, _super);\n function RecordDeepLink(record, path, options) {\n var _this = _super.call(this, record.deepGet(path)) || this;\n _this.record = record;\n _this.path = path;\n _this.options = options;\n return _this;\n }\n Object.defineProperty(RecordDeepLink.prototype, \"error\", {\n get: function () {\n if (this._error === void 0) {\n this._error = this.record.deepValidationError(this.path) || null;\n }\n return this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(RecordDeepLink.prototype, \"_changeToken\", {\n get: function () {\n return this.record._changeToken;\n },\n enumerable: true,\n configurable: true\n });\n RecordDeepLink.prototype.set = function (x) {\n this.record.deepSet(this.path, x, this.options);\n };\n return RecordDeepLink;\n}(Link));\nfunction getLinksCache(record) {\n return record._links || (record._links = new record.Attributes({}));\n}\nfunction cacheLink(links, record, key) {\n var cached = links[key], value = record[key];\n return cached && cached.value === value ? cached\n : links[key] = new RecordLink(record, key, value);\n}\n/***********************************\n * Collection\n */\nRecord.Collection.mixins({\n // Boolean link to the record's presence in the collection\n linkContains: function (record) {\n return new CollectionLink(this, record);\n },\n // Link to collection's property\n linkAt: function (prop) {\n var _this = this;\n return Link.value(this[prop], function (x) { return _this[prop] = x; });\n }\n});\n/**\n * Boolean link to presence of NestedType's record in collection.\n * Strict evaluation of value, no error.\n * Safe implementation of _changeToken.\n */\nvar CollectionLink = (function (_super) {\n __extends(CollectionLink, _super);\n function CollectionLink(collection, record) {\n var _this = _super.call(this, Boolean(collection._byId[record.cid])) || this;\n _this.collection = collection;\n _this.record = record;\n return _this;\n }\n CollectionLink.prototype.set = function (x) {\n this.collection.toggle(this.record, x);\n };\n return CollectionLink;\n}(Link));\n//# sourceMappingURL=link.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/link.js\n// module id = 16\n// module chunks = 0","var ArrayProto = Array.prototype, ObjectProto = Object.prototype;\nexport function helpers(value) {\n if (value && typeof value === 'object') {\n switch (Object.getPrototypeOf(value)) {\n case ArrayProto: return arrayHelpers;\n case ObjectProto: return objectHelpers;\n }\n }\n return dummyHelpers;\n}\n// Do nothing for types other than Array and plain Object.\nvar dummyHelpers = {\n clone: function (value) { return value; },\n map: function (link, fun) { return []; },\n remove: function (value) { return value; }\n};\n// `map` and `clone` for plain JS objects\nexport var objectHelpers = {\n // Map through the link to object\n map: function (link, iterator) {\n var mapped = [];\n for (var key in link.value) {\n var element = iterator(link.at(key), key);\n element === void 0 || (mapped.push(element));\n }\n return mapped;\n },\n remove: function (object, key) {\n delete object[key];\n return object;\n },\n // Shallow clone plain JS object\n clone: function (object) {\n var cloned = {};\n for (var key in object) {\n cloned[key] = object[key];\n }\n return cloned;\n }\n};\n// `map` and `clone` helpers for arrays.\nexport var arrayHelpers = {\n // Shallow clone array\n clone: function (array) {\n return array.slice();\n },\n remove: function (array, i) {\n array.splice(i, 1);\n return array;\n },\n // Map through the link to array\n map: function (link, iterator) {\n var length = link.value.length, mapped = Array(length);\n for (var i = 0, j = 0; i < length; i++) {\n var y = iterator(link.at(i), i);\n y === void 0 || (mapped[j++] = y);\n }\n mapped.length === j || (mapped.length = j);\n return mapped;\n }\n};\n//# sourceMappingURL=helpers.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/valuelink/helpers.js\n// module id = 17\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * Advanced React links for purely functional two-way data binding\n *\n * MIT License, (c) 2016 Vlad Balin, Volicon.\n */\nimport { helpers, arrayHelpers } from './helpers';\n// Main Link class. All links must extend it.\nvar Link = (function () {\n // create \n function Link(value) {\n this.value = value;\n }\n // Create custom link to arbitrary value\n Link.value = function (value, set) {\n return new CustomLink(value, set);\n };\n Object.defineProperty(Link.prototype, \"validationError\", {\n // DEPRECATED: Old error holder for backward compatibility with Volicon code base\n get: function () { return this.error; },\n enumerable: true,\n configurable: true\n });\n Link.prototype.onChange = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n handler(x);\n _this.set(x);\n });\n };\n // DEPRECATED: Old React method for backward compatibility\n Link.prototype.requestChange = function (x) {\n this.set(x);\n };\n // Immediately update the link value using given transform function.\n Link.prototype.update = function (transform, e) {\n var next = transform(this.clone(), e);\n next === void 0 || this.set(next);\n };\n // Create new link which applies transform function on set.\n Link.prototype.pipe = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n var next = handler(x, _this.value);\n next === void 0 || _this.set(next);\n });\n };\n // Create UI event handler function which will update the link with a given transform function.\n Link.prototype.action = function (transform) {\n var _this = this;\n return function (e) { return _this.update(transform, e); };\n };\n Link.prototype.equals = function (truthyValue) {\n return new EqualsLink(this, truthyValue);\n };\n Link.prototype.enabled = function (defaultValue) {\n return new EnabledLink(this, defaultValue || \"\");\n };\n // Array-only links methods\n Link.prototype.contains = function (element) {\n return new ContainsLink(this, element);\n };\n Link.prototype.push = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.push.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.unshift = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.unshift.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.splice = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.splice.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.map = function (iterator) {\n return helpers(this.value).map(this, iterator);\n };\n Link.prototype.removeAt = function (key) {\n var value = this.value, _ = helpers(value);\n this.set(_.remove(_.clone(value), key));\n };\n Link.prototype.at = function (key) {\n return new LinkAt(this, key);\n };\n Link.prototype.clone = function () {\n var value = this.value;\n return helpers(value).clone(value);\n };\n Link.prototype.pick = function () {\n var links = {};\n for (var i = 0; i < arguments.length; i++) {\n var key = arguments[i];\n links[key] = new LinkAt(this, key);\n }\n return links;\n };\n /**\n * Validate link with validness predicate and optional custom error object. Can be chained.\n */\n Link.prototype.check = function (whenValid, error) {\n if (!this.error && !whenValid(this.value)) {\n this.error = error || whenValid.error || defaultError;\n }\n return this;\n };\n return Link;\n}());\nexport { Link };\nvar CustomLink = (function (_super) {\n __extends(CustomLink, _super);\n function CustomLink(value, set) {\n var _this = _super.call(this, value) || this;\n _this.set = set;\n return _this;\n }\n CustomLink.prototype.set = function (x) { };\n return CustomLink;\n}(Link));\nexport { CustomLink };\nvar CloneLink = (function (_super) {\n __extends(CloneLink, _super);\n function CloneLink(parent, set) {\n var _this = _super.call(this, parent.value) || this;\n _this.set = set;\n var error = parent.error;\n if (error)\n _this.error = error;\n return _this;\n }\n CloneLink.prototype.set = function (x) { };\n return CloneLink;\n}(Link));\nexport { CloneLink };\nvar EqualsLink = (function (_super) {\n __extends(EqualsLink, _super);\n function EqualsLink(parent, truthyValue) {\n var _this = _super.call(this, parent.value === truthyValue) || this;\n _this.parent = parent;\n _this.truthyValue = truthyValue;\n return _this;\n }\n EqualsLink.prototype.set = function (x) {\n this.parent.set(x ? this.truthyValue : null);\n };\n return EqualsLink;\n}(Link));\nexport { EqualsLink };\nvar EnabledLink = (function (_super) {\n __extends(EnabledLink, _super);\n function EnabledLink(parent, defaultValue) {\n var _this = _super.call(this, parent.value != null) || this;\n _this.parent = parent;\n _this.defaultValue = defaultValue;\n return _this;\n }\n EnabledLink.prototype.set = function (x) {\n this.parent.set(x ? this.defaultValue : null);\n };\n return EnabledLink;\n}(Link));\nexport { EnabledLink };\nvar ContainsLink = (function (_super) {\n __extends(ContainsLink, _super);\n function ContainsLink(parent, element) {\n var _this = _super.call(this, parent.value.indexOf(element) >= 0) || this;\n _this.parent = parent;\n _this.element = element;\n return _this;\n }\n ContainsLink.prototype.set = function (x) {\n var _this = this;\n var next = Boolean(x);\n if (this.value !== next) {\n var arr = this.parent.value, nextValue = x ? arr.concat(this.element) : arr.filter(function (el) { return el !== _this.element; });\n this.parent.set(nextValue);\n }\n };\n return ContainsLink;\n}(Link));\nexport { ContainsLink };\nvar defaultError = 'Invalid value';\n/**\n * Link to array or object element enclosed in parent link.\n * Performs purely functional update of the parent, shallow copying its value on `set`.\n */\nvar LinkAt = (function (_super) {\n __extends(LinkAt, _super);\n function LinkAt(parent, key) {\n var _this = _super.call(this, parent.value[key]) || this;\n _this.parent = parent;\n _this.key = key;\n return _this;\n }\n LinkAt.prototype.remove = function () {\n this.parent.removeAt(this.key);\n };\n // Set new element value to parent array or object, performing purely functional update.\n LinkAt.prototype.set = function (x) {\n var _this = this;\n if (this.value !== x) {\n this.parent.update(function (value) {\n value[_this.key] = x;\n return value;\n });\n }\n };\n ;\n return LinkAt;\n}(Link));\nexport { LinkAt };\n//# sourceMappingURL=link.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/valuelink/link.js\n// module id = 18\n// module chunks = 0","\"use strict\";\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/fbjs/lib/emptyFunction.js\n// module id = 19\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (process.env.NODE_ENV !== 'production') {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/fbjs/lib/invariant.js\n// module id = 20\n// module chunks = 0","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n'use strict';\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\nvar invariant = require('fbjs/lib/invariant');\n\nmodule.exports = function() {\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n function shim() {\n invariant(\n false,\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim\n };\n\n ReactPropTypes.checkPropTypes = emptyFunction;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/prop-types/factoryWithThrowingShims.js\n// module id = 21\n// module chunks = 0","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/prop-types/index.js\n// module id = 22\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"index.js","sources":["../lib/react-mvx/define/state.js","../lib/react-mvx/define/store.js","../lib/react-mvx/define/typeSpecs.js","../lib/react-mvx/define/context.js","../lib/react-mvx/define/pureRender.js","../lib/react-mvx/define/props.js","../lib/react-mvx/define/index.js","../lib/react-mvx/valuelink/helpers.js","../lib/react-mvx/valuelink/link.js","../lib/react-mvx/link.js","../lib/react-mvx/component.js","../lib/react-mvx/index.js","../lib/view-element.js","../lib/component-view.js","../lib/createClass.js","../lib/index.js"],"sourcesContent":["var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n/*****************\n * State\n */\nimport { define, Record, Store } from 'type-r';\nexport default function process(definition, BaseComponentClass) {\n var prototype = this.prototype;\n var state = definition.state, State = definition.State;\n if (typeof state === 'function') {\n State = state;\n state = void 0;\n }\n if (state) {\n var BaseClass = State || prototype.State || Record;\n var ComponentState = (function (_super) {\n __extends(ComponentState, _super);\n function ComponentState() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return ComponentState;\n }(BaseClass));\n ComponentState.attributes = state;\n ComponentState = __decorate([\n define\n ], ComponentState);\n prototype.State = ComponentState;\n }\n else if (State) {\n prototype.State = State;\n }\n if (state || State) {\n this.mixins.merge([StateMixin, UpdateOnNestedChangesMixin]);\n }\n}\nexport var StateMixin = {\n //state : null,\n _initializeState: function () {\n // props.__keepState is used to workaround issues in Backbone intergation layer\n var state = this.state = this.props.__keepState || new this.State();\n // Take ownership on state...\n state._owner = this;\n state._ownerKey = 'state';\n },\n context: {\n _nestedStore: Store\n },\n // reference global store to fix model's store locator\n getStore: function () {\n // Attempt to get the store from the context first. Then - fallback to the state's default store.\n // TBD: Need to figure out a good way of managing local stores.\n var context, state;\n return ((context = this.context) && context._nestedStore) ||\n ((state = this.state) && state._defaultStore);\n },\n componentWillUnmount: function () {\n var state = this.state;\n state._owner = state._ownerKey = void 0;\n this._preventDispose /* hack for component-view to preserve the state */ || state.dispose();\n this.state = void 0;\n }\n};\nexport var UpdateOnNestedChangesMixin = {\n _onChildrenChange: function () { },\n componentDidMount: function () {\n this._onChildrenChange = this.asyncUpdate;\n }\n};\n//# sourceMappingURL=state.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { define, Store } from 'type-r';\nimport { StateMixin, UpdateOnNestedChangesMixin } from './state';\nexport default function onDefine(definition, BaseClass) {\n var store = definition.store, StoreClass = definition.Store;\n if (store && store instanceof Store) {\n // Direct reference to an existing store. Put it to the prototype.\n this.prototype.store = store;\n this.mixins.merge([ExternalStoreMixin, ExposeStoreMixin]);\n }\n else if (store || definition.Store) {\n if (typeof store === 'function') {\n StoreClass = store;\n store = void 0;\n }\n if (store) {\n var BaseClass_1 = StoreClass || this.prototype.Store || Store;\n var InternalStore = (function (_super) {\n __extends(InternalStore, _super);\n function InternalStore() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return InternalStore;\n }(BaseClass_1));\n InternalStore.attrbutes = store;\n InternalStore = __decorate([\n define\n ], InternalStore);\n ;\n this.prototype.Store = InternalStore;\n }\n else if (StoreClass) {\n this.prototype.Store = StoreClass;\n }\n this.mixins.merge([InternalStoreMixin, UpdateOnNestedChangesMixin, ExposeStoreMixin]);\n }\n}\n/**\n * Attached whenever the store declaration of any form is present in the component.\n */\nvar ExposeStoreMixin = {\n childContext: {\n _nestedStore: Store\n },\n getChildContext: function () {\n return { _nestedStore: this.store };\n },\n getStore: function () {\n return this.store;\n },\n // Will be called by the store when the lookup will fail.\n get: function (key) {\n // Ask upper store.\n var store = StateMixin.getStore.call(this, key);\n return store && store.get(key);\n }\n};\n/**\n * External store must just track the changes and trigger render.\n * TBD: don't use it yet.\n */\nvar ExternalStoreMixin = {\n componentDidMount: function () {\n // Start UI updates on state changes.\n this.listenTo(this.store, 'change', this.asyncUpdate);\n }\n};\nvar InternalStoreMixin = {\n componentWillMount: function () {\n var store = this.store = new this.Store();\n store._owner = this;\n store._ownerKey = 'store';\n },\n componentWillUnmount: function () {\n this.store._ownerKey = this.store._owner = void 0;\n this.store.dispose();\n this.store = void 0;\n }\n};\n//# sourceMappingURL=store.js.map","import * as PropTypes from 'prop-types';\nimport { Record } from 'type-r';\nexport function compileSpecs(props) {\n var propTypes = {}, \n // Create NestedTypes model definition to process props spec.\n modelProto = Record.defaults(props).prototype;\n var defaults, watchers, changeHandlers;\n modelProto.forEachAttr(modelProto._attributes, function (spec, name) {\n // Skip auto-generated `id` attribute.\n if (name !== 'id') {\n var value = spec.value, type = spec.type, options = spec.options;\n // Translate props type to the propTypes guard.\n propTypes[name] = translateType(type, options.isRequired);\n if (options._onChange) {\n watchers || (watchers = {});\n watchers[name] = toLocalWatcher(options._onChange);\n }\n // Handle listening to event maps...\n if (options.changeHandlers && options.changeHandlers.length) {\n changeHandlers || (changeHandlers = {});\n changeHandlers[name] = options.changeHandlers;\n }\n // Handle listening to props changes...\n if (options.changeEvents) {\n changeHandlers || (changeHandlers = {});\n var handlers = changeHandlers[name] || (changeHandlers[name] = []), changeEvents_1 = typeof options.changeEvents === 'string' ? options.changeEvents : null;\n handlers.push(function (next, prev, component) {\n prev && component.stopListening(prev);\n next && component.listenTo(next, changeEvents_1 || next._changeEventName, component.asyncUpdate);\n });\n }\n // If default value is explicitly provided...\n if (value !== void 0) {\n //...append it to getDefaultProps function.\n defaults || (defaults = {});\n defaults[name] = spec.convert(value, void 0, null, {});\n }\n }\n });\n return { propTypes: propTypes, defaults: defaults, watchers: watchers, changeHandlers: changeHandlers };\n}\nfunction toLocalWatcher(ref) {\n return typeof ref === 'function' ? ref : function (value, name) {\n this[ref] && this[ref](value, name);\n };\n}\nvar Node = (function () {\n function Node() {\n }\n return Node;\n}());\nexport { Node };\nvar Element = (function () {\n function Element() {\n }\n return Element;\n}());\nexport { Element };\nfunction translateType(Type, isRequired) {\n var T = _translateType(Type);\n return isRequired ? T.isRequired : T;\n}\nfunction _translateType(Type) {\n switch (Type) {\n case Number:\n case Number.integer:\n return PropTypes.number;\n case String:\n return PropTypes.string;\n case Boolean:\n return PropTypes.bool;\n case Array:\n return PropTypes.array;\n case Function:\n return PropTypes.func;\n case Object:\n return PropTypes.object;\n case Node:\n return PropTypes.node;\n case Element:\n return PropTypes.element;\n case void 0:\n case null:\n return PropTypes.any;\n default:\n return PropTypes.instanceOf(Type);\n }\n}\n//# sourceMappingURL=typeSpecs.js.map","import { compileSpecs } from './typeSpecs';\nimport { tools } from 'type-r';\nexport default function onDefine(_a, BaseClass) {\n var context = _a.context, childContext = _a.childContext;\n var prototype = this.prototype;\n if (context) {\n // Merge in inherited members...\n prototype._context = tools.defaults(context, BaseClass.prototype._context || {});\n // Compile to propTypes...\n this.contextTypes = compileSpecs(context).propTypes;\n }\n if (childContext) {\n prototype._childContext = tools.defaults(childContext, BaseClass.prototype._childContext);\n this.childContextTypes = compileSpecs(childContext).propTypes;\n }\n}\n//# sourceMappingURL=context.js.map","export function createChangeTokensConstructor(props) {\n var propNames = Object.keys(props);\n var PropsChangeTokens = new Function('p', 's', \"\\n var v;\\n this._s = s && s._changeToken;\\n \" + propNames.map(function (name) { return \"\\n this.\" + name + \" = ( ( v = p.\" + name + \") && v._changeToken ) || v;\\n \"; }).join('') + \"\\n \");\n PropsChangeTokens.prototype._hasChanges = new Function('p', 's', \"\\n var v;\\n return ( ( s && s._changeToken ) !== this._s ) \" + propNames.map(function (name) { return \" ||\\n this.\" + name + \" !== ( ( ( v = p.\" + name + \") && v._changeToken ) || v )\\n \"; }).join('') + \";\\n \");\n return PropsChangeTokens;\n}\n;\nexport var EmptyPropsChangeTokensCtor = createChangeTokensConstructor({});\nexport var PureRenderMixin = {\n shouldComponentUpdate: function (nextProps) {\n return this._propsChangeTokens._hasChanges(nextProps);\n },\n componentDidMount: updateChangeTokens,\n componentDidUpdate: updateChangeTokens\n};\nfunction updateChangeTokens() {\n this._propsChangeTokens = new this.PropsChangeTokens(this.props, this.state);\n}\n//# sourceMappingURL=pureRender.js.map","/**\n * Handle props specification and everything which is related:\n * - local listening to props changes\n * - pure render mixin\n */\nimport { compileSpecs } from './typeSpecs';\nimport { PureRenderMixin, createChangeTokensConstructor } from './pureRender';\nimport { tools } from 'type-r';\nexport default function onDefine(_a, BaseClass) {\n var props = _a.props, pureRender = _a.pureRender;\n var prototype = this.prototype;\n // process props spec...\n if (props) {\n // Merge with inherited members...\n prototype._props = tools.defaults(props, BaseClass.prototype._props || {});\n var _b = compileSpecs(props), propTypes = _b.propTypes, defaults = _b.defaults, watchers = _b.watchers, changeHandlers = _b.changeHandlers;\n this.propTypes = propTypes;\n if (defaults)\n this.defaultProps = defaults;\n if (watchers) {\n prototype._watchers = watchers;\n this.mixins.merge([WatchersMixin]);\n }\n if (changeHandlers) {\n prototype._changeHandlers = changeHandlers;\n this.mixins.merge([ChangeHandlersMixin]);\n }\n if (prototype.pureRender) {\n prototype.PropsChangeTokens = createChangeTokensConstructor(props);\n }\n }\n if (pureRender) {\n this.mixins.merge([PureRenderMixin]);\n }\n}\n/**\n * ChangeHandlers are fired in sequence upon props replacement.\n * Fires _after_ UI is updated. Used for managing events subscriptions.\n */\nvar ChangeHandlersMixin = {\n componentDidMount: function () {\n handlePropsChanges(this, {}, this.props);\n },\n componentDidUpdate: function (prev) {\n handlePropsChanges(this, prev, this.props);\n },\n componentWillUnmount: function () {\n handlePropsChanges(this, this.props, {});\n }\n};\nfunction handlePropsChanges(component, prev, next) {\n var _changeHandlers = component._changeHandlers;\n for (var name_1 in _changeHandlers) {\n if (prev[name_1] !== next[name_1]) {\n for (var _i = 0, _a = _changeHandlers[name_1]; _i < _a.length; _i++) {\n var handler = _a[_i];\n handler(next[name_1], prev[name_1], component);\n }\n }\n }\n}\n/**\n * Watchers works on props replacement and fires _before_ any change will be applied and UI is updated.\n * Fired in componentWillMount as well, which makes it a nice way to sync state from props.\n */\nvar WatchersMixin = {\n componentWillReceiveProps: function (next) {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_2 in _watchers) {\n if (next[name_2] !== props[name_2]) {\n _watchers[name_2].call(this, next[name_2], name_2);\n }\n }\n },\n componentWillMount: function () {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_3 in _watchers) {\n _watchers[name_3].call(this, props[name_3], name_3);\n }\n }\n};\n//# sourceMappingURL=props.js.map","import { Messenger } from 'type-r';\nimport onDefineStore from './store';\nimport onDefineState from './state';\nimport onDefineContext from './context';\nimport onDefineProps from './props';\nexport default function onDefine(definition, BaseClass) {\n // Initialize mixins placeholder...\n onDefineStore.call(this, definition, BaseClass);\n onDefineState.call(this, definition, BaseClass);\n onDefineContext.call(this, definition, BaseClass);\n onDefineProps.call(this, definition, BaseClass);\n Messenger.onDefine.call(this, definition, BaseClass);\n}\n;\nexport { Node, Element } from './typeSpecs';\nexport { EmptyPropsChangeTokensCtor } from './pureRender';\n//# sourceMappingURL=index.js.map","var ArrayProto = Array.prototype, ObjectProto = Object.prototype;\nexport function helpers(value) {\n if (value && typeof value === 'object') {\n switch (Object.getPrototypeOf(value)) {\n case ArrayProto: return arrayHelpers;\n case ObjectProto: return objectHelpers;\n }\n }\n return dummyHelpers;\n}\n// Do nothing for types other than Array and plain Object.\nvar dummyHelpers = {\n clone: function (value) { return value; },\n map: function (link, fun) { return []; },\n remove: function (value) { return value; }\n};\n// `map` and `clone` for plain JS objects\nexport var objectHelpers = {\n // Map through the link to object\n map: function (link, iterator) {\n var mapped = [];\n for (var key in link.value) {\n var element = iterator(link.at(key), key);\n element === void 0 || (mapped.push(element));\n }\n return mapped;\n },\n remove: function (object, key) {\n delete object[key];\n return object;\n },\n // Shallow clone plain JS object\n clone: function (object) {\n var cloned = {};\n for (var key in object) {\n cloned[key] = object[key];\n }\n return cloned;\n }\n};\n// `map` and `clone` helpers for arrays.\nexport var arrayHelpers = {\n // Shallow clone array\n clone: function (array) {\n return array.slice();\n },\n remove: function (array, i) {\n array.splice(i, 1);\n return array;\n },\n // Map through the link to array\n map: function (link, iterator) {\n var length = link.value.length, mapped = Array(length);\n for (var i = 0, j = 0; i < length; i++) {\n var y = iterator(link.at(i), i);\n y === void 0 || (mapped[j++] = y);\n }\n mapped.length === j || (mapped.length = j);\n return mapped;\n }\n};\n//# sourceMappingURL=helpers.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * Advanced React links for purely functional two-way data binding\n *\n * MIT License, (c) 2016 Vlad Balin, Volicon.\n */\nimport { helpers, arrayHelpers } from './helpers';\n// Main Link class. All links must extend it.\nvar Link = (function () {\n // create \n function Link(value) {\n this.value = value;\n }\n // Create custom link to arbitrary value\n Link.value = function (value, set) {\n return new CustomLink(value, set);\n };\n Object.defineProperty(Link.prototype, \"validationError\", {\n // DEPRECATED: Old error holder for backward compatibility with Volicon code base\n get: function () { return this.error; },\n enumerable: true,\n configurable: true\n });\n Link.prototype.onChange = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n handler(x);\n _this.set(x);\n });\n };\n Object.defineProperty(Link.prototype, \"props\", {\n // \n get: function () {\n var _this = this;\n return typeof this.value === 'boolean' ? {\n checked: this.value,\n onChange: function (e) { return _this.set(Boolean(e.target.checked)); }\n } : {\n value: this.value,\n onChange: function (e) { return _this.set(e.target.value); }\n };\n },\n enumerable: true,\n configurable: true\n });\n // DEPRECATED: Old React method for backward compatibility\n Link.prototype.requestChange = function (x) {\n this.set(x);\n };\n // Immediately update the link value using given transform function.\n Link.prototype.update = function (transform, e) {\n var next = transform(this.clone(), e);\n next === void 0 || this.set(next);\n };\n // Create new link which applies transform function on set.\n Link.prototype.pipe = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n var next = handler(x, _this.value);\n next === void 0 || _this.set(next);\n });\n };\n // Create UI event handler function which will update the link with a given transform function.\n Link.prototype.action = function (transform) {\n var _this = this;\n return function (e) { return _this.update(transform, e); };\n };\n Link.prototype.equals = function (truthyValue) {\n return new EqualsLink(this, truthyValue);\n };\n Link.prototype.enabled = function (defaultValue) {\n return new EnabledLink(this, defaultValue || \"\");\n };\n // Array-only links methods\n Link.prototype.contains = function (element) {\n return new ContainsLink(this, element);\n };\n Link.prototype.push = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.push.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.unshift = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.unshift.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.splice = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.splice.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.map = function (iterator) {\n return helpers(this.value).map(this, iterator);\n };\n Link.prototype.removeAt = function (key) {\n var value = this.value, _ = helpers(value);\n this.set(_.remove(_.clone(value), key));\n };\n Link.prototype.at = function (key) {\n return new LinkAt(this, key);\n };\n Link.prototype.clone = function () {\n var value = this.value;\n return helpers(value).clone(value);\n };\n Link.prototype.pick = function () {\n var links = {};\n for (var i = 0; i < arguments.length; i++) {\n var key = arguments[i];\n links[key] = new LinkAt(this, key);\n }\n return links;\n };\n /**\n * Validate link with validness predicate and optional custom error object. Can be chained.\n */\n Link.prototype.check = function (whenValid, error) {\n if (!this.error && !whenValid(this.value)) {\n this.error = error || whenValid.error || defaultError;\n }\n return this;\n };\n return Link;\n}());\nexport { Link };\nvar CustomLink = (function (_super) {\n __extends(CustomLink, _super);\n function CustomLink(value, set) {\n var _this = _super.call(this, value) || this;\n _this.set = set;\n return _this;\n }\n CustomLink.prototype.set = function (x) { };\n return CustomLink;\n}(Link));\nexport { CustomLink };\nvar CloneLink = (function (_super) {\n __extends(CloneLink, _super);\n function CloneLink(parent, set) {\n var _this = _super.call(this, parent.value) || this;\n _this.set = set;\n var error = parent.error;\n if (error)\n _this.error = error;\n return _this;\n }\n CloneLink.prototype.set = function (x) { };\n return CloneLink;\n}(Link));\nexport { CloneLink };\nvar EqualsLink = (function (_super) {\n __extends(EqualsLink, _super);\n function EqualsLink(parent, truthyValue) {\n var _this = _super.call(this, parent.value === truthyValue) || this;\n _this.parent = parent;\n _this.truthyValue = truthyValue;\n return _this;\n }\n EqualsLink.prototype.set = function (x) {\n this.parent.set(x ? this.truthyValue : null);\n };\n return EqualsLink;\n}(Link));\nexport { EqualsLink };\nvar EnabledLink = (function (_super) {\n __extends(EnabledLink, _super);\n function EnabledLink(parent, defaultValue) {\n var _this = _super.call(this, parent.value != null) || this;\n _this.parent = parent;\n _this.defaultValue = defaultValue;\n return _this;\n }\n EnabledLink.prototype.set = function (x) {\n this.parent.set(x ? this.defaultValue : null);\n };\n return EnabledLink;\n}(Link));\nexport { EnabledLink };\nvar ContainsLink = (function (_super) {\n __extends(ContainsLink, _super);\n function ContainsLink(parent, element) {\n var _this = _super.call(this, parent.value.indexOf(element) >= 0) || this;\n _this.parent = parent;\n _this.element = element;\n return _this;\n }\n ContainsLink.prototype.set = function (x) {\n var _this = this;\n var next = Boolean(x);\n if (this.value !== next) {\n var arr = this.parent.value, nextValue = x ? arr.concat(this.element) : arr.filter(function (el) { return el !== _this.element; });\n this.parent.set(nextValue);\n }\n };\n return ContainsLink;\n}(Link));\nexport { ContainsLink };\nvar defaultError = 'Invalid value';\n/**\n * Link to array or object element enclosed in parent link.\n * Performs purely functional update of the parent, shallow copying its value on `set`.\n */\nvar LinkAt = (function (_super) {\n __extends(LinkAt, _super);\n function LinkAt(parent, key) {\n var _this = _super.call(this, parent.value[key]) || this;\n _this.parent = parent;\n _this.key = key;\n return _this;\n }\n LinkAt.prototype.remove = function () {\n this.parent.removeAt(this.key);\n };\n // Set new element value to parent array or object, performing purely functional update.\n LinkAt.prototype.set = function (x) {\n var _this = this;\n if (this.value !== x) {\n this.parent.update(function (value) {\n value[_this.key] = x;\n return value;\n });\n }\n };\n ;\n return LinkAt;\n}(Link));\nexport { LinkAt };\n//# sourceMappingURL=link.js.map","/**\n * Import ValueLink library\n * Define value links binding mixins to the Record and Collection\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { Mixable, MixinsState, Record } from 'type-r';\nimport { Link } from './valuelink/link';\nexport default Link;\nMixable.mixins.populate(Link);\n/**\n * Record\n */\nMixinsState.get(Record).merge([{\n // Link to the record's attribute by its key.\n linkAt: function (key) {\n return cacheLink(getLinksCache(this), this, key);\n },\n // Link to the attribute of the record's tree by symbolic path.\n linkPath: function (path, options) {\n return new RecordDeepLink(this, path, options);\n },\n // Link all (or listed) attributes and return links cache.\n linkAll: function () {\n var links = getLinksCache(this);\n if (arguments.length) {\n for (var i = 0; i < arguments.length; i++) {\n cacheLink(links, this, arguments[i]);\n }\n }\n else {\n var attributes = this.attributes;\n for (var key in attributes) {\n attributes[key] === void 0 || cacheLink(links, this, key);\n }\n }\n return links;\n }\n }]);\n/**\n * Link to Type-R's record attribute.\n * Strict evaluation of value, lazy evaluation of validation error.\n * Links are cached in the records\n */\nvar RecordLink = (function (_super) {\n __extends(RecordLink, _super);\n function RecordLink(record, attr, value) {\n var _this = _super.call(this, value) || this;\n _this.record = record;\n _this.attr = attr;\n return _this;\n }\n RecordLink.prototype.set = function (x) {\n this.record[this.attr] = x;\n };\n Object.defineProperty(RecordLink.prototype, \"error\", {\n get: function () {\n return this._error === void 0 ?\n this.record.getValidationError(this.attr) :\n this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n return RecordLink;\n}(Link));\nvar RecordDeepLink = (function (_super) {\n __extends(RecordDeepLink, _super);\n function RecordDeepLink(record, path, options) {\n var _this = _super.call(this, record.deepGet(path)) || this;\n _this.record = record;\n _this.path = path;\n _this.options = options;\n return _this;\n }\n Object.defineProperty(RecordDeepLink.prototype, \"error\", {\n get: function () {\n if (this._error === void 0) {\n this._error = this.record.deepValidationError(this.path) || null;\n }\n return this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(RecordDeepLink.prototype, \"_changeToken\", {\n get: function () {\n return this.record._changeToken;\n },\n enumerable: true,\n configurable: true\n });\n RecordDeepLink.prototype.set = function (x) {\n this.record.deepSet(this.path, x, this.options);\n };\n return RecordDeepLink;\n}(Link));\nfunction getLinksCache(record) {\n return record._links || (record._links = new record.AttributesCopy({}));\n}\nfunction cacheLink(links, record, key) {\n var cached = links[key], value = record[key];\n return cached && cached.value === value ? cached\n : links[key] = new RecordLink(record, key, value);\n}\n/***********************************\n * Collection\n */\nMixinsState.get(Record.Collection).merge([{\n // Boolean link to the record's presence in the collection\n linkContains: function (record) {\n return new CollectionLink(this, record);\n },\n // Link to collection's property\n linkAt: function (prop) {\n var _this = this;\n return Link.value(this[prop], function (x) { return _this[prop] = x; });\n }\n }]);\n/**\n * Boolean link to presence of NestedType's record in collection.\n * Strict evaluation of value, no error.\n * Safe implementation of _changeToken.\n */\nvar CollectionLink = (function (_super) {\n __extends(CollectionLink, _super);\n function CollectionLink(collection, record) {\n var _this = _super.call(this, Boolean(collection._byId[record.cid])) || this;\n _this.collection = collection;\n _this.record = record;\n return _this;\n }\n CollectionLink.prototype.set = function (x) {\n this.collection.toggle(this.record, x);\n };\n return CollectionLink;\n}(Link));\n//# sourceMappingURL=link.js.map","/**\n * React-Type-R component base class. Overrides React component.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport * as React from 'react';\nimport { mixinRules, define, mixins, definitions, Messenger } from 'type-r';\nimport onDefine, { EmptyPropsChangeTokensCtor } from './define';\nvar Component = (function (_super) {\n __extends(Component, _super);\n function Component(props, context) {\n var _this = _super.call(this, props, context) || this;\n _this._initializeState();\n return _this;\n }\n Component.prototype.linkAt = function (key) {\n // Quick and dirty hack to suppres type error - refactor later.\n return this.state.linkAt(key);\n };\n Component.prototype.linkAll = function () {\n // Quick and dirty hack to suppres type error - refactor later.\n var state = this.state;\n return state.linkAll.apply(state, arguments);\n };\n Component.prototype.linkPath = function (path) {\n return this.state.linkPath(path);\n };\n Object.defineProperty(Component.prototype, \"links\", {\n get: function () {\n return this.state._links;\n },\n enumerable: true,\n configurable: true\n });\n Component.prototype._initializeState = function () {\n this.state = null;\n };\n Component.prototype.assignToState = function (x, key) {\n this.state.assignFrom((_a = {}, _a[key] = x, _a));\n var _a;\n };\n Component.prototype.componentWillUnmount = function () {\n this.dispose();\n };\n /**\n * Performs transactional update for both props and state.\n * Suppress updates during the transaction, and force update aftewards.\n * Wrapping the sequence of changes in a transactions guarantees that\n * React component will be updated _after_ all the changes to the\n * both props and local state are applied.\n */\n Component.prototype.transaction = function (fun) {\n var shouldComponentUpdate = this.shouldComponentUpdate, isRoot = shouldComponentUpdate !== returnFalse;\n if (isRoot) {\n this.shouldComponentUpdate = returnFalse;\n }\n var _a = this, state = _a.state, store = _a.store, withStore = store ? function (state) { return store.transaction(function () { return fun(state); }); } : fun;\n state ? state.transaction(withStore) : withStore(state);\n if (isRoot) {\n this.shouldComponentUpdate = shouldComponentUpdate;\n this.asyncUpdate();\n }\n };\n // Safe version of the forceUpdate suitable for asynchronous callbacks.\n Component.prototype.asyncUpdate = function () {\n this.shouldComponentUpdate === returnFalse || this._disposed || this.forceUpdate();\n };\n return Component;\n}(React.Component));\nComponent.onDefine = onDefine;\nComponent = __decorate([\n define({\n PropsChangeTokens: EmptyPropsChangeTokensCtor\n }),\n definitions({\n // Definitions to be extracted from mixins and statics and passed to `onDefine()`\n state: mixinRules.merge,\n State: mixinRules.value,\n store: mixinRules.merge,\n Store: mixinRules.value,\n props: mixinRules.merge,\n context: mixinRules.merge,\n childContext: mixinRules.merge,\n pureRender: mixinRules.protoValue\n }),\n mixinRules({\n // Apply old-school React mixin rules.\n componentWillMount: mixinRules.classLast,\n componentDidMount: mixinRules.classLast,\n componentWillReceiveProps: mixinRules.classLast,\n componentWillUpdate: mixinRules.classLast,\n componentDidUpdate: mixinRules.classLast,\n componentWillUnmount: mixinRules.classFirst,\n // And a bit more to fix inheritance quirks.\n shouldComponentUpdate: mixinRules.some,\n getChildContext: mixinRules.defaults\n })\n // Component can send and receive events...\n ,\n mixins(Messenger)\n], Component);\nexport { Component };\nfunction returnFalse() { return false; }\n// Looks like React guys _really_ want to deprecate it. But no way.\n// We will work around their attempt.\nObject.defineProperty(Component.prototype, 'isMounted', {\n value: function isMounted() {\n return !this._disposed;\n }\n});\n//# sourceMappingURL=component.js.map","import * as React from 'react';\nimport { define, mixins } from 'type-r';\nimport { Node, Element } from './define';\nimport Link from './link';\nimport { Component } from './component';\n// extend React namespace\nvar ReactMVx = Object.create(React);\n// Make it compatible with ES6 module format.\nReactMVx.default = ReactMVx;\n// listenToProps, listenToState, model, attributes, Model\nReactMVx.define = define;\nReactMVx.mixins = mixins;\nReactMVx.Node = Node.value(null);\nReactMVx.Element = Element.value(null);\nReactMVx.Link = Link;\nReactMVx.Component = Component;\nvar assignToState = ReactMVx.assignToState = function (key) {\n return function (prop) {\n this.state.assignFrom((_a = {}, _a[key] = prop && prop instanceof Link ? prop.value : prop, _a));\n var _a;\n };\n};\nexport default ReactMVx;\nexport { define, mixins, Node, Element, Link, Component, assignToState };\n//# sourceMappingURL=index.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport React, { Component } from './react-mvx';\nimport { tools } from 'type-r';\nvar notEqual = tools.notEqual;\nvar BackboneView = (function (_super) {\n __extends(BackboneView, _super);\n function BackboneView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.saveRef = function (element) {\n _this.root = element;\n };\n return _this;\n }\n BackboneView.prototype.shouldComponentUpdate = function (next) {\n var props = this.props;\n return next.View !== props.View || notEqual(next.options, props.options);\n };\n BackboneView.prototype.hasUnsavedChanges = function () {\n var view = this.view;\n return view && (typeof view.hasUnsavedChanges === 'function' ? view.hasUnsavedChanges() : view.hasUnsavedChanges);\n };\n BackboneView.prototype.render = function () {\n return React.createElement('div', {\n ref: this.saveRef,\n className: this.props.className\n });\n };\n BackboneView.prototype.componentDidMount = function () {\n this._mountView();\n };\n BackboneView.prototype.componentDidUpdate = function () {\n this._dispose();\n this._mountView();\n };\n BackboneView.prototype.componentWillUnmount = function () {\n this._dispose();\n };\n BackboneView.prototype._mountView = function () {\n var el = this.root, p = this.props;\n var view = this.view = p.options ? new p.View(p.options) : new p.View();\n el.appendChild(view.el);\n view.render();\n };\n BackboneView.prototype._dispose = function () {\n var view = this.view;\n if (view) {\n if (view.dispose) {\n view.dispose();\n }\n else {\n view.stopListening();\n view.off();\n }\n this.root.innerHTML = \"\";\n this.view = null;\n }\n };\n return BackboneView;\n}(Component));\nexport default BackboneView;\n//# sourceMappingURL=view-element.js.map","import * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport { tools } from 'type-r';\nwindow.Page || (window.Page = { forceResize: function () { } });\nexport default function use(View) {\n var dispose = View.prototype.dispose || function () { }, setElement = View.prototype.setElement;\n var ComponentView = View.extend({\n reactClass: null,\n props: {},\n element: null,\n initialize: function (props) {\n // memorise arguments to pass to React\n this.options = props || {};\n },\n setElement: function () {\n this.unmountComponent(true);\n return setElement.apply(this, arguments);\n },\n // cached instance of react component...\n component: null,\n prevState: null,\n resize: function () {\n window.Page.forceResize();\n },\n render: function () {\n var options = this.prevState ? tools.fastAssign({ __keepState: this.prevState }, this.options) : this.options, element = React.createElement(this.reactClass, options), component = ReactDOM.render(element, this.el);\n this.component || this.mountComponent(component);\n },\n mountComponent: function (component) {\n this.component = component;\n this.prevState = null;\n component.trigger && this.listenTo(component, 'all', function () {\n this.trigger.apply(this, arguments);\n });\n },\n unmountComponent: function (keepModel) {\n var component = this.component;\n if (component) {\n this.prevState = component.state;\n if (component.trigger) {\n this.stopListening(component);\n }\n component._preventDispose = Boolean(keepModel);\n ReactDOM.unmountComponentAtNode(this.el);\n this.component = null;\n }\n },\n dispose: function () {\n this.unmountComponent();\n return dispose.apply(this, arguments);\n }\n });\n Object.defineProperty(ComponentView.prototype, 'model', {\n get: function () {\n this.component || this.render();\n return this.component && this.component.state;\n }\n });\n return ComponentView;\n}\n//# sourceMappingURL=component-view.js.map","var __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\nimport { Component } from './react-mvx';\nvar dontAutobind = [\n 'State', 'Store', 'constructor',\n 'componentWillMount', 'componentDidMount', 'componentWillReceiveProps', 'shouldComponentUpdate',\n 'componentWillUpdate', 'componentDidUpdate', 'componentWillUnmount',\n 'render', 'getDefaultProps', 'getChildContext'\n];\n/**\n * ES5 components definition factory\n */\nexport default function createClass(_a) {\n var statics = _a.statics, a_spec = __rest(_a, [\"statics\"]);\n // Gather all methods to pin them to `this` later.\n var methods = [];\n var Subclass = Component.extend(__assign({ \n // Override constructor to autobind all the methods...\n constructor: function () {\n Component.apply(this, arguments);\n for (var _i = 0, methods_1 = methods; _i < methods_1.length; _i++) {\n var method = methods_1[_i];\n this[method] = this[method].bind(this);\n }\n } }, a_spec), statics);\n // Need to bind methods from mixins as well, so populate it here.\n var Proto = Subclass.prototype;\n for (var key in Proto) {\n if (Proto.hasOwnProperty(key) && dontAutobind.indexOf(key) === -1 && typeof Proto[key] === 'function') {\n methods.push(key);\n }\n }\n return Subclass;\n}\n//# sourceMappingURL=createClass.js.map","// Re-export react-mvx\nimport ReactMVx from './react-mvx';\nvar NestedReact = Object.create(ReactMVx);\nexport default NestedReact;\nexport * from './react-mvx';\n// NestedReact backward compatibility layer\nimport * as ReactDOM from 'react-dom';\nimport Nested, { View, Record } from 'type-r';\nimport * as PropTypes from 'prop-types';\nimport subview from './view-element';\nNestedReact.subview = subview;\nexport { subview };\nconsole.log(\"ReactDOM=\", ReactDOM);\nimport use from './component-view';\nimport createClass from './createClass';\nNestedReact.createClass = createClass;\nObject.defineProperty(NestedReact, 'PropTypes', { value: PropTypes });\nexport { PropTypes, createClass };\nvar BaseView;\n// export hook to override base View class used...\nexport function useView(View) {\n BaseView = use(View);\n}\nvar onDefine = NestedReact.Component.onDefine;\nNestedReact.Component.onDefine = function (definitions, BaseClass) {\n this.View = BaseView.extend({ reactClass: this });\n return onDefine.call(this, definitions, BaseClass);\n};\n// Deprecated API for backward compatibility\nvar RecordProto = Record.prototype;\nRecordProto.getLink = RecordProto.linkAt;\nRecordProto.deepLink = RecordProto.linkPath;\nvar CollectionProto = Record.Collection.prototype;\nCollectionProto.hasLink = CollectionProto.linkContains;\nuseView(View);\n// Extend react components to have backbone-style jquery accessors\nvar BackboneViewProps = {\n el: { get: function () { return ReactDOM.findDOMNode(this); } },\n $el: { get: function () { return Nested.$(this.el); } },\n $: { value: function (sel) { return this.$el.find(sel); } }\n};\nObject.defineProperties(NestedReact.Component.prototype, BackboneViewProps);\n//# sourceMappingURL=index.js.map"],"names":["__extends","this","__decorate","Record","define","Store","onDefine","PropTypes.number","PropTypes.string","PropTypes.bool","PropTypes.array","PropTypes.func","PropTypes.object","PropTypes.node","PropTypes.element","PropTypes.any","PropTypes.instanceOf","tools","onDefineStore","onDefineState","onDefineContext","onDefineProps","Messenger","element","object","array","Link","Mixable","MixinsState","Component","React.Component","definitions","mixinRules","mixins","React","View","React.createElement","ReactDOM.render","ReactDOM.unmountComponentAtNode","subview","ReactDOM.findDOMNode","Nested"],"mappings":";;;;;;;;AAAA,IAAIA,WAAS,GAAG,CAACC,IAAI,IAAIA,IAAI,CAAC,SAAS,KAAK,CAAC,YAAY;IACrD,IAAI,aAAa,GAAG,MAAM,CAAC,cAAc;SACpC,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;QAC5E,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/E,OAAO,UAAU,CAAC,EAAE,CAAC,EAAE;QACnB,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpB,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;QACvC,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;KACxF,CAAC;CACL,GAAG,CAAC;AACL,IAAIC,YAAU,GAAG,CAACD,IAAI,IAAIA,IAAI,CAAC,UAAU,KAAK,UAAU,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;IACnF,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;IAC7H,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;SAC1H,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IAClJ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;CACjE,CAAC;;;;AAIF,AACe,SAAS,OAAO,CAAC,UAAU,EAAE,kBAAkB,EAAE;IAC5D,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IAC/B,IAAI,KAAK,GAAG,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;IACvD,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;QAC7B,KAAK,GAAG,KAAK,CAAC;QACd,KAAK,GAAG,KAAK,CAAC,CAAC;KAClB;IACD,IAAI,KAAK,EAAE;QACP,IAAI,SAAS,GAAG,KAAK,IAAI,SAAS,CAAC,KAAK,IAAIE,aAAM,CAAC;QACnD,IAAI,cAAc,IAAI,UAAU,MAAM,EAAE;YACpCH,WAAS,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;YAClC,SAAS,cAAc,GAAG;gBACtB,OAAO,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC;aACnE;YACD,OAAO,cAAc,CAAC;SACzB,CAAC,SAAS,CAAC,CAAC,CAAC;QACd,cAAc,CAAC,UAAU,GAAG,KAAK,CAAC;QAClC,cAAc,GAAGE,YAAU,CAAC;YACxBE,aAAM;SACT,EAAE,cAAc,CAAC,CAAC;QACnB,SAAS,CAAC,KAAK,GAAG,cAAc,CAAC;KACpC;SACI,IAAI,KAAK,EAAE;QACZ,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC;KAC3B;IACD,IAAI,KAAK,IAAI,KAAK,EAAE;QAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,0BAA0B,CAAC,CAAC,CAAC;KAC/D;CACJ;AACD,AAAO,IAAI,UAAU,GAAG;;IAEpB,gBAAgB,EAAE,YAAY;;QAE1B,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;;QAEpE,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;QACpB,KAAK,CAAC,SAAS,GAAG,OAAO,CAAC;KAC7B;IACD,OAAO,EAAE;QACL,YAAY,EAAEC,YAAK;KACtB;;IAED,QAAQ,EAAE,YAAY;;;QAGlB,IAAI,OAAO,EAAE,KAAK,CAAC;QACnB,OAAO,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,YAAY;aACnD,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,aAAa,CAAC,CAAC;KACrD;IACD,oBAAoB,EAAE,YAAY;QAC9B,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACvB,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,eAAe,wDAAwD,KAAK,CAAC,OAAO,EAAE,CAAC;QAC5F,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;KACvB;CACJ,CAAC;AACF,AAAO,IAAI,0BAA0B,GAAG;IACpC,iBAAiB,EAAE,YAAY,GAAG;IAClC,iBAAiB,EAAE,YAAY;QAC3B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC;KAC7C;CACJ;;ACjFD,IAAI,SAAS,GAAG,CAACJ,IAAI,IAAIA,IAAI,CAAC,SAAS,KAAK,CAAC,YAAY;IACrD,IAAI,aAAa,GAAG,MAAM,CAAC,cAAc;SACpC,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;QAC5E,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/E,OAAO,UAAU,CAAC,EAAE,CAAC,EAAE;QACnB,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpB,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;QACvC,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;KACxF,CAAC;CACL,GAAG,CAAC;AACL,IAAI,UAAU,GAAG,CAACA,IAAI,IAAIA,IAAI,CAAC,UAAU,KAAK,UAAU,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;IACnF,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;IAC7H,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;SAC1H,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IAClJ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;CACjE,CAAC;AACF,AAEe,SAASK,UAAQ,CAAC,UAAU,EAAE,SAAS,EAAE;IACpD,IAAI,KAAK,GAAG,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC;IAC5D,IAAI,KAAK,IAAI,KAAK,YAAYD,YAAK,EAAE;;QAEjC,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC,CAAC;KAC7D;SACI,IAAI,KAAK,IAAI,UAAU,CAAC,KAAK,EAAE;QAChC,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;YAC7B,UAAU,GAAG,KAAK,CAAC;YACnB,KAAK,GAAG,KAAK,CAAC,CAAC;SAClB;QACD,IAAI,KAAK,EAAE;YACP,IAAI,WAAW,GAAG,UAAU,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,IAAIA,YAAK,CAAC;YAC9D,IAAI,aAAa,IAAI,UAAU,MAAM,EAAE;gBACnC,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;gBACjC,SAAS,aAAa,GAAG;oBACrB,OAAO,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC;iBACnE;gBACD,OAAO,aAAa,CAAC;aACxB,CAAC,WAAW,CAAC,CAAC,CAAC;YAChB,aAAa,CAAC,SAAS,GAAG,KAAK,CAAC;YAChC,aAAa,GAAG,UAAU,CAAC;gBACvBD,aAAM;aACT,EAAE,aAAa,CAAC,CAAC;YAClB,AAAC;YACD,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,aAAa,CAAC;SACxC;aACI,IAAI,UAAU,EAAE;YACjB,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,UAAU,CAAC;SACrC;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,kBAAkB,EAAE,0BAA0B,EAAE,gBAAgB,CAAC,CAAC,CAAC;KACzF;CACJ;;;;AAID,IAAI,gBAAgB,GAAG;IACnB,YAAY,EAAE;QACV,YAAY,EAAEC,YAAK;KACtB;IACD,eAAe,EAAE,YAAY;QACzB,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;KACvC;IACD,QAAQ,EAAE,YAAY;QAClB,OAAO,IAAI,CAAC,KAAK,CAAC;KACrB;;IAED,GAAG,EAAE,UAAU,GAAG,EAAE;;QAEhB,IAAI,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAChD,OAAO,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;KAClC;CACJ,CAAC;;;;;AAKF,IAAI,kBAAkB,GAAG;IACrB,iBAAiB,EAAE,YAAY;;QAE3B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACzD;CACJ,CAAC;AACF,IAAI,kBAAkB,GAAG;IACrB,kBAAkB,EAAE,YAAY;QAC5B,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC1C,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;QACpB,KAAK,CAAC,SAAS,GAAG,OAAO,CAAC;KAC7B;IACD,oBAAoB,EAAE,YAAY;QAC9B,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;KACvB;CACJ;;AC3FM,SAAS,YAAY,CAAC,KAAK,EAAE;IAChC,IAAI,SAAS,GAAG,EAAE;;IAElB,UAAU,GAAGF,aAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC;IAC9C,IAAI,QAAQ,EAAE,QAAQ,EAAE,cAAc,CAAC;IACvC,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,WAAW,EAAE,UAAU,IAAI,EAAE,IAAI,EAAE;;QAEjE,IAAI,IAAI,KAAK,IAAI,EAAE;YACf,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;;YAEjE,SAAS,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;YAC1D,IAAI,OAAO,CAAC,SAAS,EAAE;gBACnB,QAAQ,KAAK,QAAQ,GAAG,EAAE,CAAC,CAAC;gBAC5B,QAAQ,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;aACtD;;YAED,IAAI,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE;gBACzD,cAAc,KAAK,cAAc,GAAG,EAAE,CAAC,CAAC;gBACxC,cAAc,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;aACjD;;YAED,IAAI,OAAO,CAAC,YAAY,EAAE;gBACtB,cAAc,KAAK,cAAc,GAAG,EAAE,CAAC,CAAC;gBACxC,IAAI,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,cAAc,GAAG,OAAO,OAAO,CAAC,YAAY,KAAK,QAAQ,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;gBAC5J,QAAQ,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC3C,IAAI,IAAI,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;oBACtC,IAAI,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,cAAc,IAAI,IAAI,CAAC,gBAAgB,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;iBACpG,CAAC,CAAC;aACN;;YAED,IAAI,KAAK,KAAK,KAAK,CAAC,EAAE;;gBAElB,QAAQ,KAAK,QAAQ,GAAG,EAAE,CAAC,CAAC;gBAC5B,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;aAC1D;SACJ;KACJ,CAAC,CAAC;IACH,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC;CAC3G;AACD,SAAS,cAAc,CAAC,GAAG,EAAE;IACzB,OAAO,OAAO,GAAG,KAAK,UAAU,GAAG,GAAG,GAAG,UAAU,KAAK,EAAE,IAAI,EAAE;QAC5D,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;KACvC,CAAC;CACL;AACD,IAAI,IAAI,IAAI,YAAY;IACpB,SAAS,IAAI,GAAG;KACf;IACD,OAAO,IAAI,CAAC;CACf,EAAE,CAAC,CAAC;AACL,AACA,IAAI,OAAO,IAAI,YAAY;IACvB,SAAS,OAAO,GAAG;KAClB;IACD,OAAO,OAAO,CAAC;CAClB,EAAE,CAAC,CAAC;AACL,AACA,SAAS,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE;IACrC,IAAI,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAC7B,OAAO,UAAU,GAAG,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC;CACxC;AACD,SAAS,cAAc,CAAC,IAAI,EAAE;IAC1B,QAAQ,IAAI;QACR,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM,CAAC,OAAO;YACf,OAAOI,gBAAgB,CAAC;QAC5B,KAAK,MAAM;YACP,OAAOC,gBAAgB,CAAC;QAC5B,KAAK,OAAO;YACR,OAAOC,cAAc,CAAC;QAC1B,KAAK,KAAK;YACN,OAAOC,eAAe,CAAC;QAC3B,KAAK,QAAQ;YACT,OAAOC,cAAc,CAAC;QAC1B,KAAK,MAAM;YACP,OAAOC,gBAAgB,CAAC;QAC5B,KAAK,IAAI;YACL,OAAOC,cAAc,CAAC;QAC1B,KAAK,OAAO;YACR,OAAOC,iBAAiB,CAAC;QAC7B,KAAK,KAAK,CAAC,CAAC;QACZ,KAAK,IAAI;YACL,OAAOC,aAAa,CAAC;QACzB;YACI,OAAOC,oBAAoB,CAAC,IAAI,CAAC,CAAC;KACzC;CACJ;;ACrFc,SAASV,UAAQ,CAAC,EAAE,EAAE,SAAS,EAAE;IAC5C,IAAI,OAAO,GAAG,EAAE,CAAC,OAAO,EAAE,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC;IACzD,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IAC/B,IAAI,OAAO,EAAE;;QAET,SAAS,CAAC,QAAQ,GAAGW,YAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;;QAEjF,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC;KACvD;IACD,IAAI,YAAY,EAAE;QACd,SAAS,CAAC,aAAa,GAAGA,YAAK,CAAC,QAAQ,CAAC,YAAY,EAAE,SAAS,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAC1F,IAAI,CAAC,iBAAiB,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC;KACjE;CACJ;;ACfM,SAAS,6BAA6B,CAAC,KAAK,EAAE;IACjD,IAAI,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,iBAAiB,GAAG,IAAI,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,oEAAoE,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,EAAE,OAAO,qBAAqB,GAAG,IAAI,GAAG,eAAe,GAAG,IAAI,GAAG,uCAAuC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC;IACtR,iBAAiB,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,2EAA2E,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,EAAE,OAAO,wBAAwB,GAAG,IAAI,GAAG,mBAAmB,GAAG,IAAI,GAAG,wCAAwC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC;IACxT,OAAO,iBAAiB,CAAC;CAC5B;AACD,AAAC;AACD,AAAO,IAAI,0BAA0B,GAAG,6BAA6B,CAAC,EAAE,CAAC,CAAC;AAC1E,AAAO,IAAI,eAAe,GAAG;IACzB,qBAAqB,EAAE,UAAU,SAAS,EAAE;QACxC,OAAO,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;KACzD;IACD,iBAAiB,EAAE,kBAAkB;IACrC,kBAAkB,EAAE,kBAAkB;CACzC,CAAC;AACF,SAAS,kBAAkB,GAAG;IAC1B,IAAI,CAAC,kBAAkB,GAAG,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;CAChF;;ACjBD;;;;;AAKA,AAGe,SAASX,UAAQ,CAAC,EAAE,EAAE,SAAS,EAAE;IAC5C,IAAI,KAAK,GAAG,EAAE,CAAC,KAAK,EAAE,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC;IACjD,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;;IAE/B,IAAI,KAAK,EAAE;;QAEP,SAAS,CAAC,MAAM,GAAGW,YAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QAC3E,IAAI,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,EAAE,CAAC,SAAS,EAAE,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE,cAAc,GAAG,EAAE,CAAC,cAAc,CAAC;QAC3I,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,QAAQ;YACR,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;QACjC,IAAI,QAAQ,EAAE;YACV,SAAS,CAAC,SAAS,GAAG,QAAQ,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;SACtC;QACD,IAAI,cAAc,EAAE;YAChB,SAAS,CAAC,eAAe,GAAG,cAAc,CAAC;YAC3C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;SAC5C;QACD,IAAI,SAAS,CAAC,UAAU,EAAE;YACtB,SAAS,CAAC,iBAAiB,GAAG,6BAA6B,CAAC,KAAK,CAAC,CAAC;SACtE;KACJ;IACD,IAAI,UAAU,EAAE;QACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;KACxC;CACJ;;;;;AAKD,IAAI,mBAAmB,GAAG;IACtB,iBAAiB,EAAE,YAAY;QAC3B,kBAAkB,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;KAC5C;IACD,kBAAkB,EAAE,UAAU,IAAI,EAAE;QAChC,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;KAC9C;IACD,oBAAoB,EAAE,YAAY;QAC9B,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;KAC5C;CACJ,CAAC;AACF,SAAS,kBAAkB,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;IAC/C,IAAI,eAAe,GAAG,SAAS,CAAC,eAAe,CAAC;IAChD,KAAK,IAAI,MAAM,IAAI,eAAe,EAAE;QAChC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,EAAE;YAC/B,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,eAAe,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;gBACjE,IAAI,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;gBACrB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC;aAClD;SACJ;KACJ;CACJ;;;;;AAKD,IAAI,aAAa,GAAG;IAChB,yBAAyB,EAAE,UAAU,IAAI,EAAE;QACvC,IAAI,EAAE,GAAG,IAAI,EAAE,SAAS,GAAG,EAAE,CAAC,SAAS,EAAE,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC;QAC1D,KAAK,IAAI,MAAM,IAAI,SAAS,EAAE;YAC1B,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,EAAE;gBAChC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;aACtD;SACJ;KACJ;IACD,kBAAkB,EAAE,YAAY;QAC5B,IAAI,EAAE,GAAG,IAAI,EAAE,SAAS,GAAG,EAAE,CAAC,SAAS,EAAE,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC;QAC1D,KAAK,IAAI,MAAM,IAAI,SAAS,EAAE;YAC1B,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;SACvD;KACJ;CACJ;;AC3Ec,SAASX,UAAQ,CAAC,UAAU,EAAE,SAAS,EAAE;;IAEpDY,UAAa,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IAChDC,OAAa,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IAChDC,UAAe,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IAClDC,UAAa,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IAChDC,gBAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;CACxD;;ACZD,IAAI,UAAU,GAAG,KAAK,CAAC,SAAS;IAAE,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC;AACjE,AAAO,SAAS,OAAO,CAAC,KAAK,EAAE;IAC3B,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QACpC,QAAQ,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC;YAChC,KAAK,UAAU,EAAE,OAAO,YAAY,CAAC;YACrC,KAAK,WAAW,EAAE,OAAO,aAAa,CAAC;SAC1C;KACJ;IACD,OAAO,YAAY,CAAC;CACvB;;AAED,IAAI,YAAY,GAAG;IACf,KAAK,EAAE,UAAU,KAAK,EAAE,EAAE,OAAO,KAAK,CAAC,EAAE;IACzC,GAAG,EAAE,UAAU,IAAI,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;IACxC,MAAM,EAAE,UAAU,KAAK,EAAE,EAAE,OAAO,KAAK,CAAC,EAAE;CAC7C,CAAC;;AAEF,AAAO,IAAI,aAAa,GAAG;;IAEvB,GAAG,EAAE,UAAU,IAAI,EAAE,QAAQ,EAAE;QAC3B,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE;YACxB,IAAIC,UAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;YAC1CA,UAAO,KAAK,KAAK,CAAC,KAAK,MAAM,CAAC,IAAI,CAACA,UAAO,CAAC,CAAC,CAAC;SAChD;QACD,OAAO,MAAM,CAAC;KACjB;IACD,MAAM,EAAE,UAAUC,SAAM,EAAE,GAAG,EAAE;QAC3B,OAAOA,SAAM,CAAC,GAAG,CAAC,CAAC;QACnB,OAAOA,SAAM,CAAC;KACjB;;IAED,KAAK,EAAE,UAAUA,SAAM,EAAE;QACrB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,KAAK,IAAI,GAAG,IAAIA,SAAM,EAAE;YACpB,MAAM,CAAC,GAAG,CAAC,GAAGA,SAAM,CAAC,GAAG,CAAC,CAAC;SAC7B;QACD,OAAO,MAAM,CAAC;KACjB;CACJ,CAAC;;AAEF,AAAO,IAAI,YAAY,GAAG;;IAEtB,KAAK,EAAE,UAAUC,QAAK,EAAE;QACpB,OAAOA,QAAK,CAAC,KAAK,EAAE,CAAC;KACxB;IACD,MAAM,EAAE,UAAUA,QAAK,EAAE,CAAC,EAAE;QACxBA,QAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACnB,OAAOA,QAAK,CAAC;KAChB;;IAED,GAAG,EAAE,UAAU,IAAI,EAAE,QAAQ,EAAE;QAC3B,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;YACpC,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAChC,CAAC,KAAK,KAAK,CAAC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SACrC;QACD,MAAM,CAAC,MAAM,KAAK,CAAC,KAAK,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC3C,OAAO,MAAM,CAAC;KACjB;CACJ;;AC5DD,IAAIzB,WAAS,GAAG,CAACC,IAAI,IAAIA,IAAI,CAAC,SAAS,KAAK,CAAC,YAAY;IACrD,IAAI,aAAa,GAAG,MAAM,CAAC,cAAc;SACpC,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;QAC5E,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/E,OAAO,UAAU,CAAC,EAAE,CAAC,EAAE;QACnB,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpB,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;QACvC,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;KACxF,CAAC;CACL,GAAG,CAAC;;;;;;AAML,AACA;AACA,IAAIyB,MAAI,IAAI,YAAY;;IAEpB,SAAS,IAAI,CAAC,KAAK,EAAE;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;KACtB;;IAED,IAAI,CAAC,KAAK,GAAG,UAAU,KAAK,EAAE,GAAG,EAAE;QAC/B,OAAO,IAAI,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;KACrC,CAAC;IACF,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,EAAE;;QAErD,GAAG,EAAE,YAAY,EAAE,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE;QACvC,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,IAAI;KACrB,CAAC,CAAC;IACH,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,UAAU,OAAO,EAAE;QACzC,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,OAAO,IAAI,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE;YACpC,OAAO,CAAC,CAAC,CAAC,CAAC;YACX,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SAChB,CAAC,CAAC;KACN,CAAC;IACF,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE;;QAE3C,GAAG,EAAE,YAAY;YACb,IAAI,KAAK,GAAG,IAAI,CAAC;YACjB,OAAO,OAAO,IAAI,CAAC,KAAK,KAAK,SAAS,GAAG;gBACrC,OAAO,EAAE,IAAI,CAAC,KAAK;gBACnB,QAAQ,EAAE,UAAU,CAAC,EAAE,EAAE,OAAO,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;aAC1E,GAAG;gBACA,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,QAAQ,EAAE,UAAU,CAAC,EAAE,EAAE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;aAC/D,CAAC;SACL;QACD,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,IAAI;KACrB,CAAC,CAAC;;IAEH,IAAI,CAAC,SAAS,CAAC,aAAa,GAAG,UAAU,CAAC,EAAE;QACxC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;KACf,CAAC;;IAEF,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,UAAU,SAAS,EAAE,CAAC,EAAE;QAC5C,IAAI,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;QACtC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;KACrC,CAAC;;IAEF,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,UAAU,OAAO,EAAE;QACrC,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,OAAO,IAAI,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE;YACpC,IAAI,IAAI,GAAG,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YACnC,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SACtC,CAAC,CAAC;KACN,CAAC;;IAEF,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,UAAU,SAAS,EAAE;QACzC,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,OAAO,UAAU,CAAC,EAAE,EAAE,OAAO,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9D,CAAC;IACF,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,UAAU,WAAW,EAAE;QAC3C,OAAO,IAAI,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;KAC5C,CAAC;IACF,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,UAAU,YAAY,EAAE;QAC7C,OAAO,IAAI,WAAW,CAAC,IAAI,EAAE,YAAY,IAAI,EAAE,CAAC,CAAC;KACpD,CAAC;;IAEF,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,UAAUH,UAAO,EAAE;QACzC,OAAO,IAAI,YAAY,CAAC,IAAI,EAAEA,UAAO,CAAC,CAAC;KAC1C,CAAC;IACF,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,YAAY;QAC9B,IAAIE,QAAK,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3C,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAACA,QAAK,EAAE,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,GAAG,CAACA,QAAK,CAAC,CAAC;KACnB,CAAC;IACF,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,YAAY;QACjC,IAAIA,QAAK,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3C,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAACA,QAAK,EAAE,SAAS,CAAC,CAAC;QAChD,IAAI,CAAC,GAAG,CAACA,QAAK,CAAC,CAAC;KACnB,CAAC;IACF,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,YAAY;QAChC,IAAIA,QAAK,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3C,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAACA,QAAK,EAAE,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,GAAG,CAACA,QAAK,CAAC,CAAC;KACnB,CAAC;IACF,IAAI,CAAC,SAAS,CAAC,GAAG,GAAG,UAAU,QAAQ,EAAE;QACrC,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;KAClD,CAAC;IACF,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,UAAU,GAAG,EAAE;QACrC,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;KAC3C,CAAC;IACF,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,UAAU,GAAG,EAAE;QAC/B,OAAO,IAAI,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;KAChC,CAAC;IACF,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,YAAY;QAC/B,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACvB,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;KACtC,CAAC;IACF,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,YAAY;QAC9B,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,IAAI,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YACvB,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;SACtC;QACD,OAAO,KAAK,CAAC;KAChB,CAAC;;;;IAIF,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,UAAU,SAAS,EAAE,KAAK,EAAE;QAC/C,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YACvC,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,SAAS,CAAC,KAAK,IAAI,YAAY,CAAC;SACzD;QACD,OAAO,IAAI,CAAC;KACf,CAAC;IACF,OAAO,IAAI,CAAC;CACf,EAAE,CAAC,CAAC;AACL,AACA,IAAI,UAAU,IAAI,UAAU,MAAM,EAAE;IAChCzB,WAAS,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC9B,SAAS,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE;QAC5B,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC;QAC7C,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;QAChB,OAAO,KAAK,CAAC;KAChB;IACD,UAAU,CAAC,SAAS,CAAC,GAAG,GAAG,UAAU,CAAC,EAAE,GAAG,CAAC;IAC5C,OAAO,UAAU,CAAC;CACrB,CAAC0B,MAAI,CAAC,CAAC,CAAC;AACT,AACA,IAAI,SAAS,IAAI,UAAU,MAAM,EAAE;IAC/B1B,WAAS,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC7B,SAAS,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE;QAC5B,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;QACpD,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;QAChB,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QACzB,IAAI,KAAK;YACL,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;QACxB,OAAO,KAAK,CAAC;KAChB;IACD,SAAS,CAAC,SAAS,CAAC,GAAG,GAAG,UAAU,CAAC,EAAE,GAAG,CAAC;IAC3C,OAAO,SAAS,CAAC;CACpB,CAAC0B,MAAI,CAAC,CAAC,CAAC;AACT,AACA,IAAI,UAAU,IAAI,UAAU,MAAM,EAAE;IAChC1B,WAAS,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC9B,SAAS,UAAU,CAAC,MAAM,EAAE,WAAW,EAAE;QACrC,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,KAAK,WAAW,CAAC,IAAI,IAAI,CAAC;QACpE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QACtB,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;QAChC,OAAO,KAAK,CAAC;KAChB;IACD,UAAU,CAAC,SAAS,CAAC,GAAG,GAAG,UAAU,CAAC,EAAE;QACpC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;KAChD,CAAC;IACF,OAAO,UAAU,CAAC;CACrB,CAAC0B,MAAI,CAAC,CAAC,CAAC;AACT,AACA,IAAI,WAAW,IAAI,UAAU,MAAM,EAAE;IACjC1B,WAAS,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAC/B,SAAS,WAAW,CAAC,MAAM,EAAE,YAAY,EAAE;QACvC,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC;QAC5D,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QACtB,KAAK,CAAC,YAAY,GAAG,YAAY,CAAC;QAClC,OAAO,KAAK,CAAC;KAChB;IACD,WAAW,CAAC,SAAS,CAAC,GAAG,GAAG,UAAU,CAAC,EAAE;QACrC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;KACjD,CAAC;IACF,OAAO,WAAW,CAAC;CACtB,CAAC0B,MAAI,CAAC,CAAC,CAAC;AACT,AACA,IAAI,YAAY,IAAI,UAAU,MAAM,EAAE;IAClC1B,WAAS,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAChC,SAAS,YAAY,CAAC,MAAM,EAAEuB,UAAO,EAAE;QACnC,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAACA,UAAO,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC;QAC1E,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QACtB,KAAK,CAAC,OAAO,GAAGA,UAAO,CAAC;QACxB,OAAO,KAAK,CAAC;KAChB;IACD,YAAY,CAAC,SAAS,CAAC,GAAG,GAAG,UAAU,CAAC,EAAE;QACtC,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,IAAI,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;YACrB,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACnI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;SAC9B;KACJ,CAAC;IACF,OAAO,YAAY,CAAC;CACvB,CAACG,MAAI,CAAC,CAAC,CAAC;AACT,AACA,IAAI,YAAY,GAAG,eAAe,CAAC;;;;;AAKnC,IAAI,MAAM,IAAI,UAAU,MAAM,EAAE;IAC5B1B,WAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1B,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE;QACzB,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;QACzD,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QACtB,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;QAChB,OAAO,KAAK,CAAC;KAChB;IACD,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,YAAY;QAClC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAClC,CAAC;;IAEF,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG,UAAU,CAAC,EAAE;QAChC,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,EAAE;YAClB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,KAAK,EAAE;gBAChC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACrB,OAAO,KAAK,CAAC;aAChB,CAAC,CAAC;SACN;KACJ,CAAC;IACF,AAAC;IACD,OAAO,MAAM,CAAC;CACjB,CAAC0B,MAAI,CAAC,CAAC;;AC3OR;;;;AAIA,IAAI1B,WAAS,GAAG,CAACC,IAAI,IAAIA,IAAI,CAAC,SAAS,KAAK,CAAC,YAAY;IACrD,IAAI,aAAa,GAAG,MAAM,CAAC,cAAc;SACpC,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;QAC5E,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/E,OAAO,UAAU,CAAC,EAAE,CAAC,EAAE;QACnB,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpB,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;QACvC,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;KACxF,CAAC;CACL,GAAG,CAAC;AACL,AAGA0B,cAAO,CAAC,MAAM,CAAC,QAAQ,CAACD,MAAI,CAAC,CAAC;;;;AAI9BE,kBAAW,CAAC,GAAG,CAACzB,aAAM,CAAC,CAAC,KAAK,CAAC,CAAC;;QAEvB,MAAM,EAAE,UAAU,GAAG,EAAE;YACnB,OAAO,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;SACpD;;QAED,QAAQ,EAAE,UAAU,IAAI,EAAE,OAAO,EAAE;YAC/B,OAAO,IAAI,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;SAClD;;QAED,OAAO,EAAE,YAAY;YACjB,IAAI,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;YAChC,IAAI,SAAS,CAAC,MAAM,EAAE;gBAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACvC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;iBACxC;aACJ;iBACI;gBACD,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;gBACjC,KAAK,IAAI,GAAG,IAAI,UAAU,EAAE;oBACxB,UAAU,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;iBAC7D;aACJ;YACD,OAAO,KAAK,CAAC;SAChB;KACJ,CAAC,CAAC,CAAC;;;;;;AAMR,IAAI,UAAU,IAAI,UAAU,MAAM,EAAE;IAChCH,WAAS,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC9B,SAAS,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;QACrC,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC;QAC7C,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QACtB,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAClB,OAAO,KAAK,CAAC;KAChB;IACD,UAAU,CAAC,SAAS,CAAC,GAAG,GAAG,UAAU,CAAC,EAAE;QACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAC9B,CAAC;IACF,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,EAAE;QACjD,GAAG,EAAE,YAAY;YACb,OAAO,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC;gBACzB,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;gBACzC,IAAI,CAAC,MAAM,CAAC;SACnB;QACD,GAAG,EAAE,UAAU,CAAC,EAAE;YACd,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;SACnB;QACD,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,IAAI;KACrB,CAAC,CAAC;IACH,OAAO,UAAU,CAAC;CACrB,CAAC0B,MAAI,CAAC,CAAC,CAAC;AACT,IAAI,cAAc,IAAI,UAAU,MAAM,EAAE;IACpC1B,WAAS,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IAClC,SAAS,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;QAC3C,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC;QAC5D,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QACtB,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAClB,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QACxB,OAAO,KAAK,CAAC;KAChB;IACD,MAAM,CAAC,cAAc,CAAC,cAAc,CAAC,SAAS,EAAE,OAAO,EAAE;QACrD,GAAG,EAAE,YAAY;YACb,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,EAAE;gBACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;aACpE;YACD,OAAO,IAAI,CAAC,MAAM,CAAC;SACtB;QACD,GAAG,EAAE,UAAU,CAAC,EAAE;YACd,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;SACnB;QACD,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,IAAI;KACrB,CAAC,CAAC;IACH,MAAM,CAAC,cAAc,CAAC,cAAc,CAAC,SAAS,EAAE,cAAc,EAAE;QAC5D,GAAG,EAAE,YAAY;YACb,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;SACnC;QACD,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,IAAI;KACrB,CAAC,CAAC;IACH,cAAc,CAAC,SAAS,CAAC,GAAG,GAAG,UAAU,CAAC,EAAE;QACxC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;KACnD,CAAC;IACF,OAAO,cAAc,CAAC;CACzB,CAAC0B,MAAI,CAAC,CAAC,CAAC;AACT,SAAS,aAAa,CAAC,MAAM,EAAE;IAC3B,OAAO,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;CAC3E;AACD,SAAS,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE;IACnC,IAAI,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC7C,OAAO,MAAM,IAAI,MAAM,CAAC,KAAK,KAAK,KAAK,GAAG,MAAM;UAC1C,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,UAAU,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;CACzD;;;;AAIDE,kBAAW,CAAC,GAAG,CAACzB,aAAM,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC;;QAElC,YAAY,EAAE,UAAU,MAAM,EAAE;YAC5B,OAAO,IAAI,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC3C;;QAED,MAAM,EAAE,UAAU,IAAI,EAAE;YACpB,IAAI,KAAK,GAAG,IAAI,CAAC;YACjB,OAAOuB,MAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,EAAE,EAAE,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;SAC3E;KACJ,CAAC,CAAC,CAAC;;;;;;AAMR,IAAI,cAAc,IAAI,UAAU,MAAM,EAAE;IACpC1B,WAAS,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IAClC,SAAS,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE;QACxC,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QAC7E,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC;QAC9B,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QACtB,OAAO,KAAK,CAAC;KAChB;IACD,cAAc,CAAC,SAAS,CAAC,GAAG,GAAG,UAAU,CAAC,EAAE;QACxC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;KAC1C,CAAC;IACF,OAAO,cAAc,CAAC;CACzB,CAAC0B,MAAI,CAAC,CAAC;;ACtJR;;;AAGA,IAAI1B,WAAS,GAAG,CAACC,IAAI,IAAIA,IAAI,CAAC,SAAS,KAAK,CAAC,YAAY;IACrD,IAAI,aAAa,GAAG,MAAM,CAAC,cAAc;SACpC,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;QAC5E,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/E,OAAO,UAAU,CAAC,EAAE,CAAC,EAAE;QACnB,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpB,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;QACvC,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;KACxF,CAAC;CACL,GAAG,CAAC;AACL,IAAIC,YAAU,GAAG,CAACD,IAAI,IAAIA,IAAI,CAAC,UAAU,KAAK,UAAU,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;IACnF,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;IAC7H,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;SAC1H,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IAClJ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;CACjE,CAAC;AACF,AAGI4B,iBAAS,IAAI,UAAU,MAAM,EAAE;IAC/B7B,WAAS,CAAC6B,YAAS,EAAE,MAAM,CAAC,CAAC;IAC7B,SAASA,YAAS,CAAC,KAAK,EAAE,OAAO,EAAE;QAC/B,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC;QACtD,KAAK,CAAC,gBAAgB,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC;KAChB;IACDA,YAAS,CAAC,SAAS,CAAC,MAAM,GAAG,UAAU,GAAG,EAAE;;QAExC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;KACjC,CAAC;IACFA,YAAS,CAAC,SAAS,CAAC,OAAO,GAAG,YAAY;;QAEtC,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACvB,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;KAChD,CAAC;IACFA,YAAS,CAAC,SAAS,CAAC,QAAQ,GAAG,UAAU,IAAI,EAAE;QAC3C,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;KACpC,CAAC;IACF,MAAM,CAAC,cAAc,CAACA,YAAS,CAAC,SAAS,EAAE,OAAO,EAAE;QAChD,GAAG,EAAE,YAAY;YACb,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;SAC5B;QACD,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,IAAI;KACrB,CAAC,CAAC;IACHA,YAAS,CAAC,SAAS,CAAC,gBAAgB,GAAG,YAAY;QAC/C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;KACrB,CAAC;IACFA,YAAS,CAAC,SAAS,CAAC,aAAa,GAAG,UAAU,CAAC,EAAE,GAAG,EAAE;QAClD,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC;QAClD,IAAI,EAAE,CAAC;KACV,CAAC;IACFA,YAAS,CAAC,SAAS,CAAC,oBAAoB,GAAG,YAAY;QACnD,IAAI,CAAC,OAAO,EAAE,CAAC;KAClB,CAAC;;;;;;;;IAQFA,YAAS,CAAC,SAAS,CAAC,WAAW,GAAG,UAAU,GAAG,EAAE;QAC7C,IAAI,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,EAAE,MAAM,GAAG,qBAAqB,KAAK,WAAW,CAAC;QACvG,IAAI,MAAM,EAAE;YACR,IAAI,CAAC,qBAAqB,GAAG,WAAW,CAAC;SAC5C;QACD,IAAI,EAAE,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,EAAE,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,GAAG,UAAU,KAAK,EAAE,EAAE,OAAO,KAAK,CAAC,WAAW,CAAC,YAAY,EAAE,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;QAChK,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;QACxD,IAAI,MAAM,EAAE;YACR,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;YACnD,IAAI,CAAC,WAAW,EAAE,CAAC;SACtB;KACJ,CAAC;;IAEFA,YAAS,CAAC,SAAS,CAAC,WAAW,GAAG,YAAY;QAC1C,IAAI,CAAC,qBAAqB,KAAK,WAAW,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;KACtF,CAAC;IACF,OAAOA,YAAS,CAAC;CACpB,CAACC,eAAe,CAAC,CAAC,CAAC;AACpBD,iBAAS,CAAC,QAAQ,GAAGvB,UAAQ,CAAC;AAC9BuB,iBAAS,GAAG3B,YAAU,CAAC;IACnBE,aAAM,CAAC;QACH,iBAAiB,EAAE,0BAA0B;KAChD,CAAC;IACF2B,kBAAW,CAAC;;QAER,KAAK,EAAEC,iBAAU,CAAC,KAAK;QACvB,KAAK,EAAEA,iBAAU,CAAC,KAAK;QACvB,KAAK,EAAEA,iBAAU,CAAC,KAAK;QACvB,KAAK,EAAEA,iBAAU,CAAC,KAAK;QACvB,KAAK,EAAEA,iBAAU,CAAC,KAAK;QACvB,OAAO,EAAEA,iBAAU,CAAC,KAAK;QACzB,YAAY,EAAEA,iBAAU,CAAC,KAAK;QAC9B,UAAU,EAAEA,iBAAU,CAAC,UAAU;KACpC,CAAC;IACFA,iBAAU,CAAC;;QAEP,kBAAkB,EAAEA,iBAAU,CAAC,SAAS;QACxC,iBAAiB,EAAEA,iBAAU,CAAC,SAAS;QACvC,yBAAyB,EAAEA,iBAAU,CAAC,SAAS;QAC/C,mBAAmB,EAAEA,iBAAU,CAAC,SAAS;QACzC,kBAAkB,EAAEA,iBAAU,CAAC,SAAS;QACxC,oBAAoB,EAAEA,iBAAU,CAAC,UAAU;;QAE3C,qBAAqB,EAAEA,iBAAU,CAAC,IAAI;QACtC,eAAe,EAAEA,iBAAU,CAAC,QAAQ;KACvC,CAAC;;;IAGFC,aAAM,CAACX,gBAAS,CAAC;CACpB,EAAEO,iBAAS,CAAC,CAAC;AACd,AACA,SAAS,WAAW,GAAG,EAAE,OAAO,KAAK,CAAC,EAAE;;;AAGxC,MAAM,CAAC,cAAc,CAACA,iBAAS,CAAC,SAAS,EAAE,WAAW,EAAE;IACpD,KAAK,EAAE,SAAS,SAAS,GAAG;QACxB,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;KAC1B;CACJ,CAAC,CAAC;;ACtHH;AACA,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;;AAEpC,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC;;AAE5B,QAAQ,CAAC,MAAM,GAAGzB,aAAM,CAAC;AACzB,QAAQ,CAAC,MAAM,GAAG6B,aAAM,CAAC;AACzB,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACjC,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACvC,QAAQ,CAAC,IAAI,GAAGP,MAAI,CAAC;AACrB,QAAQ,CAAC,SAAS,GAAGG,iBAAS,CAAC;AAC/B,IAAI,aAAa,GAAG,QAAQ,CAAC,aAAa,GAAG,UAAU,GAAG,EAAE;IACxD,OAAO,UAAU,IAAI,EAAE;QACnB,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,YAAYH,MAAI,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC;QACjG,IAAI,EAAE,CAAC;KACV,CAAC;CACL;;ACrBD,IAAI1B,WAAS,GAAG,CAACC,IAAI,IAAIA,IAAI,CAAC,SAAS,KAAK,CAAC,YAAY;IACrD,IAAI,aAAa,GAAG,MAAM,CAAC,cAAc;SACpC,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;QAC5E,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/E,OAAO,UAAU,CAAC,EAAE,CAAC,EAAE;QACnB,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpB,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;QACvC,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;KACxF,CAAC;CACL,GAAG,CAAC;AACL,AAEA,IAAI,QAAQ,GAAGgB,YAAK,CAAC,QAAQ,CAAC;AAC9B,IAAI,YAAY,IAAI,UAAU,MAAM,EAAE;IAClCjB,WAAS,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAChC,SAAS,YAAY,GAAG;QACpB,IAAI,KAAK,GAAG,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC;QACrE,KAAK,CAAC,OAAO,GAAG,UAAUuB,UAAO,EAAE;YAC/B,KAAK,CAAC,IAAI,GAAGA,UAAO,CAAC;SACxB,CAAC;QACF,OAAO,KAAK,CAAC;KAChB;IACD,YAAY,CAAC,SAAS,CAAC,qBAAqB,GAAG,UAAU,IAAI,EAAE;QAC3D,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACvB,OAAO,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;KAC5E,CAAC;IACF,YAAY,CAAC,SAAS,CAAC,iBAAiB,GAAG,YAAY;QACnD,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACrB,OAAO,IAAI,KAAK,OAAO,IAAI,CAAC,iBAAiB,KAAK,UAAU,GAAG,IAAI,CAAC,iBAAiB,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC;KACrH,CAAC;IACF,YAAY,CAAC,SAAS,CAAC,MAAM,GAAG,YAAY;QACxC,OAAOW,QAAK,CAAC,aAAa,CAAC,KAAK,EAAE;YAC9B,GAAG,EAAE,IAAI,CAAC,OAAO;YACjB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;SAClC,CAAC,CAAC;KACN,CAAC;IACF,YAAY,CAAC,SAAS,CAAC,iBAAiB,GAAG,YAAY;QACnD,IAAI,CAAC,UAAU,EAAE,CAAC;KACrB,CAAC;IACF,YAAY,CAAC,SAAS,CAAC,kBAAkB,GAAG,YAAY;QACpD,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,UAAU,EAAE,CAAC;KACrB,CAAC;IACF,YAAY,CAAC,SAAS,CAAC,oBAAoB,GAAG,YAAY;QACtD,IAAI,CAAC,QAAQ,EAAE,CAAC;KACnB,CAAC;IACF,YAAY,CAAC,SAAS,CAAC,UAAU,GAAG,YAAY;QAC5C,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QACnC,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;QACxE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxB,IAAI,CAAC,MAAM,EAAE,CAAC;KACjB,CAAC;IACF,YAAY,CAAC,SAAS,CAAC,QAAQ,GAAG,YAAY;QAC1C,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACrB,IAAI,IAAI,EAAE;YACN,IAAI,IAAI,CAAC,OAAO,EAAE;gBACd,IAAI,CAAC,OAAO,EAAE,CAAC;aAClB;iBACI;gBACD,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,IAAI,CAAC,GAAG,EAAE,CAAC;aACd;YACD,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;SACpB;KACJ,CAAC;IACF,OAAO,YAAY,CAAC;CACvB,CAACL,iBAAS,CAAC,CAAC;;AChEb,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,WAAW,EAAE,YAAY,GAAG,EAAE,CAAC,CAAC;AAChE,AAAe,SAAS,GAAG,CAACM,OAAI,EAAE;IAC9B,IAAI,OAAO,GAAGA,OAAI,CAAC,SAAS,CAAC,OAAO,IAAI,YAAY,GAAG,EAAE,UAAU,GAAGA,OAAI,CAAC,SAAS,CAAC,UAAU,CAAC;IAChG,IAAI,aAAa,GAAGA,OAAI,CAAC,MAAM,CAAC;QAC5B,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,EAAE;QACT,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,UAAU,KAAK,EAAE;;YAEzB,IAAI,CAAC,OAAO,GAAG,KAAK,IAAI,EAAE,CAAC;SAC9B;QACD,UAAU,EAAE,YAAY;YACpB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC5B,OAAO,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;SAC5C;;QAED,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,YAAY;YAChB,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;SAC7B;QACD,MAAM,EAAE,YAAY;YAChB,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,GAAGlB,YAAK,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,EAAEM,UAAO,GAAGa,mBAAmB,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,SAAS,GAAGC,eAAe,CAACd,UAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YACtN,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;SACpD;QACD,cAAc,EAAE,UAAU,SAAS,EAAE;YACjC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,SAAS,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,EAAE,YAAY;gBAC7D,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;aACvC,CAAC,CAAC;SACN;QACD,gBAAgB,EAAE,UAAU,SAAS,EAAE;YACnC,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YAC/B,IAAI,SAAS,EAAE;gBACX,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC;gBACjC,IAAI,SAAS,CAAC,OAAO,EAAE;oBACnB,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;iBACjC;gBACD,SAAS,CAAC,eAAe,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;gBAC/Ce,+BAA+B,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACzC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;aACzB;SACJ;QACD,OAAO,EAAE,YAAY;YACjB,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;SACzC;KACJ,CAAC,CAAC;IACH,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,EAAE;QACpD,GAAG,EAAE,YAAY;YACb,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;SACjD;KACJ,CAAC,CAAC;IACH,OAAO,aAAa,CAAC;CACxB;;AC3DD,IAAI,QAAQ,GAAG,CAACrC,IAAI,IAAIA,IAAI,CAAC,QAAQ,KAAK,MAAM,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;IACnE,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;QACjD,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QACjB,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;YAC3D,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;KACnB;IACD,OAAO,CAAC,CAAC;CACZ,CAAC;AACF,IAAI,MAAM,GAAG,CAACA,IAAI,IAAIA,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC,EAAE,CAAC,EAAE;IAClD,IAAI,CAAC,GAAG,EAAE,CAAC;IACX,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;QAC/E,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAChB,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,MAAM,CAAC,qBAAqB,KAAK,UAAU;QAC/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAC3F,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1B,OAAO,CAAC,CAAC;CACZ,CAAC;AACF,AACA,IAAI,YAAY,GAAG;IACf,OAAO,EAAE,OAAO,EAAE,aAAa;IAC/B,oBAAoB,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,uBAAuB;IAC/F,qBAAqB,EAAE,oBAAoB,EAAE,sBAAsB;IACnE,QAAQ,EAAE,iBAAiB,EAAE,iBAAiB;CACjD,CAAC;;;;AAIF,AAAe,SAAS,WAAW,CAAC,EAAE,EAAE;IACpC,IAAI,OAAO,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;;IAE3D,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,QAAQ,GAAG4B,iBAAS,CAAC,MAAM,CAAC,QAAQ,CAAC;;QAErC,WAAW,EAAE,YAAY;YACrBA,iBAAS,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YACjC,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,SAAS,GAAG,OAAO,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;gBAC/D,IAAI,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;gBAC3B,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC1C;SACJ,EAAE,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;;IAE3B,IAAI,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC;IAC/B,KAAK,IAAI,GAAG,IAAI,KAAK,EAAE;QACnB,IAAI,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,UAAU,EAAE;YACnG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACrB;KACJ;IACD,OAAO,QAAQ,CAAC;CACnB;;AChDD;AACA,AACA,IAAI,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC1C,AAEA;AACA,AAIA,WAAW,CAAC,OAAO,GAAGU,YAAO,CAAC;AAC9B,AACA,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;AACnC,AAEA,WAAW,CAAC,WAAW,GAAG,WAAW,CAAC;AACtC,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;AACtE,AACA,IAAI,QAAQ,CAAC;;AAEb,AAAO,SAAS,OAAO,CAACJ,OAAI,EAAE;IAC1B,QAAQ,GAAG,GAAG,CAACA,OAAI,CAAC,CAAC;CACxB;AACD,IAAI,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC;AAC9C,WAAW,CAAC,SAAS,CAAC,QAAQ,GAAG,UAAUJ,cAAW,EAAE,SAAS,EAAE;IAC/D,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAEA,cAAW,EAAE,SAAS,CAAC,CAAC;CACtD,CAAC;;AAEF,IAAI,WAAW,GAAG5B,aAAM,CAAC,SAAS,CAAC;AACnC,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC;AACzC,WAAW,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;AAC5C,IAAI,eAAe,GAAGA,aAAM,CAAC,UAAU,CAAC,SAAS,CAAC;AAClD,eAAe,CAAC,OAAO,GAAG,eAAe,CAAC,YAAY,CAAC;AACvD,OAAO,CAACgC,WAAI,CAAC,CAAC;;AAEd,IAAI,iBAAiB,GAAG;IACpB,EAAE,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,OAAOK,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE;IAC/D,GAAG,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,OAAOC,eAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;IACvD,CAAC,EAAE,EAAE,KAAK,EAAE,UAAU,GAAG,EAAE,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE;CAC9D,CAAC;AACF,MAAM,CAAC,gBAAgB,CAAC,WAAW,CAAC,SAAS,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file diff --git a/dist/index.min.js b/dist/index.min.js index 99a5633..b1fc11c 100644 --- a/dist/index.min.js +++ b/dist/index.min.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("nestedtypes"),require("react"),require("react-dom")):"function"==typeof define&&define.amd?define(["nestedtypes","react","react-dom"],e):"object"==typeof exports?exports.React=e(require("nestedtypes"),require("react"),require("react-dom")):t.React=e(t.Nested,t.React,t.ReactDOM)}(this,function(t,e,n){return function(t){function e(o){if(n[o])return n[o].exports;var r=n[o]={i:o,l:!1,exports:{}};return t[o].call(r.exports,r,r.exports,e),r.l=!0,r.exports}var n={};return e.m=t,e.c=n,e.d=function(t,n,o){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:o})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=9)}([function(e,n){e.exports=t},function(t,e,n){"use strict";n.d(e,"e",function(){return a});var o=n(2),r=(n.n(o),n(0)),i=(n.n(r),n(4)),s=n(17),u=n(20);n.o(r,"define")&&n.d(e,"g",function(){return r.define}),n.o(r,"mixins")&&n.d(e,"h",function(){return r.mixins}),n.d(e,"d",function(){return i.c}),n.d(e,"b",function(){return i.a}),n.d(e,"c",function(){return s.a}),n.d(e,"a",function(){return u.a});var c=Object.create(o);c.default=c,c.define=r.define,c.mixins=r.mixins,c.Node=i.c.value(null),c.Element=i.a.value(null),c.Link=s.a,c.Component=u.a;var a=c.assignToState=function(t){return function(e){this.state.assignFrom((n={},n[t]=e&&e instanceof s.a?e.value:e,n));var n}};e.f=c},function(t,n){t.exports=e},function(t,e,n){"use strict";function o(t){var e,n,o,s={},u=c.Record.defaults(t).prototype;return u.forEachAttr(u._attributes,function(t,u){if("id"!==u){var c=t.value,a=t.type,p=t.options;if(s[u]=i(a,p.isRequired),p._onChange&&(n||(n={}),n[u]=r(p._onChange)),p.changeHandlers&&p.changeHandlers.length&&(o||(o={}),o[u]=p.changeHandlers),p.changeEvents){o||(o={});var f=o[u]||(o[u]=[]),l="string"==typeof p.changeEvents?p.changeEvents:null;f.push(function(t,e,n){e&&n.stopListening(e),t&&n.listenTo(t,l||t._changeEventName,n.asyncUpdate)})}void 0!==c&&(e||(e={}),e[u]=t.convert(c,void 0,null,{}))}}),{propTypes:s,defaults:e,watchers:n,changeHandlers:o}}function r(t){return"function"==typeof t?t:function(e,n){this[t]&&this[t](e,n)}}function i(t,e){var n=s(t);return e?n.isRequired:n}function s(t){switch(t){case Number:case Number.integer:return u.number;case String:return u.string;case Boolean:return u.bool;case Array:return u.array;case Function:return u.func;case Object:return u.object;case a:return u.node;case p:return u.element;case void 0:case null:return u.any;default:return u.instanceOf(t)}}e.c=o,n.d(e,"b",function(){return a}),n.d(e,"a",function(){return p});var u=n(6),c=(n.n(u),n(0)),a=(n.n(c),function(){function t(){}return t}()),p=function(){function t(){}return t}()},function(t,e,n){"use strict";function o(t,e){i.a.call(this,t,e),s.c.call(this,t,e),u.a.call(this,t,e),c.a.call(this,t,e),r.Messenger.onDefine.call(this,t,e)}e.d=o;var r=n(0),i=(n.n(r),n(10)),s=n(5),u=n(11),c=n(16),a=n(3);n.d(e,"c",function(){return a.b}),n.d(e,"a",function(){return a.a});var p=n(7);n.d(e,"b",function(){return p.a})},function(t,e,n){"use strict";function o(t,e){var n=this.prototype,o=t.state,a=t.State;if("function"==typeof o&&(a=o,o=void 0),o){var p=a||n.State||r.Record,f=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e}(p);f.attributes=o,f=s([r.define],f),n.State=f}else a&&(n.State=a);(o||a)&&this.mixins.merge([u,c])}e.c=o,n.d(e,"a",function(){return u}),n.d(e,"b",function(){return c});var r=n(0),i=(n.n(r),this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};return function(e,n){function o(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}}()),s=this&&this.__decorate||function(t,e,n,o){var r,i=arguments.length,s=i<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,o);else for(var u=t.length-1;u>=0;u--)(r=t[u])&&(s=(i<3?r(s):i>3?r(e,n,s):r(e,n))||s);return i>3&&s&&Object.defineProperty(e,n,s),s},u={_initializeState:function(){var t=this.state=this.props.__keepState||new this.State;t._owner=this,t._ownerKey="state"},context:{_nestedStore:r.Store},getStore:function(){var t,e;return(t=this.context)&&t._nestedStore||(e=this.state)&&e._defaultStore},componentWillUnmount:function(){var t=this.state;t._owner=t._ownerKey=void 0,this._preventDispose||t.dispose(),this.state=void 0}},c={_onChildrenChange:function(){},componentDidMount:function(){this._onChildrenChange=this.asyncUpdate}}},function(t,e,n){t.exports=n(12)()},function(t,e,n){"use strict";function o(t){var e=Object.keys(t),n=new Function("p","s","\n var v;\n this._s = s && s._changeToken;\n "+e.map(function(t){return"\n this."+t+" = ( ( v = p."+t+") && v._changeToken ) || v;\n "}).join("")+"\n ");return n.prototype._hasChanges=new Function("p","s","\n var v;\n return ( ( s && s._changeToken ) !== this._s ) "+e.map(function(t){return" ||\n this."+t+" !== ( ( ( v = p."+t+") && v._changeToken ) || v )\n "}).join("")+";\n "),n}function r(){this._propsChangeTokens=new this.PropsChangeTokens(this.props,this.state)}e.c=o,n.d(e,"a",function(){return i}),n.d(e,"b",function(){return s});var i=o({}),s={shouldComponentUpdate:function(t){return this._propsChangeTokens._hasChanges(t)},componentDidMount:r,componentDidUpdate:r}},function(t,e){t.exports=n},function(t,e,n){"use strict";function o(t){d=Object(f.a)(t)}Object.defineProperty(e,"__esModule",{value:!0}),e.useView=o;var r=n(1);n.d(e,"define",function(){return r.g}),n.d(e,"mixins",function(){return r.h}),n.d(e,"Node",function(){return r.d}),n.d(e,"Element",function(){return r.b}),n.d(e,"Link",function(){return r.c}),n.d(e,"Component",function(){return r.a}),n.d(e,"assignToState",function(){return r.e});var i=n(8),s=n.n(i),u=n(0),c=n.n(u),a=n(6),p=(n.n(a),n(21));n.d(e,"subview",function(){return p.a});var f=n(22),l=n(23);n.d(e,"PropTypes",function(){return a}),n.d(e,"createClass",function(){return l.a});var h=Object.create(r.f);e.default=h,h.subview=p.a,h.createClass=l.a,Object.defineProperty(h,"PropTypes",{value:a});var d,v=h.Component.onDefine;h.Component.onDefine=function(t,e){return this.View=d.extend({reactClass:this}),v.call(this,t,e)};var y=u.Record.prototype;y.getLink=y.linkAt,y.deepLink=y.linkPath;var m=u.Record.Collection.prototype;m.hasLink=m.linkContains,o(u.View);var _={el:{get:function(){return s.a.findDOMNode(this)}},$el:{get:function(){return c.a.$(this.el)}},$:{value:function(t){return this.$el.find(t)}}};Object.defineProperties(h.Component.prototype,_)},function(t,e,n){"use strict";function o(t,e){var n=t.store,o=t.Store;if(n&&n instanceof r.Store)this.prototype.store=n,this.mixins.merge([a,c]);else if(n||t.Store){if("function"==typeof n&&(o=n,n=void 0),n){var f=o||this.prototype.Store||r.Store,l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s(e,t),e}(f);l.attrbutes=n,l=u([r.define],l),this.prototype.Store=l}else o&&(this.prototype.Store=o);this.mixins.merge([p,i.b,c])}}e.a=o;var r=n(0),i=(n.n(r),n(5)),s=this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};return function(e,n){function o(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}}(),u=this&&this.__decorate||function(t,e,n,o){var r,i=arguments.length,s=i<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,o);else for(var u=t.length-1;u>=0;u--)(r=t[u])&&(s=(i<3?r(s):i>3?r(e,n,s):r(e,n))||s);return i>3&&s&&Object.defineProperty(e,n,s),s},c={childContext:{_nestedStore:r.Store},getChildContext:function(){return{_nestedStore:this.store}},getStore:function(){return this.store},get:function(t){var e=i.a.getStore.call(this,t);return e&&e.get(t)}},a={componentDidMount:function(){this.listenTo(this.store,"change",this.asyncUpdate)}},p={componentWillMount:function(){var t=this.store=new this.Store;t._owner=this,t._ownerKey="store"},componentWillUnmount:function(){this.store._ownerKey=this.store._owner=void 0,this.store.dispose(),this.store=void 0}}},function(t,e,n){"use strict";function o(t,e){var n=t.context,o=t.childContext,s=this.prototype;n&&(s._context=i.tools.defaults(n,e.prototype._context||{}),this.contextTypes=Object(r.c)(n).propTypes),o&&(s._childContext=i.tools.defaults(o,e.prototype._childContext),this.childContextTypes=Object(r.c)(o).propTypes)}e.a=o;var r=n(3),i=n(0);n.n(i)},function(t,e,n){"use strict";var o=n(13),r=n(14),i=n(15);t.exports=function(){function t(t,e,n,o,s,u){u!==i&&r(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function e(){return t}t.isRequired=t;var n={array:t,bool:t,func:t,number:t,object:t,string:t,symbol:t,any:t,arrayOf:e,element:t,instanceOf:e,node:t,objectOf:e,oneOf:e,oneOfType:e,shape:e,exact:e};return n.checkPropTypes=o,n.PropTypes=n,n}},function(t,e,n){"use strict";function o(t){return function(){return t}}var r=function(){};r.thatReturns=o,r.thatReturnsFalse=o(!1),r.thatReturnsTrue=o(!0),r.thatReturnsNull=o(null),r.thatReturnsThis=function(){return this},r.thatReturnsArgument=function(t){return t},t.exports=r},function(t,e,n){"use strict";function o(t,e,n,o,i,s,u,c){if(r(e),!t){var a;if(void 0===e)a=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var p=[n,o,i,s,u,c],f=0;a=new Error(e.replace(/%s/g,function(){return p[f++]})),a.name="Invariant Violation"}throw a.framesToPop=1,a}}var r=function(t){};t.exports=o},function(t,e,n){"use strict";t.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(t,e,n){"use strict";function o(t,e){var n=t.props,o=t.pureRender,r=this.prototype;if(n){r._props=u.tools.defaults(n,e.prototype._props||{});var p=Object(i.c)(n),f=p.propTypes,l=p.defaults,h=p.watchers,d=p.changeHandlers;this.propTypes=f,l&&(this.defaultProps=l),h&&(r._watchers=h,this.mixins.merge([a])),d&&(r._changeHandlers=d,this.mixins.merge([c])),r.pureRender&&(r.PropsChangeTokens=Object(s.c)(n))}o&&this.mixins.merge([s.b])}function r(t,e,n){var o=t._changeHandlers;for(var r in o)if(e[r]!==n[r])for(var i=0,s=o[r];i=0)||this;return o.parent=e,o.element=n,o}return r(e,t),e.prototype.set=function(t){var e=this,n=Boolean(t);if(this.value!==n){var o=this.parent.value,r=t?o.concat(this.element):o.filter(function(t){return t!==e.element});this.parent.set(r)}},e}(i),f="Invalid value",l=function(t){function e(e,n){var o=t.call(this,e.value[n])||this;return o.parent=e,o.key=n,o}return r(e,t),e.prototype.remove=function(){this.parent.removeAt(this.key)},e.prototype.set=function(t){var e=this;this.value!==t&&this.parent.update(function(n){return n[e.key]=t,n})},e}(i)},function(t,e,n){"use strict";function o(t){if(t&&"object"==typeof t)switch(Object.getPrototypeOf(t)){case r:return c;case i:return u}return s}e.b=o,n.d(e,"a",function(){return c});var r=Array.prototype,i=Object.prototype,s={clone:function(t){return t},map:function(t,e){return[]},remove:function(t){return t}},u={map:function(t,e){var n=[];for(var o in t.value){var r=e(t.at(o),o);void 0===r||n.push(r)}return n},remove:function(t,e){return delete t[e],t},clone:function(t){var e={};for(var n in t)e[n]=t[n];return e}},c={clone:function(t){return t.slice()},remove:function(t,e){return t.splice(e,1),t},map:function(t,e){for(var n=t.value.length,o=Array(n),r=0,i=0;r=0;u--)(r=t[u])&&(s=(i<3?r(s):i>3?r(e,n,s):r(e,n))||s);return i>3&&s&&Object.defineProperty(e,n,s),s},a=function(t){function e(e,n){var o=t.call(this,e,n)||this;return o._initializeState(),o}return u(e,t),e.prototype.linkAt=function(t){return this.state.linkAt(t)},e.prototype.linkAll=function(){var t=this.state;return t.linkAll.apply(t,arguments)},e.prototype.linkPath=function(t){return this.state.linkPath(t)},Object.defineProperty(e.prototype,"links",{get:function(){return this.state._links},enumerable:!0,configurable:!0}),e.prototype._initializeState=function(){this.state=null},e.prototype.assignToState=function(t,e){this.state.assignFrom((n={},n[e]=t,n));var n},e.prototype.componentWillUnmount=function(){this.dispose()},e.prototype.transaction=function(t){var e=this.shouldComponentUpdate,n=e!==o;n&&(this.shouldComponentUpdate=o);var r=this,i=r.state,s=r.store,u=s?function(e){return s.transaction(function(){return t(e)})}:t;i?i.transaction(u):u(i),n&&(this.shouldComponentUpdate=e,this.asyncUpdate())},e.prototype.asyncUpdate=function(){this.shouldComponentUpdate===o||this._disposed||this.forceUpdate()},e}(r.Component);a.onDefine=s.d,a=c([Object(i.define)({PropsChangeTokens:s.b}),Object(i.definitions)({state:i.mixinRules.merge,State:i.mixinRules.value,store:i.mixinRules.merge,Store:i.mixinRules.value,props:i.mixinRules.merge,context:i.mixinRules.merge,childContext:i.mixinRules.merge,pureRender:i.mixinRules.protoValue}),Object(i.mixinRules)({componentWillMount:i.mixinRules.classLast,componentDidMount:i.mixinRules.classLast,componentWillReceiveProps:i.mixinRules.classLast,componentWillUpdate:i.mixinRules.classLast,componentDidUpdate:i.mixinRules.classLast,componentWillUnmount:i.mixinRules.classFirst,shouldComponentUpdate:i.mixinRules.some,getChildContext:i.mixinRules.defaults}),Object(i.mixins)(i.Messenger)],a),Object.defineProperty(a.prototype,"isMounted",{value:function(){return!this._disposed}})},function(t,e,n){"use strict";var o=n(1),r=n(0),i=(n.n(r),this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};return function(e,n){function o(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}}()),s=r.tools.notEqual,u=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.saveRef=function(t){e.root=t},e}return i(e,t),e.prototype.shouldComponentUpdate=function(t){var e=this.props;return t.View!==e.View||s(t.options,e.options)},e.prototype.hasUnsavedChanges=function(){var t=this.view;return t&&("function"==typeof t.hasUnsavedChanges?t.hasUnsavedChanges():t.hasUnsavedChanges)},e.prototype.render=function(){return o.f.createElement("div",{ref:this.saveRef,className:this.props.className})},e.prototype.componentDidMount=function(){this._mountView()},e.prototype.componentDidUpdate=function(){this._dispose(),this._mountView()},e.prototype.componentWillUnmount=function(){this._dispose()},e.prototype._mountView=function(){var t=this.root,e=this.props,n=this.view=e.options?new e.View(e.options):new e.View;t.appendChild(n.el),n.render()},e.prototype._dispose=function(){var t=this.view;t&&(t.dispose?t.dispose():(t.stopListening(),t.off()),this.root.innerHTML="",this.view=null)},e}(o.a);e.a=u},function(t,e,n){"use strict";function o(t){var e=t.prototype.dispose||function(){},n=t.prototype.setElement,o=t.extend({reactClass:null,props:{},element:null,initialize:function(t){this.options=t||{}},setElement:function(){return this.unmountComponent(!0),n.apply(this,arguments)},component:null,prevState:null,resize:function(){window.Page.forceResize()},render:function(){var t=this.prevState?u.tools.fastAssign({__keepState:this.prevState},this.options):this.options,e=r.createElement(this.reactClass,t),n=s.a.render(e,this.el);this.component||this.mountComponent(n)},mountComponent:function(t){this.component=t,this.prevState=null,t.trigger&&this.listenTo(t,"all",function(){this.trigger.apply(this,arguments)})},unmountComponent:function(t){var e=this.component;e&&(this.prevState=e.state,e.trigger&&this.stopListening(e),e._preventDispose=Boolean(t),s.a.unmountComponentAtNode(this.el),this.component=null)},dispose:function(){return this.unmountComponent(),e.apply(this,arguments)}});return Object.defineProperty(o.prototype,"model",{get:function(){return this.component||this.render(),this.component&&this.component.state}}),o}e.a=o;var r=n(2),i=(n.n(r),n(8)),s=n.n(i),u=n(0);n.n(u);window.Page||(window.Page={forceResize:function(){}})},function(t,e,n){"use strict";function o(t){var e=t.statics,n=s(t,["statics"]),o=[],c=r.a.extend(i({constructor:function(){r.a.apply(this,arguments);for(var t=0,e=o;t=0;u--)(r=t[u])&&(s=(i<3?r(s):i>3?r(e,n,s):r(e,n))||s);return i>3&&s&&Object.defineProperty(e,n,s),s},j={_initializeState:function(){var t=this.state=this.props.__keepState||new this.State;t._owner=this,t._ownerKey="state"},context:{_nestedStore:n.Store},getStore:function(){var t,e;return(t=this.context)&&t._nestedStore||(e=this.state)&&e._defaultStore},componentWillUnmount:function(){var t=this.state;t._owner=t._ownerKey=void 0,this._preventDispose||t.dispose(),this.state=void 0}},R={_onChildrenChange:function(){},componentDidMount:function(){this._onChildrenChange=this.asyncUpdate}},S=this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};return function(e,n){function o(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}}(),k=this&&this.__decorate||function(t,e,n,o){var r,i=arguments.length,s=i<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,o);else for(var u=t.length-1;u>=0;u--)(r=t[u])&&(s=(i<3?r(s):i>3?r(e,n,s):r(e,n))||s);return i>3&&s&&Object.defineProperty(e,n,s),s},U={childContext:{_nestedStore:n.Store},getChildContext:function(){return{_nestedStore:this.store}},getStore:function(){return this.store},get:function(t){var e=j.getStore.call(this,t);return e&&e.get(t)}},T={componentDidMount:function(){this.listenTo(this.store,"change",this.asyncUpdate)}},A={componentWillMount:function(){var t=this.store=new this.Store;t._owner=this,t._ownerKey="store"},componentWillUnmount:function(){this.store._ownerKey=this.store._owner=void 0,this.store.dispose(),this.store=void 0}},D=function(){return function(){}}(),M=function(){return function(){}}(),V=h({}),W={shouldComponentUpdate:function(t){return this._propsChangeTokens._hasChanges(t)},componentDidMount:f,componentDidUpdate:f},E={componentDidMount:function(){v(this,{},this.props)},componentDidUpdate:function(t){v(this,t,this.props)},componentWillUnmount:function(){v(this,this.props,{})}},L={componentWillReceiveProps:function(t){var e=this,n=e._watchers,o=e.props;for(var r in n)t[r]!==o[r]&&n[r].call(this,t[r],r)},componentWillMount:function(){var t=this,e=t._watchers,n=t.props;for(var o in e)e[o].call(this,n[o],o)}},N=Array.prototype,q=Object.prototype,H={clone:function(t){return t},map:function(t,e){return[]},remove:function(t){return t}},z={map:function(t,e){var n=[];for(var o in t.value){var r=e(t.at(o),o);void 0===r||n.push(r)}return n},remove:function(t,e){return delete t[e],t},clone:function(t){var e={};for(var n in t)e[n]=t[n];return e}},F={clone:function(t){return t.slice()},remove:function(t,e){return t.splice(e,1),t},map:function(t,e){for(var n=t.value.length,o=Array(n),r=0,i=0;r=0)||this;return o.parent=e,o.element=n,o}return B(e,t),e.prototype.set=function(t){var e=this,n=Boolean(t);if(this.value!==n){var o=this.parent.value,r=t?o.concat(this.element):o.filter(function(t){return t!==e.element});this.parent.set(r)}},e}(K),X="Invalid value",Y=function(t){function e(e,n){var o=t.call(this,e.value[n])||this;return o.parent=e,o.key=n,o}return B(e,t),e.prototype.remove=function(){this.parent.removeAt(this.key)},e.prototype.set=function(t){var e=this;this.value!==t&&this.parent.update(function(n){return n[e.key]=t,n})},e}(K),Z=this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};return function(e,n){function o(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}}();n.Mixable.mixins.populate(K),n.MixinsState.get(n.Record).merge([{linkAt:function(t){return _(m(this),this,t)},linkPath:function(t,e){return new et(this,t,e)},linkAll:function(){var t=m(this);if(arguments.length)for(var e=0;e=0;u--)(r=t[u])&&(s=(i<3?r(s):i>3?r(e,n,s):r(e,n))||s);return i>3&&s&&Object.defineProperty(e,n,s),s};t.Component=function(t){function e(e,n){var o=t.call(this,e,n)||this;return o._initializeState(),o}return ot(e,t),e.prototype.linkAt=function(t){return this.state.linkAt(t)},e.prototype.linkAll=function(){var t=this.state;return t.linkAll.apply(t,arguments)},e.prototype.linkPath=function(t){return this.state.linkPath(t)},Object.defineProperty(e.prototype,"links",{get:function(){return this.state._links},enumerable:!0,configurable:!0}),e.prototype._initializeState=function(){this.state=null},e.prototype.assignToState=function(t,e){this.state.assignFrom((n={},n[e]=t,n));var n},e.prototype.componentWillUnmount=function(){this.dispose()},e.prototype.transaction=function(t){var e=this.shouldComponentUpdate,n=e!==g;n&&(this.shouldComponentUpdate=g);var o=this,r=o.state,i=o.store,s=i?function(e){return i.transaction(function(){return t(e)})}:t;r?r.transaction(s):s(r),n&&(this.shouldComponentUpdate=e,this.asyncUpdate())},e.prototype.asyncUpdate=function(){this.shouldComponentUpdate===g||this._disposed||this.forceUpdate()},e}(e.Component),t.Component.onDefine=function(t,e){s.call(this,t,e),i.call(this,t,e),l.call(this,t,e),d.call(this,t,e),n.Messenger.onDefine.call(this,t,e)},t.Component=rt([n.define({PropsChangeTokens:V}),n.definitions({state:n.mixinRules.merge,State:n.mixinRules.value,store:n.mixinRules.merge,Store:n.mixinRules.value,props:n.mixinRules.merge,context:n.mixinRules.merge,childContext:n.mixinRules.merge,pureRender:n.mixinRules.protoValue}),n.mixinRules({componentWillMount:n.mixinRules.classLast,componentDidMount:n.mixinRules.classLast,componentWillReceiveProps:n.mixinRules.classLast,componentWillUpdate:n.mixinRules.classLast,componentDidUpdate:n.mixinRules.classLast,componentWillUnmount:n.mixinRules.classFirst,shouldComponentUpdate:n.mixinRules.some,getChildContext:n.mixinRules.defaults}),n.mixins(n.Messenger)],t.Component),Object.defineProperty(t.Component.prototype,"isMounted",{value:function(){return!this._disposed}});var it=Object.create(e);it.default=it,it.define=n.define,it.mixins=n.mixins,it.Node=D.value(null),it.Element=M.value(null),it.Link=K,it.Component=t.Component;var st=it.assignToState=function(t){return function(e){this.state.assignFrom((n={},n[t]=e&&e instanceof K?e.value:e,n));var n}},ut=this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};return function(e,n){function o(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}}(),at=n.tools.notEqual,pt=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.saveRef=function(t){e.root=t},e}return ut(e,t),e.prototype.shouldComponentUpdate=function(t){var e=this.props;return t.View!==e.View||at(t.options,e.options)},e.prototype.hasUnsavedChanges=function(){var t=this.view;return t&&("function"==typeof t.hasUnsavedChanges?t.hasUnsavedChanges():t.hasUnsavedChanges)},e.prototype.render=function(){return it.createElement("div",{ref:this.saveRef,className:this.props.className})},e.prototype.componentDidMount=function(){this._mountView()},e.prototype.componentDidUpdate=function(){this._dispose(),this._mountView()},e.prototype.componentWillUnmount=function(){this._dispose()},e.prototype._mountView=function(){var t=this.root,e=this.props,n=this.view=e.options?new e.View(e.options):new e.View;t.appendChild(n.el),n.render()},e.prototype._dispose=function(){var t=this.view;t&&(t.dispose?t.dispose():(t.stopListening(),t.off()),this.root.innerHTML="",this.view=null)},e}(t.Component);window.Page||(window.Page={forceResize:function(){}});var ct=this&&this.__assign||Object.assign||function(t){for(var e,n=1,o=arguments.length;n= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n/*****************\n * State\n */\n\nfunction process(definition, BaseComponentClass) {\n var prototype = this.prototype;\n var state = definition.state, State = definition.State;\n if (typeof state === 'function') {\n State = state;\n state = void 0;\n }\n if (state) {\n var BaseClass = State || prototype.State || __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Record\"];\n var ComponentState = (function (_super) {\n __extends(ComponentState, _super);\n function ComponentState() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return ComponentState;\n }(BaseClass));\n ComponentState.attributes = state;\n ComponentState = __decorate([\n __WEBPACK_IMPORTED_MODULE_0_type_r__[\"define\"]\n ], ComponentState);\n prototype.State = ComponentState;\n }\n else if (State) {\n prototype.State = State;\n }\n if (state || State) {\n this.mixins.merge([StateMixin, UpdateOnNestedChangesMixin]);\n }\n}\nvar StateMixin = {\n //state : null,\n _initializeState: function () {\n // props.__keepState is used to workaround issues in Backbone intergation layer\n var state = this.state = this.props.__keepState || new this.State();\n // Take ownership on state...\n state._owner = this;\n state._ownerKey = 'state';\n },\n context: {\n _nestedStore: __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Store\"]\n },\n // reference global store to fix model's store locator\n getStore: function () {\n // Attempt to get the store from the context first. Then - fallback to the state's default store.\n // TBD: Need to figure out a good way of managing local stores.\n var context, state;\n return ((context = this.context) && context._nestedStore) ||\n ((state = this.state) && state._defaultStore);\n },\n componentWillUnmount: function () {\n var state = this.state;\n state._owner = state._ownerKey = void 0;\n this._preventDispose /* hack for component-view to preserve the state */ || state.dispose();\n this.state = void 0;\n }\n};\nvar UpdateOnNestedChangesMixin = {\n _onChildrenChange: function () { },\n componentDidMount: function () {\n this._onChildrenChange = this.asyncUpdate;\n }\n};\n//# sourceMappingURL=state.js.map\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (false) {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = __webpack_require__(12)();\n}\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = createChangeTokensConstructor;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return EmptyPropsChangeTokensCtor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return PureRenderMixin; });\nfunction createChangeTokensConstructor(props) {\n var propNames = Object.keys(props);\n var PropsChangeTokens = new Function('p', 's', \"\\n var v;\\n this._s = s && s._changeToken;\\n \" + propNames.map(function (name) { return \"\\n this.\" + name + \" = ( ( v = p.\" + name + \") && v._changeToken ) || v;\\n \"; }).join('') + \"\\n \");\n PropsChangeTokens.prototype._hasChanges = new Function('p', 's', \"\\n var v;\\n return ( ( s && s._changeToken ) !== this._s ) \" + propNames.map(function (name) { return \" ||\\n this.\" + name + \" !== ( ( ( v = p.\" + name + \") && v._changeToken ) || v )\\n \"; }).join('') + \";\\n \");\n return PropsChangeTokens;\n}\n;\nvar EmptyPropsChangeTokensCtor = createChangeTokensConstructor({});\nvar PureRenderMixin = {\n shouldComponentUpdate: function (nextProps) {\n return this._propsChangeTokens._hasChanges(nextProps);\n },\n componentDidMount: updateChangeTokens,\n componentDidUpdate: updateChangeTokens\n};\nfunction updateChangeTokens() {\n this._propsChangeTokens = new this.PropsChangeTokens(this.props, this.state);\n}\n//# sourceMappingURL=pureRender.js.map\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_8__;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (immutable) */ __webpack_exports__[\"useView\"] = useView;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1);\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"define\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"g\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"mixins\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"h\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Node\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"d\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Element\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"b\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Link\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"c\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Component\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"assignToState\", function() { return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"e\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__view_element__ = __webpack_require__(21);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"subview\", function() { return __WEBPACK_IMPORTED_MODULE_4__view_element__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__component_view__ = __webpack_require__(22);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__createClass__ = __webpack_require__(23);\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"PropTypes\", function() { return __WEBPACK_IMPORTED_MODULE_3_prop_types__; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"createClass\", function() { return __WEBPACK_IMPORTED_MODULE_6__createClass__[\"a\"]; });\n// Re-export react-mvx\n\nvar NestedReact = Object.create(__WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"f\" /* default */]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (NestedReact);\n\n// NestedReact backward compatibility layer\n\n\n\n\nNestedReact.subview = __WEBPACK_IMPORTED_MODULE_4__view_element__[\"a\" /* default */];\n\n\n\nNestedReact.createClass = __WEBPACK_IMPORTED_MODULE_6__createClass__[\"a\" /* default */];\nObject.defineProperty(NestedReact, 'PropTypes', { value: __WEBPACK_IMPORTED_MODULE_3_prop_types__ });\n\nvar BaseView;\n// export hook to override base View class used...\nfunction useView(View) {\n BaseView = Object(__WEBPACK_IMPORTED_MODULE_5__component_view__[\"a\" /* default */])(View);\n}\nvar onDefine = NestedReact.Component.onDefine;\nNestedReact.Component.onDefine = function (definitions, BaseClass) {\n this.View = BaseView.extend({ reactClass: this });\n return onDefine.call(this, definitions, BaseClass);\n};\n// Deprecated API for backward compatibility\nvar RecordProto = __WEBPACK_IMPORTED_MODULE_2_type_r__[\"Record\"].prototype;\nRecordProto.getLink = RecordProto.linkAt;\nRecordProto.deepLink = RecordProto.linkPath;\nvar CollectionProto = __WEBPACK_IMPORTED_MODULE_2_type_r__[\"Record\"].Collection.prototype;\nCollectionProto.hasLink = CollectionProto.linkContains;\nuseView(__WEBPACK_IMPORTED_MODULE_2_type_r__[\"View\"]);\n// Extend react components to have backbone-style jquery accessors\nvar BackboneViewProps = {\n el: { get: function () { return __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.findDOMNode(this); } },\n $el: { get: function () { return __WEBPACK_IMPORTED_MODULE_2_type_r___default.a.$(this.el); } },\n $: { value: function (sel) { return this.$el.find(sel); } }\n};\nObject.defineProperties(NestedReact.Component.prototype, BackboneViewProps);\n//# sourceMappingURL=index.js.map\n\n/***/ }),\n/* 10 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = onDefine;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__state__ = __webpack_require__(5);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\nfunction onDefine(definition, BaseClass) {\n var store = definition.store, StoreClass = definition.Store;\n if (store && store instanceof __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Store\"]) {\n // Direct reference to an existing store. Put it to the prototype.\n this.prototype.store = store;\n this.mixins.merge([ExternalStoreMixin, ExposeStoreMixin]);\n }\n else if (store || definition.Store) {\n if (typeof store === 'function') {\n StoreClass = store;\n store = void 0;\n }\n if (store) {\n var BaseClass_1 = StoreClass || this.prototype.Store || __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Store\"];\n var InternalStore = (function (_super) {\n __extends(InternalStore, _super);\n function InternalStore() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return InternalStore;\n }(BaseClass_1));\n InternalStore.attrbutes = store;\n InternalStore = __decorate([\n __WEBPACK_IMPORTED_MODULE_0_type_r__[\"define\"]\n ], InternalStore);\n ;\n this.prototype.Store = InternalStore;\n }\n else if (StoreClass) {\n this.prototype.Store = StoreClass;\n }\n this.mixins.merge([InternalStoreMixin, __WEBPACK_IMPORTED_MODULE_1__state__[\"b\" /* UpdateOnNestedChangesMixin */], ExposeStoreMixin]);\n }\n}\n/**\n * Attached whenever the store declaration of any form is present in the component.\n */\nvar ExposeStoreMixin = {\n childContext: {\n _nestedStore: __WEBPACK_IMPORTED_MODULE_0_type_r__[\"Store\"]\n },\n getChildContext: function () {\n return { _nestedStore: this.store };\n },\n getStore: function () {\n return this.store;\n },\n // Will be called by the store when the lookup will fail.\n get: function (key) {\n // Ask upper store.\n var store = __WEBPACK_IMPORTED_MODULE_1__state__[\"a\" /* StateMixin */].getStore.call(this, key);\n return store && store.get(key);\n }\n};\n/**\n * External store must just track the changes and trigger render.\n * TBD: don't use it yet.\n */\nvar ExternalStoreMixin = {\n componentDidMount: function () {\n // Start UI updates on state changes.\n this.listenTo(this.store, 'change', this.asyncUpdate);\n }\n};\nvar InternalStoreMixin = {\n componentWillMount: function () {\n var store = this.store = new this.Store();\n store._owner = this;\n store._ownerKey = 'store';\n },\n componentWillUnmount: function () {\n this.store._ownerKey = this.store._owner = void 0;\n this.store.dispose();\n this.store = void 0;\n }\n};\n//# sourceMappingURL=store.js.map\n\n/***/ }),\n/* 11 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = onDefine;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n\n\nfunction onDefine(_a, BaseClass) {\n var context = _a.context, childContext = _a.childContext;\n var prototype = this.prototype;\n if (context) {\n // Merge in inherited members...\n prototype._context = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].defaults(context, BaseClass.prototype._context || {});\n // Compile to propTypes...\n this.contextTypes = Object(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* compileSpecs */])(context).propTypes;\n }\n if (childContext) {\n prototype._childContext = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].defaults(childContext, BaseClass.prototype._childContext);\n this.childContextTypes = Object(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* compileSpecs */])(childContext).propTypes;\n }\n}\n//# sourceMappingURL=context.js.map\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar emptyFunction = __webpack_require__(13);\nvar invariant = __webpack_require__(14);\nvar ReactPropTypesSecret = __webpack_require__(15);\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n invariant(\n false,\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim\n };\n\n ReactPropTypes.checkPropTypes = emptyFunction;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (false) {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = onDefine;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__typeSpecs__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__pureRender__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__);\n/**\n * Handle props specification and everything which is related:\n * - local listening to props changes\n * - pure render mixin\n */\n\n\n\nfunction onDefine(_a, BaseClass) {\n var props = _a.props, pureRender = _a.pureRender;\n var prototype = this.prototype;\n // process props spec...\n if (props) {\n // Merge with inherited members...\n prototype._props = __WEBPACK_IMPORTED_MODULE_2_type_r__[\"tools\"].defaults(props, BaseClass.prototype._props || {});\n var _b = Object(__WEBPACK_IMPORTED_MODULE_0__typeSpecs__[\"c\" /* compileSpecs */])(props), propTypes = _b.propTypes, defaults = _b.defaults, watchers = _b.watchers, changeHandlers = _b.changeHandlers;\n this.propTypes = propTypes;\n if (defaults)\n this.defaultProps = defaults;\n if (watchers) {\n prototype._watchers = watchers;\n this.mixins.merge([WatchersMixin]);\n }\n if (changeHandlers) {\n prototype._changeHandlers = changeHandlers;\n this.mixins.merge([ChangeHandlersMixin]);\n }\n if (prototype.pureRender) {\n prototype.PropsChangeTokens = Object(__WEBPACK_IMPORTED_MODULE_1__pureRender__[\"c\" /* createChangeTokensConstructor */])(props);\n }\n }\n if (pureRender) {\n this.mixins.merge([__WEBPACK_IMPORTED_MODULE_1__pureRender__[\"b\" /* PureRenderMixin */]]);\n }\n}\n/**\n * ChangeHandlers are fired in sequence upon props replacement.\n * Fires _after_ UI is updated. Used for managing events subscriptions.\n */\nvar ChangeHandlersMixin = {\n componentDidMount: function () {\n handlePropsChanges(this, {}, this.props);\n },\n componentDidUpdate: function (prev) {\n handlePropsChanges(this, prev, this.props);\n },\n componentWillUnmount: function () {\n handlePropsChanges(this, this.props, {});\n }\n};\nfunction handlePropsChanges(component, prev, next) {\n var _changeHandlers = component._changeHandlers;\n for (var name_1 in _changeHandlers) {\n if (prev[name_1] !== next[name_1]) {\n for (var _i = 0, _a = _changeHandlers[name_1]; _i < _a.length; _i++) {\n var handler = _a[_i];\n handler(next[name_1], prev[name_1], component);\n }\n }\n }\n}\n/**\n * Watchers works on props replacement and fires _before_ any change will be applied and UI is updated.\n * Fired in componentWillMount as well, which makes it a nice way to sync state from props.\n */\nvar WatchersMixin = {\n componentWillReceiveProps: function (next) {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_2 in _watchers) {\n if (next[name_2] !== props[name_2]) {\n _watchers[name_2].call(this, next[name_2], name_2);\n }\n }\n },\n componentWillMount: function () {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_3 in _watchers) {\n _watchers[name_3].call(this, props[name_3], name_3);\n }\n }\n};\n//# sourceMappingURL=props.js.map\n\n/***/ }),\n/* 17 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__valuelink_link__ = __webpack_require__(18);\n/**\n * Import ValueLink library\n * Define value links binding mixins to the Record and Collection\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]);\n__WEBPACK_IMPORTED_MODULE_0_type_r__[\"Mixable\"].mixins.populate(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]);\n/**\n * Record\n */\n__WEBPACK_IMPORTED_MODULE_0_type_r__[\"MixinsState\"].get(__WEBPACK_IMPORTED_MODULE_0_type_r__[\"Record\"]).merge([{\n // Link to the record's attribute by its key.\n linkAt: function (key) {\n return cacheLink(getLinksCache(this), this, key);\n },\n // Link to the attribute of the record's tree by symbolic path.\n linkPath: function (path, options) {\n return new RecordDeepLink(this, path, options);\n },\n // Link all (or listed) attributes and return links cache.\n linkAll: function () {\n var links = getLinksCache(this);\n if (arguments.length) {\n for (var i = 0; i < arguments.length; i++) {\n cacheLink(links, this, arguments[i]);\n }\n }\n else {\n var attributes = this.attributes;\n for (var key in attributes) {\n attributes[key] === void 0 || cacheLink(links, this, key);\n }\n }\n return links;\n }\n }]);\n/**\n * Link to Type-R's record attribute.\n * Strict evaluation of value, lazy evaluation of validation error.\n * Links are cached in the records\n */\nvar RecordLink = (function (_super) {\n __extends(RecordLink, _super);\n function RecordLink(record, attr, value) {\n var _this = _super.call(this, value) || this;\n _this.record = record;\n _this.attr = attr;\n return _this;\n }\n RecordLink.prototype.set = function (x) {\n this.record[this.attr] = x;\n };\n Object.defineProperty(RecordLink.prototype, \"error\", {\n get: function () {\n return this._error === void 0 ?\n this.record.getValidationError(this.attr) :\n this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n return RecordLink;\n}(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]));\nvar RecordDeepLink = (function (_super) {\n __extends(RecordDeepLink, _super);\n function RecordDeepLink(record, path, options) {\n var _this = _super.call(this, record.deepGet(path)) || this;\n _this.record = record;\n _this.path = path;\n _this.options = options;\n return _this;\n }\n Object.defineProperty(RecordDeepLink.prototype, \"error\", {\n get: function () {\n if (this._error === void 0) {\n this._error = this.record.deepValidationError(this.path) || null;\n }\n return this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(RecordDeepLink.prototype, \"_changeToken\", {\n get: function () {\n return this.record._changeToken;\n },\n enumerable: true,\n configurable: true\n });\n RecordDeepLink.prototype.set = function (x) {\n this.record.deepSet(this.path, x, this.options);\n };\n return RecordDeepLink;\n}(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]));\nfunction getLinksCache(record) {\n return record._links || (record._links = new record.AttributesCopy({}));\n}\nfunction cacheLink(links, record, key) {\n var cached = links[key], value = record[key];\n return cached && cached.value === value ? cached\n : links[key] = new RecordLink(record, key, value);\n}\n/***********************************\n * Collection\n */\n__WEBPACK_IMPORTED_MODULE_0_type_r__[\"MixinsState\"].get(__WEBPACK_IMPORTED_MODULE_0_type_r__[\"Record\"].Collection).merge([{\n // Boolean link to the record's presence in the collection\n linkContains: function (record) {\n return new CollectionLink(this, record);\n },\n // Link to collection's property\n linkAt: function (prop) {\n var _this = this;\n return __WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */].value(this[prop], function (x) { return _this[prop] = x; });\n }\n }]);\n/**\n * Boolean link to presence of NestedType's record in collection.\n * Strict evaluation of value, no error.\n * Safe implementation of _changeToken.\n */\nvar CollectionLink = (function (_super) {\n __extends(CollectionLink, _super);\n function CollectionLink(collection, record) {\n var _this = _super.call(this, Boolean(collection._byId[record.cid])) || this;\n _this.collection = collection;\n _this.record = record;\n return _this;\n }\n CollectionLink.prototype.set = function (x) {\n this.collection.toggle(this.record, x);\n };\n return CollectionLink;\n}(__WEBPACK_IMPORTED_MODULE_1__valuelink_link__[\"a\" /* Link */]));\n//# sourceMappingURL=link.js.map\n\n/***/ }),\n/* 18 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Link; });\n/* unused harmony export CustomLink */\n/* unused harmony export CloneLink */\n/* unused harmony export EqualsLink */\n/* unused harmony export EnabledLink */\n/* unused harmony export ContainsLink */\n/* unused harmony export LinkAt */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__helpers__ = __webpack_require__(19);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * Advanced React links for purely functional two-way data binding\n *\n * MIT License, (c) 2016 Vlad Balin, Volicon.\n */\n\n// Main Link class. All links must extend it.\nvar Link = (function () {\n // create \n function Link(value) {\n this.value = value;\n }\n // Create custom link to arbitrary value\n Link.value = function (value, set) {\n return new CustomLink(value, set);\n };\n Object.defineProperty(Link.prototype, \"validationError\", {\n // DEPRECATED: Old error holder for backward compatibility with Volicon code base\n get: function () { return this.error; },\n enumerable: true,\n configurable: true\n });\n Link.prototype.onChange = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n handler(x);\n _this.set(x);\n });\n };\n Object.defineProperty(Link.prototype, \"props\", {\n // \n get: function () {\n var _this = this;\n return typeof this.value === 'boolean' ? {\n checked: this.value,\n onChange: function (e) { return _this.set(Boolean(e.target.checked)); }\n } : {\n value: this.value,\n onChange: function (e) { return _this.set(e.target.value); }\n };\n },\n enumerable: true,\n configurable: true\n });\n // DEPRECATED: Old React method for backward compatibility\n Link.prototype.requestChange = function (x) {\n this.set(x);\n };\n // Immediately update the link value using given transform function.\n Link.prototype.update = function (transform, e) {\n var next = transform(this.clone(), e);\n next === void 0 || this.set(next);\n };\n // Create new link which applies transform function on set.\n Link.prototype.pipe = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n var next = handler(x, _this.value);\n next === void 0 || _this.set(next);\n });\n };\n // Create UI event handler function which will update the link with a given transform function.\n Link.prototype.action = function (transform) {\n var _this = this;\n return function (e) { return _this.update(transform, e); };\n };\n Link.prototype.equals = function (truthyValue) {\n return new EqualsLink(this, truthyValue);\n };\n Link.prototype.enabled = function (defaultValue) {\n return new EnabledLink(this, defaultValue || \"\");\n };\n // Array-only links methods\n Link.prototype.contains = function (element) {\n return new ContainsLink(this, element);\n };\n Link.prototype.push = function () {\n var array = __WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* arrayHelpers */].clone(this.value);\n Array.prototype.push.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.unshift = function () {\n var array = __WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* arrayHelpers */].clone(this.value);\n Array.prototype.unshift.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.splice = function () {\n var array = __WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* arrayHelpers */].clone(this.value);\n Array.prototype.splice.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.map = function (iterator) {\n return Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* helpers */])(this.value).map(this, iterator);\n };\n Link.prototype.removeAt = function (key) {\n var value = this.value, _ = Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* helpers */])(value);\n this.set(_.remove(_.clone(value), key));\n };\n Link.prototype.at = function (key) {\n return new LinkAt(this, key);\n };\n Link.prototype.clone = function () {\n var value = this.value;\n return Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* helpers */])(value).clone(value);\n };\n Link.prototype.pick = function () {\n var links = {};\n for (var i = 0; i < arguments.length; i++) {\n var key = arguments[i];\n links[key] = new LinkAt(this, key);\n }\n return links;\n };\n /**\n * Validate link with validness predicate and optional custom error object. Can be chained.\n */\n Link.prototype.check = function (whenValid, error) {\n if (!this.error && !whenValid(this.value)) {\n this.error = error || whenValid.error || defaultError;\n }\n return this;\n };\n return Link;\n}());\n\nvar CustomLink = (function (_super) {\n __extends(CustomLink, _super);\n function CustomLink(value, set) {\n var _this = _super.call(this, value) || this;\n _this.set = set;\n return _this;\n }\n CustomLink.prototype.set = function (x) { };\n return CustomLink;\n}(Link));\n\nvar CloneLink = (function (_super) {\n __extends(CloneLink, _super);\n function CloneLink(parent, set) {\n var _this = _super.call(this, parent.value) || this;\n _this.set = set;\n var error = parent.error;\n if (error)\n _this.error = error;\n return _this;\n }\n CloneLink.prototype.set = function (x) { };\n return CloneLink;\n}(Link));\n\nvar EqualsLink = (function (_super) {\n __extends(EqualsLink, _super);\n function EqualsLink(parent, truthyValue) {\n var _this = _super.call(this, parent.value === truthyValue) || this;\n _this.parent = parent;\n _this.truthyValue = truthyValue;\n return _this;\n }\n EqualsLink.prototype.set = function (x) {\n this.parent.set(x ? this.truthyValue : null);\n };\n return EqualsLink;\n}(Link));\n\nvar EnabledLink = (function (_super) {\n __extends(EnabledLink, _super);\n function EnabledLink(parent, defaultValue) {\n var _this = _super.call(this, parent.value != null) || this;\n _this.parent = parent;\n _this.defaultValue = defaultValue;\n return _this;\n }\n EnabledLink.prototype.set = function (x) {\n this.parent.set(x ? this.defaultValue : null);\n };\n return EnabledLink;\n}(Link));\n\nvar ContainsLink = (function (_super) {\n __extends(ContainsLink, _super);\n function ContainsLink(parent, element) {\n var _this = _super.call(this, parent.value.indexOf(element) >= 0) || this;\n _this.parent = parent;\n _this.element = element;\n return _this;\n }\n ContainsLink.prototype.set = function (x) {\n var _this = this;\n var next = Boolean(x);\n if (this.value !== next) {\n var arr = this.parent.value, nextValue = x ? arr.concat(this.element) : arr.filter(function (el) { return el !== _this.element; });\n this.parent.set(nextValue);\n }\n };\n return ContainsLink;\n}(Link));\n\nvar defaultError = 'Invalid value';\n/**\n * Link to array or object element enclosed in parent link.\n * Performs purely functional update of the parent, shallow copying its value on `set`.\n */\nvar LinkAt = (function (_super) {\n __extends(LinkAt, _super);\n function LinkAt(parent, key) {\n var _this = _super.call(this, parent.value[key]) || this;\n _this.parent = parent;\n _this.key = key;\n return _this;\n }\n LinkAt.prototype.remove = function () {\n this.parent.removeAt(this.key);\n };\n // Set new element value to parent array or object, performing purely functional update.\n LinkAt.prototype.set = function (x) {\n var _this = this;\n if (this.value !== x) {\n this.parent.update(function (value) {\n value[_this.key] = x;\n return value;\n });\n }\n };\n ;\n return LinkAt;\n}(Link));\n\n//# sourceMappingURL=link.js.map\n\n/***/ }),\n/* 19 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = helpers;\n/* unused harmony export objectHelpers */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return arrayHelpers; });\nvar ArrayProto = Array.prototype, ObjectProto = Object.prototype;\nfunction helpers(value) {\n if (value && typeof value === 'object') {\n switch (Object.getPrototypeOf(value)) {\n case ArrayProto: return arrayHelpers;\n case ObjectProto: return objectHelpers;\n }\n }\n return dummyHelpers;\n}\n// Do nothing for types other than Array and plain Object.\nvar dummyHelpers = {\n clone: function (value) { return value; },\n map: function (link, fun) { return []; },\n remove: function (value) { return value; }\n};\n// `map` and `clone` for plain JS objects\nvar objectHelpers = {\n // Map through the link to object\n map: function (link, iterator) {\n var mapped = [];\n for (var key in link.value) {\n var element = iterator(link.at(key), key);\n element === void 0 || (mapped.push(element));\n }\n return mapped;\n },\n remove: function (object, key) {\n delete object[key];\n return object;\n },\n // Shallow clone plain JS object\n clone: function (object) {\n var cloned = {};\n for (var key in object) {\n cloned[key] = object[key];\n }\n return cloned;\n }\n};\n// `map` and `clone` helpers for arrays.\nvar arrayHelpers = {\n // Shallow clone array\n clone: function (array) {\n return array.slice();\n },\n remove: function (array, i) {\n array.splice(i, 1);\n return array;\n },\n // Map through the link to array\n map: function (link, iterator) {\n var length = link.value.length, mapped = Array(length);\n for (var i = 0, j = 0; i < length; i++) {\n var y = iterator(link.at(i), i);\n y === void 0 || (mapped[j++] = y);\n }\n mapped.length === j || (mapped.length = j);\n return mapped;\n }\n};\n//# sourceMappingURL=helpers.js.map\n\n/***/ }),\n/* 20 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Component; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__define__ = __webpack_require__(4);\n/**\n * React-Type-R component base class. Overrides React component.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\nvar Component = (function (_super) {\n __extends(Component, _super);\n function Component(props, context) {\n var _this = _super.call(this, props, context) || this;\n _this._initializeState();\n return _this;\n }\n Component.prototype.linkAt = function (key) {\n // Quick and dirty hack to suppres type error - refactor later.\n return this.state.linkAt(key);\n };\n Component.prototype.linkAll = function () {\n // Quick and dirty hack to suppres type error - refactor later.\n var state = this.state;\n return state.linkAll.apply(state, arguments);\n };\n Component.prototype.linkPath = function (path) {\n return this.state.linkPath(path);\n };\n Object.defineProperty(Component.prototype, \"links\", {\n get: function () {\n return this.state._links;\n },\n enumerable: true,\n configurable: true\n });\n Component.prototype._initializeState = function () {\n this.state = null;\n };\n Component.prototype.assignToState = function (x, key) {\n this.state.assignFrom((_a = {}, _a[key] = x, _a));\n var _a;\n };\n Component.prototype.componentWillUnmount = function () {\n this.dispose();\n };\n /**\n * Performs transactional update for both props and state.\n * Suppress updates during the transaction, and force update aftewards.\n * Wrapping the sequence of changes in a transactions guarantees that\n * React component will be updated _after_ all the changes to the\n * both props and local state are applied.\n */\n Component.prototype.transaction = function (fun) {\n var shouldComponentUpdate = this.shouldComponentUpdate, isRoot = shouldComponentUpdate !== returnFalse;\n if (isRoot) {\n this.shouldComponentUpdate = returnFalse;\n }\n var _a = this, state = _a.state, store = _a.store, withStore = store ? function (state) { return store.transaction(function () { return fun(state); }); } : fun;\n state ? state.transaction(withStore) : withStore(state);\n if (isRoot) {\n this.shouldComponentUpdate = shouldComponentUpdate;\n this.asyncUpdate();\n }\n };\n // Safe version of the forceUpdate suitable for asynchronous callbacks.\n Component.prototype.asyncUpdate = function () {\n this.shouldComponentUpdate === returnFalse || this._disposed || this.forceUpdate();\n };\n return Component;\n}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]));\nComponent.onDefine = __WEBPACK_IMPORTED_MODULE_2__define__[\"d\" /* default */];\nComponent = __decorate([\n Object(__WEBPACK_IMPORTED_MODULE_1_type_r__[\"define\"])({\n PropsChangeTokens: __WEBPACK_IMPORTED_MODULE_2__define__[\"b\" /* EmptyPropsChangeTokensCtor */]\n }),\n Object(__WEBPACK_IMPORTED_MODULE_1_type_r__[\"definitions\"])({\n // Definitions to be extracted from mixins and statics and passed to `onDefine()`\n state: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].merge,\n State: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].value,\n store: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].merge,\n Store: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].value,\n props: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].merge,\n context: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].merge,\n childContext: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].merge,\n pureRender: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].protoValue\n }),\n Object(__WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"])({\n // Apply old-school React mixin rules.\n componentWillMount: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classLast,\n componentDidMount: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classLast,\n componentWillReceiveProps: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classLast,\n componentWillUpdate: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classLast,\n componentDidUpdate: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classLast,\n componentWillUnmount: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].classFirst,\n // And a bit more to fix inheritance quirks.\n shouldComponentUpdate: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].some,\n getChildContext: __WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixinRules\"].defaults\n })\n // Component can send and receive events...\n ,\n Object(__WEBPACK_IMPORTED_MODULE_1_type_r__[\"mixins\"])(__WEBPACK_IMPORTED_MODULE_1_type_r__[\"Messenger\"])\n], Component);\n\nfunction returnFalse() { return false; }\n// Looks like React guys _really_ want to deprecate it. But no way.\n// We will work around their attempt.\nObject.defineProperty(Component.prototype, 'isMounted', {\n value: function isMounted() {\n return !this._disposed;\n }\n});\n//# sourceMappingURL=component.js.map\n\n/***/ }),\n/* 21 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_type_r__);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\nvar notEqual = __WEBPACK_IMPORTED_MODULE_1_type_r__[\"tools\"].notEqual;\nvar BackboneView = (function (_super) {\n __extends(BackboneView, _super);\n function BackboneView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.saveRef = function (element) {\n _this.root = element;\n };\n return _this;\n }\n BackboneView.prototype.shouldComponentUpdate = function (next) {\n var props = this.props;\n return next.View !== props.View || notEqual(next.options, props.options);\n };\n BackboneView.prototype.hasUnsavedChanges = function () {\n var view = this.view;\n return view && (typeof view.hasUnsavedChanges === 'function' ? view.hasUnsavedChanges() : view.hasUnsavedChanges);\n };\n BackboneView.prototype.render = function () {\n return __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"f\" /* default */].createElement('div', {\n ref: this.saveRef,\n className: this.props.className\n });\n };\n BackboneView.prototype.componentDidMount = function () {\n this._mountView();\n };\n BackboneView.prototype.componentDidUpdate = function () {\n this._dispose();\n this._mountView();\n };\n BackboneView.prototype.componentWillUnmount = function () {\n this._dispose();\n };\n BackboneView.prototype._mountView = function () {\n var el = this.root, p = this.props;\n var view = this.view = p.options ? new p.View(p.options) : new p.View();\n el.appendChild(view.el);\n view.render();\n };\n BackboneView.prototype._dispose = function () {\n var view = this.view;\n if (view) {\n if (view.dispose) {\n view.dispose();\n }\n else {\n view.stopListening();\n view.off();\n }\n this.root.innerHTML = \"\";\n this.view = null;\n }\n };\n return BackboneView;\n}(__WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\" /* Component */]));\n/* harmony default export */ __webpack_exports__[\"a\"] = (BackboneView);\n//# sourceMappingURL=view-element.js.map\n\n/***/ }),\n/* 22 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = use;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_type_r___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_type_r__);\n\n\n\nwindow.Page || (window.Page = { forceResize: function () { } });\nfunction use(View) {\n var dispose = View.prototype.dispose || function () { }, setElement = View.prototype.setElement;\n var ComponentView = View.extend({\n reactClass: null,\n props: {},\n element: null,\n initialize: function (props) {\n // memorise arguments to pass to React\n this.options = props || {};\n },\n setElement: function () {\n this.unmountComponent(true);\n return setElement.apply(this, arguments);\n },\n // cached instance of react component...\n component: null,\n prevState: null,\n resize: function () {\n window.Page.forceResize();\n },\n render: function () {\n var options = this.prevState ? __WEBPACK_IMPORTED_MODULE_2_type_r__[\"tools\"].fastAssign({ __keepState: this.prevState }, this.options) : this.options, element = __WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"](this.reactClass, options), component = __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.render(element, this.el);\n this.component || this.mountComponent(component);\n },\n mountComponent: function (component) {\n this.component = component;\n this.prevState = null;\n component.trigger && this.listenTo(component, 'all', function () {\n this.trigger.apply(this, arguments);\n });\n },\n unmountComponent: function (keepModel) {\n var component = this.component;\n if (component) {\n this.prevState = component.state;\n if (component.trigger) {\n this.stopListening(component);\n }\n component._preventDispose = Boolean(keepModel);\n __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.unmountComponentAtNode(this.el);\n this.component = null;\n }\n },\n dispose: function () {\n this.unmountComponent();\n return dispose.apply(this, arguments);\n }\n });\n Object.defineProperty(ComponentView.prototype, 'model', {\n get: function () {\n this.component || this.render();\n return this.component && this.component.state;\n }\n });\n return ComponentView;\n}\n//# sourceMappingURL=component-view.js.map\n\n/***/ }),\n/* 23 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = createClass;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__react_mvx__ = __webpack_require__(1);\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\n\nvar dontAutobind = [\n 'State', 'Store', 'constructor',\n 'componentWillMount', 'componentDidMount', 'componentWillReceiveProps', 'shouldComponentUpdate',\n 'componentWillUpdate', 'componentDidUpdate', 'componentWillUnmount',\n 'render', 'getDefaultProps', 'getChildContext'\n];\n/**\n * ES5 components definition factory\n */\nfunction createClass(_a) {\n var statics = _a.statics, a_spec = __rest(_a, [\"statics\"]);\n // Gather all methods to pin them to `this` later.\n var methods = [];\n var Subclass = __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\" /* Component */].extend(__assign({ \n // Override constructor to autobind all the methods...\n constructor: function () {\n __WEBPACK_IMPORTED_MODULE_0__react_mvx__[\"a\" /* Component */].apply(this, arguments);\n for (var _i = 0, methods_1 = methods; _i < methods_1.length; _i++) {\n var method = methods_1[_i];\n this[method] = this[method].bind(this);\n }\n } }, a_spec), statics);\n // Need to bind methods from mixins as well, so populate it here.\n var Proto = Subclass.prototype;\n for (var key in Proto) {\n if (Proto.hasOwnProperty(key) && dontAutobind.indexOf(key) === -1 && typeof Proto[key] === 'function') {\n methods.push(key);\n }\n }\n return Subclass;\n}\n//# sourceMappingURL=createClass.js.map\n\n/***/ })\n/******/ ]);\n});\n\n\n// WEBPACK FOOTER //\n// dist/index.min.js"," \t// The module cache\n \tvar installedModules = {};\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, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\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 = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 9);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap ccc6c135e1d120a8e559","module.exports = __WEBPACK_EXTERNAL_MODULE_0__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"commonjs\":\"nestedtypes\",\"commonjs2\":\"nestedtypes\",\"amd\":\"nestedtypes\",\"root\":\"Nested\"}\n// module id = 0\n// module chunks = 0","import * as React from 'react';\nimport { define, mixins } from 'type-r';\nimport { Node, Element } from './define';\nimport Link from './link';\nimport { Component } from './component';\n// extend React namespace\nvar ReactMVx = Object.create(React);\n// Make it compatible with ES6 module format.\nReactMVx.default = ReactMVx;\n// listenToProps, listenToState, model, attributes, Model\nReactMVx.define = define;\nReactMVx.mixins = mixins;\nReactMVx.Node = Node.value(null);\nReactMVx.Element = Element.value(null);\nReactMVx.Link = Link;\nReactMVx.Component = Component;\nvar assignToState = ReactMVx.assignToState = function (key) {\n return function (prop) {\n this.state.assignFrom((_a = {}, _a[key] = prop && prop instanceof Link ? prop.value : prop, _a));\n var _a;\n };\n};\nexport default ReactMVx;\nexport { define, mixins, Node, Element, Link, Component, assignToState };\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/index.js\n// module id = 1\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"commonjs\":\"react\",\"commonjs2\":\"react\",\"amd\":\"react\",\"root\":\"React\"}\n// module id = 2\n// module chunks = 0","import * as PropTypes from 'prop-types';\nimport { Record } from 'type-r';\nexport function compileSpecs(props) {\n var propTypes = {}, \n // Create NestedTypes model definition to process props spec.\n modelProto = Record.defaults(props).prototype;\n var defaults, watchers, changeHandlers;\n modelProto.forEachAttr(modelProto._attributes, function (spec, name) {\n // Skip auto-generated `id` attribute.\n if (name !== 'id') {\n var value = spec.value, type = spec.type, options = spec.options;\n // Translate props type to the propTypes guard.\n propTypes[name] = translateType(type, options.isRequired);\n if (options._onChange) {\n watchers || (watchers = {});\n watchers[name] = toLocalWatcher(options._onChange);\n }\n // Handle listening to event maps...\n if (options.changeHandlers && options.changeHandlers.length) {\n changeHandlers || (changeHandlers = {});\n changeHandlers[name] = options.changeHandlers;\n }\n // Handle listening to props changes...\n if (options.changeEvents) {\n changeHandlers || (changeHandlers = {});\n var handlers = changeHandlers[name] || (changeHandlers[name] = []), changeEvents_1 = typeof options.changeEvents === 'string' ? options.changeEvents : null;\n handlers.push(function (next, prev, component) {\n prev && component.stopListening(prev);\n next && component.listenTo(next, changeEvents_1 || next._changeEventName, component.asyncUpdate);\n });\n }\n // If default value is explicitly provided...\n if (value !== void 0) {\n //...append it to getDefaultProps function.\n defaults || (defaults = {});\n defaults[name] = spec.convert(value, void 0, null, {});\n }\n }\n });\n return { propTypes: propTypes, defaults: defaults, watchers: watchers, changeHandlers: changeHandlers };\n}\nfunction toLocalWatcher(ref) {\n return typeof ref === 'function' ? ref : function (value, name) {\n this[ref] && this[ref](value, name);\n };\n}\nvar Node = (function () {\n function Node() {\n }\n return Node;\n}());\nexport { Node };\nvar Element = (function () {\n function Element() {\n }\n return Element;\n}());\nexport { Element };\nfunction translateType(Type, isRequired) {\n var T = _translateType(Type);\n return isRequired ? T.isRequired : T;\n}\nfunction _translateType(Type) {\n switch (Type) {\n case Number:\n case Number.integer:\n return PropTypes.number;\n case String:\n return PropTypes.string;\n case Boolean:\n return PropTypes.bool;\n case Array:\n return PropTypes.array;\n case Function:\n return PropTypes.func;\n case Object:\n return PropTypes.object;\n case Node:\n return PropTypes.node;\n case Element:\n return PropTypes.element;\n case void 0:\n case null:\n return PropTypes.any;\n default:\n return PropTypes.instanceOf(Type);\n }\n}\n//# sourceMappingURL=typeSpecs.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/typeSpecs.js\n// module id = 3\n// module chunks = 0","import { Messenger } from 'type-r';\nimport onDefineStore from './store';\nimport onDefineState from './state';\nimport onDefineContext from './context';\nimport onDefineProps from './props';\nexport default function onDefine(definition, BaseClass) {\n // Initialize mixins placeholder...\n onDefineStore.call(this, definition, BaseClass);\n onDefineState.call(this, definition, BaseClass);\n onDefineContext.call(this, definition, BaseClass);\n onDefineProps.call(this, definition, BaseClass);\n Messenger.onDefine.call(this, definition, BaseClass);\n}\n;\nexport { Node, Element } from './typeSpecs';\nexport { EmptyPropsChangeTokensCtor } from './pureRender';\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/index.js\n// module id = 4\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n/*****************\n * State\n */\nimport { define, Record, Store } from 'type-r';\nexport default function process(definition, BaseComponentClass) {\n var prototype = this.prototype;\n var state = definition.state, State = definition.State;\n if (typeof state === 'function') {\n State = state;\n state = void 0;\n }\n if (state) {\n var BaseClass = State || prototype.State || Record;\n var ComponentState = (function (_super) {\n __extends(ComponentState, _super);\n function ComponentState() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return ComponentState;\n }(BaseClass));\n ComponentState.attributes = state;\n ComponentState = __decorate([\n define\n ], ComponentState);\n prototype.State = ComponentState;\n }\n else if (State) {\n prototype.State = State;\n }\n if (state || State) {\n this.mixins.merge([StateMixin, UpdateOnNestedChangesMixin]);\n }\n}\nexport var StateMixin = {\n //state : null,\n _initializeState: function () {\n // props.__keepState is used to workaround issues in Backbone intergation layer\n var state = this.state = this.props.__keepState || new this.State();\n // Take ownership on state...\n state._owner = this;\n state._ownerKey = 'state';\n },\n context: {\n _nestedStore: Store\n },\n // reference global store to fix model's store locator\n getStore: function () {\n // Attempt to get the store from the context first. Then - fallback to the state's default store.\n // TBD: Need to figure out a good way of managing local stores.\n var context, state;\n return ((context = this.context) && context._nestedStore) ||\n ((state = this.state) && state._defaultStore);\n },\n componentWillUnmount: function () {\n var state = this.state;\n state._owner = state._ownerKey = void 0;\n this._preventDispose /* hack for component-view to preserve the state */ || state.dispose();\n this.state = void 0;\n }\n};\nexport var UpdateOnNestedChangesMixin = {\n _onChildrenChange: function () { },\n componentDidMount: function () {\n this._onChildrenChange = this.asyncUpdate;\n }\n};\n//# sourceMappingURL=state.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/state.js\n// module id = 5\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/prop-types/index.js\n// module id = 6\n// module chunks = 0","export function createChangeTokensConstructor(props) {\n var propNames = Object.keys(props);\n var PropsChangeTokens = new Function('p', 's', \"\\n var v;\\n this._s = s && s._changeToken;\\n \" + propNames.map(function (name) { return \"\\n this.\" + name + \" = ( ( v = p.\" + name + \") && v._changeToken ) || v;\\n \"; }).join('') + \"\\n \");\n PropsChangeTokens.prototype._hasChanges = new Function('p', 's', \"\\n var v;\\n return ( ( s && s._changeToken ) !== this._s ) \" + propNames.map(function (name) { return \" ||\\n this.\" + name + \" !== ( ( ( v = p.\" + name + \") && v._changeToken ) || v )\\n \"; }).join('') + \";\\n \");\n return PropsChangeTokens;\n}\n;\nexport var EmptyPropsChangeTokensCtor = createChangeTokensConstructor({});\nexport var PureRenderMixin = {\n shouldComponentUpdate: function (nextProps) {\n return this._propsChangeTokens._hasChanges(nextProps);\n },\n componentDidMount: updateChangeTokens,\n componentDidUpdate: updateChangeTokens\n};\nfunction updateChangeTokens() {\n this._propsChangeTokens = new this.PropsChangeTokens(this.props, this.state);\n}\n//# sourceMappingURL=pureRender.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/pureRender.js\n// module id = 7\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_8__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"commonjs\":\"react-dom\",\"commonjs2\":\"react-dom\",\"amd\":\"react-dom\",\"root\":\"ReactDOM\"}\n// module id = 8\n// module chunks = 0","// Re-export react-mvx\nimport ReactMVx from './react-mvx';\nvar NestedReact = Object.create(ReactMVx);\nexport default NestedReact;\nexport * from './react-mvx';\n// NestedReact backward compatibility layer\nimport ReactDOM from 'react-dom';\nimport Nested, { View, Record } from 'type-r';\nimport * as PropTypes from 'prop-types';\nimport subview from './view-element';\nNestedReact.subview = subview;\nexport { subview };\nimport use from './component-view';\nimport createClass from './createClass';\nNestedReact.createClass = createClass;\nObject.defineProperty(NestedReact, 'PropTypes', { value: PropTypes });\nexport { PropTypes, createClass };\nvar BaseView;\n// export hook to override base View class used...\nexport function useView(View) {\n BaseView = use(View);\n}\nvar onDefine = NestedReact.Component.onDefine;\nNestedReact.Component.onDefine = function (definitions, BaseClass) {\n this.View = BaseView.extend({ reactClass: this });\n return onDefine.call(this, definitions, BaseClass);\n};\n// Deprecated API for backward compatibility\nvar RecordProto = Record.prototype;\nRecordProto.getLink = RecordProto.linkAt;\nRecordProto.deepLink = RecordProto.linkPath;\nvar CollectionProto = Record.Collection.prototype;\nCollectionProto.hasLink = CollectionProto.linkContains;\nuseView(View);\n// Extend react components to have backbone-style jquery accessors\nvar BackboneViewProps = {\n el: { get: function () { return ReactDOM.findDOMNode(this); } },\n $el: { get: function () { return Nested.$(this.el); } },\n $: { value: function (sel) { return this.$el.find(sel); } }\n};\nObject.defineProperties(NestedReact.Component.prototype, BackboneViewProps);\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/index.js\n// module id = 9\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { define, Store } from 'type-r';\nimport { StateMixin, UpdateOnNestedChangesMixin } from './state';\nexport default function onDefine(definition, BaseClass) {\n var store = definition.store, StoreClass = definition.Store;\n if (store && store instanceof Store) {\n // Direct reference to an existing store. Put it to the prototype.\n this.prototype.store = store;\n this.mixins.merge([ExternalStoreMixin, ExposeStoreMixin]);\n }\n else if (store || definition.Store) {\n if (typeof store === 'function') {\n StoreClass = store;\n store = void 0;\n }\n if (store) {\n var BaseClass_1 = StoreClass || this.prototype.Store || Store;\n var InternalStore = (function (_super) {\n __extends(InternalStore, _super);\n function InternalStore() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return InternalStore;\n }(BaseClass_1));\n InternalStore.attrbutes = store;\n InternalStore = __decorate([\n define\n ], InternalStore);\n ;\n this.prototype.Store = InternalStore;\n }\n else if (StoreClass) {\n this.prototype.Store = StoreClass;\n }\n this.mixins.merge([InternalStoreMixin, UpdateOnNestedChangesMixin, ExposeStoreMixin]);\n }\n}\n/**\n * Attached whenever the store declaration of any form is present in the component.\n */\nvar ExposeStoreMixin = {\n childContext: {\n _nestedStore: Store\n },\n getChildContext: function () {\n return { _nestedStore: this.store };\n },\n getStore: function () {\n return this.store;\n },\n // Will be called by the store when the lookup will fail.\n get: function (key) {\n // Ask upper store.\n var store = StateMixin.getStore.call(this, key);\n return store && store.get(key);\n }\n};\n/**\n * External store must just track the changes and trigger render.\n * TBD: don't use it yet.\n */\nvar ExternalStoreMixin = {\n componentDidMount: function () {\n // Start UI updates on state changes.\n this.listenTo(this.store, 'change', this.asyncUpdate);\n }\n};\nvar InternalStoreMixin = {\n componentWillMount: function () {\n var store = this.store = new this.Store();\n store._owner = this;\n store._ownerKey = 'store';\n },\n componentWillUnmount: function () {\n this.store._ownerKey = this.store._owner = void 0;\n this.store.dispose();\n this.store = void 0;\n }\n};\n//# sourceMappingURL=store.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/store.js\n// module id = 10\n// module chunks = 0","import { compileSpecs } from './typeSpecs';\nimport { tools } from 'type-r';\nexport default function onDefine(_a, BaseClass) {\n var context = _a.context, childContext = _a.childContext;\n var prototype = this.prototype;\n if (context) {\n // Merge in inherited members...\n prototype._context = tools.defaults(context, BaseClass.prototype._context || {});\n // Compile to propTypes...\n this.contextTypes = compileSpecs(context).propTypes;\n }\n if (childContext) {\n prototype._childContext = tools.defaults(childContext, BaseClass.prototype._childContext);\n this.childContextTypes = compileSpecs(childContext).propTypes;\n }\n}\n//# sourceMappingURL=context.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/context.js\n// module id = 11\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\nvar invariant = require('fbjs/lib/invariant');\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n invariant(\n false,\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim\n };\n\n ReactPropTypes.checkPropTypes = emptyFunction;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/prop-types/factoryWithThrowingShims.js\n// module id = 12\n// module chunks = 0","\"use strict\";\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/fbjs/lib/emptyFunction.js\n// module id = 13\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (process.env.NODE_ENV !== 'production') {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/fbjs/lib/invariant.js\n// module id = 14\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/prop-types/lib/ReactPropTypesSecret.js\n// module id = 15\n// module chunks = 0","/**\n * Handle props specification and everything which is related:\n * - local listening to props changes\n * - pure render mixin\n */\nimport { compileSpecs } from './typeSpecs';\nimport { PureRenderMixin, createChangeTokensConstructor } from './pureRender';\nimport { tools } from 'type-r';\nexport default function onDefine(_a, BaseClass) {\n var props = _a.props, pureRender = _a.pureRender;\n var prototype = this.prototype;\n // process props spec...\n if (props) {\n // Merge with inherited members...\n prototype._props = tools.defaults(props, BaseClass.prototype._props || {});\n var _b = compileSpecs(props), propTypes = _b.propTypes, defaults = _b.defaults, watchers = _b.watchers, changeHandlers = _b.changeHandlers;\n this.propTypes = propTypes;\n if (defaults)\n this.defaultProps = defaults;\n if (watchers) {\n prototype._watchers = watchers;\n this.mixins.merge([WatchersMixin]);\n }\n if (changeHandlers) {\n prototype._changeHandlers = changeHandlers;\n this.mixins.merge([ChangeHandlersMixin]);\n }\n if (prototype.pureRender) {\n prototype.PropsChangeTokens = createChangeTokensConstructor(props);\n }\n }\n if (pureRender) {\n this.mixins.merge([PureRenderMixin]);\n }\n}\n/**\n * ChangeHandlers are fired in sequence upon props replacement.\n * Fires _after_ UI is updated. Used for managing events subscriptions.\n */\nvar ChangeHandlersMixin = {\n componentDidMount: function () {\n handlePropsChanges(this, {}, this.props);\n },\n componentDidUpdate: function (prev) {\n handlePropsChanges(this, prev, this.props);\n },\n componentWillUnmount: function () {\n handlePropsChanges(this, this.props, {});\n }\n};\nfunction handlePropsChanges(component, prev, next) {\n var _changeHandlers = component._changeHandlers;\n for (var name_1 in _changeHandlers) {\n if (prev[name_1] !== next[name_1]) {\n for (var _i = 0, _a = _changeHandlers[name_1]; _i < _a.length; _i++) {\n var handler = _a[_i];\n handler(next[name_1], prev[name_1], component);\n }\n }\n }\n}\n/**\n * Watchers works on props replacement and fires _before_ any change will be applied and UI is updated.\n * Fired in componentWillMount as well, which makes it a nice way to sync state from props.\n */\nvar WatchersMixin = {\n componentWillReceiveProps: function (next) {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_2 in _watchers) {\n if (next[name_2] !== props[name_2]) {\n _watchers[name_2].call(this, next[name_2], name_2);\n }\n }\n },\n componentWillMount: function () {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_3 in _watchers) {\n _watchers[name_3].call(this, props[name_3], name_3);\n }\n }\n};\n//# sourceMappingURL=props.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/define/props.js\n// module id = 16\n// module chunks = 0","/**\n * Import ValueLink library\n * Define value links binding mixins to the Record and Collection\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { Mixable, MixinsState, Record } from 'type-r';\nimport { Link } from './valuelink/link';\nexport default Link;\nMixable.mixins.populate(Link);\n/**\n * Record\n */\nMixinsState.get(Record).merge([{\n // Link to the record's attribute by its key.\n linkAt: function (key) {\n return cacheLink(getLinksCache(this), this, key);\n },\n // Link to the attribute of the record's tree by symbolic path.\n linkPath: function (path, options) {\n return new RecordDeepLink(this, path, options);\n },\n // Link all (or listed) attributes and return links cache.\n linkAll: function () {\n var links = getLinksCache(this);\n if (arguments.length) {\n for (var i = 0; i < arguments.length; i++) {\n cacheLink(links, this, arguments[i]);\n }\n }\n else {\n var attributes = this.attributes;\n for (var key in attributes) {\n attributes[key] === void 0 || cacheLink(links, this, key);\n }\n }\n return links;\n }\n }]);\n/**\n * Link to Type-R's record attribute.\n * Strict evaluation of value, lazy evaluation of validation error.\n * Links are cached in the records\n */\nvar RecordLink = (function (_super) {\n __extends(RecordLink, _super);\n function RecordLink(record, attr, value) {\n var _this = _super.call(this, value) || this;\n _this.record = record;\n _this.attr = attr;\n return _this;\n }\n RecordLink.prototype.set = function (x) {\n this.record[this.attr] = x;\n };\n Object.defineProperty(RecordLink.prototype, \"error\", {\n get: function () {\n return this._error === void 0 ?\n this.record.getValidationError(this.attr) :\n this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n return RecordLink;\n}(Link));\nvar RecordDeepLink = (function (_super) {\n __extends(RecordDeepLink, _super);\n function RecordDeepLink(record, path, options) {\n var _this = _super.call(this, record.deepGet(path)) || this;\n _this.record = record;\n _this.path = path;\n _this.options = options;\n return _this;\n }\n Object.defineProperty(RecordDeepLink.prototype, \"error\", {\n get: function () {\n if (this._error === void 0) {\n this._error = this.record.deepValidationError(this.path) || null;\n }\n return this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(RecordDeepLink.prototype, \"_changeToken\", {\n get: function () {\n return this.record._changeToken;\n },\n enumerable: true,\n configurable: true\n });\n RecordDeepLink.prototype.set = function (x) {\n this.record.deepSet(this.path, x, this.options);\n };\n return RecordDeepLink;\n}(Link));\nfunction getLinksCache(record) {\n return record._links || (record._links = new record.AttributesCopy({}));\n}\nfunction cacheLink(links, record, key) {\n var cached = links[key], value = record[key];\n return cached && cached.value === value ? cached\n : links[key] = new RecordLink(record, key, value);\n}\n/***********************************\n * Collection\n */\nMixinsState.get(Record.Collection).merge([{\n // Boolean link to the record's presence in the collection\n linkContains: function (record) {\n return new CollectionLink(this, record);\n },\n // Link to collection's property\n linkAt: function (prop) {\n var _this = this;\n return Link.value(this[prop], function (x) { return _this[prop] = x; });\n }\n }]);\n/**\n * Boolean link to presence of NestedType's record in collection.\n * Strict evaluation of value, no error.\n * Safe implementation of _changeToken.\n */\nvar CollectionLink = (function (_super) {\n __extends(CollectionLink, _super);\n function CollectionLink(collection, record) {\n var _this = _super.call(this, Boolean(collection._byId[record.cid])) || this;\n _this.collection = collection;\n _this.record = record;\n return _this;\n }\n CollectionLink.prototype.set = function (x) {\n this.collection.toggle(this.record, x);\n };\n return CollectionLink;\n}(Link));\n//# sourceMappingURL=link.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/link.js\n// module id = 17\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * Advanced React links for purely functional two-way data binding\n *\n * MIT License, (c) 2016 Vlad Balin, Volicon.\n */\nimport { helpers, arrayHelpers } from './helpers';\n// Main Link class. All links must extend it.\nvar Link = (function () {\n // create \n function Link(value) {\n this.value = value;\n }\n // Create custom link to arbitrary value\n Link.value = function (value, set) {\n return new CustomLink(value, set);\n };\n Object.defineProperty(Link.prototype, \"validationError\", {\n // DEPRECATED: Old error holder for backward compatibility with Volicon code base\n get: function () { return this.error; },\n enumerable: true,\n configurable: true\n });\n Link.prototype.onChange = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n handler(x);\n _this.set(x);\n });\n };\n Object.defineProperty(Link.prototype, \"props\", {\n // \n get: function () {\n var _this = this;\n return typeof this.value === 'boolean' ? {\n checked: this.value,\n onChange: function (e) { return _this.set(Boolean(e.target.checked)); }\n } : {\n value: this.value,\n onChange: function (e) { return _this.set(e.target.value); }\n };\n },\n enumerable: true,\n configurable: true\n });\n // DEPRECATED: Old React method for backward compatibility\n Link.prototype.requestChange = function (x) {\n this.set(x);\n };\n // Immediately update the link value using given transform function.\n Link.prototype.update = function (transform, e) {\n var next = transform(this.clone(), e);\n next === void 0 || this.set(next);\n };\n // Create new link which applies transform function on set.\n Link.prototype.pipe = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n var next = handler(x, _this.value);\n next === void 0 || _this.set(next);\n });\n };\n // Create UI event handler function which will update the link with a given transform function.\n Link.prototype.action = function (transform) {\n var _this = this;\n return function (e) { return _this.update(transform, e); };\n };\n Link.prototype.equals = function (truthyValue) {\n return new EqualsLink(this, truthyValue);\n };\n Link.prototype.enabled = function (defaultValue) {\n return new EnabledLink(this, defaultValue || \"\");\n };\n // Array-only links methods\n Link.prototype.contains = function (element) {\n return new ContainsLink(this, element);\n };\n Link.prototype.push = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.push.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.unshift = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.unshift.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.splice = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.splice.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.map = function (iterator) {\n return helpers(this.value).map(this, iterator);\n };\n Link.prototype.removeAt = function (key) {\n var value = this.value, _ = helpers(value);\n this.set(_.remove(_.clone(value), key));\n };\n Link.prototype.at = function (key) {\n return new LinkAt(this, key);\n };\n Link.prototype.clone = function () {\n var value = this.value;\n return helpers(value).clone(value);\n };\n Link.prototype.pick = function () {\n var links = {};\n for (var i = 0; i < arguments.length; i++) {\n var key = arguments[i];\n links[key] = new LinkAt(this, key);\n }\n return links;\n };\n /**\n * Validate link with validness predicate and optional custom error object. Can be chained.\n */\n Link.prototype.check = function (whenValid, error) {\n if (!this.error && !whenValid(this.value)) {\n this.error = error || whenValid.error || defaultError;\n }\n return this;\n };\n return Link;\n}());\nexport { Link };\nvar CustomLink = (function (_super) {\n __extends(CustomLink, _super);\n function CustomLink(value, set) {\n var _this = _super.call(this, value) || this;\n _this.set = set;\n return _this;\n }\n CustomLink.prototype.set = function (x) { };\n return CustomLink;\n}(Link));\nexport { CustomLink };\nvar CloneLink = (function (_super) {\n __extends(CloneLink, _super);\n function CloneLink(parent, set) {\n var _this = _super.call(this, parent.value) || this;\n _this.set = set;\n var error = parent.error;\n if (error)\n _this.error = error;\n return _this;\n }\n CloneLink.prototype.set = function (x) { };\n return CloneLink;\n}(Link));\nexport { CloneLink };\nvar EqualsLink = (function (_super) {\n __extends(EqualsLink, _super);\n function EqualsLink(parent, truthyValue) {\n var _this = _super.call(this, parent.value === truthyValue) || this;\n _this.parent = parent;\n _this.truthyValue = truthyValue;\n return _this;\n }\n EqualsLink.prototype.set = function (x) {\n this.parent.set(x ? this.truthyValue : null);\n };\n return EqualsLink;\n}(Link));\nexport { EqualsLink };\nvar EnabledLink = (function (_super) {\n __extends(EnabledLink, _super);\n function EnabledLink(parent, defaultValue) {\n var _this = _super.call(this, parent.value != null) || this;\n _this.parent = parent;\n _this.defaultValue = defaultValue;\n return _this;\n }\n EnabledLink.prototype.set = function (x) {\n this.parent.set(x ? this.defaultValue : null);\n };\n return EnabledLink;\n}(Link));\nexport { EnabledLink };\nvar ContainsLink = (function (_super) {\n __extends(ContainsLink, _super);\n function ContainsLink(parent, element) {\n var _this = _super.call(this, parent.value.indexOf(element) >= 0) || this;\n _this.parent = parent;\n _this.element = element;\n return _this;\n }\n ContainsLink.prototype.set = function (x) {\n var _this = this;\n var next = Boolean(x);\n if (this.value !== next) {\n var arr = this.parent.value, nextValue = x ? arr.concat(this.element) : arr.filter(function (el) { return el !== _this.element; });\n this.parent.set(nextValue);\n }\n };\n return ContainsLink;\n}(Link));\nexport { ContainsLink };\nvar defaultError = 'Invalid value';\n/**\n * Link to array or object element enclosed in parent link.\n * Performs purely functional update of the parent, shallow copying its value on `set`.\n */\nvar LinkAt = (function (_super) {\n __extends(LinkAt, _super);\n function LinkAt(parent, key) {\n var _this = _super.call(this, parent.value[key]) || this;\n _this.parent = parent;\n _this.key = key;\n return _this;\n }\n LinkAt.prototype.remove = function () {\n this.parent.removeAt(this.key);\n };\n // Set new element value to parent array or object, performing purely functional update.\n LinkAt.prototype.set = function (x) {\n var _this = this;\n if (this.value !== x) {\n this.parent.update(function (value) {\n value[_this.key] = x;\n return value;\n });\n }\n };\n ;\n return LinkAt;\n}(Link));\nexport { LinkAt };\n//# sourceMappingURL=link.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/valuelink/link.js\n// module id = 18\n// module chunks = 0","var ArrayProto = Array.prototype, ObjectProto = Object.prototype;\nexport function helpers(value) {\n if (value && typeof value === 'object') {\n switch (Object.getPrototypeOf(value)) {\n case ArrayProto: return arrayHelpers;\n case ObjectProto: return objectHelpers;\n }\n }\n return dummyHelpers;\n}\n// Do nothing for types other than Array and plain Object.\nvar dummyHelpers = {\n clone: function (value) { return value; },\n map: function (link, fun) { return []; },\n remove: function (value) { return value; }\n};\n// `map` and `clone` for plain JS objects\nexport var objectHelpers = {\n // Map through the link to object\n map: function (link, iterator) {\n var mapped = [];\n for (var key in link.value) {\n var element = iterator(link.at(key), key);\n element === void 0 || (mapped.push(element));\n }\n return mapped;\n },\n remove: function (object, key) {\n delete object[key];\n return object;\n },\n // Shallow clone plain JS object\n clone: function (object) {\n var cloned = {};\n for (var key in object) {\n cloned[key] = object[key];\n }\n return cloned;\n }\n};\n// `map` and `clone` helpers for arrays.\nexport var arrayHelpers = {\n // Shallow clone array\n clone: function (array) {\n return array.slice();\n },\n remove: function (array, i) {\n array.splice(i, 1);\n return array;\n },\n // Map through the link to array\n map: function (link, iterator) {\n var length = link.value.length, mapped = Array(length);\n for (var i = 0, j = 0; i < length; i++) {\n var y = iterator(link.at(i), i);\n y === void 0 || (mapped[j++] = y);\n }\n mapped.length === j || (mapped.length = j);\n return mapped;\n }\n};\n//# sourceMappingURL=helpers.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/valuelink/helpers.js\n// module id = 19\n// module chunks = 0","/**\n * React-Type-R component base class. Overrides React component.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport * as React from 'react';\nimport { mixinRules, define, mixins, definitions, Messenger } from 'type-r';\nimport onDefine, { EmptyPropsChangeTokensCtor } from './define';\nvar Component = (function (_super) {\n __extends(Component, _super);\n function Component(props, context) {\n var _this = _super.call(this, props, context) || this;\n _this._initializeState();\n return _this;\n }\n Component.prototype.linkAt = function (key) {\n // Quick and dirty hack to suppres type error - refactor later.\n return this.state.linkAt(key);\n };\n Component.prototype.linkAll = function () {\n // Quick and dirty hack to suppres type error - refactor later.\n var state = this.state;\n return state.linkAll.apply(state, arguments);\n };\n Component.prototype.linkPath = function (path) {\n return this.state.linkPath(path);\n };\n Object.defineProperty(Component.prototype, \"links\", {\n get: function () {\n return this.state._links;\n },\n enumerable: true,\n configurable: true\n });\n Component.prototype._initializeState = function () {\n this.state = null;\n };\n Component.prototype.assignToState = function (x, key) {\n this.state.assignFrom((_a = {}, _a[key] = x, _a));\n var _a;\n };\n Component.prototype.componentWillUnmount = function () {\n this.dispose();\n };\n /**\n * Performs transactional update for both props and state.\n * Suppress updates during the transaction, and force update aftewards.\n * Wrapping the sequence of changes in a transactions guarantees that\n * React component will be updated _after_ all the changes to the\n * both props and local state are applied.\n */\n Component.prototype.transaction = function (fun) {\n var shouldComponentUpdate = this.shouldComponentUpdate, isRoot = shouldComponentUpdate !== returnFalse;\n if (isRoot) {\n this.shouldComponentUpdate = returnFalse;\n }\n var _a = this, state = _a.state, store = _a.store, withStore = store ? function (state) { return store.transaction(function () { return fun(state); }); } : fun;\n state ? state.transaction(withStore) : withStore(state);\n if (isRoot) {\n this.shouldComponentUpdate = shouldComponentUpdate;\n this.asyncUpdate();\n }\n };\n // Safe version of the forceUpdate suitable for asynchronous callbacks.\n Component.prototype.asyncUpdate = function () {\n this.shouldComponentUpdate === returnFalse || this._disposed || this.forceUpdate();\n };\n return Component;\n}(React.Component));\nComponent.onDefine = onDefine;\nComponent = __decorate([\n define({\n PropsChangeTokens: EmptyPropsChangeTokensCtor\n }),\n definitions({\n // Definitions to be extracted from mixins and statics and passed to `onDefine()`\n state: mixinRules.merge,\n State: mixinRules.value,\n store: mixinRules.merge,\n Store: mixinRules.value,\n props: mixinRules.merge,\n context: mixinRules.merge,\n childContext: mixinRules.merge,\n pureRender: mixinRules.protoValue\n }),\n mixinRules({\n // Apply old-school React mixin rules.\n componentWillMount: mixinRules.classLast,\n componentDidMount: mixinRules.classLast,\n componentWillReceiveProps: mixinRules.classLast,\n componentWillUpdate: mixinRules.classLast,\n componentDidUpdate: mixinRules.classLast,\n componentWillUnmount: mixinRules.classFirst,\n // And a bit more to fix inheritance quirks.\n shouldComponentUpdate: mixinRules.some,\n getChildContext: mixinRules.defaults\n })\n // Component can send and receive events...\n ,\n mixins(Messenger)\n], Component);\nexport { Component };\nfunction returnFalse() { return false; }\n// Looks like React guys _really_ want to deprecate it. But no way.\n// We will work around their attempt.\nObject.defineProperty(Component.prototype, 'isMounted', {\n value: function isMounted() {\n return !this._disposed;\n }\n});\n//# sourceMappingURL=component.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/react-mvx/component.js\n// module id = 20\n// module chunks = 0","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport React, { Component } from './react-mvx';\nimport { tools } from 'type-r';\nvar notEqual = tools.notEqual;\nvar BackboneView = (function (_super) {\n __extends(BackboneView, _super);\n function BackboneView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.saveRef = function (element) {\n _this.root = element;\n };\n return _this;\n }\n BackboneView.prototype.shouldComponentUpdate = function (next) {\n var props = this.props;\n return next.View !== props.View || notEqual(next.options, props.options);\n };\n BackboneView.prototype.hasUnsavedChanges = function () {\n var view = this.view;\n return view && (typeof view.hasUnsavedChanges === 'function' ? view.hasUnsavedChanges() : view.hasUnsavedChanges);\n };\n BackboneView.prototype.render = function () {\n return React.createElement('div', {\n ref: this.saveRef,\n className: this.props.className\n });\n };\n BackboneView.prototype.componentDidMount = function () {\n this._mountView();\n };\n BackboneView.prototype.componentDidUpdate = function () {\n this._dispose();\n this._mountView();\n };\n BackboneView.prototype.componentWillUnmount = function () {\n this._dispose();\n };\n BackboneView.prototype._mountView = function () {\n var el = this.root, p = this.props;\n var view = this.view = p.options ? new p.View(p.options) : new p.View();\n el.appendChild(view.el);\n view.render();\n };\n BackboneView.prototype._dispose = function () {\n var view = this.view;\n if (view) {\n if (view.dispose) {\n view.dispose();\n }\n else {\n view.stopListening();\n view.off();\n }\n this.root.innerHTML = \"\";\n this.view = null;\n }\n };\n return BackboneView;\n}(Component));\nexport default BackboneView;\n//# sourceMappingURL=view-element.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/view-element.js\n// module id = 21\n// module chunks = 0","import * as React from 'react';\nimport ReactDOM from 'react-dom';\nimport { tools } from 'type-r';\nwindow.Page || (window.Page = { forceResize: function () { } });\nexport default function use(View) {\n var dispose = View.prototype.dispose || function () { }, setElement = View.prototype.setElement;\n var ComponentView = View.extend({\n reactClass: null,\n props: {},\n element: null,\n initialize: function (props) {\n // memorise arguments to pass to React\n this.options = props || {};\n },\n setElement: function () {\n this.unmountComponent(true);\n return setElement.apply(this, arguments);\n },\n // cached instance of react component...\n component: null,\n prevState: null,\n resize: function () {\n window.Page.forceResize();\n },\n render: function () {\n var options = this.prevState ? tools.fastAssign({ __keepState: this.prevState }, this.options) : this.options, element = React.createElement(this.reactClass, options), component = ReactDOM.render(element, this.el);\n this.component || this.mountComponent(component);\n },\n mountComponent: function (component) {\n this.component = component;\n this.prevState = null;\n component.trigger && this.listenTo(component, 'all', function () {\n this.trigger.apply(this, arguments);\n });\n },\n unmountComponent: function (keepModel) {\n var component = this.component;\n if (component) {\n this.prevState = component.state;\n if (component.trigger) {\n this.stopListening(component);\n }\n component._preventDispose = Boolean(keepModel);\n ReactDOM.unmountComponentAtNode(this.el);\n this.component = null;\n }\n },\n dispose: function () {\n this.unmountComponent();\n return dispose.apply(this, arguments);\n }\n });\n Object.defineProperty(ComponentView.prototype, 'model', {\n get: function () {\n this.component || this.render();\n return this.component && this.component.state;\n }\n });\n return ComponentView;\n}\n//# sourceMappingURL=component-view.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/component-view.js\n// module id = 22\n// module chunks = 0","var __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\nimport { Component } from './react-mvx';\nvar dontAutobind = [\n 'State', 'Store', 'constructor',\n 'componentWillMount', 'componentDidMount', 'componentWillReceiveProps', 'shouldComponentUpdate',\n 'componentWillUpdate', 'componentDidUpdate', 'componentWillUnmount',\n 'render', 'getDefaultProps', 'getChildContext'\n];\n/**\n * ES5 components definition factory\n */\nexport default function createClass(_a) {\n var statics = _a.statics, a_spec = __rest(_a, [\"statics\"]);\n // Gather all methods to pin them to `this` later.\n var methods = [];\n var Subclass = Component.extend(__assign({ \n // Override constructor to autobind all the methods...\n constructor: function () {\n Component.apply(this, arguments);\n for (var _i = 0, methods_1 = methods; _i < methods_1.length; _i++) {\n var method = methods_1[_i];\n this[method] = this[method].bind(this);\n }\n } }, a_spec), statics);\n // Need to bind methods from mixins as well, so populate it here.\n var Proto = Subclass.prototype;\n for (var key in Proto) {\n if (Proto.hasOwnProperty(key) && dontAutobind.indexOf(key) === -1 && typeof Proto[key] === 'function') {\n methods.push(key);\n }\n }\n return Subclass;\n}\n//# sourceMappingURL=createClass.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/createClass.js\n// module id = 23\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"index.min.js","sources":["../lib/react-mvx/define/state.js","../lib/react-mvx/define/store.js","../lib/react-mvx/define/typeSpecs.js","../lib/react-mvx/define/context.js","../lib/react-mvx/define/pureRender.js","../lib/react-mvx/define/props.js","../lib/react-mvx/valuelink/helpers.js","../lib/react-mvx/link.js","../lib/react-mvx/component.js","../lib/component-view.js","../lib/createClass.js","../lib/index.js","../lib/react-mvx/valuelink/link.js","../lib/react-mvx/define/index.js","../lib/react-mvx/index.js","../lib/view-element.js"],"sourcesContent":["var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n/*****************\n * State\n */\nimport { define, Record, Store } from 'type-r';\nexport default function process(definition, BaseComponentClass) {\n var prototype = this.prototype;\n var state = definition.state, State = definition.State;\n if (typeof state === 'function') {\n State = state;\n state = void 0;\n }\n if (state) {\n var BaseClass = State || prototype.State || Record;\n var ComponentState = (function (_super) {\n __extends(ComponentState, _super);\n function ComponentState() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return ComponentState;\n }(BaseClass));\n ComponentState.attributes = state;\n ComponentState = __decorate([\n define\n ], ComponentState);\n prototype.State = ComponentState;\n }\n else if (State) {\n prototype.State = State;\n }\n if (state || State) {\n this.mixins.merge([StateMixin, UpdateOnNestedChangesMixin]);\n }\n}\nexport var StateMixin = {\n //state : null,\n _initializeState: function () {\n // props.__keepState is used to workaround issues in Backbone intergation layer\n var state = this.state = this.props.__keepState || new this.State();\n // Take ownership on state...\n state._owner = this;\n state._ownerKey = 'state';\n },\n context: {\n _nestedStore: Store\n },\n // reference global store to fix model's store locator\n getStore: function () {\n // Attempt to get the store from the context first. Then - fallback to the state's default store.\n // TBD: Need to figure out a good way of managing local stores.\n var context, state;\n return ((context = this.context) && context._nestedStore) ||\n ((state = this.state) && state._defaultStore);\n },\n componentWillUnmount: function () {\n var state = this.state;\n state._owner = state._ownerKey = void 0;\n this._preventDispose /* hack for component-view to preserve the state */ || state.dispose();\n this.state = void 0;\n }\n};\nexport var UpdateOnNestedChangesMixin = {\n _onChildrenChange: function () { },\n componentDidMount: function () {\n this._onChildrenChange = this.asyncUpdate;\n }\n};\n//# sourceMappingURL=state.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { define, Store } from 'type-r';\nimport { StateMixin, UpdateOnNestedChangesMixin } from './state';\nexport default function onDefine(definition, BaseClass) {\n var store = definition.store, StoreClass = definition.Store;\n if (store && store instanceof Store) {\n // Direct reference to an existing store. Put it to the prototype.\n this.prototype.store = store;\n this.mixins.merge([ExternalStoreMixin, ExposeStoreMixin]);\n }\n else if (store || definition.Store) {\n if (typeof store === 'function') {\n StoreClass = store;\n store = void 0;\n }\n if (store) {\n var BaseClass_1 = StoreClass || this.prototype.Store || Store;\n var InternalStore = (function (_super) {\n __extends(InternalStore, _super);\n function InternalStore() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return InternalStore;\n }(BaseClass_1));\n InternalStore.attrbutes = store;\n InternalStore = __decorate([\n define\n ], InternalStore);\n ;\n this.prototype.Store = InternalStore;\n }\n else if (StoreClass) {\n this.prototype.Store = StoreClass;\n }\n this.mixins.merge([InternalStoreMixin, UpdateOnNestedChangesMixin, ExposeStoreMixin]);\n }\n}\n/**\n * Attached whenever the store declaration of any form is present in the component.\n */\nvar ExposeStoreMixin = {\n childContext: {\n _nestedStore: Store\n },\n getChildContext: function () {\n return { _nestedStore: this.store };\n },\n getStore: function () {\n return this.store;\n },\n // Will be called by the store when the lookup will fail.\n get: function (key) {\n // Ask upper store.\n var store = StateMixin.getStore.call(this, key);\n return store && store.get(key);\n }\n};\n/**\n * External store must just track the changes and trigger render.\n * TBD: don't use it yet.\n */\nvar ExternalStoreMixin = {\n componentDidMount: function () {\n // Start UI updates on state changes.\n this.listenTo(this.store, 'change', this.asyncUpdate);\n }\n};\nvar InternalStoreMixin = {\n componentWillMount: function () {\n var store = this.store = new this.Store();\n store._owner = this;\n store._ownerKey = 'store';\n },\n componentWillUnmount: function () {\n this.store._ownerKey = this.store._owner = void 0;\n this.store.dispose();\n this.store = void 0;\n }\n};\n//# sourceMappingURL=store.js.map","import * as PropTypes from 'prop-types';\nimport { Record } from 'type-r';\nexport function compileSpecs(props) {\n var propTypes = {}, \n // Create NestedTypes model definition to process props spec.\n modelProto = Record.defaults(props).prototype;\n var defaults, watchers, changeHandlers;\n modelProto.forEachAttr(modelProto._attributes, function (spec, name) {\n // Skip auto-generated `id` attribute.\n if (name !== 'id') {\n var value = spec.value, type = spec.type, options = spec.options;\n // Translate props type to the propTypes guard.\n propTypes[name] = translateType(type, options.isRequired);\n if (options._onChange) {\n watchers || (watchers = {});\n watchers[name] = toLocalWatcher(options._onChange);\n }\n // Handle listening to event maps...\n if (options.changeHandlers && options.changeHandlers.length) {\n changeHandlers || (changeHandlers = {});\n changeHandlers[name] = options.changeHandlers;\n }\n // Handle listening to props changes...\n if (options.changeEvents) {\n changeHandlers || (changeHandlers = {});\n var handlers = changeHandlers[name] || (changeHandlers[name] = []), changeEvents_1 = typeof options.changeEvents === 'string' ? options.changeEvents : null;\n handlers.push(function (next, prev, component) {\n prev && component.stopListening(prev);\n next && component.listenTo(next, changeEvents_1 || next._changeEventName, component.asyncUpdate);\n });\n }\n // If default value is explicitly provided...\n if (value !== void 0) {\n //...append it to getDefaultProps function.\n defaults || (defaults = {});\n defaults[name] = spec.convert(value, void 0, null, {});\n }\n }\n });\n return { propTypes: propTypes, defaults: defaults, watchers: watchers, changeHandlers: changeHandlers };\n}\nfunction toLocalWatcher(ref) {\n return typeof ref === 'function' ? ref : function (value, name) {\n this[ref] && this[ref](value, name);\n };\n}\nvar Node = (function () {\n function Node() {\n }\n return Node;\n}());\nexport { Node };\nvar Element = (function () {\n function Element() {\n }\n return Element;\n}());\nexport { Element };\nfunction translateType(Type, isRequired) {\n var T = _translateType(Type);\n return isRequired ? T.isRequired : T;\n}\nfunction _translateType(Type) {\n switch (Type) {\n case Number:\n case Number.integer:\n return PropTypes.number;\n case String:\n return PropTypes.string;\n case Boolean:\n return PropTypes.bool;\n case Array:\n return PropTypes.array;\n case Function:\n return PropTypes.func;\n case Object:\n return PropTypes.object;\n case Node:\n return PropTypes.node;\n case Element:\n return PropTypes.element;\n case void 0:\n case null:\n return PropTypes.any;\n default:\n return PropTypes.instanceOf(Type);\n }\n}\n//# sourceMappingURL=typeSpecs.js.map","import { compileSpecs } from './typeSpecs';\nimport { tools } from 'type-r';\nexport default function onDefine(_a, BaseClass) {\n var context = _a.context, childContext = _a.childContext;\n var prototype = this.prototype;\n if (context) {\n // Merge in inherited members...\n prototype._context = tools.defaults(context, BaseClass.prototype._context || {});\n // Compile to propTypes...\n this.contextTypes = compileSpecs(context).propTypes;\n }\n if (childContext) {\n prototype._childContext = tools.defaults(childContext, BaseClass.prototype._childContext);\n this.childContextTypes = compileSpecs(childContext).propTypes;\n }\n}\n//# sourceMappingURL=context.js.map","export function createChangeTokensConstructor(props) {\n var propNames = Object.keys(props);\n var PropsChangeTokens = new Function('p', 's', \"\\n var v;\\n this._s = s && s._changeToken;\\n \" + propNames.map(function (name) { return \"\\n this.\" + name + \" = ( ( v = p.\" + name + \") && v._changeToken ) || v;\\n \"; }).join('') + \"\\n \");\n PropsChangeTokens.prototype._hasChanges = new Function('p', 's', \"\\n var v;\\n return ( ( s && s._changeToken ) !== this._s ) \" + propNames.map(function (name) { return \" ||\\n this.\" + name + \" !== ( ( ( v = p.\" + name + \") && v._changeToken ) || v )\\n \"; }).join('') + \";\\n \");\n return PropsChangeTokens;\n}\n;\nexport var EmptyPropsChangeTokensCtor = createChangeTokensConstructor({});\nexport var PureRenderMixin = {\n shouldComponentUpdate: function (nextProps) {\n return this._propsChangeTokens._hasChanges(nextProps);\n },\n componentDidMount: updateChangeTokens,\n componentDidUpdate: updateChangeTokens\n};\nfunction updateChangeTokens() {\n this._propsChangeTokens = new this.PropsChangeTokens(this.props, this.state);\n}\n//# sourceMappingURL=pureRender.js.map","/**\n * Handle props specification and everything which is related:\n * - local listening to props changes\n * - pure render mixin\n */\nimport { compileSpecs } from './typeSpecs';\nimport { PureRenderMixin, createChangeTokensConstructor } from './pureRender';\nimport { tools } from 'type-r';\nexport default function onDefine(_a, BaseClass) {\n var props = _a.props, pureRender = _a.pureRender;\n var prototype = this.prototype;\n // process props spec...\n if (props) {\n // Merge with inherited members...\n prototype._props = tools.defaults(props, BaseClass.prototype._props || {});\n var _b = compileSpecs(props), propTypes = _b.propTypes, defaults = _b.defaults, watchers = _b.watchers, changeHandlers = _b.changeHandlers;\n this.propTypes = propTypes;\n if (defaults)\n this.defaultProps = defaults;\n if (watchers) {\n prototype._watchers = watchers;\n this.mixins.merge([WatchersMixin]);\n }\n if (changeHandlers) {\n prototype._changeHandlers = changeHandlers;\n this.mixins.merge([ChangeHandlersMixin]);\n }\n if (prototype.pureRender) {\n prototype.PropsChangeTokens = createChangeTokensConstructor(props);\n }\n }\n if (pureRender) {\n this.mixins.merge([PureRenderMixin]);\n }\n}\n/**\n * ChangeHandlers are fired in sequence upon props replacement.\n * Fires _after_ UI is updated. Used for managing events subscriptions.\n */\nvar ChangeHandlersMixin = {\n componentDidMount: function () {\n handlePropsChanges(this, {}, this.props);\n },\n componentDidUpdate: function (prev) {\n handlePropsChanges(this, prev, this.props);\n },\n componentWillUnmount: function () {\n handlePropsChanges(this, this.props, {});\n }\n};\nfunction handlePropsChanges(component, prev, next) {\n var _changeHandlers = component._changeHandlers;\n for (var name_1 in _changeHandlers) {\n if (prev[name_1] !== next[name_1]) {\n for (var _i = 0, _a = _changeHandlers[name_1]; _i < _a.length; _i++) {\n var handler = _a[_i];\n handler(next[name_1], prev[name_1], component);\n }\n }\n }\n}\n/**\n * Watchers works on props replacement and fires _before_ any change will be applied and UI is updated.\n * Fired in componentWillMount as well, which makes it a nice way to sync state from props.\n */\nvar WatchersMixin = {\n componentWillReceiveProps: function (next) {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_2 in _watchers) {\n if (next[name_2] !== props[name_2]) {\n _watchers[name_2].call(this, next[name_2], name_2);\n }\n }\n },\n componentWillMount: function () {\n var _a = this, _watchers = _a._watchers, props = _a.props;\n for (var name_3 in _watchers) {\n _watchers[name_3].call(this, props[name_3], name_3);\n }\n }\n};\n//# sourceMappingURL=props.js.map","var ArrayProto = Array.prototype, ObjectProto = Object.prototype;\nexport function helpers(value) {\n if (value && typeof value === 'object') {\n switch (Object.getPrototypeOf(value)) {\n case ArrayProto: return arrayHelpers;\n case ObjectProto: return objectHelpers;\n }\n }\n return dummyHelpers;\n}\n// Do nothing for types other than Array and plain Object.\nvar dummyHelpers = {\n clone: function (value) { return value; },\n map: function (link, fun) { return []; },\n remove: function (value) { return value; }\n};\n// `map` and `clone` for plain JS objects\nexport var objectHelpers = {\n // Map through the link to object\n map: function (link, iterator) {\n var mapped = [];\n for (var key in link.value) {\n var element = iterator(link.at(key), key);\n element === void 0 || (mapped.push(element));\n }\n return mapped;\n },\n remove: function (object, key) {\n delete object[key];\n return object;\n },\n // Shallow clone plain JS object\n clone: function (object) {\n var cloned = {};\n for (var key in object) {\n cloned[key] = object[key];\n }\n return cloned;\n }\n};\n// `map` and `clone` helpers for arrays.\nexport var arrayHelpers = {\n // Shallow clone array\n clone: function (array) {\n return array.slice();\n },\n remove: function (array, i) {\n array.splice(i, 1);\n return array;\n },\n // Map through the link to array\n map: function (link, iterator) {\n var length = link.value.length, mapped = Array(length);\n for (var i = 0, j = 0; i < length; i++) {\n var y = iterator(link.at(i), i);\n y === void 0 || (mapped[j++] = y);\n }\n mapped.length === j || (mapped.length = j);\n return mapped;\n }\n};\n//# sourceMappingURL=helpers.js.map","/**\n * Import ValueLink library\n * Define value links binding mixins to the Record and Collection\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { Mixable, MixinsState, Record } from 'type-r';\nimport { Link } from './valuelink/link';\nexport default Link;\nMixable.mixins.populate(Link);\n/**\n * Record\n */\nMixinsState.get(Record).merge([{\n // Link to the record's attribute by its key.\n linkAt: function (key) {\n return cacheLink(getLinksCache(this), this, key);\n },\n // Link to the attribute of the record's tree by symbolic path.\n linkPath: function (path, options) {\n return new RecordDeepLink(this, path, options);\n },\n // Link all (or listed) attributes and return links cache.\n linkAll: function () {\n var links = getLinksCache(this);\n if (arguments.length) {\n for (var i = 0; i < arguments.length; i++) {\n cacheLink(links, this, arguments[i]);\n }\n }\n else {\n var attributes = this.attributes;\n for (var key in attributes) {\n attributes[key] === void 0 || cacheLink(links, this, key);\n }\n }\n return links;\n }\n }]);\n/**\n * Link to Type-R's record attribute.\n * Strict evaluation of value, lazy evaluation of validation error.\n * Links are cached in the records\n */\nvar RecordLink = (function (_super) {\n __extends(RecordLink, _super);\n function RecordLink(record, attr, value) {\n var _this = _super.call(this, value) || this;\n _this.record = record;\n _this.attr = attr;\n return _this;\n }\n RecordLink.prototype.set = function (x) {\n this.record[this.attr] = x;\n };\n Object.defineProperty(RecordLink.prototype, \"error\", {\n get: function () {\n return this._error === void 0 ?\n this.record.getValidationError(this.attr) :\n this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n return RecordLink;\n}(Link));\nvar RecordDeepLink = (function (_super) {\n __extends(RecordDeepLink, _super);\n function RecordDeepLink(record, path, options) {\n var _this = _super.call(this, record.deepGet(path)) || this;\n _this.record = record;\n _this.path = path;\n _this.options = options;\n return _this;\n }\n Object.defineProperty(RecordDeepLink.prototype, \"error\", {\n get: function () {\n if (this._error === void 0) {\n this._error = this.record.deepValidationError(this.path) || null;\n }\n return this._error;\n },\n set: function (x) {\n this._error = x;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(RecordDeepLink.prototype, \"_changeToken\", {\n get: function () {\n return this.record._changeToken;\n },\n enumerable: true,\n configurable: true\n });\n RecordDeepLink.prototype.set = function (x) {\n this.record.deepSet(this.path, x, this.options);\n };\n return RecordDeepLink;\n}(Link));\nfunction getLinksCache(record) {\n return record._links || (record._links = new record.AttributesCopy({}));\n}\nfunction cacheLink(links, record, key) {\n var cached = links[key], value = record[key];\n return cached && cached.value === value ? cached\n : links[key] = new RecordLink(record, key, value);\n}\n/***********************************\n * Collection\n */\nMixinsState.get(Record.Collection).merge([{\n // Boolean link to the record's presence in the collection\n linkContains: function (record) {\n return new CollectionLink(this, record);\n },\n // Link to collection's property\n linkAt: function (prop) {\n var _this = this;\n return Link.value(this[prop], function (x) { return _this[prop] = x; });\n }\n }]);\n/**\n * Boolean link to presence of NestedType's record in collection.\n * Strict evaluation of value, no error.\n * Safe implementation of _changeToken.\n */\nvar CollectionLink = (function (_super) {\n __extends(CollectionLink, _super);\n function CollectionLink(collection, record) {\n var _this = _super.call(this, Boolean(collection._byId[record.cid])) || this;\n _this.collection = collection;\n _this.record = record;\n return _this;\n }\n CollectionLink.prototype.set = function (x) {\n this.collection.toggle(this.record, x);\n };\n return CollectionLink;\n}(Link));\n//# sourceMappingURL=link.js.map","/**\n * React-Type-R component base class. Overrides React component.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport * as React from 'react';\nimport { mixinRules, define, mixins, definitions, Messenger } from 'type-r';\nimport onDefine, { EmptyPropsChangeTokensCtor } from './define';\nvar Component = (function (_super) {\n __extends(Component, _super);\n function Component(props, context) {\n var _this = _super.call(this, props, context) || this;\n _this._initializeState();\n return _this;\n }\n Component.prototype.linkAt = function (key) {\n // Quick and dirty hack to suppres type error - refactor later.\n return this.state.linkAt(key);\n };\n Component.prototype.linkAll = function () {\n // Quick and dirty hack to suppres type error - refactor later.\n var state = this.state;\n return state.linkAll.apply(state, arguments);\n };\n Component.prototype.linkPath = function (path) {\n return this.state.linkPath(path);\n };\n Object.defineProperty(Component.prototype, \"links\", {\n get: function () {\n return this.state._links;\n },\n enumerable: true,\n configurable: true\n });\n Component.prototype._initializeState = function () {\n this.state = null;\n };\n Component.prototype.assignToState = function (x, key) {\n this.state.assignFrom((_a = {}, _a[key] = x, _a));\n var _a;\n };\n Component.prototype.componentWillUnmount = function () {\n this.dispose();\n };\n /**\n * Performs transactional update for both props and state.\n * Suppress updates during the transaction, and force update aftewards.\n * Wrapping the sequence of changes in a transactions guarantees that\n * React component will be updated _after_ all the changes to the\n * both props and local state are applied.\n */\n Component.prototype.transaction = function (fun) {\n var shouldComponentUpdate = this.shouldComponentUpdate, isRoot = shouldComponentUpdate !== returnFalse;\n if (isRoot) {\n this.shouldComponentUpdate = returnFalse;\n }\n var _a = this, state = _a.state, store = _a.store, withStore = store ? function (state) { return store.transaction(function () { return fun(state); }); } : fun;\n state ? state.transaction(withStore) : withStore(state);\n if (isRoot) {\n this.shouldComponentUpdate = shouldComponentUpdate;\n this.asyncUpdate();\n }\n };\n // Safe version of the forceUpdate suitable for asynchronous callbacks.\n Component.prototype.asyncUpdate = function () {\n this.shouldComponentUpdate === returnFalse || this._disposed || this.forceUpdate();\n };\n return Component;\n}(React.Component));\nComponent.onDefine = onDefine;\nComponent = __decorate([\n define({\n PropsChangeTokens: EmptyPropsChangeTokensCtor\n }),\n definitions({\n // Definitions to be extracted from mixins and statics and passed to `onDefine()`\n state: mixinRules.merge,\n State: mixinRules.value,\n store: mixinRules.merge,\n Store: mixinRules.value,\n props: mixinRules.merge,\n context: mixinRules.merge,\n childContext: mixinRules.merge,\n pureRender: mixinRules.protoValue\n }),\n mixinRules({\n // Apply old-school React mixin rules.\n componentWillMount: mixinRules.classLast,\n componentDidMount: mixinRules.classLast,\n componentWillReceiveProps: mixinRules.classLast,\n componentWillUpdate: mixinRules.classLast,\n componentDidUpdate: mixinRules.classLast,\n componentWillUnmount: mixinRules.classFirst,\n // And a bit more to fix inheritance quirks.\n shouldComponentUpdate: mixinRules.some,\n getChildContext: mixinRules.defaults\n })\n // Component can send and receive events...\n ,\n mixins(Messenger)\n], Component);\nexport { Component };\nfunction returnFalse() { return false; }\n// Looks like React guys _really_ want to deprecate it. But no way.\n// We will work around their attempt.\nObject.defineProperty(Component.prototype, 'isMounted', {\n value: function isMounted() {\n return !this._disposed;\n }\n});\n//# sourceMappingURL=component.js.map","import * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport { tools } from 'type-r';\nwindow.Page || (window.Page = { forceResize: function () { } });\nexport default function use(View) {\n var dispose = View.prototype.dispose || function () { }, setElement = View.prototype.setElement;\n var ComponentView = View.extend({\n reactClass: null,\n props: {},\n element: null,\n initialize: function (props) {\n // memorise arguments to pass to React\n this.options = props || {};\n },\n setElement: function () {\n this.unmountComponent(true);\n return setElement.apply(this, arguments);\n },\n // cached instance of react component...\n component: null,\n prevState: null,\n resize: function () {\n window.Page.forceResize();\n },\n render: function () {\n var options = this.prevState ? tools.fastAssign({ __keepState: this.prevState }, this.options) : this.options, element = React.createElement(this.reactClass, options), component = ReactDOM.render(element, this.el);\n this.component || this.mountComponent(component);\n },\n mountComponent: function (component) {\n this.component = component;\n this.prevState = null;\n component.trigger && this.listenTo(component, 'all', function () {\n this.trigger.apply(this, arguments);\n });\n },\n unmountComponent: function (keepModel) {\n var component = this.component;\n if (component) {\n this.prevState = component.state;\n if (component.trigger) {\n this.stopListening(component);\n }\n component._preventDispose = Boolean(keepModel);\n ReactDOM.unmountComponentAtNode(this.el);\n this.component = null;\n }\n },\n dispose: function () {\n this.unmountComponent();\n return dispose.apply(this, arguments);\n }\n });\n Object.defineProperty(ComponentView.prototype, 'model', {\n get: function () {\n this.component || this.render();\n return this.component && this.component.state;\n }\n });\n return ComponentView;\n}\n//# sourceMappingURL=component-view.js.map","var __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\nimport { Component } from './react-mvx';\nvar dontAutobind = [\n 'State', 'Store', 'constructor',\n 'componentWillMount', 'componentDidMount', 'componentWillReceiveProps', 'shouldComponentUpdate',\n 'componentWillUpdate', 'componentDidUpdate', 'componentWillUnmount',\n 'render', 'getDefaultProps', 'getChildContext'\n];\n/**\n * ES5 components definition factory\n */\nexport default function createClass(_a) {\n var statics = _a.statics, a_spec = __rest(_a, [\"statics\"]);\n // Gather all methods to pin them to `this` later.\n var methods = [];\n var Subclass = Component.extend(__assign({ \n // Override constructor to autobind all the methods...\n constructor: function () {\n Component.apply(this, arguments);\n for (var _i = 0, methods_1 = methods; _i < methods_1.length; _i++) {\n var method = methods_1[_i];\n this[method] = this[method].bind(this);\n }\n } }, a_spec), statics);\n // Need to bind methods from mixins as well, so populate it here.\n var Proto = Subclass.prototype;\n for (var key in Proto) {\n if (Proto.hasOwnProperty(key) && dontAutobind.indexOf(key) === -1 && typeof Proto[key] === 'function') {\n methods.push(key);\n }\n }\n return Subclass;\n}\n//# sourceMappingURL=createClass.js.map","// Re-export react-mvx\nimport ReactMVx from './react-mvx';\nvar NestedReact = Object.create(ReactMVx);\nexport default NestedReact;\nexport * from './react-mvx';\n// NestedReact backward compatibility layer\nimport * as ReactDOM from 'react-dom';\nimport Nested, { View, Record } from 'type-r';\nimport * as PropTypes from 'prop-types';\nimport subview from './view-element';\nNestedReact.subview = subview;\nexport { subview };\nconsole.log(\"ReactDOM=\", ReactDOM);\nimport use from './component-view';\nimport createClass from './createClass';\nNestedReact.createClass = createClass;\nObject.defineProperty(NestedReact, 'PropTypes', { value: PropTypes });\nexport { PropTypes, createClass };\nvar BaseView;\n// export hook to override base View class used...\nexport function useView(View) {\n BaseView = use(View);\n}\nvar onDefine = NestedReact.Component.onDefine;\nNestedReact.Component.onDefine = function (definitions, BaseClass) {\n this.View = BaseView.extend({ reactClass: this });\n return onDefine.call(this, definitions, BaseClass);\n};\n// Deprecated API for backward compatibility\nvar RecordProto = Record.prototype;\nRecordProto.getLink = RecordProto.linkAt;\nRecordProto.deepLink = RecordProto.linkPath;\nvar CollectionProto = Record.Collection.prototype;\nCollectionProto.hasLink = CollectionProto.linkContains;\nuseView(View);\n// Extend react components to have backbone-style jquery accessors\nvar BackboneViewProps = {\n el: { get: function () { return ReactDOM.findDOMNode(this); } },\n $el: { get: function () { return Nested.$(this.el); } },\n $: { value: function (sel) { return this.$el.find(sel); } }\n};\nObject.defineProperties(NestedReact.Component.prototype, BackboneViewProps);\n//# sourceMappingURL=index.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * Advanced React links for purely functional two-way data binding\n *\n * MIT License, (c) 2016 Vlad Balin, Volicon.\n */\nimport { helpers, arrayHelpers } from './helpers';\n// Main Link class. All links must extend it.\nvar Link = (function () {\n // create \n function Link(value) {\n this.value = value;\n }\n // Create custom link to arbitrary value\n Link.value = function (value, set) {\n return new CustomLink(value, set);\n };\n Object.defineProperty(Link.prototype, \"validationError\", {\n // DEPRECATED: Old error holder for backward compatibility with Volicon code base\n get: function () { return this.error; },\n enumerable: true,\n configurable: true\n });\n Link.prototype.onChange = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n handler(x);\n _this.set(x);\n });\n };\n Object.defineProperty(Link.prototype, \"props\", {\n // \n get: function () {\n var _this = this;\n return typeof this.value === 'boolean' ? {\n checked: this.value,\n onChange: function (e) { return _this.set(Boolean(e.target.checked)); }\n } : {\n value: this.value,\n onChange: function (e) { return _this.set(e.target.value); }\n };\n },\n enumerable: true,\n configurable: true\n });\n // DEPRECATED: Old React method for backward compatibility\n Link.prototype.requestChange = function (x) {\n this.set(x);\n };\n // Immediately update the link value using given transform function.\n Link.prototype.update = function (transform, e) {\n var next = transform(this.clone(), e);\n next === void 0 || this.set(next);\n };\n // Create new link which applies transform function on set.\n Link.prototype.pipe = function (handler) {\n var _this = this;\n return new CloneLink(this, function (x) {\n var next = handler(x, _this.value);\n next === void 0 || _this.set(next);\n });\n };\n // Create UI event handler function which will update the link with a given transform function.\n Link.prototype.action = function (transform) {\n var _this = this;\n return function (e) { return _this.update(transform, e); };\n };\n Link.prototype.equals = function (truthyValue) {\n return new EqualsLink(this, truthyValue);\n };\n Link.prototype.enabled = function (defaultValue) {\n return new EnabledLink(this, defaultValue || \"\");\n };\n // Array-only links methods\n Link.prototype.contains = function (element) {\n return new ContainsLink(this, element);\n };\n Link.prototype.push = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.push.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.unshift = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.unshift.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.splice = function () {\n var array = arrayHelpers.clone(this.value);\n Array.prototype.splice.apply(array, arguments);\n this.set(array);\n };\n Link.prototype.map = function (iterator) {\n return helpers(this.value).map(this, iterator);\n };\n Link.prototype.removeAt = function (key) {\n var value = this.value, _ = helpers(value);\n this.set(_.remove(_.clone(value), key));\n };\n Link.prototype.at = function (key) {\n return new LinkAt(this, key);\n };\n Link.prototype.clone = function () {\n var value = this.value;\n return helpers(value).clone(value);\n };\n Link.prototype.pick = function () {\n var links = {};\n for (var i = 0; i < arguments.length; i++) {\n var key = arguments[i];\n links[key] = new LinkAt(this, key);\n }\n return links;\n };\n /**\n * Validate link with validness predicate and optional custom error object. Can be chained.\n */\n Link.prototype.check = function (whenValid, error) {\n if (!this.error && !whenValid(this.value)) {\n this.error = error || whenValid.error || defaultError;\n }\n return this;\n };\n return Link;\n}());\nexport { Link };\nvar CustomLink = (function (_super) {\n __extends(CustomLink, _super);\n function CustomLink(value, set) {\n var _this = _super.call(this, value) || this;\n _this.set = set;\n return _this;\n }\n CustomLink.prototype.set = function (x) { };\n return CustomLink;\n}(Link));\nexport { CustomLink };\nvar CloneLink = (function (_super) {\n __extends(CloneLink, _super);\n function CloneLink(parent, set) {\n var _this = _super.call(this, parent.value) || this;\n _this.set = set;\n var error = parent.error;\n if (error)\n _this.error = error;\n return _this;\n }\n CloneLink.prototype.set = function (x) { };\n return CloneLink;\n}(Link));\nexport { CloneLink };\nvar EqualsLink = (function (_super) {\n __extends(EqualsLink, _super);\n function EqualsLink(parent, truthyValue) {\n var _this = _super.call(this, parent.value === truthyValue) || this;\n _this.parent = parent;\n _this.truthyValue = truthyValue;\n return _this;\n }\n EqualsLink.prototype.set = function (x) {\n this.parent.set(x ? this.truthyValue : null);\n };\n return EqualsLink;\n}(Link));\nexport { EqualsLink };\nvar EnabledLink = (function (_super) {\n __extends(EnabledLink, _super);\n function EnabledLink(parent, defaultValue) {\n var _this = _super.call(this, parent.value != null) || this;\n _this.parent = parent;\n _this.defaultValue = defaultValue;\n return _this;\n }\n EnabledLink.prototype.set = function (x) {\n this.parent.set(x ? this.defaultValue : null);\n };\n return EnabledLink;\n}(Link));\nexport { EnabledLink };\nvar ContainsLink = (function (_super) {\n __extends(ContainsLink, _super);\n function ContainsLink(parent, element) {\n var _this = _super.call(this, parent.value.indexOf(element) >= 0) || this;\n _this.parent = parent;\n _this.element = element;\n return _this;\n }\n ContainsLink.prototype.set = function (x) {\n var _this = this;\n var next = Boolean(x);\n if (this.value !== next) {\n var arr = this.parent.value, nextValue = x ? arr.concat(this.element) : arr.filter(function (el) { return el !== _this.element; });\n this.parent.set(nextValue);\n }\n };\n return ContainsLink;\n}(Link));\nexport { ContainsLink };\nvar defaultError = 'Invalid value';\n/**\n * Link to array or object element enclosed in parent link.\n * Performs purely functional update of the parent, shallow copying its value on `set`.\n */\nvar LinkAt = (function (_super) {\n __extends(LinkAt, _super);\n function LinkAt(parent, key) {\n var _this = _super.call(this, parent.value[key]) || this;\n _this.parent = parent;\n _this.key = key;\n return _this;\n }\n LinkAt.prototype.remove = function () {\n this.parent.removeAt(this.key);\n };\n // Set new element value to parent array or object, performing purely functional update.\n LinkAt.prototype.set = function (x) {\n var _this = this;\n if (this.value !== x) {\n this.parent.update(function (value) {\n value[_this.key] = x;\n return value;\n });\n }\n };\n ;\n return LinkAt;\n}(Link));\nexport { LinkAt };\n//# sourceMappingURL=link.js.map","import { Messenger } from 'type-r';\nimport onDefineStore from './store';\nimport onDefineState from './state';\nimport onDefineContext from './context';\nimport onDefineProps from './props';\nexport default function onDefine(definition, BaseClass) {\n // Initialize mixins placeholder...\n onDefineStore.call(this, definition, BaseClass);\n onDefineState.call(this, definition, BaseClass);\n onDefineContext.call(this, definition, BaseClass);\n onDefineProps.call(this, definition, BaseClass);\n Messenger.onDefine.call(this, definition, BaseClass);\n}\n;\nexport { Node, Element } from './typeSpecs';\nexport { EmptyPropsChangeTokensCtor } from './pureRender';\n//# sourceMappingURL=index.js.map","import * as React from 'react';\nimport { define, mixins } from 'type-r';\nimport { Node, Element } from './define';\nimport Link from './link';\nimport { Component } from './component';\n// extend React namespace\nvar ReactMVx = Object.create(React);\n// Make it compatible with ES6 module format.\nReactMVx.default = ReactMVx;\n// listenToProps, listenToState, model, attributes, Model\nReactMVx.define = define;\nReactMVx.mixins = mixins;\nReactMVx.Node = Node.value(null);\nReactMVx.Element = Element.value(null);\nReactMVx.Link = Link;\nReactMVx.Component = Component;\nvar assignToState = ReactMVx.assignToState = function (key) {\n return function (prop) {\n this.state.assignFrom((_a = {}, _a[key] = prop && prop instanceof Link ? prop.value : prop, _a));\n var _a;\n };\n};\nexport default ReactMVx;\nexport { define, mixins, Node, Element, Link, Component, assignToState };\n//# sourceMappingURL=index.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport React, { Component } from './react-mvx';\nimport { tools } from 'type-r';\nvar notEqual = tools.notEqual;\nvar BackboneView = (function (_super) {\n __extends(BackboneView, _super);\n function BackboneView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.saveRef = function (element) {\n _this.root = element;\n };\n return _this;\n }\n BackboneView.prototype.shouldComponentUpdate = function (next) {\n var props = this.props;\n return next.View !== props.View || notEqual(next.options, props.options);\n };\n BackboneView.prototype.hasUnsavedChanges = function () {\n var view = this.view;\n return view && (typeof view.hasUnsavedChanges === 'function' ? view.hasUnsavedChanges() : view.hasUnsavedChanges);\n };\n BackboneView.prototype.render = function () {\n return React.createElement('div', {\n ref: this.saveRef,\n className: this.props.className\n });\n };\n BackboneView.prototype.componentDidMount = function () {\n this._mountView();\n };\n BackboneView.prototype.componentDidUpdate = function () {\n this._dispose();\n this._mountView();\n };\n BackboneView.prototype.componentWillUnmount = function () {\n this._dispose();\n };\n BackboneView.prototype._mountView = function () {\n var el = this.root, p = this.props;\n var view = this.view = p.options ? new p.View(p.options) : new p.View();\n el.appendChild(view.el);\n view.render();\n };\n BackboneView.prototype._dispose = function () {\n var view = this.view;\n if (view) {\n if (view.dispose) {\n view.dispose();\n }\n else {\n view.stopListening();\n view.off();\n }\n this.root.innerHTML = \"\";\n this.view = null;\n }\n };\n return BackboneView;\n}(Component));\nexport default BackboneView;\n//# sourceMappingURL=view-element.js.map"],"names":["process","definition","BaseComponentClass","prototype","this","state","State","ComponentState","_super","apply","arguments","__extends","Record","attributes","__decorate","define","mixins","merge","StateMixin","UpdateOnNestedChangesMixin","onDefine","BaseClass","store","StoreClass","Store","ExternalStoreMixin","ExposeStoreMixin","InternalStore","attrbutes","InternalStoreMixin","compileSpecs","props","defaults","watchers","changeHandlers","propTypes","modelProto","forEachAttr","_attributes","spec","name","value","type","options","translateType","isRequired","_onChange","toLocalWatcher","length","changeEvents","handlers","changeEvents_1","push","next","prev","component","stopListening","listenTo","_changeEventName","asyncUpdate","convert","ref","Type","T","_translateType","Number","integer","PropTypes.number","String","PropTypes.string","Boolean","PropTypes.bool","Array","PropTypes.array","Function","PropTypes.func","Object","PropTypes.object","Node","PropTypes.node","Element","PropTypes.element","PropTypes.any","PropTypes.instanceOf","_a","context","childContext","_context","tools","contextTypes","_childContext","childContextTypes","createChangeTokensConstructor","propNames","keys","PropsChangeTokens","map","join","_hasChanges","updateChangeTokens","_propsChangeTokens","pureRender","_props","_b","defaultProps","_watchers","WatchersMixin","_changeHandlers","ChangeHandlersMixin","PureRenderMixin","handlePropsChanges","name_1","_i","handler","helpers","getPrototypeOf","ArrayProto","arrayHelpers","ObjectProto","objectHelpers","dummyHelpers","getLinksCache","record","_links","AttributesCopy","cacheLink","links","key","cached","RecordLink","returnFalse","use","View","dispose","setElement","ComponentView","extend","reactClass","element","initialize","unmountComponent","prevState","resize","window","Page","forceResize","render","fastAssign","__keepState","React.createElement","ReactDOM.render","el","mountComponent","trigger","keepModel","_preventDispose","ReactDOM.unmountComponentAtNode","defineProperty","get","createClass","statics","a_spec","__rest","methods","Subclass","Component","__assign","constructor","methods_1","method","bind","Proto","hasOwnProperty","dontAutobind","indexOf","useView","BaseView","extendStatics","setPrototypeOf","__proto__","d","b","p","__","create","decorators","target","desc","c","r","getOwnPropertyDescriptor","Reflect","decorate","i","_initializeState","_owner","_ownerKey","_nestedStore","getStore","_defaultStore","componentWillUnmount","_onChildrenChange","componentDidMount","getChildContext","call","componentWillMount","EmptyPropsChangeTokensCtor","shouldComponentUpdate","nextProps","componentDidUpdate","componentWillReceiveProps","name_2","name_3","clone","link","fun","remove","iterator","mapped","at","object","cloned","array","slice","splice","j","y","Link","set","CustomLink","error","enumerable","configurable","onChange","_this","CloneLink","x","checked","e","requestChange","update","transform","pipe","action","equals","truthyValue","EqualsLink","enabled","defaultValue","EnabledLink","contains","ContainsLink","unshift","removeAt","_","LinkAt","pick","check","whenValid","defaultError","parent","arr","nextValue","concat","filter","Nested","populate","MixinsState","linkAt","linkPath","path","RecordDeepLink","linkAll","attr","_error","getValidationError","deepGet","deepValidationError","_changeToken","deepSet","Collection","linkContains","CollectionLink","prop","collection","_byId","cid","toggle","exports","assignToState","assignFrom","transaction","isRoot","withStore","_disposed","forceUpdate","React.Component","onDefineStore","onDefineState","onDefineContext","onDefineProps","Messenger","definitions","mixinRules","protoValue","classLast","componentWillUpdate","classFirst","some","ReactMVx","React","default","notEqual","BackboneView","saveRef","root","hasUnsavedChanges","view","createElement","className","_mountView","_dispose","appendChild","off","innerHTML","assign","t","s","n","getOwnPropertySymbols","NestedReact","subview","console","log","ReactDOM","PropTypes","RecordProto","getLink","deepLink","CollectionProto","hasLink","BackboneViewProps","ReactDOM.findDOMNode","$el","$","sel","find","defineProperties"],"mappings":"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"} \ No newline at end of file diff --git a/examples/checklistTree/.babelrc b/examples/checklistTree/.babelrc new file mode 100644 index 0000000..f9dacf9 --- /dev/null +++ b/examples/checklistTree/.babelrc @@ -0,0 +1,18 @@ +{ + "presets":["react", ["es2015", {"loose": true}] ], + "plugins":[ + "transform-decorators-legacy", + "transform-object-rest-spread", + "add-module-exports", + "transform-class-properties" + ], + + "env": { + "production": { + "plugins": [ + "transform-react-constant-elements", + "transform-react-inline-elements" + ] + } + } +} \ No newline at end of file diff --git a/examples/checklistTree/dist/app.js b/examples/checklistTree/dist/app.js new file mode 100644 index 0000000..fe535c5 --- /dev/null +++ b/examples/checklistTree/dist/app.js @@ -0,0 +1,38725 @@ +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { +/******/ configurable: false, +/******/ enumerable: true, +/******/ get: getter +/******/ }); +/******/ } +/******/ }; +/******/ +/******/ // 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 = "/dist/"; +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 38); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (immutable) */ __webpack_exports__["c"] = __extends; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return __assign; }); +/* harmony export (immutable) */ __webpack_exports__["d"] = __rest; +/* harmony export (immutable) */ __webpack_exports__["b"] = __decorate; +/* unused harmony export __param */ +/* unused harmony export __metadata */ +/* unused harmony export __awaiter */ +/* unused harmony export __generator */ +/* unused harmony export __exportStar */ +/* unused harmony export __values */ +/* unused harmony export __read */ +/* unused harmony export __spread */ +/* unused harmony export __await */ +/* unused harmony export __asyncGenerator */ +/* unused harmony export __asyncDelegator */ +/* unused harmony export __asyncValues */ +/* unused harmony export __makeTemplateObject */ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ +/* global Reflect, Promise */ + +var extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + +function __extends(d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +} + +var __assign = Object.assign || function __assign(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; + } + return t; +} + +function __rest(s, e) { + var t = {}; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) + t[p] = s[p]; + if (s != null && typeof Object.getOwnPropertySymbols === "function") + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) + t[p[i]] = s[p[i]]; + return t; +} + +function __decorate(decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +} + +function __param(paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +} + +function __metadata(metadataKey, metadataValue) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); +} + +function __awaiter(thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +} + +function __generator(thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [0, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +} + +function __exportStar(m, exports) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; +} + +function __values(o) { + var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0; + if (m) return m.call(o); + return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; +} + +function __read(o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } + catch (error) { e = { error: error }; } + finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } + finally { if (e) throw e.error; } + } + return ar; +} + +function __spread() { + for (var ar = [], i = 0; i < arguments.length; i++) + ar = ar.concat(__read(arguments[i])); + return ar; +} + +function __await(v) { + return this instanceof __await ? (this.v = v, this) : new __await(v); +} + +function __asyncGenerator(thisArg, _arguments, generator) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var g = generator.apply(thisArg, _arguments || []), i, q = []; + return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; + function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } + function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } + function fulfill(value) { resume("next", value); } + function reject(value) { resume("throw", value); } + function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } +} + +function __asyncDelegator(o) { + var i, p; + return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i; + function verb(n, f) { if (o[n]) i[n] = function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; }; } +} + +function __asyncValues(o) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var m = o[Symbol.asyncIterator]; + return m ? m.call(o) : typeof __values === "function" ? __values(o) : o[Symbol.iterator](); +} + +function __makeTemplateObject(cooked, raw) { + if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + return cooked; +}; + + +/***/ }), +/* 1 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__tools__ = __webpack_require__(12); +/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "m", function() { return __WEBPACK_IMPORTED_MODULE_0__tools__; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__mixins__ = __webpack_require__(18); +/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "d", function() { return __WEBPACK_IMPORTED_MODULE_1__mixins__["a"]; }); +/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "e", function() { return __WEBPACK_IMPORTED_MODULE_1__mixins__["b"]; }); +/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "f", function() { return __WEBPACK_IMPORTED_MODULE_1__mixins__["c"]; }); +/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "g", function() { return __WEBPACK_IMPORTED_MODULE_1__mixins__["d"]; }); +/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "h", function() { return __WEBPACK_IMPORTED_MODULE_1__mixins__["e"]; }); +/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "j", function() { return __WEBPACK_IMPORTED_MODULE_1__mixins__["f"]; }); +/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "k", function() { return __WEBPACK_IMPORTED_MODULE_1__mixins__["g"]; }); +/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "l", function() { return __WEBPACK_IMPORTED_MODULE_1__mixins__["h"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__events__ = __webpack_require__(45); +/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "a", function() { return __WEBPACK_IMPORTED_MODULE_2__events__["a"]; }); +/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "b", function() { return __WEBPACK_IMPORTED_MODULE_2__events__["b"]; }); +/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "c", function() { return __WEBPACK_IMPORTED_MODULE_2__events__["c"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__eventsource__ = __webpack_require__(19); +/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "i", function() { return __WEBPACK_IMPORTED_MODULE_3__eventsource__; }); + + + + + + + +Object.extend = function (protoProps, staticProps) { return __WEBPACK_IMPORTED_MODULE_1__mixins__["a" /* Mixable */].extend(protoProps, staticProps); }; +Object.assign || (Object.assign = __WEBPACK_IMPORTED_MODULE_0__tools__["assign"]); +Object.log = __WEBPACK_IMPORTED_MODULE_0__tools__["log"]; +//# sourceMappingURL=index.js.map + +/***/ }), +/* 2 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return ItemsBehavior; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return Transactional; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return transactionApi; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__object_plus__ = __webpack_require__(1); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__validation__ = __webpack_require__(46); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__traversable__ = __webpack_require__(20); + + + + +var assign = __WEBPACK_IMPORTED_MODULE_1__object_plus__["m" /* tools */].assign, trigger2 = __WEBPACK_IMPORTED_MODULE_1__object_plus__["i" /* eventsApi */].trigger2, trigger3 = __WEBPACK_IMPORTED_MODULE_1__object_plus__["i" /* eventsApi */].trigger3, on = __WEBPACK_IMPORTED_MODULE_1__object_plus__["i" /* eventsApi */].on, off = __WEBPACK_IMPORTED_MODULE_1__object_plus__["i" /* eventsApi */].off; +var ItemsBehavior; +(function (ItemsBehavior) { + ItemsBehavior[ItemsBehavior["share"] = 1] = "share"; + ItemsBehavior[ItemsBehavior["listen"] = 2] = "listen"; + ItemsBehavior[ItemsBehavior["persistent"] = 4] = "persistent"; +})(ItemsBehavior || (ItemsBehavior = {})); +var Transactional = Transactional_1 = (function () { + function Transactional(cid) { + this._events = void 0; + this._changeToken = {}; + this._transaction = false; + this._isDirty = null; + this._owner = void 0; + this._ownerKey = void 0; + this._validationError = void 0; + this.cid = this.cidPrefix + cid; + } + Transactional.onExtend = function (BaseClass) { + if (BaseClass.create === this.create) { + this.create = Transactional_1.create; + } + }; + Transactional.create = function (a, b) { + return new this(a, b); + }; + Transactional.prototype.dispose = function () { + if (this._disposed) + return; + this._owner = void 0; + this._ownerKey = void 0; + this.off(); + this.stopListening(); + this._disposed = true; + }; + Transactional.prototype.initialize = function () { }; + Transactional.prototype.onChanges = function (handler, target) { + on(this, this._changeEventName, handler, target); + }; + Transactional.prototype.offChanges = function (handler, target) { + off(this, this._changeEventName, handler, target); + }; + Transactional.prototype.listenToChanges = function (target, handler) { + this.listenTo(target, target._changeEventName, handler); + }; + Transactional.prototype.transaction = function (fun, options) { + if (options === void 0) { options = {}; } + var isRoot = transactionApi.begin(this); + var update = fun.call(this, this); + update && this.set(update); + isRoot && transactionApi.commit(this); + }; + Transactional.prototype.updateEach = function (iteratee, options) { + var isRoot = transactionApi.begin(this); + this.each(iteratee); + isRoot && transactionApi.commit(this); + }; + Transactional.prototype.set = function (values, options) { + if (values) { + var transaction = this._createTransaction(values, options); + transaction && transaction.commit(); + } + return this; + }; + Transactional.prototype.assignFrom = function (source) { + return this.set(source.__inner_state__ || source, { merge: true }); + }; + Transactional.prototype.parse = function (data, options) { return data; }; + Transactional.prototype.deepGet = function (reference) { + return Object(__WEBPACK_IMPORTED_MODULE_3__traversable__["b" /* resolveReference */])(this, reference, function (object, key) { return object.get ? object.get(key) : object[key]; }); + }; + Transactional.prototype.getOwner = function () { + return this._owner; + }; + Transactional.prototype.getStore = function () { + var _owner = this._owner; + return _owner ? _owner.getStore() : this._defaultStore; + }; + Transactional.prototype.map = function (iteratee, context) { + var arr = [], fun = context !== void 0 ? function (v, k) { return iteratee.call(context, v, k); } : iteratee; + this.each(function (val, key) { + var result = fun(val, key); + if (result !== void 0) + arr.push(result); + }); + return arr; + }; + Transactional.prototype.mapObject = function (iteratee, context) { + var obj = {}, fun = context !== void 0 ? function (v, k) { return iteratee.call(context, v, k); } : iteratee; + this.each(function (val, key) { + var result = iteratee(val, key); + if (result !== void 0) + obj[key] = result; + }); + return obj; + }; + Object.defineProperty(Transactional.prototype, "validationError", { + get: function () { + var error = this._validationError || (this._validationError = new __WEBPACK_IMPORTED_MODULE_2__validation__["a" /* ValidationError */](this)); + return error.length ? error : null; + }, + enumerable: true, + configurable: true + }); + Transactional.prototype.validate = function (obj) { }; + Transactional.prototype.getValidationError = function (key) { + var error = this.validationError; + return (key ? error && error.nested[key] : error) || null; + }; + Transactional.prototype.deepValidationError = function (reference) { + return Object(__WEBPACK_IMPORTED_MODULE_3__traversable__["b" /* resolveReference */])(this, reference, function (object, key) { return object.getValidationError(key); }); + }; + Transactional.prototype.eachValidationError = function (iteratee) { + var validationError = this.validationError; + validationError && validationError.eachError(iteratee, this); + }; + Transactional.prototype.isValid = function (key) { + return !this.getValidationError(key); + }; + Transactional.prototype.valueOf = function () { return this.cid; }; + Transactional.prototype.toString = function () { return this.cid; }; + Transactional.prototype.getClassName = function () { + var name = this.constructor.name; + if (name !== 'Subclass') + return name; + }; + return Transactional; +}()); +Transactional = Transactional_1 = __WEBPACK_IMPORTED_MODULE_0_tslib__["b" /* __decorate */]([ + __WEBPACK_IMPORTED_MODULE_1__object_plus__["f" /* define */], + Object(__WEBPACK_IMPORTED_MODULE_1__object_plus__["k" /* mixins */])(__WEBPACK_IMPORTED_MODULE_1__object_plus__["c" /* Messenger */]) +], Transactional); + +var transactionApi = { + begin: function (object) { + return object._transaction ? false : (object._transaction = true); + }, + markAsDirty: function (object, options) { + var dirty = !options.silent; + if (dirty) + object._isDirty = options; + object._changeToken = {}; + object._validationError = void 0; + return dirty; + }, + commit: function (object, initiator) { + var originalOptions = object._isDirty; + if (originalOptions) { + while (object._isDirty) { + var options = object._isDirty; + object._isDirty = null; + trigger3(object, object._changeEventName, object, options, initiator); + } + object._transaction = false; + var _owner = object._owner; + if (_owner && _owner !== initiator) { + _owner._onChildrenChange(object, originalOptions); + } + } + else { + object._isDirty = null; + object._transaction = false; + } + }, + aquire: function (owner, child, key) { + if (!child._owner) { + child._owner = owner; + child._ownerKey = key; + return true; + } + return child._owner === owner; + }, + free: function (owner, child) { + if (owner === child._owner) { + child._owner = void 0; + child._ownerKey = void 0; + } + } +}; +var Transactional_1; +//# sourceMappingURL=transactions.js.map + +/***/ }), +/* 3 */ +/***/ (function(module, exports) { + +// shim for using process in browser +var process = module.exports = {}; + +// cached from whatever global is present so that test runners that stub it +// don't break things. But we need to wrap it in a try catch in case it is +// wrapped in strict mode code which doesn't define any globals. It's inside a +// function because try/catches deoptimize in certain engines. + +var cachedSetTimeout; +var cachedClearTimeout; + +function defaultSetTimout() { + throw new Error('setTimeout has not been defined'); +} +function defaultClearTimeout () { + throw new Error('clearTimeout has not been defined'); +} +(function () { + try { + if (typeof setTimeout === 'function') { + cachedSetTimeout = setTimeout; + } else { + cachedSetTimeout = defaultSetTimout; + } + } catch (e) { + cachedSetTimeout = defaultSetTimout; + } + try { + if (typeof clearTimeout === 'function') { + cachedClearTimeout = clearTimeout; + } else { + cachedClearTimeout = defaultClearTimeout; + } + } catch (e) { + cachedClearTimeout = defaultClearTimeout; + } +} ()) +function runTimeout(fun) { + if (cachedSetTimeout === setTimeout) { + //normal enviroments in sane situations + return setTimeout(fun, 0); + } + // if setTimeout wasn't available but was latter defined + if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) { + cachedSetTimeout = setTimeout; + return setTimeout(fun, 0); + } + try { + // when when somebody has screwed with setTimeout but no I.E. maddness + return cachedSetTimeout(fun, 0); + } catch(e){ + try { + // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally + return cachedSetTimeout.call(null, fun, 0); + } catch(e){ + // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error + return cachedSetTimeout.call(this, fun, 0); + } + } + + +} +function runClearTimeout(marker) { + if (cachedClearTimeout === clearTimeout) { + //normal enviroments in sane situations + return clearTimeout(marker); + } + // if clearTimeout wasn't available but was latter defined + if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) { + cachedClearTimeout = clearTimeout; + return clearTimeout(marker); + } + try { + // when when somebody has screwed with setTimeout but no I.E. maddness + return cachedClearTimeout(marker); + } catch (e){ + try { + // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally + return cachedClearTimeout.call(null, marker); + } catch (e){ + // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error. + // Some versions of I.E. have different rules for clearTimeout vs setTimeout + return cachedClearTimeout.call(this, marker); + } + } + + + +} +var queue = []; +var draining = false; +var currentQueue; +var queueIndex = -1; + +function cleanUpNextTick() { + if (!draining || !currentQueue) { + return; + } + draining = false; + if (currentQueue.length) { + queue = currentQueue.concat(queue); + } else { + queueIndex = -1; + } + if (queue.length) { + drainQueue(); + } +} + +function drainQueue() { + if (draining) { + return; + } + var timeout = runTimeout(cleanUpNextTick); + draining = true; + + var len = queue.length; + while(len) { + currentQueue = queue; + queue = []; + while (++queueIndex < len) { + if (currentQueue) { + currentQueue[queueIndex].run(); + } + } + queueIndex = -1; + len = queue.length; + } + currentQueue = null; + draining = false; + runClearTimeout(timeout); +} + +process.nextTick = function (fun) { + var args = new Array(arguments.length - 1); + if (arguments.length > 1) { + for (var i = 1; i < arguments.length; i++) { + args[i - 1] = arguments[i]; + } + } + queue.push(new Item(fun, args)); + if (queue.length === 1 && !draining) { + runTimeout(drainQueue); + } +}; + +// v8 likes predictible objects +function Item(fun, array) { + this.fun = fun; + this.array = array; +} +Item.prototype.run = function () { + this.fun.apply(null, this.array); +}; +process.title = 'browser'; +process.browser = true; +process.env = {}; +process.argv = []; +process.version = ''; // empty string to avoid regexp issues +process.versions = {}; + +function noop() {} + +process.on = noop; +process.addListener = noop; +process.once = noop; +process.off = noop; +process.removeListener = noop; +process.removeAllListeners = noop; +process.emit = noop; +process.prependListener = noop; +process.prependOnceListener = noop; + +process.listeners = function (name) { return [] } + +process.binding = function (name) { + throw new Error('process.binding is not supported'); +}; + +process.cwd = function () { return '/' }; +process.chdir = function (dir) { + throw new Error('process.chdir is not supported'); +}; +process.umask = function() { return 0; }; + + +/***/ }), +/* 4 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (immutable) */ __webpack_exports__["p"] = attr; +/* harmony export (immutable) */ __webpack_exports__["u"] = prop; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__record__ = __webpack_require__(47); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__object_plus__ = __webpack_require__(1); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__attributes__ = __webpack_require__(9); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__transactions__ = __webpack_require__(2); +/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "a", function() { return __WEBPACK_IMPORTED_MODULE_3__attributes__["a"]; }); +/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "b", function() { return __WEBPACK_IMPORTED_MODULE_3__attributes__["b"]; }); +/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "c", function() { return __WEBPACK_IMPORTED_MODULE_3__attributes__["c"]; }); +/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "d", function() { return __WEBPACK_IMPORTED_MODULE_3__attributes__["d"]; }); +/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "e", function() { return __WEBPACK_IMPORTED_MODULE_3__attributes__["e"]; }); +/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "f", function() { return __WEBPACK_IMPORTED_MODULE_3__attributes__["f"]; }); +/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "g", function() { return __WEBPACK_IMPORTED_MODULE_3__attributes__["g"]; }); +/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "h", function() { return __WEBPACK_IMPORTED_MODULE_3__attributes__["h"]; }); +/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "i", function() { return __WEBPACK_IMPORTED_MODULE_3__attributes__["i"]; }); +/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "j", function() { return __WEBPACK_IMPORTED_MODULE_3__attributes__["j"]; }); +/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "l", function() { return __WEBPACK_IMPORTED_MODULE_3__attributes__["k"]; }); +/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "m", function() { return __WEBPACK_IMPORTED_MODULE_3__attributes__["l"]; }); +/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "n", function() { return __WEBPACK_IMPORTED_MODULE_3__attributes__["m"]; }); +/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "o", function() { return __WEBPACK_IMPORTED_MODULE_3__attributes__["n"]; }); +/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "q", function() { return __WEBPACK_IMPORTED_MODULE_3__attributes__["o"]; }); +/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "r", function() { return __WEBPACK_IMPORTED_MODULE_3__attributes__["p"]; }); +/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "s", function() { return __WEBPACK_IMPORTED_MODULE_3__attributes__["q"]; }); +/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "t", function() { return __WEBPACK_IMPORTED_MODULE_3__attributes__["s"]; }); +/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "v", function() { return __WEBPACK_IMPORTED_MODULE_3__attributes__["t"]; }); +/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "w", function() { return __WEBPACK_IMPORTED_MODULE_3__attributes__["u"]; }); +/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "x", function() { return __WEBPACK_IMPORTED_MODULE_3__attributes__["v"]; }); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "k", function() { return __WEBPACK_IMPORTED_MODULE_1__record__["a"]; }); + + + + + + + + +var assign = __WEBPACK_IMPORTED_MODULE_2__object_plus__["m" /* tools */].assign, defaults = __WEBPACK_IMPORTED_MODULE_2__object_plus__["m" /* tools */].defaults, omit = __WEBPACK_IMPORTED_MODULE_2__object_plus__["m" /* tools */].omit, getBaseClass = __WEBPACK_IMPORTED_MODULE_2__object_plus__["m" /* tools */].getBaseClass; +__WEBPACK_IMPORTED_MODULE_1__record__["a" /* Record */].onExtend = function (BaseClass) { + __WEBPACK_IMPORTED_MODULE_4__transactions__["b" /* Transactional */].onExtend.call(this, BaseClass); + var Class = this; + var DefaultCollection = (function (_super) { + __WEBPACK_IMPORTED_MODULE_0_tslib__["c" /* __extends */](DefaultCollection, _super); + function DefaultCollection() { + return _super !== null && _super.apply(this, arguments) || this; + } + return DefaultCollection; + }(BaseClass.Collection)); + DefaultCollection.model = Class; + DefaultCollection = __WEBPACK_IMPORTED_MODULE_0_tslib__["b" /* __decorate */]([ + __WEBPACK_IMPORTED_MODULE_2__object_plus__["l" /* predefine */] + ], DefaultCollection); + this.DefaultCollection = DefaultCollection; + if (Class.Collection === BaseClass.Collection) { + this.Collection = DefaultCollection; + } + Object(__WEBPACK_IMPORTED_MODULE_3__attributes__["q" /* createSharedTypeSpec */])(this, __WEBPACK_IMPORTED_MODULE_3__attributes__["l" /* SharedType */]); +}; +__WEBPACK_IMPORTED_MODULE_1__record__["a" /* Record */].onDefine = function (definition, BaseClass) { + var baseProto = BaseClass.prototype; + var _a = Object(__WEBPACK_IMPORTED_MODULE_3__attributes__["r" /* default */])(this.attributes = getAttributes(definition), baseProto._attributes), properties = _a.properties, _localEvents = _a._localEvents, dynamicMixin = __WEBPACK_IMPORTED_MODULE_0_tslib__["d" /* __rest */](_a, ["properties", "_localEvents"]); + assign(this.prototype, dynamicMixin); + definition.properties = defaults(definition.properties || {}, properties); + definition._localEvents = _localEvents; + __WEBPACK_IMPORTED_MODULE_4__transactions__["b" /* Transactional */].onDefine.call(this, definition, BaseClass); + this.DefaultCollection.define(definition.collection || {}); + this.Collection = definition.Collection; + this.Collection.prototype.model = this; +}; +__WEBPACK_IMPORTED_MODULE_1__record__["a" /* Record */]._attribute = __WEBPACK_IMPORTED_MODULE_3__attributes__["a" /* AggregatedType */]; +Object(__WEBPACK_IMPORTED_MODULE_3__attributes__["q" /* createSharedTypeSpec */])(__WEBPACK_IMPORTED_MODULE_1__record__["a" /* Record */], __WEBPACK_IMPORTED_MODULE_3__attributes__["l" /* SharedType */]); +function getAttributes(_a) { + var defaults = _a.defaults, attributes = _a.attributes, idAttribute = _a.idAttribute; + var definition = attributes || defaults || {}; + if (idAttribute && !(idAttribute in definition)) { + definition[idAttribute] = void 0; + } + return definition; +} +function attr(proto, attrName) { + if (attrName) { + if (typeof Reflect !== 'undefined' && Reflect.getMetadata) { + Reflect + .getMetadata("design:type", proto, attrName) + .asProp(proto, attrName); + } + else { + proto._log('error', 'Add import "reflect-metadata"; as the first line of your app.'); + } + } + else { + return proto.asProp; + } +} +function prop(spec) { + return spec.asProp; +} +//# sourceMappingURL=index.js.map + +/***/ }), +/* 5 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * + */ + +function makeEmptyFunction(arg) { + return function () { + return arg; + }; +} + +/** + * This function accepts and discards inputs; it has no side effects. This is + * primarily useful idiomatically for overridable function endpoints which + * always need to be callable, since JS lacks a null-call idiom ala Cocoa. + */ +var emptyFunction = function emptyFunction() {}; + +emptyFunction.thatReturns = makeEmptyFunction; +emptyFunction.thatReturnsFalse = makeEmptyFunction(false); +emptyFunction.thatReturnsTrue = makeEmptyFunction(true); +emptyFunction.thatReturnsNull = makeEmptyFunction(null); +emptyFunction.thatReturnsThis = function () { + return this; +}; +emptyFunction.thatReturnsArgument = function (arg) { + return arg; +}; + +module.exports = emptyFunction; + +/***/ }), +/* 6 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + */ + + + +/** + * Use invariant() to assert state which your program assumes to be true. + * + * Provide sprintf-style format (only %s is supported) and arguments + * to provide information about what broke and what you were + * expecting. + * + * The invariant message will be stripped in production, but the invariant + * will remain to ensure logic does not differ in production. + */ + +var validateFormat = function validateFormat(format) {}; + +if (process.env.NODE_ENV !== 'production') { + validateFormat = function validateFormat(format) { + if (format === undefined) { + throw new Error('invariant requires an error message argument'); + } + }; +} + +function invariant(condition, format, a, b, c, d, e, f) { + validateFormat(format); + + if (!condition) { + var error; + if (format === undefined) { + error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.'); + } else { + var args = [a, b, c, d, e, f]; + var argIndex = 0; + error = new Error(format.replace(/%s/g, function () { + return args[argIndex++]; + })); + error.name = 'Invariant Violation'; + } + + error.framesToPop = 1; // we don't care about invariant's own frame + throw error; + } +} + +module.exports = invariant; +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) + +/***/ }), +/* 7 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "on", function() { return on; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "off", function() { return off; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "trigger", function() { return trigger; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "once", function() { return once; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "listenTo", function() { return listenTo; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "stopListening", function() { return stopListening; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "listenToOnce", function() { return listenToOnce; }); +/* harmony export (immutable) */ __webpack_exports__["attributes"] = attributes; +/* harmony export (immutable) */ __webpack_exports__["value"] = value; +/* harmony export (immutable) */ __webpack_exports__["transaction"] = transaction; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__object_plus__ = __webpack_require__(1); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "tools", function() { return __WEBPACK_IMPORTED_MODULE_1__object_plus__["m"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "eventsApi", function() { return __WEBPACK_IMPORTED_MODULE_1__object_plus__["i"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "Mixable", function() { return __WEBPACK_IMPORTED_MODULE_1__object_plus__["d"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "predefine", function() { return __WEBPACK_IMPORTED_MODULE_1__object_plus__["l"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "define", function() { return __WEBPACK_IMPORTED_MODULE_1__object_plus__["f"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "definitions", function() { return __WEBPACK_IMPORTED_MODULE_1__object_plus__["h"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "definitionDecorator", function() { return __WEBPACK_IMPORTED_MODULE_1__object_plus__["g"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "MixinsState", function() { return __WEBPACK_IMPORTED_MODULE_1__object_plus__["e"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "mixins", function() { return __WEBPACK_IMPORTED_MODULE_1__object_plus__["k"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "mixinRules", function() { return __WEBPACK_IMPORTED_MODULE_1__object_plus__["j"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "EventMap", function() { return __WEBPACK_IMPORTED_MODULE_1__object_plus__["a"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "Messenger", function() { return __WEBPACK_IMPORTED_MODULE_1__object_plus__["c"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "Events", function() { return __WEBPACK_IMPORTED_MODULE_1__object_plus__["b"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__collection__ = __webpack_require__(27); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "Collection", function() { return __WEBPACK_IMPORTED_MODULE_2__collection__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__relations__ = __webpack_require__(55); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "Store", function() { return __WEBPACK_IMPORTED_MODULE_3__relations__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__record__ = __webpack_require__(4); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "Record", function() { return __WEBPACK_IMPORTED_MODULE_4__record__["k"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "attr", function() { return __WEBPACK_IMPORTED_MODULE_4__record__["p"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "prop", function() { return __WEBPACK_IMPORTED_MODULE_4__record__["u"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "createAttribute", function() { return __WEBPACK_IMPORTED_MODULE_4__record__["r"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "createSharedTypeSpec", function() { return __WEBPACK_IMPORTED_MODULE_4__record__["s"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "AnyType", function() { return __WEBPACK_IMPORTED_MODULE_4__record__["b"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "AggregatedType", function() { return __WEBPACK_IMPORTED_MODULE_4__record__["a"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "DateType", function() { return __WEBPACK_IMPORTED_MODULE_4__record__["e"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "MSDateType", function() { return __WEBPACK_IMPORTED_MODULE_4__record__["g"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "TimestampType", function() { return __WEBPACK_IMPORTED_MODULE_4__record__["n"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "PrimitiveType", function() { return __WEBPACK_IMPORTED_MODULE_4__record__["j"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "NumericType", function() { return __WEBPACK_IMPORTED_MODULE_4__record__["h"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "ArrayType", function() { return __WEBPACK_IMPORTED_MODULE_4__record__["c"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "ObjectType", function() { return __WEBPACK_IMPORTED_MODULE_4__record__["i"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "doNothing", function() { return __WEBPACK_IMPORTED_MODULE_4__record__["t"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "FunctionType", function() { return __WEBPACK_IMPORTED_MODULE_4__record__["f"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "SharedType", function() { return __WEBPACK_IMPORTED_MODULE_4__record__["m"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "setAttribute", function() { return __WEBPACK_IMPORTED_MODULE_4__record__["v"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "UpdateRecordMixin", function() { return __WEBPACK_IMPORTED_MODULE_4__record__["o"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "constructorsMixin", function() { return __WEBPACK_IMPORTED_MODULE_4__record__["q"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "shouldBeAnObject", function() { return __WEBPACK_IMPORTED_MODULE_4__record__["w"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "RecordTransaction", function() { return __WEBPACK_IMPORTED_MODULE_4__record__["l"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "ChainableAttributeSpec", function() { return __WEBPACK_IMPORTED_MODULE_4__record__["d"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "toAttributeOptions", function() { return __WEBPACK_IMPORTED_MODULE_4__record__["x"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__object_plus___ = __webpack_require__(1); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "Model", function() { return __WEBPACK_IMPORTED_MODULE_4__record__["k"]; }); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "Class", function() { return __WEBPACK_IMPORTED_MODULE_5__object_plus___["d"]; }); + + + + + + +var on = (_a = __WEBPACK_IMPORTED_MODULE_5__object_plus___["b" /* Events */], _a.on), off = _a.off, trigger = _a.trigger, once = _a.once, listenTo = _a.listenTo, stopListening = _a.stopListening, listenToOnce = _a.listenToOnce; + + + +function attributes(attrDefs) { + var DefaultRecord = (function (_super) { + __WEBPACK_IMPORTED_MODULE_0_tslib__["c" /* __extends */](DefaultRecord, _super); + function DefaultRecord() { + return _super !== null && _super.apply(this, arguments) || this; + } + return DefaultRecord; + }(__WEBPACK_IMPORTED_MODULE_4__record__["k" /* Record */])); + DefaultRecord.attributes = attrDefs; + DefaultRecord = __WEBPACK_IMPORTED_MODULE_0_tslib__["b" /* __decorate */]([ + __WEBPACK_IMPORTED_MODULE_5__object_plus___["f" /* define */] + ], DefaultRecord); + return DefaultRecord; +} + +function value(x) { + return new __WEBPACK_IMPORTED_MODULE_4__record__["d" /* ChainableAttributeSpec */]({ value: x }); +} +function transaction(method) { + return function () { + var _this = this; + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + var result; + this.transaction(function () { + result = method.apply(_this, args); + }); + return result; + }; +} +var _a; +//# sourceMappingURL=index.js.map + +/***/ }), +/* 8 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return AnyType; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__updates__ = __webpack_require__(21); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__object_plus__ = __webpack_require__(1); + + +var notEqual = __WEBPACK_IMPORTED_MODULE_1__object_plus__["m" /* tools */].notEqual, assign = __WEBPACK_IMPORTED_MODULE_1__object_plus__["m" /* tools */].assign; +var emptyOptions = {}; +var AnyType = (function () { + function AnyType(name, a_options) { + this.name = name; + this.getHook = null; + this.options = a_options; + var options = assign({ getHooks: [], transforms: [], changeHandlers: [] }, a_options); + options.getHooks = options.getHooks.slice(); + options.transforms = options.transforms.slice(); + options.changeHandlers = options.changeHandlers.slice(); + var value = options.value, type = options.type, parse = options.parse, toJSON = options.toJSON, changeEvents = options.changeEvents, validate = options.validate, getHooks = options.getHooks, transforms = options.transforms, changeHandlers = options.changeHandlers; + this.value = value; + this.type = type; + if (!options.hasCustomDefault && type) { + this.defaultValue = this.create; + } + else if (__WEBPACK_IMPORTED_MODULE_1__object_plus__["m" /* tools */].isValidJSON(value)) { + this.defaultValue = new Function("return " + JSON.stringify(value) + ";"); + } + else { + this.defaultValue = this.defaultValue; + } + this.propagateChanges = changeEvents !== false; + this.toJSON = toJSON === void 0 ? this.toJSON : toJSON; + this.validate = validate || this.validate; + if (options.isRequired) { + this.validate = wrapIsRequired(this.validate); + } + transforms.unshift(this.convert); + this.parse = parse || this.parse; + if (this.get) + getHooks.unshift(this.get); + this.initialize.call(this, options); + if (getHooks.length) { + var getHook_1 = this.getHook = getHooks.reduce(chainGetHooks); + var validate_1 = this.validate; + this.validate = function (record, value, key) { + return validate_1.call(this, record, getHook_1.call(record, value, key), key); + }; + } + this.transform = transforms.length ? transforms.reduce(chainTransforms) : this.transform; + this.handleChange = changeHandlers.length ? changeHandlers.reduce(chainChangeHandlers) : this.handleChange; + } + AnyType.create = function (options, name) { + var type = options.type, AttributeCtor = options._attribute || (type ? type._attribute : AnyType); + return new AttributeCtor(name, options); + }; + AnyType.prototype.canBeUpdated = function (prev, next, options) { }; + AnyType.prototype.transform = function (next, prev, model, options) { return next; }; + AnyType.prototype.convert = function (next, prev, model, options) { return next; }; + AnyType.prototype.isChanged = function (a, b) { + return notEqual(a, b); + }; + AnyType.prototype.handleChange = function (next, prev, model, options) { }; + AnyType.prototype.create = function () { return void 0; }; + AnyType.prototype.clone = function (value, record) { + return value; + }; + AnyType.prototype.dispose = function (record, value) { + this.handleChange(void 0, value, record, emptyOptions); + }; + AnyType.prototype.validate = function (record, value, key) { }; + AnyType.prototype.toJSON = function (value, key) { + return value && value.toJSON ? value.toJSON() : value; + }; + AnyType.prototype.createPropertyDescriptor = function () { + var _a = this, name = _a.name, getHook = _a.getHook; + if (name !== 'id') { + return { + set: function (value) { + Object(__WEBPACK_IMPORTED_MODULE_0__updates__["d" /* setAttribute */])(this, name, value); + }, + get: (getHook ? + function () { + return getHook.call(this, this.attributes[name], name); + } : + function () { return this.attributes[name]; }) + }; + } + }; + AnyType.prototype.initialize = function (name, options) { }; + AnyType.prototype.doInit = function (value, record, options) { + var v = value === void 0 ? this.defaultValue() : value, x = this.transform(v, void 0, record, options); + this.handleChange(x, void 0, record, options); + return x; + }; + AnyType.prototype.doUpdate = function (value, record, options, nested) { + var name = this.name, attributes = record.attributes, prev = attributes[name]; + var next = this.transform(value, prev, record, options); + attributes[name] = next; + if (this.isChanged(next, prev)) { + this.handleChange(next, prev, record, options); + return true; + } + return false; + }; + AnyType.prototype._log = function (level, text, value, record) { + __WEBPACK_IMPORTED_MODULE_1__object_plus__["m" /* tools */].log(level, "[Attribute Update Error] " + record.getClassName() + "." + this.name + ": " + text, { + 'Record': record, + 'Attribute definition': this, + 'Prev. value': record.attributes[this.name], + 'New value': value + }); + }; + AnyType.prototype.defaultValue = function () { + return this.value; + }; + return AnyType; +}()); + +function chainGetHooks(prevHook, nextHook) { + return function (value, name) { + return nextHook.call(this, prevHook.call(this, value, name), name); + }; +} +function chainTransforms(prevTransform, nextTransform) { + return function (next, prev, record, options) { + return nextTransform.call(this, prevTransform.call(this, next, prev, record, options), prev, record, options); + }; +} +function chainChangeHandlers(prevHandler, nextHandler) { + return function (next, prev, record, options) { + prevHandler.call(this, next, prev, record, options); + nextHandler.call(this, next, prev, record, options); + }; +} +function wrapIsRequired(validate) { + return function (record, value, key) { + return value ? validate.call(this, record, value, key) : 'Required'; + }; +} +//# sourceMappingURL=any.js.map + +/***/ }), +/* 9 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (immutable) */ __webpack_exports__["p"] = createAttribute; +/* harmony export (immutable) */ __webpack_exports__["q"] = createSharedTypeSpec; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__object_plus__ = __webpack_require__(1); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__any__ = __webpack_require__(8); +/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "b", function() { return __WEBPACK_IMPORTED_MODULE_2__any__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__owned__ = __webpack_require__(48); +/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "a", function() { return __WEBPACK_IMPORTED_MODULE_3__owned__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__date__ = __webpack_require__(49); +/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "e", function() { return __WEBPACK_IMPORTED_MODULE_4__date__["a"]; }); +/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "g", function() { return __WEBPACK_IMPORTED_MODULE_4__date__["b"]; }); +/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "m", function() { return __WEBPACK_IMPORTED_MODULE_4__date__["c"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__basic__ = __webpack_require__(50); +/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "c", function() { return __WEBPACK_IMPORTED_MODULE_5__basic__["a"]; }); +/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "f", function() { return __WEBPACK_IMPORTED_MODULE_5__basic__["b"]; }); +/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "h", function() { return __WEBPACK_IMPORTED_MODULE_5__basic__["c"]; }); +/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "i", function() { return __WEBPACK_IMPORTED_MODULE_5__basic__["d"]; }); +/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "j", function() { return __WEBPACK_IMPORTED_MODULE_5__basic__["e"]; }); +/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "s", function() { return __WEBPACK_IMPORTED_MODULE_5__basic__["f"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__shared__ = __webpack_require__(51); +/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "l", function() { return __WEBPACK_IMPORTED_MODULE_6__shared__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__updates__ = __webpack_require__(21); +/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "k", function() { return __WEBPACK_IMPORTED_MODULE_7__updates__["a"]; }); +/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "n", function() { return __WEBPACK_IMPORTED_MODULE_7__updates__["b"]; }); +/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "o", function() { return __WEBPACK_IMPORTED_MODULE_7__updates__["c"]; }); +/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "t", function() { return __WEBPACK_IMPORTED_MODULE_7__updates__["d"]; }); +/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "u", function() { return __WEBPACK_IMPORTED_MODULE_7__updates__["e"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__attrDef__ = __webpack_require__(22); +/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "d", function() { return __WEBPACK_IMPORTED_MODULE_8__attrDef__["a"]; }); +/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "v", function() { return __WEBPACK_IMPORTED_MODULE_8__attrDef__["b"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__traversable__ = __webpack_require__(20); + + + + + + + + + + + + + +/* harmony default export */ __webpack_exports__["r"] = (function (attributesDefinition, baseClassAttributes) { + var myAttributes = __WEBPACK_IMPORTED_MODULE_1__object_plus__["m" /* tools */].transform({}, attributesDefinition, createAttribute), allAttributes = __WEBPACK_IMPORTED_MODULE_1__object_plus__["m" /* tools */].defaults({}, myAttributes, baseClassAttributes); + var ConstructorsMixin = Object(__WEBPACK_IMPORTED_MODULE_7__updates__["c" /* constructorsMixin */])(allAttributes); + return __WEBPACK_IMPORTED_MODULE_0_tslib__["a" /* __assign */]({}, ConstructorsMixin, { _attributes: new ConstructorsMixin.AttributesCopy(allAttributes), _attributesArray: Object.keys(allAttributes).map(function (key) { return allAttributes[key]; }), properties: __WEBPACK_IMPORTED_MODULE_1__object_plus__["m" /* tools */].transform({}, myAttributes, function (x) { return x.createPropertyDescriptor(); }), _toJSON: createToJSON(allAttributes) }, parseMixin(allAttributes), localEventsMixin(myAttributes)); +}); +function createAttribute(spec, name) { + return __WEBPACK_IMPORTED_MODULE_2__any__["a" /* AnyType */].create(Object(__WEBPACK_IMPORTED_MODULE_8__attrDef__["b" /* toAttributeOptions */])(spec), name); +} +function parseMixin(attributes) { + var attrsWithParse = Object.keys(attributes).filter(function (name) { return attributes[name].parse; }); + return attrsWithParse.length ? { + _parse: new Function('json', "\n var _attrs = this._attributes;\n\n " + attrsWithParse.map(function (name) { return " \n json." + name + " === void 0 || ( json." + name + " = _attrs." + name + ".parse.call( this, json." + name + ", \"" + name + "\" ) );\n "; }).join('') + "\n\n return json;\n ") + } : {}; +} +function createToJSON(attributes) { + return new Function("\n var json = {},\n v = this.attributes,\n a = this._attributes;\n\n " + Object.keys(attributes).map(function (key) { + if (attributes[key].toJSON) { + return "json." + key + " = a." + key + ".toJSON.call( this, v." + key + ", '" + key + "' );"; + } + }).join('\n') + "\n\n return json;\n "); +} +function createSharedTypeSpec(Constructor, Attribute) { + if (!Constructor.hasOwnProperty('shared')) { + Object.defineProperty(Constructor, 'shared', { + get: function () { + return new __WEBPACK_IMPORTED_MODULE_8__attrDef__["a" /* ChainableAttributeSpec */]({ + value: null, + type: Constructor, + _attribute: Attribute + }); + } + }); + } +} +function localEventsMixin(attrSpecs) { + var _localEvents; + for (var key in attrSpecs) { + var attribute = attrSpecs[key], _onChange = attribute.options._onChange; + if (_onChange) { + _localEvents || (_localEvents = new __WEBPACK_IMPORTED_MODULE_1__object_plus__["i" /* eventsApi */].EventMap()); + _localEvents.addEvent('change:' + key, typeof _onChange === 'string' ? + createWatcherFromRef(_onChange, key) : + wrapWatcher(_onChange, key)); + } + } + return _localEvents ? { _localEvents: _localEvents } : {}; +} +function wrapWatcher(watcher, key) { + return function (record, value) { + watcher.call(record, value, key); + }; +} +function createWatcherFromRef(ref, key) { + var _a = new __WEBPACK_IMPORTED_MODULE_9__traversable__["a" /* CompiledReference */](ref, true), local = _a.local, resolve = _a.resolve, tail = _a.tail; + return local ? + function (record, value) { + record[tail](value, key); + } : + function (record, value) { + resolve(record)[tail](value, key); + }; +} +//# sourceMappingURL=index.js.map + +/***/ }), +/* 10 */ +/***/ (function(module, exports, __webpack_require__) { + +var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// Underscore.js 1.8.3 +// http://underscorejs.org +// (c) 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors +// Underscore may be freely distributed under the MIT license. + +(function() { + + // Baseline setup + // -------------- + + // Establish the root object, `window` in the browser, or `exports` on the server. + var root = this; + + // Save the previous value of the `_` variable. + var previousUnderscore = root._; + + // Save bytes in the minified (but not gzipped) version: + var ArrayProto = Array.prototype, ObjProto = Object.prototype, FuncProto = Function.prototype; + + // Create quick reference variables for speed access to core prototypes. + var + push = ArrayProto.push, + slice = ArrayProto.slice, + toString = ObjProto.toString, + hasOwnProperty = ObjProto.hasOwnProperty; + + // All **ECMAScript 5** native function implementations that we hope to use + // are declared here. + var + nativeIsArray = Array.isArray, + nativeKeys = Object.keys, + nativeBind = FuncProto.bind, + nativeCreate = Object.create; + + // Naked function reference for surrogate-prototype-swapping. + var Ctor = function(){}; + + // Create a safe reference to the Underscore object for use below. + var _ = function(obj) { + if (obj instanceof _) return obj; + if (!(this instanceof _)) return new _(obj); + this._wrapped = obj; + }; + + // Export the Underscore object for **Node.js**, with + // backwards-compatibility for the old `require()` API. If we're in + // the browser, add `_` as a global object. + if (true) { + if (typeof module !== 'undefined' && module.exports) { + exports = module.exports = _; + } + exports._ = _; + } else { + root._ = _; + } + + // Current version. + _.VERSION = '1.8.3'; + + // Internal function that returns an efficient (for current engines) version + // of the passed-in callback, to be repeatedly applied in other Underscore + // functions. + var optimizeCb = function(func, context, argCount) { + if (context === void 0) return func; + switch (argCount == null ? 3 : argCount) { + case 1: return function(value) { + return func.call(context, value); + }; + case 2: return function(value, other) { + return func.call(context, value, other); + }; + case 3: return function(value, index, collection) { + return func.call(context, value, index, collection); + }; + case 4: return function(accumulator, value, index, collection) { + return func.call(context, accumulator, value, index, collection); + }; + } + return function() { + return func.apply(context, arguments); + }; + }; + + // A mostly-internal function to generate callbacks that can be applied + // to each element in a collection, returning the desired result — either + // identity, an arbitrary callback, a property matcher, or a property accessor. + var cb = function(value, context, argCount) { + if (value == null) return _.identity; + if (_.isFunction(value)) return optimizeCb(value, context, argCount); + if (_.isObject(value)) return _.matcher(value); + return _.property(value); + }; + _.iteratee = function(value, context) { + return cb(value, context, Infinity); + }; + + // An internal function for creating assigner functions. + var createAssigner = function(keysFunc, undefinedOnly) { + return function(obj) { + var length = arguments.length; + if (length < 2 || obj == null) return obj; + for (var index = 1; index < length; index++) { + var source = arguments[index], + keys = keysFunc(source), + l = keys.length; + for (var i = 0; i < l; i++) { + var key = keys[i]; + if (!undefinedOnly || obj[key] === void 0) obj[key] = source[key]; + } + } + return obj; + }; + }; + + // An internal function for creating a new object that inherits from another. + var baseCreate = function(prototype) { + if (!_.isObject(prototype)) return {}; + if (nativeCreate) return nativeCreate(prototype); + Ctor.prototype = prototype; + var result = new Ctor; + Ctor.prototype = null; + return result; + }; + + var property = function(key) { + return function(obj) { + return obj == null ? void 0 : obj[key]; + }; + }; + + // Helper for collection methods to determine whether a collection + // should be iterated as an array or as an object + // Related: http://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength + // Avoids a very nasty iOS 8 JIT bug on ARM-64. #2094 + var MAX_ARRAY_INDEX = Math.pow(2, 53) - 1; + var getLength = property('length'); + var isArrayLike = function(collection) { + var length = getLength(collection); + return typeof length == 'number' && length >= 0 && length <= MAX_ARRAY_INDEX; + }; + + // Collection Functions + // -------------------- + + // The cornerstone, an `each` implementation, aka `forEach`. + // Handles raw objects in addition to array-likes. Treats all + // sparse array-likes as if they were dense. + _.each = _.forEach = function(obj, iteratee, context) { + iteratee = optimizeCb(iteratee, context); + var i, length; + if (isArrayLike(obj)) { + for (i = 0, length = obj.length; i < length; i++) { + iteratee(obj[i], i, obj); + } + } else { + var keys = _.keys(obj); + for (i = 0, length = keys.length; i < length; i++) { + iteratee(obj[keys[i]], keys[i], obj); + } + } + return obj; + }; + + // Return the results of applying the iteratee to each element. + _.map = _.collect = function(obj, iteratee, context) { + iteratee = cb(iteratee, context); + var keys = !isArrayLike(obj) && _.keys(obj), + length = (keys || obj).length, + results = Array(length); + for (var index = 0; index < length; index++) { + var currentKey = keys ? keys[index] : index; + results[index] = iteratee(obj[currentKey], currentKey, obj); + } + return results; + }; + + // Create a reducing function iterating left or right. + function createReduce(dir) { + // Optimized iterator function as using arguments.length + // in the main function will deoptimize the, see #1991. + function iterator(obj, iteratee, memo, keys, index, length) { + for (; index >= 0 && index < length; index += dir) { + var currentKey = keys ? keys[index] : index; + memo = iteratee(memo, obj[currentKey], currentKey, obj); + } + return memo; + } + + return function(obj, iteratee, memo, context) { + iteratee = optimizeCb(iteratee, context, 4); + var keys = !isArrayLike(obj) && _.keys(obj), + length = (keys || obj).length, + index = dir > 0 ? 0 : length - 1; + // Determine the initial value if none is provided. + if (arguments.length < 3) { + memo = obj[keys ? keys[index] : index]; + index += dir; + } + return iterator(obj, iteratee, memo, keys, index, length); + }; + } + + // **Reduce** builds up a single result from a list of values, aka `inject`, + // or `foldl`. + _.reduce = _.foldl = _.inject = createReduce(1); + + // The right-associative version of reduce, also known as `foldr`. + _.reduceRight = _.foldr = createReduce(-1); + + // Return the first value which passes a truth test. Aliased as `detect`. + _.find = _.detect = function(obj, predicate, context) { + var key; + if (isArrayLike(obj)) { + key = _.findIndex(obj, predicate, context); + } else { + key = _.findKey(obj, predicate, context); + } + if (key !== void 0 && key !== -1) return obj[key]; + }; + + // Return all the elements that pass a truth test. + // Aliased as `select`. + _.filter = _.select = function(obj, predicate, context) { + var results = []; + predicate = cb(predicate, context); + _.each(obj, function(value, index, list) { + if (predicate(value, index, list)) results.push(value); + }); + return results; + }; + + // Return all the elements for which a truth test fails. + _.reject = function(obj, predicate, context) { + return _.filter(obj, _.negate(cb(predicate)), context); + }; + + // Determine whether all of the elements match a truth test. + // Aliased as `all`. + _.every = _.all = function(obj, predicate, context) { + predicate = cb(predicate, context); + var keys = !isArrayLike(obj) && _.keys(obj), + length = (keys || obj).length; + for (var index = 0; index < length; index++) { + var currentKey = keys ? keys[index] : index; + if (!predicate(obj[currentKey], currentKey, obj)) return false; + } + return true; + }; + + // Determine if at least one element in the object matches a truth test. + // Aliased as `any`. + _.some = _.any = function(obj, predicate, context) { + predicate = cb(predicate, context); + var keys = !isArrayLike(obj) && _.keys(obj), + length = (keys || obj).length; + for (var index = 0; index < length; index++) { + var currentKey = keys ? keys[index] : index; + if (predicate(obj[currentKey], currentKey, obj)) return true; + } + return false; + }; + + // Determine if the array or object contains a given item (using `===`). + // Aliased as `includes` and `include`. + _.contains = _.includes = _.include = function(obj, item, fromIndex, guard) { + if (!isArrayLike(obj)) obj = _.values(obj); + if (typeof fromIndex != 'number' || guard) fromIndex = 0; + return _.indexOf(obj, item, fromIndex) >= 0; + }; + + // Invoke a method (with arguments) on every item in a collection. + _.invoke = function(obj, method) { + var args = slice.call(arguments, 2); + var isFunc = _.isFunction(method); + return _.map(obj, function(value) { + var func = isFunc ? method : value[method]; + return func == null ? func : func.apply(value, args); + }); + }; + + // Convenience version of a common use case of `map`: fetching a property. + _.pluck = function(obj, key) { + return _.map(obj, _.property(key)); + }; + + // Convenience version of a common use case of `filter`: selecting only objects + // containing specific `key:value` pairs. + _.where = function(obj, attrs) { + return _.filter(obj, _.matcher(attrs)); + }; + + // Convenience version of a common use case of `find`: getting the first object + // containing specific `key:value` pairs. + _.findWhere = function(obj, attrs) { + return _.find(obj, _.matcher(attrs)); + }; + + // Return the maximum element (or element-based computation). + _.max = function(obj, iteratee, context) { + var result = -Infinity, lastComputed = -Infinity, + value, computed; + if (iteratee == null && obj != null) { + obj = isArrayLike(obj) ? obj : _.values(obj); + for (var i = 0, length = obj.length; i < length; i++) { + value = obj[i]; + if (value > result) { + result = value; + } + } + } else { + iteratee = cb(iteratee, context); + _.each(obj, function(value, index, list) { + computed = iteratee(value, index, list); + if (computed > lastComputed || computed === -Infinity && result === -Infinity) { + result = value; + lastComputed = computed; + } + }); + } + return result; + }; + + // Return the minimum element (or element-based computation). + _.min = function(obj, iteratee, context) { + var result = Infinity, lastComputed = Infinity, + value, computed; + if (iteratee == null && obj != null) { + obj = isArrayLike(obj) ? obj : _.values(obj); + for (var i = 0, length = obj.length; i < length; i++) { + value = obj[i]; + if (value < result) { + result = value; + } + } + } else { + iteratee = cb(iteratee, context); + _.each(obj, function(value, index, list) { + computed = iteratee(value, index, list); + if (computed < lastComputed || computed === Infinity && result === Infinity) { + result = value; + lastComputed = computed; + } + }); + } + return result; + }; + + // Shuffle a collection, using the modern version of the + // [Fisher-Yates shuffle](http://en.wikipedia.org/wiki/Fisher–Yates_shuffle). + _.shuffle = function(obj) { + var set = isArrayLike(obj) ? obj : _.values(obj); + var length = set.length; + var shuffled = Array(length); + for (var index = 0, rand; index < length; index++) { + rand = _.random(0, index); + if (rand !== index) shuffled[index] = shuffled[rand]; + shuffled[rand] = set[index]; + } + return shuffled; + }; + + // Sample **n** random values from a collection. + // If **n** is not specified, returns a single random element. + // The internal `guard` argument allows it to work with `map`. + _.sample = function(obj, n, guard) { + if (n == null || guard) { + if (!isArrayLike(obj)) obj = _.values(obj); + return obj[_.random(obj.length - 1)]; + } + return _.shuffle(obj).slice(0, Math.max(0, n)); + }; + + // Sort the object's values by a criterion produced by an iteratee. + _.sortBy = function(obj, iteratee, context) { + iteratee = cb(iteratee, context); + return _.pluck(_.map(obj, function(value, index, list) { + return { + value: value, + index: index, + criteria: iteratee(value, index, list) + }; + }).sort(function(left, right) { + var a = left.criteria; + var b = right.criteria; + if (a !== b) { + if (a > b || a === void 0) return 1; + if (a < b || b === void 0) return -1; + } + return left.index - right.index; + }), 'value'); + }; + + // An internal function used for aggregate "group by" operations. + var group = function(behavior) { + return function(obj, iteratee, context) { + var result = {}; + iteratee = cb(iteratee, context); + _.each(obj, function(value, index) { + var key = iteratee(value, index, obj); + behavior(result, value, key); + }); + return result; + }; + }; + + // Groups the object's values by a criterion. Pass either a string attribute + // to group by, or a function that returns the criterion. + _.groupBy = group(function(result, value, key) { + if (_.has(result, key)) result[key].push(value); else result[key] = [value]; + }); + + // Indexes the object's values by a criterion, similar to `groupBy`, but for + // when you know that your index values will be unique. + _.indexBy = group(function(result, value, key) { + result[key] = value; + }); + + // Counts instances of an object that group by a certain criterion. Pass + // either a string attribute to count by, or a function that returns the + // criterion. + _.countBy = group(function(result, value, key) { + if (_.has(result, key)) result[key]++; else result[key] = 1; + }); + + // Safely create a real, live array from anything iterable. + _.toArray = function(obj) { + if (!obj) return []; + if (_.isArray(obj)) return slice.call(obj); + if (isArrayLike(obj)) return _.map(obj, _.identity); + return _.values(obj); + }; + + // Return the number of elements in an object. + _.size = function(obj) { + if (obj == null) return 0; + return isArrayLike(obj) ? obj.length : _.keys(obj).length; + }; + + // Split a collection into two arrays: one whose elements all satisfy the given + // predicate, and one whose elements all do not satisfy the predicate. + _.partition = function(obj, predicate, context) { + predicate = cb(predicate, context); + var pass = [], fail = []; + _.each(obj, function(value, key, obj) { + (predicate(value, key, obj) ? pass : fail).push(value); + }); + return [pass, fail]; + }; + + // Array Functions + // --------------- + + // Get the first element of an array. Passing **n** will return the first N + // values in the array. Aliased as `head` and `take`. The **guard** check + // allows it to work with `_.map`. + _.first = _.head = _.take = function(array, n, guard) { + if (array == null) return void 0; + if (n == null || guard) return array[0]; + return _.initial(array, array.length - n); + }; + + // Returns everything but the last entry of the array. Especially useful on + // the arguments object. Passing **n** will return all the values in + // the array, excluding the last N. + _.initial = function(array, n, guard) { + return slice.call(array, 0, Math.max(0, array.length - (n == null || guard ? 1 : n))); + }; + + // Get the last element of an array. Passing **n** will return the last N + // values in the array. + _.last = function(array, n, guard) { + if (array == null) return void 0; + if (n == null || guard) return array[array.length - 1]; + return _.rest(array, Math.max(0, array.length - n)); + }; + + // Returns everything but the first entry of the array. Aliased as `tail` and `drop`. + // Especially useful on the arguments object. Passing an **n** will return + // the rest N values in the array. + _.rest = _.tail = _.drop = function(array, n, guard) { + return slice.call(array, n == null || guard ? 1 : n); + }; + + // Trim out all falsy values from an array. + _.compact = function(array) { + return _.filter(array, _.identity); + }; + + // Internal implementation of a recursive `flatten` function. + var flatten = function(input, shallow, strict, startIndex) { + var output = [], idx = 0; + for (var i = startIndex || 0, length = getLength(input); i < length; i++) { + var value = input[i]; + if (isArrayLike(value) && (_.isArray(value) || _.isArguments(value))) { + //flatten current level of array or arguments object + if (!shallow) value = flatten(value, shallow, strict); + var j = 0, len = value.length; + output.length += len; + while (j < len) { + output[idx++] = value[j++]; + } + } else if (!strict) { + output[idx++] = value; + } + } + return output; + }; + + // Flatten out an array, either recursively (by default), or just one level. + _.flatten = function(array, shallow) { + return flatten(array, shallow, false); + }; + + // Return a version of the array that does not contain the specified value(s). + _.without = function(array) { + return _.difference(array, slice.call(arguments, 1)); + }; + + // Produce a duplicate-free version of the array. If the array has already + // been sorted, you have the option of using a faster algorithm. + // Aliased as `unique`. + _.uniq = _.unique = function(array, isSorted, iteratee, context) { + if (!_.isBoolean(isSorted)) { + context = iteratee; + iteratee = isSorted; + isSorted = false; + } + if (iteratee != null) iteratee = cb(iteratee, context); + var result = []; + var seen = []; + for (var i = 0, length = getLength(array); i < length; i++) { + var value = array[i], + computed = iteratee ? iteratee(value, i, array) : value; + if (isSorted) { + if (!i || seen !== computed) result.push(value); + seen = computed; + } else if (iteratee) { + if (!_.contains(seen, computed)) { + seen.push(computed); + result.push(value); + } + } else if (!_.contains(result, value)) { + result.push(value); + } + } + return result; + }; + + // Produce an array that contains the union: each distinct element from all of + // the passed-in arrays. + _.union = function() { + return _.uniq(flatten(arguments, true, true)); + }; + + // Produce an array that contains every item shared between all the + // passed-in arrays. + _.intersection = function(array) { + var result = []; + var argsLength = arguments.length; + for (var i = 0, length = getLength(array); i < length; i++) { + var item = array[i]; + if (_.contains(result, item)) continue; + for (var j = 1; j < argsLength; j++) { + if (!_.contains(arguments[j], item)) break; + } + if (j === argsLength) result.push(item); + } + return result; + }; + + // Take the difference between one array and a number of other arrays. + // Only the elements present in just the first array will remain. + _.difference = function(array) { + var rest = flatten(arguments, true, true, 1); + return _.filter(array, function(value){ + return !_.contains(rest, value); + }); + }; + + // Zip together multiple lists into a single array -- elements that share + // an index go together. + _.zip = function() { + return _.unzip(arguments); + }; + + // Complement of _.zip. Unzip accepts an array of arrays and groups + // each array's elements on shared indices + _.unzip = function(array) { + var length = array && _.max(array, getLength).length || 0; + var result = Array(length); + + for (var index = 0; index < length; index++) { + result[index] = _.pluck(array, index); + } + return result; + }; + + // Converts lists into objects. Pass either a single array of `[key, value]` + // pairs, or two parallel arrays of the same length -- one of keys, and one of + // the corresponding values. + _.object = function(list, values) { + var result = {}; + for (var i = 0, length = getLength(list); i < length; i++) { + if (values) { + result[list[i]] = values[i]; + } else { + result[list[i][0]] = list[i][1]; + } + } + return result; + }; + + // Generator function to create the findIndex and findLastIndex functions + function createPredicateIndexFinder(dir) { + return function(array, predicate, context) { + predicate = cb(predicate, context); + var length = getLength(array); + var index = dir > 0 ? 0 : length - 1; + for (; index >= 0 && index < length; index += dir) { + if (predicate(array[index], index, array)) return index; + } + return -1; + }; + } + + // Returns the first index on an array-like that passes a predicate test + _.findIndex = createPredicateIndexFinder(1); + _.findLastIndex = createPredicateIndexFinder(-1); + + // Use a comparator function to figure out the smallest index at which + // an object should be inserted so as to maintain order. Uses binary search. + _.sortedIndex = function(array, obj, iteratee, context) { + iteratee = cb(iteratee, context, 1); + var value = iteratee(obj); + var low = 0, high = getLength(array); + while (low < high) { + var mid = Math.floor((low + high) / 2); + if (iteratee(array[mid]) < value) low = mid + 1; else high = mid; + } + return low; + }; + + // Generator function to create the indexOf and lastIndexOf functions + function createIndexFinder(dir, predicateFind, sortedIndex) { + return function(array, item, idx) { + var i = 0, length = getLength(array); + if (typeof idx == 'number') { + if (dir > 0) { + i = idx >= 0 ? idx : Math.max(idx + length, i); + } else { + length = idx >= 0 ? Math.min(idx + 1, length) : idx + length + 1; + } + } else if (sortedIndex && idx && length) { + idx = sortedIndex(array, item); + return array[idx] === item ? idx : -1; + } + if (item !== item) { + idx = predicateFind(slice.call(array, i, length), _.isNaN); + return idx >= 0 ? idx + i : -1; + } + for (idx = dir > 0 ? i : length - 1; idx >= 0 && idx < length; idx += dir) { + if (array[idx] === item) return idx; + } + return -1; + }; + } + + // Return the position of the first occurrence of an item in an array, + // or -1 if the item is not included in the array. + // If the array is large and already in sort order, pass `true` + // for **isSorted** to use binary search. + _.indexOf = createIndexFinder(1, _.findIndex, _.sortedIndex); + _.lastIndexOf = createIndexFinder(-1, _.findLastIndex); + + // Generate an integer Array containing an arithmetic progression. A port of + // the native Python `range()` function. See + // [the Python documentation](http://docs.python.org/library/functions.html#range). + _.range = function(start, stop, step) { + if (stop == null) { + stop = start || 0; + start = 0; + } + step = step || 1; + + var length = Math.max(Math.ceil((stop - start) / step), 0); + var range = Array(length); + + for (var idx = 0; idx < length; idx++, start += step) { + range[idx] = start; + } + + return range; + }; + + // Function (ahem) Functions + // ------------------ + + // Determines whether to execute a function as a constructor + // or a normal function with the provided arguments + var executeBound = function(sourceFunc, boundFunc, context, callingContext, args) { + if (!(callingContext instanceof boundFunc)) return sourceFunc.apply(context, args); + var self = baseCreate(sourceFunc.prototype); + var result = sourceFunc.apply(self, args); + if (_.isObject(result)) return result; + return self; + }; + + // Create a function bound to a given object (assigning `this`, and arguments, + // optionally). Delegates to **ECMAScript 5**'s native `Function.bind` if + // available. + _.bind = function(func, context) { + if (nativeBind && func.bind === nativeBind) return nativeBind.apply(func, slice.call(arguments, 1)); + if (!_.isFunction(func)) throw new TypeError('Bind must be called on a function'); + var args = slice.call(arguments, 2); + var bound = function() { + return executeBound(func, bound, context, this, args.concat(slice.call(arguments))); + }; + return bound; + }; + + // Partially apply a function by creating a version that has had some of its + // arguments pre-filled, without changing its dynamic `this` context. _ acts + // as a placeholder, allowing any combination of arguments to be pre-filled. + _.partial = function(func) { + var boundArgs = slice.call(arguments, 1); + var bound = function() { + var position = 0, length = boundArgs.length; + var args = Array(length); + for (var i = 0; i < length; i++) { + args[i] = boundArgs[i] === _ ? arguments[position++] : boundArgs[i]; + } + while (position < arguments.length) args.push(arguments[position++]); + return executeBound(func, bound, this, this, args); + }; + return bound; + }; + + // Bind a number of an object's methods to that object. Remaining arguments + // are the method names to be bound. Useful for ensuring that all callbacks + // defined on an object belong to it. + _.bindAll = function(obj) { + var i, length = arguments.length, key; + if (length <= 1) throw new Error('bindAll must be passed function names'); + for (i = 1; i < length; i++) { + key = arguments[i]; + obj[key] = _.bind(obj[key], obj); + } + return obj; + }; + + // Memoize an expensive function by storing its results. + _.memoize = function(func, hasher) { + var memoize = function(key) { + var cache = memoize.cache; + var address = '' + (hasher ? hasher.apply(this, arguments) : key); + if (!_.has(cache, address)) cache[address] = func.apply(this, arguments); + return cache[address]; + }; + memoize.cache = {}; + return memoize; + }; + + // Delays a function for the given number of milliseconds, and then calls + // it with the arguments supplied. + _.delay = function(func, wait) { + var args = slice.call(arguments, 2); + return setTimeout(function(){ + return func.apply(null, args); + }, wait); + }; + + // Defers a function, scheduling it to run after the current call stack has + // cleared. + _.defer = _.partial(_.delay, _, 1); + + // Returns a function, that, when invoked, will only be triggered at most once + // during a given window of time. Normally, the throttled function will run + // as much as it can, without ever going more than once per `wait` duration; + // but if you'd like to disable the execution on the leading edge, pass + // `{leading: false}`. To disable execution on the trailing edge, ditto. + _.throttle = function(func, wait, options) { + var context, args, result; + var timeout = null; + var previous = 0; + if (!options) options = {}; + var later = function() { + previous = options.leading === false ? 0 : _.now(); + timeout = null; + result = func.apply(context, args); + if (!timeout) context = args = null; + }; + return function() { + var now = _.now(); + if (!previous && options.leading === false) previous = now; + var remaining = wait - (now - previous); + context = this; + args = arguments; + if (remaining <= 0 || remaining > wait) { + if (timeout) { + clearTimeout(timeout); + timeout = null; + } + previous = now; + result = func.apply(context, args); + if (!timeout) context = args = null; + } else if (!timeout && options.trailing !== false) { + timeout = setTimeout(later, remaining); + } + return result; + }; + }; + + // Returns a function, that, as long as it continues to be invoked, will not + // be triggered. The function will be called after it stops being called for + // N milliseconds. If `immediate` is passed, trigger the function on the + // leading edge, instead of the trailing. + _.debounce = function(func, wait, immediate) { + var timeout, args, context, timestamp, result; + + var later = function() { + var last = _.now() - timestamp; + + if (last < wait && last >= 0) { + timeout = setTimeout(later, wait - last); + } else { + timeout = null; + if (!immediate) { + result = func.apply(context, args); + if (!timeout) context = args = null; + } + } + }; + + return function() { + context = this; + args = arguments; + timestamp = _.now(); + var callNow = immediate && !timeout; + if (!timeout) timeout = setTimeout(later, wait); + if (callNow) { + result = func.apply(context, args); + context = args = null; + } + + return result; + }; + }; + + // Returns the first function passed as an argument to the second, + // allowing you to adjust arguments, run code before and after, and + // conditionally execute the original function. + _.wrap = function(func, wrapper) { + return _.partial(wrapper, func); + }; + + // Returns a negated version of the passed-in predicate. + _.negate = function(predicate) { + return function() { + return !predicate.apply(this, arguments); + }; + }; + + // Returns a function that is the composition of a list of functions, each + // consuming the return value of the function that follows. + _.compose = function() { + var args = arguments; + var start = args.length - 1; + return function() { + var i = start; + var result = args[start].apply(this, arguments); + while (i--) result = args[i].call(this, result); + return result; + }; + }; + + // Returns a function that will only be executed on and after the Nth call. + _.after = function(times, func) { + return function() { + if (--times < 1) { + return func.apply(this, arguments); + } + }; + }; + + // Returns a function that will only be executed up to (but not including) the Nth call. + _.before = function(times, func) { + var memo; + return function() { + if (--times > 0) { + memo = func.apply(this, arguments); + } + if (times <= 1) func = null; + return memo; + }; + }; + + // Returns a function that will be executed at most one time, no matter how + // often you call it. Useful for lazy initialization. + _.once = _.partial(_.before, 2); + + // Object Functions + // ---------------- + + // Keys in IE < 9 that won't be iterated by `for key in ...` and thus missed. + var hasEnumBug = !{toString: null}.propertyIsEnumerable('toString'); + var nonEnumerableProps = ['valueOf', 'isPrototypeOf', 'toString', + 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString']; + + function collectNonEnumProps(obj, keys) { + var nonEnumIdx = nonEnumerableProps.length; + var constructor = obj.constructor; + var proto = (_.isFunction(constructor) && constructor.prototype) || ObjProto; + + // Constructor is a special case. + var prop = 'constructor'; + if (_.has(obj, prop) && !_.contains(keys, prop)) keys.push(prop); + + while (nonEnumIdx--) { + prop = nonEnumerableProps[nonEnumIdx]; + if (prop in obj && obj[prop] !== proto[prop] && !_.contains(keys, prop)) { + keys.push(prop); + } + } + } + + // Retrieve the names of an object's own properties. + // Delegates to **ECMAScript 5**'s native `Object.keys` + _.keys = function(obj) { + if (!_.isObject(obj)) return []; + if (nativeKeys) return nativeKeys(obj); + var keys = []; + for (var key in obj) if (_.has(obj, key)) keys.push(key); + // Ahem, IE < 9. + if (hasEnumBug) collectNonEnumProps(obj, keys); + return keys; + }; + + // Retrieve all the property names of an object. + _.allKeys = function(obj) { + if (!_.isObject(obj)) return []; + var keys = []; + for (var key in obj) keys.push(key); + // Ahem, IE < 9. + if (hasEnumBug) collectNonEnumProps(obj, keys); + return keys; + }; + + // Retrieve the values of an object's properties. + _.values = function(obj) { + var keys = _.keys(obj); + var length = keys.length; + var values = Array(length); + for (var i = 0; i < length; i++) { + values[i] = obj[keys[i]]; + } + return values; + }; + + // Returns the results of applying the iteratee to each element of the object + // In contrast to _.map it returns an object + _.mapObject = function(obj, iteratee, context) { + iteratee = cb(iteratee, context); + var keys = _.keys(obj), + length = keys.length, + results = {}, + currentKey; + for (var index = 0; index < length; index++) { + currentKey = keys[index]; + results[currentKey] = iteratee(obj[currentKey], currentKey, obj); + } + return results; + }; + + // Convert an object into a list of `[key, value]` pairs. + _.pairs = function(obj) { + var keys = _.keys(obj); + var length = keys.length; + var pairs = Array(length); + for (var i = 0; i < length; i++) { + pairs[i] = [keys[i], obj[keys[i]]]; + } + return pairs; + }; + + // Invert the keys and values of an object. The values must be serializable. + _.invert = function(obj) { + var result = {}; + var keys = _.keys(obj); + for (var i = 0, length = keys.length; i < length; i++) { + result[obj[keys[i]]] = keys[i]; + } + return result; + }; + + // Return a sorted list of the function names available on the object. + // Aliased as `methods` + _.functions = _.methods = function(obj) { + var names = []; + for (var key in obj) { + if (_.isFunction(obj[key])) names.push(key); + } + return names.sort(); + }; + + // Extend a given object with all the properties in passed-in object(s). + _.extend = createAssigner(_.allKeys); + + // Assigns a given object with all the own properties in the passed-in object(s) + // (https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/assign) + _.extendOwn = _.assign = createAssigner(_.keys); + + // Returns the first key on an object that passes a predicate test + _.findKey = function(obj, predicate, context) { + predicate = cb(predicate, context); + var keys = _.keys(obj), key; + for (var i = 0, length = keys.length; i < length; i++) { + key = keys[i]; + if (predicate(obj[key], key, obj)) return key; + } + }; + + // Return a copy of the object only containing the whitelisted properties. + _.pick = function(object, oiteratee, context) { + var result = {}, obj = object, iteratee, keys; + if (obj == null) return result; + if (_.isFunction(oiteratee)) { + keys = _.allKeys(obj); + iteratee = optimizeCb(oiteratee, context); + } else { + keys = flatten(arguments, false, false, 1); + iteratee = function(value, key, obj) { return key in obj; }; + obj = Object(obj); + } + for (var i = 0, length = keys.length; i < length; i++) { + var key = keys[i]; + var value = obj[key]; + if (iteratee(value, key, obj)) result[key] = value; + } + return result; + }; + + // Return a copy of the object without the blacklisted properties. + _.omit = function(obj, iteratee, context) { + if (_.isFunction(iteratee)) { + iteratee = _.negate(iteratee); + } else { + var keys = _.map(flatten(arguments, false, false, 1), String); + iteratee = function(value, key) { + return !_.contains(keys, key); + }; + } + return _.pick(obj, iteratee, context); + }; + + // Fill in a given object with default properties. + _.defaults = createAssigner(_.allKeys, true); + + // Creates an object that inherits from the given prototype object. + // If additional properties are provided then they will be added to the + // created object. + _.create = function(prototype, props) { + var result = baseCreate(prototype); + if (props) _.extendOwn(result, props); + return result; + }; + + // Create a (shallow-cloned) duplicate of an object. + _.clone = function(obj) { + if (!_.isObject(obj)) return obj; + return _.isArray(obj) ? obj.slice() : _.extend({}, obj); + }; + + // Invokes interceptor with the obj, and then returns obj. + // The primary purpose of this method is to "tap into" a method chain, in + // order to perform operations on intermediate results within the chain. + _.tap = function(obj, interceptor) { + interceptor(obj); + return obj; + }; + + // Returns whether an object has a given set of `key:value` pairs. + _.isMatch = function(object, attrs) { + var keys = _.keys(attrs), length = keys.length; + if (object == null) return !length; + var obj = Object(object); + for (var i = 0; i < length; i++) { + var key = keys[i]; + if (attrs[key] !== obj[key] || !(key in obj)) return false; + } + return true; + }; + + + // Internal recursive comparison function for `isEqual`. + var eq = function(a, b, aStack, bStack) { + // Identical objects are equal. `0 === -0`, but they aren't identical. + // See the [Harmony `egal` proposal](http://wiki.ecmascript.org/doku.php?id=harmony:egal). + if (a === b) return a !== 0 || 1 / a === 1 / b; + // A strict comparison is necessary because `null == undefined`. + if (a == null || b == null) return a === b; + // Unwrap any wrapped objects. + if (a instanceof _) a = a._wrapped; + if (b instanceof _) b = b._wrapped; + // Compare `[[Class]]` names. + var className = toString.call(a); + if (className !== toString.call(b)) return false; + switch (className) { + // Strings, numbers, regular expressions, dates, and booleans are compared by value. + case '[object RegExp]': + // RegExps are coerced to strings for comparison (Note: '' + /a/i === '/a/i') + case '[object String]': + // Primitives and their corresponding object wrappers are equivalent; thus, `"5"` is + // equivalent to `new String("5")`. + return '' + a === '' + b; + case '[object Number]': + // `NaN`s are equivalent, but non-reflexive. + // Object(NaN) is equivalent to NaN + if (+a !== +a) return +b !== +b; + // An `egal` comparison is performed for other numeric values. + return +a === 0 ? 1 / +a === 1 / b : +a === +b; + case '[object Date]': + case '[object Boolean]': + // Coerce dates and booleans to numeric primitive values. Dates are compared by their + // millisecond representations. Note that invalid dates with millisecond representations + // of `NaN` are not equivalent. + return +a === +b; + } + + var areArrays = className === '[object Array]'; + if (!areArrays) { + if (typeof a != 'object' || typeof b != 'object') return false; + + // Objects with different constructors are not equivalent, but `Object`s or `Array`s + // from different frames are. + var aCtor = a.constructor, bCtor = b.constructor; + if (aCtor !== bCtor && !(_.isFunction(aCtor) && aCtor instanceof aCtor && + _.isFunction(bCtor) && bCtor instanceof bCtor) + && ('constructor' in a && 'constructor' in b)) { + return false; + } + } + // Assume equality for cyclic structures. The algorithm for detecting cyclic + // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`. + + // Initializing stack of traversed objects. + // It's done here since we only need them for objects and arrays comparison. + aStack = aStack || []; + bStack = bStack || []; + var length = aStack.length; + while (length--) { + // Linear search. Performance is inversely proportional to the number of + // unique nested structures. + if (aStack[length] === a) return bStack[length] === b; + } + + // Add the first object to the stack of traversed objects. + aStack.push(a); + bStack.push(b); + + // Recursively compare objects and arrays. + if (areArrays) { + // Compare array lengths to determine if a deep comparison is necessary. + length = a.length; + if (length !== b.length) return false; + // Deep compare the contents, ignoring non-numeric properties. + while (length--) { + if (!eq(a[length], b[length], aStack, bStack)) return false; + } + } else { + // Deep compare objects. + var keys = _.keys(a), key; + length = keys.length; + // Ensure that both objects contain the same number of properties before comparing deep equality. + if (_.keys(b).length !== length) return false; + while (length--) { + // Deep compare each member + key = keys[length]; + if (!(_.has(b, key) && eq(a[key], b[key], aStack, bStack))) return false; + } + } + // Remove the first object from the stack of traversed objects. + aStack.pop(); + bStack.pop(); + return true; + }; + + // Perform a deep comparison to check if two objects are equal. + _.isEqual = function(a, b) { + return eq(a, b); + }; + + // Is a given array, string, or object empty? + // An "empty" object has no enumerable own-properties. + _.isEmpty = function(obj) { + if (obj == null) return true; + if (isArrayLike(obj) && (_.isArray(obj) || _.isString(obj) || _.isArguments(obj))) return obj.length === 0; + return _.keys(obj).length === 0; + }; + + // Is a given value a DOM element? + _.isElement = function(obj) { + return !!(obj && obj.nodeType === 1); + }; + + // Is a given value an array? + // Delegates to ECMA5's native Array.isArray + _.isArray = nativeIsArray || function(obj) { + return toString.call(obj) === '[object Array]'; + }; + + // Is a given variable an object? + _.isObject = function(obj) { + var type = typeof obj; + return type === 'function' || type === 'object' && !!obj; + }; + + // Add some isType methods: isArguments, isFunction, isString, isNumber, isDate, isRegExp, isError. + _.each(['Arguments', 'Function', 'String', 'Number', 'Date', 'RegExp', 'Error'], function(name) { + _['is' + name] = function(obj) { + return toString.call(obj) === '[object ' + name + ']'; + }; + }); + + // Define a fallback version of the method in browsers (ahem, IE < 9), where + // there isn't any inspectable "Arguments" type. + if (!_.isArguments(arguments)) { + _.isArguments = function(obj) { + return _.has(obj, 'callee'); + }; + } + + // Optimize `isFunction` if appropriate. Work around some typeof bugs in old v8, + // IE 11 (#1621), and in Safari 8 (#1929). + if (typeof /./ != 'function' && typeof Int8Array != 'object') { + _.isFunction = function(obj) { + return typeof obj == 'function' || false; + }; + } + + // Is a given object a finite number? + _.isFinite = function(obj) { + return isFinite(obj) && !isNaN(parseFloat(obj)); + }; + + // Is the given value `NaN`? (NaN is the only number which does not equal itself). + _.isNaN = function(obj) { + return _.isNumber(obj) && obj !== +obj; + }; + + // Is a given value a boolean? + _.isBoolean = function(obj) { + return obj === true || obj === false || toString.call(obj) === '[object Boolean]'; + }; + + // Is a given value equal to null? + _.isNull = function(obj) { + return obj === null; + }; + + // Is a given variable undefined? + _.isUndefined = function(obj) { + return obj === void 0; + }; + + // Shortcut function for checking if an object has a given property directly + // on itself (in other words, not on a prototype). + _.has = function(obj, key) { + return obj != null && hasOwnProperty.call(obj, key); + }; + + // Utility Functions + // ----------------- + + // Run Underscore.js in *noConflict* mode, returning the `_` variable to its + // previous owner. Returns a reference to the Underscore object. + _.noConflict = function() { + root._ = previousUnderscore; + return this; + }; + + // Keep the identity function around for default iteratees. + _.identity = function(value) { + return value; + }; + + // Predicate-generating functions. Often useful outside of Underscore. + _.constant = function(value) { + return function() { + return value; + }; + }; + + _.noop = function(){}; + + _.property = property; + + // Generates a function for a given object that returns a given property. + _.propertyOf = function(obj) { + return obj == null ? function(){} : function(key) { + return obj[key]; + }; + }; + + // Returns a predicate for checking whether an object has a given set of + // `key:value` pairs. + _.matcher = _.matches = function(attrs) { + attrs = _.extendOwn({}, attrs); + return function(obj) { + return _.isMatch(obj, attrs); + }; + }; + + // Run a function **n** times. + _.times = function(n, iteratee, context) { + var accum = Array(Math.max(0, n)); + iteratee = optimizeCb(iteratee, context, 1); + for (var i = 0; i < n; i++) accum[i] = iteratee(i); + return accum; + }; + + // Return a random integer between min and max (inclusive). + _.random = function(min, max) { + if (max == null) { + max = min; + min = 0; + } + return min + Math.floor(Math.random() * (max - min + 1)); + }; + + // A (possibly faster) way to get the current timestamp as an integer. + _.now = Date.now || function() { + return new Date().getTime(); + }; + + // List of HTML entities for escaping. + var escapeMap = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''', + '`': '`' + }; + var unescapeMap = _.invert(escapeMap); + + // Functions for escaping and unescaping strings to/from HTML interpolation. + var createEscaper = function(map) { + var escaper = function(match) { + return map[match]; + }; + // Regexes for identifying a key that needs to be escaped + var source = '(?:' + _.keys(map).join('|') + ')'; + var testRegexp = RegExp(source); + var replaceRegexp = RegExp(source, 'g'); + return function(string) { + string = string == null ? '' : '' + string; + return testRegexp.test(string) ? string.replace(replaceRegexp, escaper) : string; + }; + }; + _.escape = createEscaper(escapeMap); + _.unescape = createEscaper(unescapeMap); + + // If the value of the named `property` is a function then invoke it with the + // `object` as context; otherwise, return it. + _.result = function(object, property, fallback) { + var value = object == null ? void 0 : object[property]; + if (value === void 0) { + value = fallback; + } + return _.isFunction(value) ? value.call(object) : value; + }; + + // Generate a unique integer id (unique within the entire client session). + // Useful for temporary DOM ids. + var idCounter = 0; + _.uniqueId = function(prefix) { + var id = ++idCounter + ''; + return prefix ? prefix + id : id; + }; + + // By default, Underscore uses ERB-style template delimiters, change the + // following template settings to use alternative delimiters. + _.templateSettings = { + evaluate : /<%([\s\S]+?)%>/g, + interpolate : /<%=([\s\S]+?)%>/g, + escape : /<%-([\s\S]+?)%>/g + }; + + // When customizing `templateSettings`, if you don't want to define an + // interpolation, evaluation or escaping regex, we need one that is + // guaranteed not to match. + var noMatch = /(.)^/; + + // Certain characters need to be escaped so that they can be put into a + // string literal. + var escapes = { + "'": "'", + '\\': '\\', + '\r': 'r', + '\n': 'n', + '\u2028': 'u2028', + '\u2029': 'u2029' + }; + + var escaper = /\\|'|\r|\n|\u2028|\u2029/g; + + var escapeChar = function(match) { + return '\\' + escapes[match]; + }; + + // JavaScript micro-templating, similar to John Resig's implementation. + // Underscore templating handles arbitrary delimiters, preserves whitespace, + // and correctly escapes quotes within interpolated code. + // NB: `oldSettings` only exists for backwards compatibility. + _.template = function(text, settings, oldSettings) { + if (!settings && oldSettings) settings = oldSettings; + settings = _.defaults({}, settings, _.templateSettings); + + // Combine delimiters into one regular expression via alternation. + var matcher = RegExp([ + (settings.escape || noMatch).source, + (settings.interpolate || noMatch).source, + (settings.evaluate || noMatch).source + ].join('|') + '|$', 'g'); + + // Compile the template source, escaping string literals appropriately. + var index = 0; + var source = "__p+='"; + text.replace(matcher, function(match, escape, interpolate, evaluate, offset) { + source += text.slice(index, offset).replace(escaper, escapeChar); + index = offset + match.length; + + if (escape) { + source += "'+\n((__t=(" + escape + "))==null?'':_.escape(__t))+\n'"; + } else if (interpolate) { + source += "'+\n((__t=(" + interpolate + "))==null?'':__t)+\n'"; + } else if (evaluate) { + source += "';\n" + evaluate + "\n__p+='"; + } + + // Adobe VMs need the match returned to produce the correct offest. + return match; + }); + source += "';\n"; + + // If a variable is not specified, place data values in local scope. + if (!settings.variable) source = 'with(obj||{}){\n' + source + '}\n'; + + source = "var __t,__p='',__j=Array.prototype.join," + + "print=function(){__p+=__j.call(arguments,'');};\n" + + source + 'return __p;\n'; + + try { + var render = new Function(settings.variable || 'obj', '_', source); + } catch (e) { + e.source = source; + throw e; + } + + var template = function(data) { + return render.call(this, data, _); + }; + + // Provide the compiled source as a convenience for precompilation. + var argument = settings.variable || 'obj'; + template.source = 'function(' + argument + '){\n' + source + '}'; + + return template; + }; + + // Add a "chain" function. Start chaining a wrapped Underscore object. + _.chain = function(obj) { + var instance = _(obj); + instance._chain = true; + return instance; + }; + + // OOP + // --------------- + // If Underscore is called as a function, it returns a wrapped object that + // can be used OO-style. This wrapper holds altered versions of all the + // underscore functions. Wrapped objects may be chained. + + // Helper function to continue chaining intermediate results. + var result = function(instance, obj) { + return instance._chain ? _(obj).chain() : obj; + }; + + // Add your own custom functions to the Underscore object. + _.mixin = function(obj) { + _.each(_.functions(obj), function(name) { + var func = _[name] = obj[name]; + _.prototype[name] = function() { + var args = [this._wrapped]; + push.apply(args, arguments); + return result(this, func.apply(_, args)); + }; + }); + }; + + // Add all of the Underscore functions to the wrapper object. + _.mixin(_); + + // Add all mutator Array functions to the wrapper. + _.each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) { + var method = ArrayProto[name]; + _.prototype[name] = function() { + var obj = this._wrapped; + method.apply(obj, arguments); + if ((name === 'shift' || name === 'splice') && obj.length === 0) delete obj[0]; + return result(this, obj); + }; + }); + + // Add all accessor Array functions to the wrapper. + _.each(['concat', 'join', 'slice'], function(name) { + var method = ArrayProto[name]; + _.prototype[name] = function() { + return result(this, method.apply(this._wrapped, arguments)); + }; + }); + + // Extracts the result from a wrapped and chained object. + _.prototype.value = function() { + return this._wrapped; + }; + + // Provide unwrapping proxy for some methods used in engine operations + // such as arithmetic and JSON stringification. + _.prototype.valueOf = _.prototype.toJSON = _.prototype.value; + + _.prototype.toString = function() { + return '' + this._wrapped; + }; + + // AMD registration happens at the end for compatibility with AMD loaders + // that may not enforce next-turn semantics on modules. Even though general + // practice for AMD registration is to be anonymous, underscore registers + // as a named module because, like jQuery, it is a base library that is + // popular enough to be bundled in a third party lib, but not be part of + // an AMD load request. Those cases could generate an error when an + // anonymous define() is called outside of a loader request. + if (true) { + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = function() { + return _; + }.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); + } +}.call(this)); + + +/***/ }), +/* 11 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/* +object-assign +(c) Sindre Sorhus +@license MIT +*/ + + +/* eslint-disable no-unused-vars */ +var getOwnPropertySymbols = Object.getOwnPropertySymbols; +var hasOwnProperty = Object.prototype.hasOwnProperty; +var propIsEnumerable = Object.prototype.propertyIsEnumerable; + +function toObject(val) { + if (val === null || val === undefined) { + throw new TypeError('Object.assign cannot be called with null or undefined'); + } + + return Object(val); +} + +function shouldUseNative() { + try { + if (!Object.assign) { + return false; + } + + // Detect buggy property enumeration order in older V8 versions. + + // https://bugs.chromium.org/p/v8/issues/detail?id=4118 + var test1 = new String('abc'); // eslint-disable-line no-new-wrappers + test1[5] = 'de'; + if (Object.getOwnPropertyNames(test1)[0] === '5') { + return false; + } + + // https://bugs.chromium.org/p/v8/issues/detail?id=3056 + var test2 = {}; + for (var i = 0; i < 10; i++) { + test2['_' + String.fromCharCode(i)] = i; + } + var order2 = Object.getOwnPropertyNames(test2).map(function (n) { + return test2[n]; + }); + if (order2.join('') !== '0123456789') { + return false; + } + + // https://bugs.chromium.org/p/v8/issues/detail?id=3056 + var test3 = {}; + 'abcdefghijklmnopqrst'.split('').forEach(function (letter) { + test3[letter] = letter; + }); + if (Object.keys(Object.assign({}, test3)).join('') !== + 'abcdefghijklmnopqrst') { + return false; + } + + return true; + } catch (err) { + // We don't expect any of the above to throw, but better to be safe. + return false; + } +} + +module.exports = shouldUseNative() ? Object.assign : function (target, source) { + var from; + var to = toObject(target); + var symbols; + + for (var s = 1; s < arguments.length; s++) { + from = Object(arguments[s]); + + for (var key in from) { + if (hasOwnProperty.call(from, key)) { + to[key] = from[key]; + } + } + + if (getOwnPropertySymbols) { + symbols = getOwnPropertySymbols(from); + for (var i = 0; i < symbols.length; i++) { + if (propIsEnumerable.call(from, symbols[i])) { + to[symbols[i]] = from[symbols[i]]; + } + } + } + } + + return to; +}; + + +/***/ }), +/* 12 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); +/* WEBPACK VAR INJECTION */(function(process) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "log", function() { return log; }); +/* harmony export (immutable) */ __webpack_exports__["isValidJSON"] = isValidJSON; +/* harmony export (immutable) */ __webpack_exports__["getBaseClass"] = getBaseClass; +/* harmony export (immutable) */ __webpack_exports__["assignToClassProto"] = assignToClassProto; +/* harmony export (immutable) */ __webpack_exports__["isEmpty"] = isEmpty; +/* harmony export (immutable) */ __webpack_exports__["some"] = some; +/* harmony export (immutable) */ __webpack_exports__["every"] = every; +/* harmony export (immutable) */ __webpack_exports__["getPropertyDescriptor"] = getPropertyDescriptor; +/* harmony export (immutable) */ __webpack_exports__["omit"] = omit; +/* harmony export (immutable) */ __webpack_exports__["transform"] = transform; +/* harmony export (immutable) */ __webpack_exports__["fastAssign"] = fastAssign; +/* harmony export (immutable) */ __webpack_exports__["fastDefaults"] = fastDefaults; +/* harmony export (immutable) */ __webpack_exports__["assign"] = assign; +/* harmony export (immutable) */ __webpack_exports__["defaults"] = defaults; +/* harmony export (immutable) */ __webpack_exports__["keys"] = keys; +/* harmony export (immutable) */ __webpack_exports__["once"] = once; +/* harmony export (immutable) */ __webpack_exports__["notEqual"] = notEqual; +var levelToNumber = { + none: 0, error: 1, warn: 2, info: 3, log: 4, debug: 5 +}; +var log = function (a_level, a_msg, a_props) { + var levelAsNumber = levelToNumber[a_level], msg, props, level; + if (levelAsNumber === void 0 && !a_props) { + levelAsNumber = 4; + msg = a_level; + props = a_msg; + level = 'log'; + } + else { + msg = a_msg, level = a_level, props = a_props; + } + if (levelAsNumber <= log.level) { + if (levelAsNumber <= log.throw || !log.logger) { + var error = new Error(msg); + error.props = props; + throw error; + } + else { + log.logger(level, msg, props); + if (levelAsNumber <= log.stop) { + debugger; + } + } + } +}; +log.level = typeof process !== 'undefined' && process.env && process.env.NODE_ENV === 'production' ? 1 : 2; +log.throw = 0; +log.stop = 0; +if (typeof console !== 'undefined') { + log.logger = function _console(level, error, props) { + var args = [error]; + for (var name_1 in props) { + args.push("\n\t" + name_1 + ":", props[name_1]); + } + console[level].apply(console, args); + }; +} +function isValidJSON(value) { + if (value === null) { + return true; + } + switch (typeof value) { + case 'number': + case 'string': + case 'boolean': + return true; + case 'object': + var proto = Object.getPrototypeOf(value); + if (proto === Object.prototype || proto === Array.prototype) { + return every(value, isValidJSON); + } + } + return false; +} +function getBaseClass(Class) { + return Object.getPrototypeOf(Class.prototype).constructor; +} +function assignToClassProto(Class, definition) { + var names = []; + for (var _i = 2; _i < arguments.length; _i++) { + names[_i - 2] = arguments[_i]; + } + for (var _a = 0, names_1 = names; _a < names_1.length; _a++) { + var name_2 = names_1[_a]; + var value = definition[name_2]; + value === void 0 || (Class.prototype[name_2] = value); + } +} +function isEmpty(obj) { + if (obj) { + for (var key in obj) { + if (obj.hasOwnProperty(key)) { + return false; + } + } + } + return true; +} +function someArray(arr, fun) { + var result; + for (var i = 0; i < arr.length; i++) { + if (result = fun(arr[i], i)) { + return result; + } + } +} +function someObject(obj, fun) { + var result; + for (var key in obj) { + if (obj.hasOwnProperty(key)) { + if (result = fun(obj[key], key)) { + return result; + } + } + } +} +function some(obj, fun) { + if (Object.getPrototypeOf(obj) === ArrayProto) { + return someArray(obj, fun); + } + else { + return someObject(obj, fun); + } +} +function every(obj, predicate) { + return !some(obj, function (x) { return !predicate(x); }); +} +function getPropertyDescriptor(obj, prop) { + var desc; + for (var proto = obj; !desc && proto; proto = Object.getPrototypeOf(proto)) { + desc = Object.getOwnPropertyDescriptor(proto, prop); + } + return desc; +} +function omit(source) { + var dest = {}, discard = {}; + for (var i = 1; i < arguments.length; i++) { + discard[arguments[i]] = true; + } + for (var name in source) { + if (!discard.hasOwnProperty(name) && source.hasOwnProperty(name)) { + dest[name] = source[name]; + } + } + return dest; +} +function transform(dest, source, fun) { + for (var name in source) { + if (source.hasOwnProperty(name)) { + var value = fun(source[name], name); + value === void 0 || (dest[name] = value); + } + } + return dest; +} +function fastAssign(dest, source) { + for (var name in source) { + dest[name] = source[name]; + } + return dest; +} +function fastDefaults(dest, source) { + for (var name in source) { + if (dest[name] === void 0) { + dest[name] = source[name]; + } + } + return dest; +} +function assign(dest, source) { + for (var name in source) { + if (source.hasOwnProperty(name)) { + dest[name] = source[name]; + } + } + if (arguments.length > 2) { + for (var i = 2; i < arguments.length; i++) { + var other = arguments[i]; + other && assign(dest, other); + } + } + return dest; +} +function defaults(dest, source) { + for (var name in source) { + if (source.hasOwnProperty(name) && !dest.hasOwnProperty(name)) { + dest[name] = source[name]; + } + } + if (arguments.length > 2) { + for (var i = 2; i < arguments.length; i++) { + var other = arguments[i]; + other && defaults(dest, other); + } + } + return dest; +} +Object.setPrototypeOf || (Object.setPrototypeOf = defaults); +function keys(o) { + return o ? Object.keys(o) : []; +} +function once(func) { + var memo, first = true; + return function () { + if (first) { + first = false; + memo = func.apply(this, arguments); + func = null; + } + return memo; + }; +} +var ArrayProto = Array.prototype, DateProto = Date.prototype, ObjectProto = Object.prototype; +function notEqual(a, b) { + if (a === b) + return false; + if (a && b && typeof a == 'object' && typeof b == 'object') { + var protoA = Object.getPrototypeOf(a); + if (protoA !== Object.getPrototypeOf(b)) + return true; + switch (protoA) { + case DateProto: return +a !== +b; + case ArrayProto: return arraysNotEqual(a, b); + case ObjectProto: + case null: + return objectsNotEqual(a, b); + } + } + return true; +} +function objectsNotEqual(a, b) { + var keysA = Object.keys(a); + if (keysA.length !== Object.keys(b).length) + return true; + for (var i = 0; i < keysA.length; i++) { + var key = keysA[i]; + if (!b.hasOwnProperty(key) || notEqual(a[key], b[key])) { + return true; + } + } + return false; +} +function arraysNotEqual(a, b) { + if (a.length !== b.length) + return true; + for (var i = 0; i < a.length; i++) { + if (notEqual(a[i], b[i])) + return true; + } + return false; +} +//# sourceMappingURL=tools.js.map +/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(3))) + +/***/ }), +/* 13 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (immutable) */ __webpack_exports__["d"] = dispose; +/* harmony export (immutable) */ __webpack_exports__["c"] = convertAndAquire; +/* harmony export (immutable) */ __webpack_exports__["e"] = free; +/* harmony export (immutable) */ __webpack_exports__["f"] = freeAll; +/* harmony export (immutable) */ __webpack_exports__["i"] = sortElements; +/* harmony export (immutable) */ __webpack_exports__["b"] = addIndex; +/* harmony export (immutable) */ __webpack_exports__["h"] = removeIndex; +/* harmony export (immutable) */ __webpack_exports__["j"] = updateIndex; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return CollectionTransaction; }); +/* harmony export (immutable) */ __webpack_exports__["g"] = logAggregationError; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__transactions__ = __webpack_require__(2); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__object_plus__ = __webpack_require__(1); + + +var EventMap = __WEBPACK_IMPORTED_MODULE_1__object_plus__["i" /* eventsApi */].EventMap, trigger2 = __WEBPACK_IMPORTED_MODULE_1__object_plus__["i" /* eventsApi */].trigger2, trigger3 = __WEBPACK_IMPORTED_MODULE_1__object_plus__["i" /* eventsApi */].trigger3, on = __WEBPACK_IMPORTED_MODULE_1__object_plus__["i" /* eventsApi */].on, off = __WEBPACK_IMPORTED_MODULE_1__object_plus__["i" /* eventsApi */].off, commit = __WEBPACK_IMPORTED_MODULE_0__transactions__["c" /* transactionApi */].commit, markAsDirty = __WEBPACK_IMPORTED_MODULE_0__transactions__["c" /* transactionApi */].markAsDirty, _aquire = __WEBPACK_IMPORTED_MODULE_0__transactions__["c" /* transactionApi */].aquire, _free = __WEBPACK_IMPORTED_MODULE_0__transactions__["c" /* transactionApi */].free; +function dispose(collection) { + var models = collection.models; + collection.models = []; + collection._byId = {}; + freeAll(collection, models); + return models; +} +function convertAndAquire(collection, attrs, options) { + var model = collection.model; + var record; + if (collection._shared) { + record = attrs instanceof model ? attrs : model.create(attrs, options); + if (collection._shared & __WEBPACK_IMPORTED_MODULE_0__transactions__["a" /* ItemsBehavior */].listen) { + on(record, record._changeEventName, collection._onChildrenChange, collection); + } + } + else { + record = attrs instanceof model ? (options.merge ? attrs.clone() : attrs) : model.create(attrs, options); + if (!_aquire(collection, record)) { + var errors = collection._aggregationError || (collection._aggregationError = []); + errors.push(record); + } + } + var _itemEvents = collection._itemEvents; + _itemEvents && _itemEvents.subscribe(collection, record); + return record; +} +function free(owner, child, unset) { + if (owner._shared) { + if (owner._shared & __WEBPACK_IMPORTED_MODULE_0__transactions__["a" /* ItemsBehavior */].listen) { + off(child, child._changeEventName, owner._onChildrenChange, owner); + } + } + else { + _free(owner, child); + unset || child.dispose(); + } + var _itemEvents = owner._itemEvents; + _itemEvents && _itemEvents.unsubscribe(owner, child); +} +function freeAll(collection, children) { + for (var _i = 0, children_1 = children; _i < children_1.length; _i++) { + var child = children_1[_i]; + free(collection, child); + } + return children; +} +function sortElements(collection, options) { + var _comparator = collection._comparator; + if (_comparator && options.sort !== false) { + collection.models.sort(_comparator); + return true; + } + return false; +} +function addIndex(index, model) { + index[model.cid] = model; + var id = model.id; + if (id != null) { + index[id] = model; + } +} +function removeIndex(index, model) { + delete index[model.cid]; + var id = model.id; + if (id != null) { + delete index[id]; + } +} +function updateIndex(index, model) { + delete index[model.previous(model.idAttribute)]; + var id = model.id; + id == null || (index[id] = model); +} +var CollectionTransaction = (function () { + function CollectionTransaction(object, isRoot, added, removed, nested, sorted) { + this.object = object; + this.isRoot = isRoot; + this.added = added; + this.removed = removed; + this.nested = nested; + this.sorted = sorted; + } + CollectionTransaction.prototype.commit = function (initiator) { + var _a = this, nested = _a.nested, object = _a.object, _isDirty = object._isDirty; + for (var _i = 0, nested_1 = nested; _i < nested_1.length; _i++) { + var transaction = nested_1[_i]; + transaction.commit(object); + } + if (object._aggregationError) { + logAggregationError(object); + } + for (var _b = 0, nested_2 = nested; _b < nested_2.length; _b++) { + var transaction = nested_2[_b]; + trigger2(object, 'change', transaction.object, _isDirty); + } + var _c = this, added = _c.added, removed = _c.removed; + for (var _d = 0, added_1 = added; _d < added_1.length; _d++) { + var record = added_1[_d]; + trigger3(record, 'add', record, object, _isDirty); + trigger3(object, 'add', record, object, _isDirty); + } + for (var _e = 0, removed_1 = removed; _e < removed_1.length; _e++) { + var record = removed_1[_e]; + trigger3(record, 'remove', record, object, _isDirty); + trigger3(object, 'remove', record, object, _isDirty); + } + if (this.sorted) { + trigger2(object, 'sort', object, _isDirty); + } + if (added.length || removed.length) { + trigger2(object, 'update', object, _isDirty); + } + this.isRoot && commit(object, initiator); + }; + return CollectionTransaction; +}()); + +function logAggregationError(collection) { + collection._log('error', 'added records already have an owner', collection._aggregationError); + collection._aggregationError = void 0; +} +//# sourceMappingURL=commons.js.map + +/***/ }), +/* 14 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (immutable) */ __webpack_exports__["c"] = View; +/* harmony export (immutable) */ __webpack_exports__["b"] = Router; +/* harmony export (immutable) */ __webpack_exports__["a"] = History; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_underscore__ = __webpack_require__(10); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_underscore___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_underscore__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_jquery__ = __webpack_require__(29); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_jquery___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_jquery__); + + +var previousBackbone = window.Backbone; +var slice = Array.prototype.slice; +var exported = { + $: __WEBPACK_IMPORTED_MODULE_1_jquery__, + history: null, + VERSION: '1.2.3', + View: View, History: History, Router: Router, noConflict: noConflict +}; +/* harmony default export */ __webpack_exports__["d"] = (exported); +function noConflict() { + window.Backbone = previousBackbone; + return this; +} +; +function View(options) { + this.cid = __WEBPACK_IMPORTED_MODULE_0_underscore__["uniqueId"]('view'); + options || (options = {}); + __WEBPACK_IMPORTED_MODULE_0_underscore__["extend"](this, __WEBPACK_IMPORTED_MODULE_0_underscore__["pick"](options, viewOptions)); + this._ensureElement(); + this.initialize.apply(this, arguments); + this.delegateEvents(); +} +; +var delegateEventSplitter = /^(\S+)\s*(.*)$/; +var viewOptions = ['model', 'collection', 'el', 'id', 'attributes', 'className', 'tagName', 'events']; +__WEBPACK_IMPORTED_MODULE_0_underscore__["extend"](View.prototype, { + tagName: 'div', + $: function (selector) { + return this.$el.find(selector); + }, + initialize: function () { }, + render: function () { + return this; + }, + remove: function () { + this.$el.remove(); + this.stopListening(); + return this; + }, + setElement: function (element, delegate) { + if (this.$el) + this.undelegateEvents(); + this.$el = element instanceof exported.$ ? element : exported.$(element); + this.el = this.$el[0]; + if (delegate !== false) + this.delegateEvents(); + return this; + }, + delegateEvents: function (events) { + if (!(events || (events = __WEBPACK_IMPORTED_MODULE_0_underscore__["result"](this, 'events')))) + return this; + this.undelegateEvents(); + for (var key in events) { + var method = events[key]; + if (!__WEBPACK_IMPORTED_MODULE_0_underscore__["isFunction"](method)) + method = this[events[key]]; + if (!method) + continue; + var match = key.match(delegateEventSplitter); + var eventName = match[1], selector = match[2]; + method = __WEBPACK_IMPORTED_MODULE_0_underscore__["bind"](method, this); + eventName += '.delegateEvents' + this.cid; + if (selector === '') { + this.$el.on(eventName, method); + } + else { + this.$el.on(eventName, selector, method); + } + } + return this; + }, + undelegateEvents: function () { + this.$el.off('.delegateEvents' + this.cid); + return this; + }, + _ensureElement: function () { + if (!this.el) { + var attrs = __WEBPACK_IMPORTED_MODULE_0_underscore__["extend"]({}, __WEBPACK_IMPORTED_MODULE_0_underscore__["result"](this, 'attributes')); + if (this.id) + attrs.id = __WEBPACK_IMPORTED_MODULE_0_underscore__["result"](this, 'id'); + if (this.className) + attrs['class'] = __WEBPACK_IMPORTED_MODULE_0_underscore__["result"](this, 'className'); + var $el = exported.$('<' + __WEBPACK_IMPORTED_MODULE_0_underscore__["result"](this, 'tagName') + '>').attr(attrs); + this.setElement($el, false); + } + else { + this.setElement(__WEBPACK_IMPORTED_MODULE_0_underscore__["result"](this, 'el'), false); + } + } +}); +function Router(options) { + options || (options = {}); + if (options.routes) + this.routes = options.routes; + this._bindRoutes(); + this.initialize.apply(this, arguments); +} +var optionalParam = /\((.*?)\)/g; +var namedParam = /(\(\?)?:\w+/g; +var splatParam = /\*\w+/g; +var escapeRegExp = /[\-{}\[\]+?.,\\\^$|#\s]/g; +__WEBPACK_IMPORTED_MODULE_0_underscore__["extend"](Router.prototype, { + initialize: function () { }, + route: function (route, name, callback) { + if (!__WEBPACK_IMPORTED_MODULE_0_underscore__["isRegExp"](route)) + route = this._routeToRegExp(route); + if (__WEBPACK_IMPORTED_MODULE_0_underscore__["isFunction"](name)) { + callback = name; + name = ''; + } + if (!callback) + callback = this[name]; + var router = this; + exported.history.route(route, function (fragment) { + var args = router._extractParameters(route, fragment); + if (router.execute(callback, args, name) !== false) { + router.trigger.apply(router, ['route:' + name].concat(args)); + router.trigger('route', name, args); + exported.history.trigger('route', router, name, args); + } + }); + return this; + }, + execute: function (callback, args, name) { + if (callback) + callback.apply(this, args); + }, + navigate: function (fragment, options) { + exported.history.navigate(fragment, options); + return this; + }, + _bindRoutes: function () { + if (!this.routes) + return; + this.routes = __WEBPACK_IMPORTED_MODULE_0_underscore__["result"](this, 'routes'); + var route, routes = __WEBPACK_IMPORTED_MODULE_0_underscore__["keys"](this.routes); + while ((route = routes.pop()) != null) { + this.route(route, this.routes[route]); + } + }, + _routeToRegExp: function (route) { + route = route.replace(escapeRegExp, '\\$&') + .replace(optionalParam, '(?:$1)?') + .replace(namedParam, function (match, optional) { + return optional ? match : '([^/?]+)'; + }) + .replace(splatParam, '([^?]*?)'); + return new RegExp('^' + route + '(?:\\?([\\s\\S]*))?$'); + }, + _extractParameters: function (route, fragment) { + var params = route.exec(fragment).slice(1); + return __WEBPACK_IMPORTED_MODULE_0_underscore__["map"](params, function (param, i) { + if (i === params.length - 1) + return param || null; + return param ? decodeURIComponent(param) : null; + }); + } +}); +function History() { + this.handlers = []; + this.checkUrl = __WEBPACK_IMPORTED_MODULE_0_underscore__["bind"](this.checkUrl, this); + if (typeof window !== 'undefined') { + this.location = window.location; + this.history = window.history; + } +} +; +var routeStripper = /^[#\/]|\s+$/g; +var rootStripper = /^\/+|\/+$/g; +var pathStripper = /#.*$/; +History.started = false; +__WEBPACK_IMPORTED_MODULE_0_underscore__["extend"](History.prototype, { + interval: 50, + atRoot: function () { + var path = this.location.pathname.replace(/[^\/]$/, '$&/'); + return path === this.root && !this.getSearch(); + }, + matchRoot: function () { + var path = this.decodeFragment(this.location.pathname); + var root = path.slice(0, this.root.length - 1) + '/'; + return root === this.root; + }, + decodeFragment: function (fragment) { + return decodeURI(fragment.replace(/%25/g, '%2525')); + }, + getSearch: function () { + var match = this.location.href.replace(/#.*/, '').match(/\?.+/); + return match ? match[0] : ''; + }, + getHash: function (window) { + var match = (window || this).location.href.match(/#(.*)$/); + return match ? match[1] : ''; + }, + getPath: function () { + var path = this.decodeFragment(this.location.pathname + this.getSearch()).slice(this.root.length - 1); + return path.charAt(0) === '/' ? path.slice(1) : path; + }, + getFragment: function (fragment) { + if (fragment == null) { + if (this._usePushState || !this._wantsHashChange) { + fragment = this.getPath(); + } + else { + fragment = this.getHash(); + } + } + return fragment.replace(routeStripper, ''); + }, + start: function (options) { + if (History.started) + throw new Error('Backbone.history has already been started'); + History.started = true; + this.options = __WEBPACK_IMPORTED_MODULE_0_underscore__["extend"]({ root: '/' }, this.options, options); + this.root = this.options.root; + this._wantsHashChange = this.options.hashChange !== false; + this._hasHashChange = 'onhashchange' in window && (document.documentMode === void 0 || document.documentMode > 7); + this._useHashChange = this._wantsHashChange && this._hasHashChange; + this._wantsPushState = !!this.options.pushState; + this._hasPushState = !!(this.history && this.history.pushState); + this._usePushState = this._wantsPushState && this._hasPushState; + this.fragment = this.getFragment(); + this.root = ('/' + this.root + '/').replace(rootStripper, '/'); + if (this._wantsHashChange && this._wantsPushState) { + if (!this._hasPushState && !this.atRoot()) { + var root = this.root.slice(0, -1) || '/'; + this.location.replace(root + '#' + this.getPath()); + return true; + } + else if (this._hasPushState && this.atRoot()) { + this.navigate(this.getHash(), { replace: true }); + } + } + if (!this._hasHashChange && this._wantsHashChange && !this._usePushState) { + this.iframe = document.createElement('iframe'); + this.iframe.src = 'javascript:0'; + this.iframe.style.display = 'none'; + this.iframe.tabIndex = -1; + var body = document.body; + var iWindow = body.insertBefore(this.iframe, body.firstChild).contentWindow; + iWindow.document.open(); + iWindow.document.close(); + iWindow.location.hash = '#' + this.fragment; + } + var addEventListener = window.addEventListener || function (eventName, listener) { + return attachEvent('on' + eventName, listener); + }; + if (this._usePushState) { + addEventListener('popstate', this.checkUrl, false); + } + else if (this._useHashChange && !this.iframe) { + addEventListener('hashchange', this.checkUrl, false); + } + else if (this._wantsHashChange) { + this._checkUrlInterval = setInterval(this.checkUrl, this.interval); + } + if (!this.options.silent) + return this.loadUrl(); + }, + stop: function () { + var removeEventListener = window.removeEventListener || function (eventName, listener) { + return detachEvent('on' + eventName, listener); + }; + if (this._usePushState) { + removeEventListener('popstate', this.checkUrl, false); + } + else if (this._useHashChange && !this.iframe) { + removeEventListener('hashchange', this.checkUrl, false); + } + if (this.iframe) { + document.body.removeChild(this.iframe); + this.iframe = null; + } + if (this._checkUrlInterval) + clearInterval(this._checkUrlInterval); + History.started = false; + }, + route: function (route, callback) { + this.handlers.unshift({ route: route, callback: callback }); + }, + checkUrl: function (e) { + var current = this.getFragment(); + if (current === this.fragment && this.iframe) { + current = this.getHash(this.iframe.contentWindow); + } + if (current === this.fragment) + return false; + if (this.iframe) + this.navigate(current); + this.loadUrl(); + }, + loadUrl: function (fragment) { + if (!this.matchRoot()) + return false; + fragment = this.fragment = this.getFragment(fragment); + return __WEBPACK_IMPORTED_MODULE_0_underscore__["some"](this.handlers, function (handler) { + if (handler.route.test(fragment)) { + handler.callback(fragment); + return true; + } + }); + }, + navigate: function (fragment, options) { + if (!History.started) + return false; + if (!options || options === true) + options = { trigger: !!options }; + fragment = this.getFragment(fragment || ''); + var root = this.root; + if (fragment === '' || fragment.charAt(0) === '?') { + root = root.slice(0, -1) || '/'; + } + var url = root + fragment; + fragment = this.decodeFragment(fragment.replace(pathStripper, '')); + if (this.fragment === fragment) + return; + this.fragment = fragment; + if (this._usePushState) { + this.history[options.replace ? 'replaceState' : 'pushState']({}, document.title, url); + } + else if (this._wantsHashChange) { + this._updateHash(this.location, fragment, options.replace); + if (this.iframe && (fragment !== this.getHash(this.iframe.contentWindow))) { + var iWindow = this.iframe.contentWindow; + if (!options.replace) { + iWindow.document.open(); + iWindow.document.close(); + } + this._updateHash(iWindow.location, fragment, options.replace); + } + } + else { + return this.location.assign(url); + } + if (options.trigger) + return this.loadUrl(fragment); + }, + _updateHash: function (location, fragment, replace) { + if (replace) { + var href = location.href.replace(/(javascript:|#).*$/, ''); + location.replace(href + '#' + fragment); + } + else { + location.hash = '#' + fragment; + } + } +}); +exported.history = new History; +//# sourceMappingURL=backbone.js.map + +/***/ }), +/* 15 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/* WEBPACK VAR INJECTION */(function(process) { + +if (process.env.NODE_ENV === 'production') { + module.exports = __webpack_require__(61); +} else { + module.exports = __webpack_require__(62); +} + +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) + +/***/ }), +/* 16 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + */ + + + +var emptyObject = {}; + +if (process.env.NODE_ENV !== 'production') { + Object.freeze(emptyObject); +} + +module.exports = emptyObject; +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) + +/***/ }), +/* 17 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright (c) 2014-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + */ + + + +var emptyFunction = __webpack_require__(5); + +/** + * Similar to invariant but only logs a warning if the condition is not met. + * This can be used to log issues in development environments in critical + * paths. Removing the logging code for production environments will keep the + * same logic and follow the same code paths. + */ + +var warning = emptyFunction; + +if (process.env.NODE_ENV !== 'production') { + var printWarning = function printWarning(format) { + for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + + var argIndex = 0; + var message = 'Warning: ' + format.replace(/%s/g, function () { + return args[argIndex++]; + }); + if (typeof console !== 'undefined') { + console.error(message); + } + try { + // --- Welcome to debugging React --- + // This error was thrown as a convenience so that you can use this stack + // to find the callsite that caused this warning to fire. + throw new Error(message); + } catch (x) {} + }; + + warning = function warning(condition, format) { + if (format === undefined) { + throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument'); + } + + if (format.indexOf('Failed Composite propType: ') === 0) { + return; // Ignore CompositeComponent proptype check. + } + + if (!condition) { + for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) { + args[_key2 - 2] = arguments[_key2]; + } + + printWarning.apply(undefined, [format].concat(args)); + } + }; +} + +module.exports = warning; +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) + +/***/ }), +/* 18 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Mixable; }); +/* harmony export (immutable) */ __webpack_exports__["h"] = predefine; +/* harmony export (immutable) */ __webpack_exports__["c"] = define; +/* harmony export (immutable) */ __webpack_exports__["e"] = definitions; +/* harmony export (immutable) */ __webpack_exports__["d"] = definitionDecorator; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return MixinsState; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return mixins; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return mixinRules; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__tools__ = __webpack_require__(12); + + + +var Mixable = (function () { + function Mixable() { + } + Mixable.define = function (protoProps, staticProps) { + if (protoProps === void 0) { protoProps = {}; } + var BaseClass = Object(__WEBPACK_IMPORTED_MODULE_1__tools__["getBaseClass"])(this); + staticProps && Object(__WEBPACK_IMPORTED_MODULE_1__tools__["assign"])(this, staticProps); + var mixins = protoProps.mixins, defineMixin = __WEBPACK_IMPORTED_MODULE_0_tslib__["d" /* __rest */](protoProps, ["mixins"]); + mixins && this.mixins.merge(mixins); + this.mixins.mergeObject(this.prototype, defineMixin, true); + this.mixins.mergeObject(this.prototype, this.mixins.getStaticDefinitions(BaseClass), true); + this.onDefine && this.onDefine(this.mixins.definitions, BaseClass); + this.mixins.mergeInheritedMembers(BaseClass); + return this; + }; + Mixable.extend = function (spec, statics) { + var TheSubclass; + if (spec && spec.hasOwnProperty('constructor')) { + TheSubclass = spec.constructor; + Object(__WEBPACK_IMPORTED_MODULE_0_tslib__["c" /* __extends */])(TheSubclass, this); + } + else { + TheSubclass = (function (_super) { + __WEBPACK_IMPORTED_MODULE_0_tslib__["c" /* __extends */](Subclass, _super); + function Subclass() { + return _super !== null && _super.apply(this, arguments) || this; + } + return Subclass; + }(this)); + } + predefine(TheSubclass); + spec && TheSubclass.define(spec, statics); + return TheSubclass; + }; + return Mixable; +}()); + +function predefine(Constructor) { + var BaseClass = Object(__WEBPACK_IMPORTED_MODULE_1__tools__["getBaseClass"])(Constructor); + Constructor.__super__ = BaseClass.prototype; + Constructor.define || MixinsState.get(Mixable).populate(Constructor); + MixinsState.get(Constructor); + Constructor.onExtend && Constructor.onExtend(BaseClass); +} +function define(ClassOrDefinition) { + if (typeof ClassOrDefinition === 'function') { + predefine(ClassOrDefinition); + ClassOrDefinition.define(); + } + else { + return function (Ctor) { + predefine(Ctor); + Ctor.define(ClassOrDefinition); + }; + } +} +function definitions(rules) { + return function (Class) { + var mixins = MixinsState.get(Class); + mixins.definitionRules = Object(__WEBPACK_IMPORTED_MODULE_1__tools__["defaults"])(rules, mixins.definitionRules); + }; +} +function definitionDecorator(definitionKey, value) { + return function (proto, name) { + MixinsState + .get(proto.constructor) + .mergeObject(proto, (_a = {}, + _a[definitionKey] = (_b = {}, + _b[name] = value, + _b), + _a)); + var _a, _b; + }; +} +var MixinsState = (function () { + function MixinsState(Class) { + this.Class = Class; + this.definitions = {}; + var mixins = Object(__WEBPACK_IMPORTED_MODULE_1__tools__["getBaseClass"])(Class).mixins; + this.mergeRules = (mixins && mixins.mergeRules) || {}; + this.definitionRules = (mixins && mixins.definitionRules) || {}; + this.appliedMixins = (mixins && mixins.appliedMixins) || []; + } + MixinsState.get = function (Class) { + var mixins = Class.mixins; + return mixins && Class === mixins.Class ? mixins : + Class.mixins = new MixinsState(Class); + }; + MixinsState.prototype.getStaticDefinitions = function (BaseClass) { + var definitions = {}, Class = this.Class; + return Object(__WEBPACK_IMPORTED_MODULE_1__tools__["transform"])(definitions, this.definitionRules, function (rule, name) { + if (BaseClass[name] !== Class[name]) { + return Class[name]; + } + }); + }; + MixinsState.prototype.merge = function (mixins) { + var proto = this.Class.prototype, mergeRules = this.mergeRules; + var appliedMixins = this.appliedMixins = this.appliedMixins.slice(); + for (var _i = 0, mixins_1 = mixins; _i < mixins_1.length; _i++) { + var mixin = mixins_1[_i]; + if (Array.isArray(mixin)) { + this.merge(mixin); + } + else if (appliedMixins.indexOf(mixin) < 0) { + appliedMixins.push(mixin); + if (typeof mixin === 'function') { + if (Object(__WEBPACK_IMPORTED_MODULE_1__tools__["getBaseClass"])(mixin) !== Object) { + console.log('Mixin error'); + } + this.mergeObject(this.Class, mixin); + var sourceMixins = mixin.mixins; + if (sourceMixins) { + this.mergeRules = Object(__WEBPACK_IMPORTED_MODULE_1__tools__["defaults"])({}, this.mergeRules, sourceMixins.mergeRules); + this.definitionRules = Object(__WEBPACK_IMPORTED_MODULE_1__tools__["defaults"])({}, this.definitionRules, sourceMixins.definitionRules); + this.appliedMixins = this.appliedMixins.concat(sourceMixins.appliedMixins); + } + this.mergeObject(proto, mixin.prototype); + } + else { + this.mergeObject(proto, mixin); + } + } + } + }; + MixinsState.prototype.populate = function () { + var ctors = []; + for (var _i = 0; _i < arguments.length; _i++) { + ctors[_i] = arguments[_i]; + } + for (var _a = 0, ctors_1 = ctors; _a < ctors_1.length; _a++) { + var Ctor = ctors_1[_a]; + MixinsState.get(Ctor).merge([this.Class]); + } + }; + MixinsState.prototype.mergeObject = function (dest, source, unshift) { + var _this = this; + forEachOwnProp(source, function (name) { + var sourceProp = Object.getOwnPropertyDescriptor(source, name); + var rule; + if (rule = _this.definitionRules[name]) { + assignProperty(_this.definitions, name, sourceProp, rule, unshift); + } + if (!rule || rule === mixinRules.protoValue) { + assignProperty(dest, name, sourceProp, _this.mergeRules[name], unshift); + } + }); + }; + MixinsState.prototype.mergeInheritedMembers = function (BaseClass) { + var _a = this, mergeRules = _a.mergeRules, Class = _a.Class; + if (mergeRules) { + var proto = Class.prototype, baseProto = BaseClass.prototype; + for (var name_1 in mergeRules) { + var rule = mergeRules[name_1]; + if (proto.hasOwnProperty(name_1) && name_1 in baseProto) { + proto[name_1] = resolveRule(proto[name_1], baseProto[name_1], rule); + } + } + } + }; + return MixinsState; +}()); + +var dontMix = { + function: { + length: true, + prototype: true, + caller: true, + arguments: true, + name: true, + __super__: true + }, + object: { + constructor: true, + toString: false, + valueOf: false + } +}; +function forEachOwnProp(object, fun) { + var ignore = dontMix[typeof object]; + for (var _i = 0, _a = Object.getOwnPropertyNames(object); _i < _a.length; _i++) { + var name_2 = _a[_i]; + ignore[name_2] || fun(name_2); + } +} +var mixins = function () { + var list = []; + for (var _i = 0; _i < arguments.length; _i++) { + list[_i] = arguments[_i]; + } + return (function (Class) { return MixinsState.get(Class).merge(list); }); +}; +var mixinRules = (function (rules) { return (function (Class) { + var mixins = MixinsState.get(Class); + mixins.mergeRules = Object(__WEBPACK_IMPORTED_MODULE_1__tools__["defaults"])(rules, mixins.mergeRules); +}); }); +mixinRules.value = function (a, b) { return a; }; +mixinRules.protoValue = function (a, b) { return a; }; +mixinRules.merge = function (a, b) { return Object(__WEBPACK_IMPORTED_MODULE_1__tools__["defaults"])({}, a, b); }; +mixinRules.pipe = function (a, b) { return (function (x) { + return a.call(this, b.call(this, x)); +}); }; +mixinRules.defaults = function (a, b) { return (function () { + return Object(__WEBPACK_IMPORTED_MODULE_1__tools__["defaults"])(a.apply(this, arguments), b.apply(this, arguments)); +}); }; +mixinRules.classFirst = function (a, b) { return (function () { + a.apply(this, arguments); + b.apply(this, arguments); +}); }; +mixinRules.classLast = function (a, b) { return (function () { + b.apply(this, arguments); + a.apply(this, arguments); +}); }; +mixinRules.every = function (a, b) { return (function () { + return a.apply(this, arguments) && b.apply(this, arguments); +}); }; +mixinRules.some = function (a, b) { return (function () { + return a.apply(this, arguments) || b.apply(this, arguments); +}); }; +function assignProperty(dest, name, sourceProp, rule, unshift) { + if (dest.hasOwnProperty(name)) { + var destProp = Object.getOwnPropertyDescriptor(dest, name); + if (destProp.configurable && 'value' in destProp) { + dest[name] = unshift ? + resolveRule(sourceProp.value, destProp.value, rule) : + resolveRule(destProp.value, sourceProp.value, rule); + } + } + else { + Object.defineProperty(dest, name, sourceProp); + } +} +function resolveRule(dest, source, rule) { + if (dest === void 0) + return source; + if (!rule || source === void 0) + return dest; + return rule(dest, source); +} +//# sourceMappingURL=mixins.js.map + +/***/ }), +/* 19 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "EventMap", function() { return EventMap; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "EventDescriptor", function() { return EventDescriptor; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "EventHandler", function() { return EventHandler; }); +/* harmony export (immutable) */ __webpack_exports__["on"] = on; +/* harmony export (immutable) */ __webpack_exports__["once"] = once; +/* harmony export (immutable) */ __webpack_exports__["off"] = off; +/* harmony export (immutable) */ __webpack_exports__["strings"] = strings; +/* harmony export (immutable) */ __webpack_exports__["trigger2"] = trigger2; +/* harmony export (immutable) */ __webpack_exports__["trigger3"] = trigger3; +/* harmony export (immutable) */ __webpack_exports__["trigger5"] = trigger5; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__tools__ = __webpack_require__(12); + +var EventMap = (function () { + function EventMap(map) { + this.handlers = []; + if (map) { + if (map instanceof EventMap) { + this.handlers = map.handlers.slice(); + } + else { + map && this.addEventsMap(map); + } + } + } + EventMap.prototype.merge = function (map) { + this.handlers = this.handlers.concat(map.handlers); + }; + EventMap.prototype.addEventsMap = function (map) { + for (var names in map) { + this.addEvent(names, map[names]); + } + }; + EventMap.prototype.bubbleEvents = function (names) { + for (var _i = 0, _a = names.split(eventSplitter); _i < _a.length; _i++) { + var name_1 = _a[_i]; + this.addEvent(name_1, getBubblingHandler(name_1)); + } + }; + EventMap.prototype.addEvent = function (names, callback) { + var handlers = this.handlers; + for (var _i = 0, _a = names.split(eventSplitter); _i < _a.length; _i++) { + var name_2 = _a[_i]; + handlers.push(new EventDescriptor(name_2, callback)); + } + }; + EventMap.prototype.subscribe = function (target, source) { + for (var _i = 0, _a = this.handlers; _i < _a.length; _i++) { + var event_1 = _a[_i]; + on(source, event_1.name, event_1.callback, target); + } + }; + EventMap.prototype.unsubscribe = function (target, source) { + for (var _i = 0, _a = this.handlers; _i < _a.length; _i++) { + var event_2 = _a[_i]; + off(source, event_2.name, event_2.callback, target); + } + }; + return EventMap; +}()); + +var EventDescriptor = (function () { + function EventDescriptor(name, callback) { + this.name = name; + if (callback === true) { + this.callback = getBubblingHandler(name); + } + else if (typeof callback === 'string') { + this.callback = + function localCallback() { + var handler = this[callback]; + handler && handler.apply(this, arguments); + }; + } + else { + this.callback = callback; + } + } + return EventDescriptor; +}()); + +var _bubblingHandlers = {}; +function getBubblingHandler(event) { + return _bubblingHandlers[event] || (_bubblingHandlers[event] = function (a, b, c, d, e) { + if (d !== void 0 || e !== void 0) + trigger5(this, event, a, b, c, d, e); + if (c !== void 0) + trigger3(this, event, a, b, c); + else + trigger2(this, event, a, b); + }); +} +var EventHandler = (function () { + function EventHandler(callback, context, next) { + if (next === void 0) { next = null; } + this.callback = callback; + this.context = context; + this.next = next; + } + return EventHandler; +}()); + +function listOff(_events, name, callback, context) { + var head = _events[name]; + var filteredHead, prev; + for (var ev = head; ev; ev = ev.next) { + if ((callback && callback !== ev.callback && callback !== ev.callback._callback) || + (context && context !== ev.context)) { + prev = ev; + filteredHead || (filteredHead = ev); + } + else { + if (prev) + prev.next = ev.next; + } + } + if (head !== filteredHead) + _events[name] = filteredHead; +} +function listSend2(head, a, b) { + for (var ev = head; ev; ev = ev.next) + ev.callback.call(ev.context, a, b); +} +function listSend3(head, a, b, c) { + for (var ev = head; ev; ev = ev.next) + ev.callback.call(ev.context, a, b, c); +} +function listSend4(head, a, b, c, d) { + for (var ev = head; ev; ev = ev.next) + ev.callback.call(ev.context, a, b, c, d); +} +function listSend5(head, a, b, c, d, e) { + for (var ev = head; ev; ev = ev.next) + ev.callback.call(ev.context, a, b, c, d, e); +} +function listSend6(head, a, b, c, d, e, f) { + for (var ev = head; ev; ev = ev.next) + ev.callback.call(ev.context, a, b, c, d, e, f); +} +function on(source, name, callback, context) { + if (callback) { + var _events = source._events || (source._events = Object.create(null)); + _events[name] = new EventHandler(callback, context, _events[name]); + } +} +function once(source, name, callback, context) { + if (callback) { + var once_1 = Object(__WEBPACK_IMPORTED_MODULE_0__tools__["once"])(function () { + off(source, name, once_1); + callback.apply(this, arguments); + }); + once_1._callback = callback; + on(source, name, once_1, context); + } +} +function off(source, name, callback, context) { + var _events = source._events; + if (_events) { + if (callback || context) { + if (name) { + listOff(_events, name, callback, context); + } + else { + for (var name_3 in _events) { + listOff(_events, name_3, callback, context); + } + } + } + else if (name) { + _events[name] = void 0; + } + else { + source._events = void 0; + } + } +} +var eventSplitter = /\s+/; +function strings(api, source, events, callback, context) { + if (eventSplitter.test(events)) { + var names = events.split(eventSplitter); + for (var _i = 0, names_1 = names; _i < names_1.length; _i++) { + var name_4 = names_1[_i]; + api(source, name_4, callback, context); + } + } + else + api(source, events, callback, context); +} +function trigger2(self, name, a, b) { + var _events = self._events; + if (_events) { + var queue = _events[name], all = _events.all; + listSend2(queue, a, b); + listSend3(all, name, a, b); + } +} +; +function trigger3(self, name, a, b, c) { + var _events = self._events; + if (_events) { + var queue = _events[name], all = _events.all; + listSend3(queue, a, b, c); + listSend4(all, name, a, b, c); + } +} +; +function trigger5(self, name, a, b, c, d, e) { + var _events = self._events; + if (_events) { + var queue = _events[name], all = _events.all; + listSend5(queue, a, b, c, d, e); + listSend6(all, name, a, b, c, d, e); + } +} +; +//# sourceMappingURL=eventsource.js.map + +/***/ }), +/* 20 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return CompiledReference; }); +/* harmony export (immutable) */ __webpack_exports__["b"] = resolveReference; +var referenceMask = /\^|([^.]+)/g; +var CompiledReference = (function () { + function CompiledReference(reference, splitTail) { + if (splitTail === void 0) { splitTail = false; } + var path = reference + .match(referenceMask) + .map(function (key) { + if (key === '^') + return 'getOwner()'; + if (key[0] === '~') + return "getStore().get(\"" + key.substr(1) + "\")"; + return key; + }); + this.tail = splitTail && path.pop(); + this.local = !path.length; + path.unshift('self'); + this.resolve = new Function('self', "return " + path.join('.') + ";"); + } + return CompiledReference; +}()); + +function resolveReference(root, reference, action) { + var path = reference.match(referenceMask), skip = path.length - 1; + var self = root; + for (var i = 0; i < skip; i++) { + var key = path[i]; + switch (key) { + case '~': + self = self.getStore(); + break; + case '^': + self = self.getOwner(); + break; + default: self = self.get(key); + } + if (!self) + return; + } + return action(self, path[skip]); +} +//# sourceMappingURL=traversable.js.map + +/***/ }), +/* 21 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (immutable) */ __webpack_exports__["d"] = setAttribute; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return UpdateRecordMixin; }); +/* harmony export (immutable) */ __webpack_exports__["c"] = constructorsMixin; +/* harmony export (immutable) */ __webpack_exports__["e"] = shouldBeAnObject; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return RecordTransaction; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__transactions__ = __webpack_require__(2); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__object_plus__ = __webpack_require__(1); + +var _begin = __WEBPACK_IMPORTED_MODULE_0__transactions__["c" /* transactionApi */].begin, _markAsDirty = __WEBPACK_IMPORTED_MODULE_0__transactions__["c" /* transactionApi */].markAsDirty, commit = __WEBPACK_IMPORTED_MODULE_0__transactions__["c" /* transactionApi */].commit; + +var trigger3 = __WEBPACK_IMPORTED_MODULE_1__object_plus__["i" /* eventsApi */].trigger3; +function setAttribute(record, name, value) { + var isRoot = begin(record), options = {}; + if (record._attributes[name].doUpdate(value, record, options)) { + markAsDirty(record, options); + trigger3(record, 'change:' + name, record, record.attributes[name], options); + } + isRoot && commit(record); +} +function begin(record) { + if (_begin(record)) { + record._previousAttributes = new record.AttributesCopy(record.attributes); + record._changedAttributes = null; + return true; + } + return false; +} +function markAsDirty(record, options) { + if (record._changedAttributes) { + record._changedAttributes = null; + } + return _markAsDirty(record, options); +} +var UpdateRecordMixin = { + transaction: function (fun, options) { + if (options === void 0) { options = {}; } + var isRoot = begin(this); + fun.call(this, this); + isRoot && commit(this); + }, + _onChildrenChange: function (child, options) { + var _ownerKey = child._ownerKey, attribute = this._attributes[_ownerKey]; + if (!attribute || attribute.propagateChanges) + this.forceAttributeChange(_ownerKey, options); + }, + forceAttributeChange: function (key, options) { + if (options === void 0) { options = {}; } + var isRoot = begin(this); + if (markAsDirty(this, options)) { + trigger3(this, 'change:' + key, this, this.attributes[key], options); + } + isRoot && commit(this); + }, + _createTransaction: function (a_values, options) { + if (options === void 0) { options = {}; } + var isRoot = begin(this), changes = [], nested = [], _attributes = this._attributes, values = options.parse ? this.parse(a_values, options) : a_values; + var unknown; + if (shouldBeAnObject(this, values)) { + for (var name_1 in values) { + var spec = _attributes[name_1]; + if (spec) { + if (spec.doUpdate(values[name_1], this, options, nested)) { + changes.push(name_1); + } + } + else { + unknown || (unknown = []); + unknown.push("'" + name_1 + "'"); + } + } + if (unknown) { + } + } + if (changes.length && markAsDirty(this, options)) { + return new RecordTransaction(this, isRoot, nested, changes); + } + for (var _i = 0, nested_1 = nested; _i < nested_1.length; _i++) { + var pendingTransaction = nested_1[_i]; + pendingTransaction.commit(this); + } + isRoot && commit(this); + } +}; +function constructorsMixin(attrDefs) { + var attrs = Object.keys(attrDefs); + var AttributesCopy = new Function('values', "\n " + attrs.map(function (attr) { return "\n this." + attr + " = values." + attr + ";\n "; }).join('') + "\n "); + AttributesCopy.prototype = Object.prototype; + var Attributes = new Function('record', 'values', 'options', "\n var _attrs = record._attributes;\n\n " + attrs.map(function (attr) { return "\n this." + attr + " = _attrs." + attr + ".doInit( values." + attr + ", record, options );\n "; }).join('') + "\n "); + Attributes.prototype = Object.prototype; + return { Attributes: Attributes, AttributesCopy: AttributesCopy }; +} +function shouldBeAnObject(record, values) { + if (values && values.constructor === Object) + return true; + record._log('warn', 'update with non-object is ignored!', { values: values }); + return false; +} +var RecordTransaction = (function () { + function RecordTransaction(object, isRoot, nested, changes) { + this.object = object; + this.isRoot = isRoot; + this.nested = nested; + this.changes = changes; + } + RecordTransaction.prototype.commit = function (initiator) { + var _a = this, nested = _a.nested, object = _a.object, changes = _a.changes; + for (var _i = 0, nested_2 = nested; _i < nested_2.length; _i++) { + var transaction = nested_2[_i]; + transaction.commit(object); + } + var attributes = object.attributes, _isDirty = object._isDirty; + for (var _b = 0, changes_1 = changes; _b < changes_1.length; _b++) { + var key = changes_1[_b]; + trigger3(object, 'change:' + key, object, attributes[key], _isDirty); + } + this.isRoot && commit(object, initiator); + }; + return RecordTransaction; +}()); + +//# sourceMappingURL=updates.js.map + +/***/ }), +/* 22 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return ChainableAttributeSpec; }); +/* harmony export (immutable) */ __webpack_exports__["b"] = toAttributeOptions; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__transactions__ = __webpack_require__(2); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__object_plus__ = __webpack_require__(1); + + +var assign = __WEBPACK_IMPORTED_MODULE_1__object_plus__["m" /* tools */].assign; +var ChainableAttributeSpec = (function () { + function ChainableAttributeSpec(options) { + this.options = { getHooks: [], transforms: [], changeHandlers: [] }; + if (options) + assign(this.options, options); + } + ChainableAttributeSpec.prototype.check = function (check, error) { + function validate(model, value, name) { + if (!check.call(model, value, name)) { + var msg = error || check.error || name + ' is not valid'; + return typeof msg === 'function' ? msg.call(model, name) : msg; + } + } + var prev = this.options.validate; + return this.metadata({ + validate: prev ? (function (model, value, name) { + return prev(model, value, name) || validate(model, value, name); + }) : validate + }); + }; + Object.defineProperty(ChainableAttributeSpec.prototype, "asProp", { + get: function () { + return Object(__WEBPACK_IMPORTED_MODULE_1__object_plus__["g" /* definitionDecorator */])('attributes', this); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ChainableAttributeSpec.prototype, "isRequired", { + get: function () { + return this.metadata({ isRequired: true }); + }, + enumerable: true, + configurable: true + }); + ChainableAttributeSpec.prototype.watcher = function (ref) { + return this.metadata({ _onChange: ref }); + }; + ChainableAttributeSpec.prototype.parse = function (fun) { + return this.metadata({ parse: fun }); + }; + ChainableAttributeSpec.prototype.toJSON = function (fun) { + return this.metadata({ + toJSON: typeof fun === 'function' ? fun : (fun ? function (x) { return x && x.toJSON(); } : emptyFunction) + }); + }; + ChainableAttributeSpec.prototype.get = function (fun) { + return this.metadata({ + getHooks: this.options.getHooks.concat(fun) + }); + }; + ChainableAttributeSpec.prototype.set = function (fun) { + function handleSetHook(next, prev, record, options) { + if (this.isChanged(next, prev)) { + var changed = fun.call(record, next, this.name); + return changed === void 0 ? prev : this.convert(changed, prev, record, options); + } + return prev; + } + return this.metadata({ + transforms: this.options.transforms.concat(handleSetHook) + }); + }; + ChainableAttributeSpec.prototype.changeEvents = function (events) { + return this.metadata({ changeEvents: events }); + }; + ChainableAttributeSpec.prototype.events = function (map) { + var eventMap = new __WEBPACK_IMPORTED_MODULE_1__object_plus__["a" /* EventMap */](map); + function handleEventsSubscribtion(next, prev, record) { + prev && prev.trigger && eventMap.unsubscribe(record, prev); + next && next.trigger && eventMap.subscribe(record, next); + } + return this.metadata({ + changeHandlers: this.options.changeHandlers.concat(handleEventsSubscribtion) + }); + }; + Object.defineProperty(ChainableAttributeSpec.prototype, "has", { + get: function () { + return this; + }, + enumerable: true, + configurable: true + }); + ChainableAttributeSpec.prototype.metadata = function (options) { + var cloned = new ChainableAttributeSpec(this.options); + assign(cloned.options, options); + return cloned; + }; + ChainableAttributeSpec.prototype.value = function (x) { + return this.metadata({ value: x, hasCustomDefault: true }); + }; + return ChainableAttributeSpec; +}()); + +function emptyFunction() { } +Function.prototype.value = function (x) { + return new ChainableAttributeSpec({ type: this, value: x, hasCustomDefault: true }); +}; +Object.defineProperty(Function.prototype, 'isRequired', { + get: function () { return this._isRequired || this.has.isRequired; }, + set: function (x) { this._isRequired = x; } +}); +Object.defineProperty(Function.prototype, 'asProp', { + get: function () { return this.has.asProp; }, +}); +Object.defineProperty(Function.prototype, 'has', { + get: function () { + return this._has || new ChainableAttributeSpec({ + type: this, + value: this._attribute.defaultValue, + hasCustomDefault: this._attribute.defaultValue !== void 0 + }); + }, + set: function (value) { this._has = value; } +}); +function toAttributeOptions(spec) { + var attrSpec; + if (typeof spec === 'function') { + attrSpec = spec.has; + } + else if (spec && spec instanceof ChainableAttributeSpec) { + attrSpec = spec; + } + else { + var type = inferType(spec); + if (type && type.prototype instanceof __WEBPACK_IMPORTED_MODULE_0__transactions__["b" /* Transactional */]) { + attrSpec = type.shared.value(spec); + } + else { + attrSpec = new ChainableAttributeSpec({ type: type, value: spec, hasCustomDefault: true }); + } + } + return attrSpec.options; +} +function inferType(value) { + switch (typeof value) { + case 'number': + return Number; + case 'string': + return String; + case 'boolean': + return Boolean; + case 'undefined': + return void 0; + case 'object': + return value ? value.constructor : void 0; + } +} +//# sourceMappingURL=attrDef.js.map + +/***/ }), +/* 23 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + + + +if (process.env.NODE_ENV !== 'production') { + var invariant = __webpack_require__(6); + var warning = __webpack_require__(17); + var ReactPropTypesSecret = __webpack_require__(24); + var loggedTypeFailures = {}; +} + +/** + * Assert that the values match with the type specs. + * Error messages are memorized and will only be shown once. + * + * @param {object} typeSpecs Map of name to a ReactPropType + * @param {object} values Runtime values that need to be type-checked + * @param {string} location e.g. "prop", "context", "child context" + * @param {string} componentName Name of the component for error messages. + * @param {?Function} getStack Returns the component stack. + * @private + */ +function checkPropTypes(typeSpecs, values, location, componentName, getStack) { + if (process.env.NODE_ENV !== 'production') { + for (var typeSpecName in typeSpecs) { + if (typeSpecs.hasOwnProperty(typeSpecName)) { + var error; + // Prop type validation may throw. In case they do, we don't want to + // fail the render phase where it didn't fail before. So we log it. + // After these have been cleaned up, we'll let them throw. + try { + // This is intentionally an invariant that gets caught. It's the same + // behavior as without this statement except with a better message. + invariant(typeof typeSpecs[typeSpecName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'the `prop-types` package, but received `%s`.', componentName || 'React class', location, typeSpecName, typeof typeSpecs[typeSpecName]); + error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret); + } catch (ex) { + error = ex; + } + warning(!error || error instanceof Error, '%s: type specification of %s `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error); + if (error instanceof Error && !(error.message in loggedTypeFailures)) { + // Only monitor this failure once because there tends to be a lot of the + // same error. + loggedTypeFailures[error.message] = true; + + var stack = getStack ? getStack() : ''; + + warning(false, 'Failed %s type: %s%s', location, error.message, stack != null ? stack : ''); + } + } + } + } +} + +module.exports = checkPropTypes; + +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) + +/***/ }), +/* 24 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + + + +var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED'; + +module.exports = ReactPropTypesSecret; + + +/***/ }), +/* 25 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + */ + + + +var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement); + +/** + * Simple, lightweight module assisting with the detection and context of + * Worker. Helps avoid circular dependencies and allows code to reason about + * whether or not they are in a Worker, even if they never include the main + * `ReactWorker` dependency. + */ +var ExecutionEnvironment = { + + canUseDOM: canUseDOM, + + canUseWorkers: typeof Worker !== 'undefined', + + canUseEventListeners: canUseDOM && !!(window.addEventListener || window.attachEvent), + + canUseViewport: canUseDOM && !!window.screen, + + isInWorker: !canUseDOM // For now, this is true - might change in the future. + +}; + +module.exports = ExecutionEnvironment; + +/***/ }), +/* 26 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Class", function() { return Class; }); +/* harmony export (immutable) */ __webpack_exports__["defaults"] = defaults; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__type_r__ = __webpack_require__(7); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "on", function() { return __WEBPACK_IMPORTED_MODULE_0__type_r__["on"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "off", function() { return __WEBPACK_IMPORTED_MODULE_0__type_r__["off"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "trigger", function() { return __WEBPACK_IMPORTED_MODULE_0__type_r__["trigger"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "once", function() { return __WEBPACK_IMPORTED_MODULE_0__type_r__["once"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "listenTo", function() { return __WEBPACK_IMPORTED_MODULE_0__type_r__["listenTo"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "stopListening", function() { return __WEBPACK_IMPORTED_MODULE_0__type_r__["stopListening"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "listenToOnce", function() { return __WEBPACK_IMPORTED_MODULE_0__type_r__["listenToOnce"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "attributes", function() { return __WEBPACK_IMPORTED_MODULE_0__type_r__["attributes"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "value", function() { return __WEBPACK_IMPORTED_MODULE_0__type_r__["value"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "transaction", function() { return __WEBPACK_IMPORTED_MODULE_0__type_r__["transaction"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "tools", function() { return __WEBPACK_IMPORTED_MODULE_0__type_r__["tools"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "eventsApi", function() { return __WEBPACK_IMPORTED_MODULE_0__type_r__["eventsApi"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "Record", function() { return __WEBPACK_IMPORTED_MODULE_0__type_r__["Record"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "attr", function() { return __WEBPACK_IMPORTED_MODULE_0__type_r__["attr"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "prop", function() { return __WEBPACK_IMPORTED_MODULE_0__type_r__["prop"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "Mixable", function() { return __WEBPACK_IMPORTED_MODULE_0__type_r__["Mixable"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "predefine", function() { return __WEBPACK_IMPORTED_MODULE_0__type_r__["predefine"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "define", function() { return __WEBPACK_IMPORTED_MODULE_0__type_r__["define"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "definitions", function() { return __WEBPACK_IMPORTED_MODULE_0__type_r__["definitions"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "definitionDecorator", function() { return __WEBPACK_IMPORTED_MODULE_0__type_r__["definitionDecorator"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "MixinsState", function() { return __WEBPACK_IMPORTED_MODULE_0__type_r__["MixinsState"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "mixins", function() { return __WEBPACK_IMPORTED_MODULE_0__type_r__["mixins"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "mixinRules", function() { return __WEBPACK_IMPORTED_MODULE_0__type_r__["mixinRules"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "EventMap", function() { return __WEBPACK_IMPORTED_MODULE_0__type_r__["EventMap"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "Messenger", function() { return __WEBPACK_IMPORTED_MODULE_0__type_r__["Messenger"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "Events", function() { return __WEBPACK_IMPORTED_MODULE_0__type_r__["Events"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "createAttribute", function() { return __WEBPACK_IMPORTED_MODULE_0__type_r__["createAttribute"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "createSharedTypeSpec", function() { return __WEBPACK_IMPORTED_MODULE_0__type_r__["createSharedTypeSpec"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "AnyType", function() { return __WEBPACK_IMPORTED_MODULE_0__type_r__["AnyType"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "AggregatedType", function() { return __WEBPACK_IMPORTED_MODULE_0__type_r__["AggregatedType"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "DateType", function() { return __WEBPACK_IMPORTED_MODULE_0__type_r__["DateType"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "MSDateType", function() { return __WEBPACK_IMPORTED_MODULE_0__type_r__["MSDateType"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "TimestampType", function() { return __WEBPACK_IMPORTED_MODULE_0__type_r__["TimestampType"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "PrimitiveType", function() { return __WEBPACK_IMPORTED_MODULE_0__type_r__["PrimitiveType"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "NumericType", function() { return __WEBPACK_IMPORTED_MODULE_0__type_r__["NumericType"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "ArrayType", function() { return __WEBPACK_IMPORTED_MODULE_0__type_r__["ArrayType"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "ObjectType", function() { return __WEBPACK_IMPORTED_MODULE_0__type_r__["ObjectType"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "doNothing", function() { return __WEBPACK_IMPORTED_MODULE_0__type_r__["doNothing"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "FunctionType", function() { return __WEBPACK_IMPORTED_MODULE_0__type_r__["FunctionType"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "SharedType", function() { return __WEBPACK_IMPORTED_MODULE_0__type_r__["SharedType"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "setAttribute", function() { return __WEBPACK_IMPORTED_MODULE_0__type_r__["setAttribute"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "UpdateRecordMixin", function() { return __WEBPACK_IMPORTED_MODULE_0__type_r__["UpdateRecordMixin"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "constructorsMixin", function() { return __WEBPACK_IMPORTED_MODULE_0__type_r__["constructorsMixin"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "shouldBeAnObject", function() { return __WEBPACK_IMPORTED_MODULE_0__type_r__["shouldBeAnObject"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "RecordTransaction", function() { return __WEBPACK_IMPORTED_MODULE_0__type_r__["RecordTransaction"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "ChainableAttributeSpec", function() { return __WEBPACK_IMPORTED_MODULE_0__type_r__["ChainableAttributeSpec"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "toAttributeOptions", function() { return __WEBPACK_IMPORTED_MODULE_0__type_r__["toAttributeOptions"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__backbone__ = __webpack_require__(14); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__rest__ = __webpack_require__(30); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__sync__ = __webpack_require__(31); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__underscore_mixin__ = __webpack_require__(59); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__rest_store__ = __webpack_require__(60); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "Backbone", function() { return __WEBPACK_IMPORTED_MODULE_1__backbone__["d"]; }); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "Store", function() { return __WEBPACK_IMPORTED_MODULE_5__rest_store__["b"]; }); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "LazyStore", function() { return __WEBPACK_IMPORTED_MODULE_5__rest_store__["a"]; }); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "Collection", function() { return __WEBPACK_IMPORTED_MODULE_2__rest__["a"]; }); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "Model", function() { return __WEBPACK_IMPORTED_MODULE_2__rest__["b"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "View", function() { return __WEBPACK_IMPORTED_MODULE_1__backbone__["c"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "Router", function() { return __WEBPACK_IMPORTED_MODULE_1__backbone__["b"]; }); +/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, "History", function() { return __WEBPACK_IMPORTED_MODULE_1__backbone__["a"]; }); + + + + + + + + +var Class = __WEBPACK_IMPORTED_MODULE_0__type_r__["Messenger"]; +var Nested = Object.create(__WEBPACK_IMPORTED_MODULE_0__type_r__, __WEBPACK_IMPORTED_MODULE_0__type_r__["tools"].defaults({ + 'sync': linkProperty(__WEBPACK_IMPORTED_MODULE_3__sync__["a" /* default */], 'sync'), + 'errorPromise': linkProperty(__WEBPACK_IMPORTED_MODULE_3__sync__["a" /* default */], 'errorPromise'), + 'ajax': linkProperty(__WEBPACK_IMPORTED_MODULE_3__sync__["a" /* default */], 'ajax'), + 'history': linkProperty(__WEBPACK_IMPORTED_MODULE_1__backbone__["d" /* default */], 'history'), + 'store': linkProperty(__WEBPACK_IMPORTED_MODULE_0__type_r__["Store"], 'global'), + '$': { + get: function () { return __WEBPACK_IMPORTED_MODULE_1__backbone__["d" /* default */].$; }, + set: function (value) { __WEBPACK_IMPORTED_MODULE_1__backbone__["d" /* default */].$ = __WEBPACK_IMPORTED_MODULE_3__sync__["a" /* default */].$ = value; } + } +}, toProps({ Backbone: __WEBPACK_IMPORTED_MODULE_1__backbone__["d" /* default */], Class: Class, Model: __WEBPACK_IMPORTED_MODULE_2__rest__["b" /* RestModel */], Collection: __WEBPACK_IMPORTED_MODULE_2__rest__["a" /* RestCollection */], LazyStore: __WEBPACK_IMPORTED_MODULE_5__rest_store__["a" /* LazyStore */], Store: __WEBPACK_IMPORTED_MODULE_5__rest_store__["b" /* RestStore */], defaults: defaults }), toProps(__WEBPACK_IMPORTED_MODULE_1__backbone__["d" /* default */]))); +/* harmony default export */ __webpack_exports__["default"] = (Nested); + +function defaults(x) { + return Nested.Model.defaults(x); +} + +__WEBPACK_IMPORTED_MODULE_0__type_r__["MixinsState"].get(Nested.Mixable).merge([Nested.Events]); +Nested.Messenger.mixins.populate(__WEBPACK_IMPORTED_MODULE_1__backbone__["d" /* default */].View, __WEBPACK_IMPORTED_MODULE_1__backbone__["d" /* default */].Router, __WEBPACK_IMPORTED_MODULE_1__backbone__["d" /* default */].History); +Nested.Record.mixins.merge([__WEBPACK_IMPORTED_MODULE_4__underscore_mixin__["b" /* ModelMixin */]]); +Nested.Record.Collection.mixins.merge([__WEBPACK_IMPORTED_MODULE_4__underscore_mixin__["a" /* CollectionMixin */]]); +function linkProperty(Namespace, name) { + return { + get: function () { return Namespace[name]; }, + set: function (value) { Namespace[name] = value; } + }; +} +function toProps(obj) { + return __WEBPACK_IMPORTED_MODULE_0__type_r__["tools"].transform({}, obj, function (x) { return ({ value: x }); }); +} +//# sourceMappingURL=index.js.map + +/***/ }), +/* 27 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Collection; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__object_plus__ = __webpack_require__(1); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__transactions__ = __webpack_require__(2); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__record__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__commons__ = __webpack_require__(13); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__add__ = __webpack_require__(52); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__set__ = __webpack_require__(53); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__remove__ = __webpack_require__(54); + + + + + + + + +var trigger2 = __WEBPACK_IMPORTED_MODULE_1__object_plus__["i" /* eventsApi */].trigger2, on = __WEBPACK_IMPORTED_MODULE_1__object_plus__["i" /* eventsApi */].on, off = __WEBPACK_IMPORTED_MODULE_1__object_plus__["i" /* eventsApi */].off, begin = __WEBPACK_IMPORTED_MODULE_2__transactions__["c" /* transactionApi */].begin, commit = __WEBPACK_IMPORTED_MODULE_2__transactions__["c" /* transactionApi */].commit, markAsDirty = __WEBPACK_IMPORTED_MODULE_2__transactions__["c" /* transactionApi */].markAsDirty, omit = __WEBPACK_IMPORTED_MODULE_1__object_plus__["m" /* tools */].omit, log = __WEBPACK_IMPORTED_MODULE_1__object_plus__["m" /* tools */].log, assign = __WEBPACK_IMPORTED_MODULE_1__object_plus__["m" /* tools */].assign, defaults = __WEBPACK_IMPORTED_MODULE_1__object_plus__["m" /* tools */].defaults, assignToClassProto = __WEBPACK_IMPORTED_MODULE_1__object_plus__["m" /* tools */].assignToClassProto; +var _count = 0; +var slice = Array.prototype.slice; +var CollectionRefsType = (function (_super) { + __WEBPACK_IMPORTED_MODULE_0_tslib__["c" /* __extends */](CollectionRefsType, _super); + function CollectionRefsType() { + return _super !== null && _super.apply(this, arguments) || this; + } + return CollectionRefsType; +}(__WEBPACK_IMPORTED_MODULE_3__record__["m" /* SharedType */])); +CollectionRefsType.defaultValue = []; +var Collection = Collection_1 = (function (_super) { + __WEBPACK_IMPORTED_MODULE_0_tslib__["c" /* __extends */](Collection, _super); + function Collection(records, options, shared) { + if (options === void 0) { options = {}; } + var _this = _super.call(this, _count++) || this; + _this.models = []; + _this._byId = {}; + _this.comparator = _this.comparator; + if (options.comparator !== void 0) { + _this.comparator = options.comparator; + options.comparator = void 0; + } + _this.model = _this.model; + if (options.model) { + _this.model = options.model; + options.model = void 0; + } + _this.idAttribute = _this.model.prototype.idAttribute; + _this._shared = shared || 0; + if (records) { + var elements = toElements(_this, records, options); + Object(__WEBPACK_IMPORTED_MODULE_6__set__["a" /* emptySetTransaction */])(_this, elements, options, true); + } + _this.initialize.apply(_this, arguments); + if (_this._localEvents) + _this._localEvents.subscribe(_this, _this); + return _this; + } + Collection.prototype.createSubset = function (models, options) { + var SubsetOf = this.constructor.subsetOf(this).options.type, subset = new SubsetOf(models, options); + subset.resolve(this); + return subset; + }; + Collection.onExtend = function (BaseClass) { + var Ctor = this; + this._SubsetOf = null; + function RefsCollection(a, b, listen) { + Ctor.call(this, a, b, __WEBPACK_IMPORTED_MODULE_2__transactions__["a" /* ItemsBehavior */].share | (listen ? __WEBPACK_IMPORTED_MODULE_2__transactions__["a" /* ItemsBehavior */].listen : 0)); + } + __WEBPACK_IMPORTED_MODULE_1__object_plus__["d" /* Mixable */].mixins.populate(RefsCollection); + RefsCollection.prototype = this.prototype; + RefsCollection._attribute = CollectionRefsType; + this.Refs = this.Subset = RefsCollection; + __WEBPACK_IMPORTED_MODULE_2__transactions__["b" /* Transactional */].onExtend.call(this, BaseClass); + Object(__WEBPACK_IMPORTED_MODULE_3__record__["s" /* createSharedTypeSpec */])(this, __WEBPACK_IMPORTED_MODULE_3__record__["m" /* SharedType */]); + }; + Collection.onDefine = function (definition, BaseClass) { + if (definition.itemEvents) { + var eventsMap = new __WEBPACK_IMPORTED_MODULE_1__object_plus__["a" /* EventMap */](BaseClass.prototype._itemEvents); + eventsMap.addEventsMap(definition.itemEvents); + this.prototype._itemEvents = eventsMap; + } + if (definition.comparator) + this.prototype.comparator = definition.comparator; + __WEBPACK_IMPORTED_MODULE_2__transactions__["b" /* Transactional */].onDefine.call(this, definition); + }; + Object.defineProperty(Collection.prototype, "__inner_state__", { + get: function () { return this.models; }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Collection.prototype, "comparator", { + get: function () { return this._comparator; }, + set: function (x) { + var _this = this; + var compare; + switch (typeof x) { + case 'string': + this._comparator = function (a, b) { + var aa = a[x], bb = b[x]; + if (aa === bb) + return 0; + return aa < bb ? -1 : +1; + }; + break; + case 'function': + if (x.length === 1) { + this._comparator = function (a, b) { + var aa = x.call(_this, a), bb = x.call(_this, b); + if (aa === bb) + return 0; + return aa < bb ? -1 : +1; + }; + } + else { + this._comparator = function (a, b) { return x.call(_this, a, b); }; + } + break; + default: + this._comparator = null; + } + }, + enumerable: true, + configurable: true + }); + Collection.prototype.getStore = function () { + return this._store || (this._store = this._owner ? this._owner.getStore() : this._defaultStore); + }; + Collection.prototype._onChildrenChange = function (record, options, initiator) { + if (options === void 0) { options = {}; } + if (initiator === this) + return; + var idAttribute = this.idAttribute; + if (record.hasChanged(idAttribute)) { + Object(__WEBPACK_IMPORTED_MODULE_4__commons__["j" /* updateIndex */])(this._byId, record); + } + var isRoot = begin(this); + if (markAsDirty(this, options)) { + trigger2(this, 'change', record, options); + } + isRoot && commit(this); + }; + Collection.prototype.get = function (objOrId) { + if (objOrId == null) + return; + if (typeof objOrId === 'object') { + var id = objOrId[this.idAttribute]; + return (id !== void 0 && this._byId[id]) || this._byId[objOrId.cid]; + } + else { + return this._byId[objOrId]; + } + }; + Collection.prototype.each = function (iteratee, context) { + var fun = bindContext(iteratee, context), models = this.models; + for (var i = 0; i < models.length; i++) { + fun(models[i], i); + } + }; + Collection.prototype.every = function (iteratee, context) { + var fun = toPredicateFunction(iteratee, context), models = this.models; + for (var i = 0; i < models.length; i++) { + if (!fun(models[i], i)) + return false; + } + return true; + }; + Collection.prototype.filter = function (iteratee, context) { + var fun = toPredicateFunction(iteratee, context), models = this.models; + return this.map(function (x, i) { return fun(x, i) ? x : void 0; }); + }; + Collection.prototype.find = function (iteratee, context) { + var fun = toPredicateFunction(iteratee, context), models = this.models; + for (var i = 0; i < models.length; i++) { + if (fun(models[i], i)) + return models[i]; + } + return null; + }; + Collection.prototype.some = function (iteratee, context) { + return Boolean(this.find(iteratee, context)); + }; + Collection.prototype.map = function (iteratee, context) { + var fun = bindContext(iteratee, context), models = this.models, mapped = Array(models.length); + var j = 0; + for (var i = 0; i < models.length; i++) { + var x = fun(models[i], i); + x === void 0 || (mapped[j++] = x); + } + mapped.length = j; + return mapped; + }; + Collection.prototype._validateNested = function (errors) { + if (this._shared) + return 0; + var count = 0; + this.each(function (record) { + var error = record.validationError; + if (error) { + errors[record.cid] = error; + count++; + } + }); + return count; + }; + Collection.prototype.initialize = function () { }; + Object.defineProperty(Collection.prototype, "length", { + get: function () { return this.models.length; }, + enumerable: true, + configurable: true + }); + Collection.prototype.first = function () { return this.models[0]; }; + Collection.prototype.last = function () { return this.models[this.models.length - 1]; }; + Collection.prototype.at = function (a_index) { + var index = a_index < 0 ? a_index + this.models.length : a_index; + return this.models[index]; + }; + Collection.prototype.clone = function (options) { + if (options === void 0) { options = {}; } + var models = this._shared & __WEBPACK_IMPORTED_MODULE_2__transactions__["a" /* ItemsBehavior */].share ? this.models : this.map(function (model) { return model.clone(); }), copy = new this.constructor(models, { model: this.model, comparator: this.comparator }, this._shared); + if (options.pinStore) + copy._defaultStore = this.getStore(); + return copy; + }; + Collection.prototype.toJSON = function () { + return this.models.map(function (model) { return model.toJSON(); }); + }; + Collection.prototype.set = function (elements, options) { + if (elements === void 0) { elements = []; } + if (options === void 0) { options = {}; } + if (options.add !== void 0) { + this._log('warn', "Collection.set doesn't support 'add' option, behaving as if options.add === true.", options); + } + if (options.reset) { + this.reset(elements, options); + } + else { + var transaction = this._createTransaction(elements, options); + transaction && transaction.commit(); + } + return this; + }; + Collection.prototype.dispose = function () { + if (this._disposed) + return; + var aggregated = !this._shared; + for (var _i = 0, _a = this.models; _i < _a.length; _i++) { + var record = _a[_i]; + Object(__WEBPACK_IMPORTED_MODULE_4__commons__["e" /* free */])(this, record); + if (aggregated) + record.dispose(); + } + _super.prototype.dispose.call(this); + }; + Collection.prototype.reset = function (a_elements, options) { + if (options === void 0) { options = {}; } + var isRoot = begin(this), previousModels = Object(__WEBPACK_IMPORTED_MODULE_4__commons__["d" /* dispose */])(this); + if (a_elements) { + Object(__WEBPACK_IMPORTED_MODULE_6__set__["a" /* emptySetTransaction */])(this, toElements(this, a_elements, options), options, true); + } + markAsDirty(this, options); + options.silent || trigger2(this, 'reset', this, defaults({ previousModels: previousModels }, options)); + isRoot && commit(this); + return this.models; + }; + Collection.prototype.add = function (a_elements, options) { + if (options === void 0) { options = {}; } + var elements = toElements(this, a_elements, options), transaction = this.models.length ? + Object(__WEBPACK_IMPORTED_MODULE_5__add__["a" /* addTransaction */])(this, elements, options) : + Object(__WEBPACK_IMPORTED_MODULE_6__set__["a" /* emptySetTransaction */])(this, elements, options); + if (transaction) { + transaction.commit(); + return transaction.added; + } + }; + Collection.prototype.remove = function (recordsOrIds, options) { + if (options === void 0) { options = {}; } + if (recordsOrIds) { + return Array.isArray(recordsOrIds) ? + Object(__WEBPACK_IMPORTED_MODULE_7__remove__["a" /* removeMany */])(this, recordsOrIds, options) : + Object(__WEBPACK_IMPORTED_MODULE_7__remove__["b" /* removeOne */])(this, recordsOrIds, options); + } + return []; + }; + Collection.prototype._createTransaction = function (a_elements, options) { + if (options === void 0) { options = {}; } + var elements = toElements(this, a_elements, options); + if (this.models.length) { + return options.remove === false ? + Object(__WEBPACK_IMPORTED_MODULE_5__add__["a" /* addTransaction */])(this, elements, options, true) : + Object(__WEBPACK_IMPORTED_MODULE_6__set__["b" /* setTransaction */])(this, elements, options); + } + else { + return Object(__WEBPACK_IMPORTED_MODULE_6__set__["a" /* emptySetTransaction */])(this, elements, options); + } + }; + Collection.prototype.pluck = function (key) { + return this.models.map(function (model) { return model[key]; }); + }; + Collection.prototype.sort = function (options) { + if (options === void 0) { options = {}; } + if (Object(__WEBPACK_IMPORTED_MODULE_4__commons__["i" /* sortElements */])(this, options)) { + var isRoot = begin(this); + if (markAsDirty(this, options)) { + trigger2(this, 'sort', this, options); + } + isRoot && commit(this); + } + return this; + }; + Collection.prototype.push = function (model, options) { + return this.add(model, assign({ at: this.length }, options)); + }; + Collection.prototype.pop = function (options) { + var model = this.at(this.length - 1); + this.remove(model, __WEBPACK_IMPORTED_MODULE_0_tslib__["a" /* __assign */]({ unset: true }, options)); + return model; + }; + Collection.prototype.unset = function (modelOrId, options) { + var value = this.get(modelOrId); + this.remove(modelOrId, __WEBPACK_IMPORTED_MODULE_0_tslib__["a" /* __assign */]({ unset: true }, options)); + return value; + }; + Collection.prototype.unshift = function (model, options) { + return this.add(model, assign({ at: 0 }, options)); + }; + Collection.prototype.shift = function (options) { + var model = this.at(0); + this.remove(model, __WEBPACK_IMPORTED_MODULE_0_tslib__["a" /* __assign */]({ unset: true }, options)); + return model; + }; + Collection.prototype.slice = function () { + return slice.apply(this.models, arguments); + }; + Collection.prototype.indexOf = function (modelOrId) { + var record = this.get(modelOrId); + return this.models.indexOf(record); + }; + Collection.prototype.modelId = function (attrs) { + return attrs[this.model.prototype.idAttribute]; + }; + Collection.prototype.toggle = function (model, a_next) { + var prev = Boolean(this.get(model)), next = a_next === void 0 ? !prev : Boolean(a_next); + if (prev !== next) { + if (prev) { + this.remove(model); + } + else { + this.add(model); + } + } + return next; + }; + Collection.prototype._log = function (level, text, value) { + __WEBPACK_IMPORTED_MODULE_1__object_plus__["m" /* tools */].log(level, "[Collection Update] " + this.model.prototype.getClassName() + "." + this.getClassName() + ": " + text, { + Argument: value, + 'Attributes spec': this.model.prototype._attributes + }); + }; + Collection.prototype.getClassName = function () { + return _super.prototype.getClassName.call(this) || 'Collection'; + }; + return Collection; +}(__WEBPACK_IMPORTED_MODULE_2__transactions__["b" /* Transactional */])); +Collection._attribute = __WEBPACK_IMPORTED_MODULE_3__record__["a" /* AggregatedType */]; +Collection = Collection_1 = __WEBPACK_IMPORTED_MODULE_0_tslib__["b" /* __decorate */]([ + Object(__WEBPACK_IMPORTED_MODULE_1__object_plus__["f" /* define */])({ + cidPrefix: 'c', + model: __WEBPACK_IMPORTED_MODULE_3__record__["k" /* Record */], + _changeEventName: 'changes', + _aggregationError: null + }), + Object(__WEBPACK_IMPORTED_MODULE_1__object_plus__["h" /* definitions */])({ + comparator: __WEBPACK_IMPORTED_MODULE_1__object_plus__["j" /* mixinRules */].value, + model: __WEBPACK_IMPORTED_MODULE_1__object_plus__["j" /* mixinRules */].protoValue, + itemEvents: __WEBPACK_IMPORTED_MODULE_1__object_plus__["j" /* mixinRules */].merge + }) +], Collection); + +function toElements(collection, elements, options) { + var parsed = options.parse ? collection.parse(elements, options) : elements; + return Array.isArray(parsed) ? parsed : [parsed]; +} +Object(__WEBPACK_IMPORTED_MODULE_3__record__["s" /* createSharedTypeSpec */])(Collection, __WEBPACK_IMPORTED_MODULE_3__record__["m" /* SharedType */]); +__WEBPACK_IMPORTED_MODULE_3__record__["k" /* Record */].Collection = Collection; +function bindContext(fun, context) { + return context !== void 0 ? function (v, k) { return fun.call(context, v, k); } : fun; +} +function toPredicateFunction(iteratee, context) { + if (typeof iteratee === 'object') { + return function (x) { + for (var key in iteratee) { + if (iteratee[key] !== x[key]) + return false; + } + return true; + }; + } + return bindContext(iteratee, context); +} +var Collection_1; +//# sourceMappingURL=index.js.map + +/***/ }), +/* 28 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (immutable) */ __webpack_exports__["a"] = parseReference; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__traversable__ = __webpack_require__(20); + +function parseReference(collectionRef) { + switch (typeof collectionRef) { + case 'function': + return function (root) { return collectionRef.call(root); }; + case 'object': + return function () { return collectionRef; }; + case 'string': + var resolve = new __WEBPACK_IMPORTED_MODULE_0__traversable__["a" /* CompiledReference */](collectionRef).resolve; + return resolve; + } +} +//# sourceMappingURL=commons.js.map + +/***/ }), +/* 29 */ +/***/ (function(module, exports, __webpack_require__) { + +var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! + * jQuery JavaScript Library v2.2.4 + * http://jquery.com/ + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2016-05-20T17:23Z + */ + +(function( global, factory ) { + + if ( typeof module === "object" && typeof module.exports === "object" ) { + // For CommonJS and CommonJS-like environments where a proper `window` + // is present, execute the factory and get jQuery. + // For environments that do not have a `window` with a `document` + // (such as Node.js), expose a factory as module.exports. + // This accentuates the need for the creation of a real `window`. + // e.g. var jQuery = require("jquery")(window); + // See ticket #14549 for more info. + module.exports = global.document ? + factory( global, true ) : + function( w ) { + if ( !w.document ) { + throw new Error( "jQuery requires a window with a document" ); + } + return factory( w ); + }; + } else { + factory( global ); + } + +// Pass this if window is not defined yet +}(typeof window !== "undefined" ? window : this, function( window, noGlobal ) { + +// Support: Firefox 18+ +// Can't be in strict mode, several libs including ASP.NET trace +// the stack via arguments.caller.callee and Firefox dies if +// you try to trace through "use strict" call chains. (#13335) +//"use strict"; +var arr = []; + +var document = window.document; + +var slice = arr.slice; + +var concat = arr.concat; + +var push = arr.push; + +var indexOf = arr.indexOf; + +var class2type = {}; + +var toString = class2type.toString; + +var hasOwn = class2type.hasOwnProperty; + +var support = {}; + + + +var + version = "2.2.4", + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + + // The jQuery object is actually just the init constructor 'enhanced' + // Need init if jQuery is called (just allow error to be thrown if not included) + return new jQuery.fn.init( selector, context ); + }, + + // Support: Android<4.1 + // Make sure we trim BOM and NBSP + rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, + + // Matches dashed string for camelizing + rmsPrefix = /^-ms-/, + rdashAlpha = /-([\da-z])/gi, + + // Used by jQuery.camelCase as callback to replace() + fcamelCase = function( all, letter ) { + return letter.toUpperCase(); + }; + +jQuery.fn = jQuery.prototype = { + + // The current version of jQuery being used + jquery: version, + + constructor: jQuery, + + // Start with an empty selector + selector: "", + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + return num != null ? + + // Return just the one element from the set + ( num < 0 ? this[ num + this.length ] : this[ num ] ) : + + // Return all the elements in a clean array + slice.call( this ); + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + ret.context = this.context; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + each: function( callback ) { + return jQuery.each( this, callback ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map( this, function( elem, i ) { + return callback.call( elem, i, elem ); + } ) ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: arr.sort, + splice: arr.splice +}; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[ 0 ] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // Skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !jQuery.isFunction( target ) ) { + target = {}; + } + + // Extend jQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + + // Only deal with non-null/undefined values + if ( ( options = arguments[ i ] ) != null ) { + + // Extend the base object + for ( name in options ) { + src = target[ name ]; + copy = options[ name ]; + + // Prevent never-ending loop + if ( target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject( copy ) || + ( copyIsArray = jQuery.isArray( copy ) ) ) ) { + + if ( copyIsArray ) { + copyIsArray = false; + clone = src && jQuery.isArray( src ) ? src : []; + + } else { + clone = src && jQuery.isPlainObject( src ) ? src : {}; + } + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend( { + + // Unique for each copy of jQuery on the page + expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume jQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + isFunction: function( obj ) { + return jQuery.type( obj ) === "function"; + }, + + isArray: Array.isArray, + + isWindow: function( obj ) { + return obj != null && obj === obj.window; + }, + + isNumeric: function( obj ) { + + // parseFloat NaNs numeric-cast false positives (null|true|false|"") + // ...but misinterprets leading-number strings, particularly hex literals ("0x...") + // subtraction forces infinities to NaN + // adding 1 corrects loss of precision from parseFloat (#15100) + var realStringObj = obj && obj.toString(); + return !jQuery.isArray( obj ) && ( realStringObj - parseFloat( realStringObj ) + 1 ) >= 0; + }, + + isPlainObject: function( obj ) { + var key; + + // Not plain objects: + // - Any object or value whose internal [[Class]] property is not "[object Object]" + // - DOM nodes + // - window + if ( jQuery.type( obj ) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) { + return false; + } + + // Not own constructor property must be Object + if ( obj.constructor && + !hasOwn.call( obj, "constructor" ) && + !hasOwn.call( obj.constructor.prototype || {}, "isPrototypeOf" ) ) { + return false; + } + + // Own properties are enumerated firstly, so to speed up, + // if last one is own, then all properties are own + for ( key in obj ) {} + + return key === undefined || hasOwn.call( obj, key ); + }, + + isEmptyObject: function( obj ) { + var name; + for ( name in obj ) { + return false; + } + return true; + }, + + type: function( obj ) { + if ( obj == null ) { + return obj + ""; + } + + // Support: Android<4.0, iOS<6 (functionish RegExp) + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call( obj ) ] || "object" : + typeof obj; + }, + + // Evaluates a script in a global context + globalEval: function( code ) { + var script, + indirect = eval; + + code = jQuery.trim( code ); + + if ( code ) { + + // If the code includes a valid, prologue position + // strict mode pragma, execute code by injecting a + // script tag into the document. + if ( code.indexOf( "use strict" ) === 1 ) { + script = document.createElement( "script" ); + script.text = code; + document.head.appendChild( script ).parentNode.removeChild( script ); + } else { + + // Otherwise, avoid the DOM node creation, insertion + // and removal by using an indirect global eval + + indirect( code ); + } + } + }, + + // Convert dashed to camelCase; used by the css and data modules + // Support: IE9-11+ + // Microsoft forgot to hump their vendor prefix (#9572) + camelCase: function( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); + }, + + nodeName: function( elem, name ) { + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + }, + + each: function( obj, callback ) { + var length, i = 0; + + if ( isArrayLike( obj ) ) { + length = obj.length; + for ( ; i < length; i++ ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } else { + for ( i in obj ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } + + return obj; + }, + + // Support: Android<4.1 + trim: function( text ) { + return text == null ? + "" : + ( text + "" ).replace( rtrim, "" ); + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArrayLike( Object( arr ) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + return arr == null ? -1 : indexOf.call( arr, elem, i ); + }, + + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + for ( ; j < len; j++ ) { + first[ i++ ] = second[ j ]; + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var length, value, + i = 0, + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArrayLike( elems ) ) { + length = elems.length; + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // Bind a function to a context, optionally partially applying any + // arguments. + proxy: function( fn, context ) { + var tmp, args, proxy; + + if ( typeof context === "string" ) { + tmp = fn[ context ]; + context = fn; + fn = tmp; + } + + // Quick check to determine if target is callable, in the spec + // this throws a TypeError, but we will just return undefined. + if ( !jQuery.isFunction( fn ) ) { + return undefined; + } + + // Simulated bind + args = slice.call( arguments, 2 ); + proxy = function() { + return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); + }; + + // Set the guid of unique handler to the same of original handler, so it can be removed + proxy.guid = fn.guid = fn.guid || jQuery.guid++; + + return proxy; + }, + + now: Date.now, + + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support +} ); + +// JSHint would error on this code due to the Symbol not being defined in ES5. +// Defining this global in .jshintrc would create a danger of using the global +// unguarded in another place, it seems safer to just disable JSHint for these +// three lines. +/* jshint ignore: start */ +if ( typeof Symbol === "function" ) { + jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; +} +/* jshint ignore: end */ + +// Populate the class2type map +jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), +function( i, name ) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +} ); + +function isArrayLike( obj ) { + + // Support: iOS 8.2 (not reproducible in simulator) + // `in` check used to prevent JIT error (gh-2145) + // hasOwn isn't used here due to false negatives + // regarding Nodelist length in IE + var length = !!obj && "length" in obj && obj.length, + type = jQuery.type( obj ); + + if ( type === "function" || jQuery.isWindow( obj ) ) { + return false; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; +} +var Sizzle = +/*! + * Sizzle CSS Selector Engine v2.2.1 + * http://sizzlejs.com/ + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2015-10-17 + */ +(function( window ) { + +var i, + support, + Expr, + getText, + isXML, + tokenize, + compile, + select, + outermostContext, + sortInput, + hasDuplicate, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + 1 * new Date(), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + } + return 0; + }, + + // General-purpose constants + MAX_NEGATIVE = 1 << 31, + + // Instance methods + hasOwn = ({}).hasOwnProperty, + arr = [], + pop = arr.pop, + push_native = arr.push, + push = arr.push, + slice = arr.slice, + // Use a stripped-down indexOf as it's faster than native + // http://jsperf.com/thor-indexof-vs-for/5 + indexOf = function( list, elem ) { + var i = 0, + len = list.length; + for ( ; i < len; i++ ) { + if ( list[i] === elem ) { + return i; + } + } + return -1; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + + // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier + identifier = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", + + // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + + // Operator (capture 2) + "*([*^$|!~]?=)" + whitespace + + // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + + "*\\]", + + pseudos = ":(" + identifier + ")(?:\\((" + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: + // 1. quoted (capture 3; capture 4 or capture 5) + "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + // 2. simple (capture 6) + "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + // 3. anything else (capture 2) + ".*" + + ")\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rwhitespace = new RegExp( whitespace + "+", "g" ), + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), + + rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + identifier + ")" ), + "CLASS": new RegExp( "^\\.(" + identifier + ")" ), + "TAG": new RegExp( "^(" + identifier + "|[*])" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rsibling = /[+~]/, + rescape = /'|\\/g, + + // CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), + funescape = function( _, escaped, escapedWhitespace ) { + var high = "0x" + escaped - 0x10000; + // NaN means non-codepoint + // Support: Firefox<24 + // Workaround erroneous numeric interpretation of +"0x" + return high !== high || escapedWhitespace ? + escaped : + high < 0 ? + // BMP codepoint + String.fromCharCode( high + 0x10000 ) : + // Supplemental Plane codepoint (surrogate pair) + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }, + + // Used for iframes + // See setDocument() + // Removing the function wrapper causes a "Permission Denied" + // error in IE + unloadHandler = function() { + setDocument(); + }; + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + (arr = slice.call( preferredDoc.childNodes )), + preferredDoc.childNodes + ); + // Support: Android<4.0 + // Detect silently failing push.apply + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { apply: arr.length ? + + // Leverage slice if possible + function( target, els ) { + push_native.apply( target, slice.call(els) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + // Can't trust NodeList.length + while ( (target[j++] = els[i++]) ) {} + target.length = j - 1; + } + }; +} + +function Sizzle( selector, context, results, seed ) { + var m, i, elem, nid, nidselect, match, groups, newSelector, + newContext = context && context.ownerDocument, + + // nodeType defaults to 9, since context defaults to document + nodeType = context ? context.nodeType : 9; + + results = results || []; + + // Return early from calls with invalid selector or context + if ( typeof selector !== "string" || !selector || + nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { + + return results; + } + + // Try to shortcut find operations (as opposed to filters) in HTML documents + if ( !seed ) { + + if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { + setDocument( context ); + } + context = context || document; + + if ( documentIsHTML ) { + + // If the selector is sufficiently simple, try using a "get*By*" DOM method + // (excepting DocumentFragment context, where the methods don't exist) + if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) { + + // ID selector + if ( (m = match[1]) ) { + + // Document context + if ( nodeType === 9 ) { + if ( (elem = context.getElementById( m )) ) { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + + // Element context + } else { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( newContext && (elem = newContext.getElementById( m )) && + contains( context, elem ) && + elem.id === m ) { + + results.push( elem ); + return results; + } + } + + // Type selector + } else if ( match[2] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Class selector + } else if ( (m = match[3]) && support.getElementsByClassName && + context.getElementsByClassName ) { + + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // Take advantage of querySelectorAll + if ( support.qsa && + !compilerCache[ selector + " " ] && + (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { + + if ( nodeType !== 1 ) { + newContext = context; + newSelector = selector; + + // qSA looks outside Element context, which is not what we want + // Thanks to Andrew Dupont for this workaround technique + // Support: IE <=8 + // Exclude object elements + } else if ( context.nodeName.toLowerCase() !== "object" ) { + + // Capture the context ID, setting it first if necessary + if ( (nid = context.getAttribute( "id" )) ) { + nid = nid.replace( rescape, "\\$&" ); + } else { + context.setAttribute( "id", (nid = expando) ); + } + + // Prefix every selector in the list + groups = tokenize( selector ); + i = groups.length; + nidselect = ridentifier.test( nid ) ? "#" + nid : "[id='" + nid + "']"; + while ( i-- ) { + groups[i] = nidselect + " " + toSelector( groups[i] ); + } + newSelector = groups.join( "," ); + + // Expand context for sibling selectors + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || + context; + } + + if ( newSelector ) { + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch ( qsaError ) { + } finally { + if ( nid === expando ) { + context.removeAttribute( "id" ); + } + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {function(string, object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var keys = []; + + function cache( key, value ) { + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key + " " ) > Expr.cacheLength ) { + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return (cache[ key + " " ] = value); + } + return cache; +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created div and expects a boolean result + */ +function assert( fn ) { + var div = document.createElement("div"); + + try { + return !!fn( div ); + } catch (e) { + return false; + } finally { + // Remove from its parent by default + if ( div.parentNode ) { + div.parentNode.removeChild( div ); + } + // release memory in IE + div = null; + } +} + +/** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ +function addHandle( attrs, handler ) { + var arr = attrs.split("|"), + i = arr.length; + + while ( i-- ) { + Expr.attrHandle[ arr[i] ] = handler; + } +} + +/** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + ( ~b.sourceIndex || MAX_NEGATIVE ) - + ( ~a.sourceIndex || MAX_NEGATIVE ); + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( (cur = cur.nextSibling) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for positionals + * @param {Function} fn + */ +function createPositionalPseudo( fn ) { + return markFunction(function( argument ) { + argument = +argument; + return markFunction(function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ (j = matchIndexes[i]) ] ) { + seed[j] = !(matches[j] = seed[j]); + } + } + }); + }); +} + +/** + * Checks a node for validity as a Sizzle context + * @param {Element|Object=} context + * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value + */ +function testContext( context ) { + return context && typeof context.getElementsByTagName !== "undefined" && context; +} + +// Expose support vars for convenience +support = Sizzle.support = {}; + +/** + * Detects XML nodes + * @param {Element|Object} elem An element or a document + * @returns {Boolean} True iff elem is a non-HTML XML node + */ +isXML = Sizzle.isXML = function( elem ) { + // documentElement is verified for cases where it doesn't yet exist + // (such as loading iframes in IE - #4833) + var documentElement = elem && (elem.ownerDocument || elem).documentElement; + return documentElement ? documentElement.nodeName !== "HTML" : false; +}; + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +setDocument = Sizzle.setDocument = function( node ) { + var hasCompare, parent, + doc = node ? node.ownerDocument || node : preferredDoc; + + // Return early if doc is invalid or already selected + if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Update global variables + document = doc; + docElem = document.documentElement; + documentIsHTML = !isXML( document ); + + // Support: IE 9-11, Edge + // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) + if ( (parent = document.defaultView) && parent.top !== parent ) { + // Support: IE 11 + if ( parent.addEventListener ) { + parent.addEventListener( "unload", unloadHandler, false ); + + // Support: IE 9 - 10 only + } else if ( parent.attachEvent ) { + parent.attachEvent( "onunload", unloadHandler ); + } + } + + /* Attributes + ---------------------------------------------------------------------- */ + + // Support: IE<8 + // Verify that getAttribute really returns attributes and not properties + // (excepting IE8 booleans) + support.attributes = assert(function( div ) { + div.className = "i"; + return !div.getAttribute("className"); + }); + + /* getElement(s)By* + ---------------------------------------------------------------------- */ + + // Check if getElementsByTagName("*") returns only elements + support.getElementsByTagName = assert(function( div ) { + div.appendChild( document.createComment("") ); + return !div.getElementsByTagName("*").length; + }); + + // Support: IE<9 + support.getElementsByClassName = rnative.test( document.getElementsByClassName ); + + // Support: IE<10 + // Check if getElementById returns elements by name + // The broken getElementById methods don't pick up programatically-set names, + // so use a roundabout getElementsByName test + support.getById = assert(function( div ) { + docElem.appendChild( div ).id = expando; + return !document.getElementsByName || !document.getElementsByName( expando ).length; + }); + + // ID find and filter + if ( support.getById ) { + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var m = context.getElementById( id ); + return m ? [ m ] : []; + } + }; + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute("id") === attrId; + }; + }; + } else { + // Support: IE6/7 + // getElementById is not reliable as a find shortcut + delete Expr.find["ID"]; + + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== "undefined" && + elem.getAttributeNode("id"); + return node && node.value === attrId; + }; + }; + } + + // Tag + Expr.find["TAG"] = support.getElementsByTagName ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( tag ); + + // DocumentFragment nodes don't have gEBTN + } else if ( support.qsa ) { + return context.querySelectorAll( tag ); + } + } : + + function( tag, context ) { + var elem, + tmp = [], + i = 0, + // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too + results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + while ( (elem = results[i++]) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Class + Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { + if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + /* QSA/matchesSelector + ---------------------------------------------------------------------- */ + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21) + // We allow this because of a bug in IE8/9 that throws an error + // whenever `document.activeElement` is accessed on an iframe + // So, we allow :focus to pass through QSA all the time to avoid the IE error + // See http://bugs.jquery.com/ticket/13378 + rbuggyQSA = []; + + if ( (support.qsa = rnative.test( document.querySelectorAll )) ) { + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert(function( div ) { + // Select is set to empty string on purpose + // This is to test IE's treatment of not explicitly + // setting a boolean content attribute, + // since its presence should be enough + // http://bugs.jquery.com/ticket/12359 + docElem.appendChild( div ).innerHTML = "" + + ""; + + // Support: IE8, Opera 11-12.16 + // Nothing should be selected when empty strings follow ^= or $= or *= + // The test attribute must be unknown in Opera but "safe" for WinRT + // http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section + if ( div.querySelectorAll("[msallowcapture^='']").length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); + } + + // Support: IE8 + // Boolean attributes and "value" are not treated correctly + if ( !div.querySelectorAll("[selected]").length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); + } + + // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ + if ( !div.querySelectorAll( "[id~=" + expando + "-]" ).length ) { + rbuggyQSA.push("~="); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !div.querySelectorAll(":checked").length ) { + rbuggyQSA.push(":checked"); + } + + // Support: Safari 8+, iOS 8+ + // https://bugs.webkit.org/show_bug.cgi?id=136851 + // In-page `selector#id sibing-combinator selector` fails + if ( !div.querySelectorAll( "a#" + expando + "+*" ).length ) { + rbuggyQSA.push(".#.+[+~]"); + } + }); + + assert(function( div ) { + // Support: Windows 8 Native Apps + // The type and name attributes are restricted during .innerHTML assignment + var input = document.createElement("input"); + input.setAttribute( "type", "hidden" ); + div.appendChild( input ).setAttribute( "name", "D" ); + + // Support: IE8 + // Enforce case-sensitivity of name attribute + if ( div.querySelectorAll("[name=d]").length ) { + rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( !div.querySelectorAll(":enabled").length ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Opera 10-11 does not throw on post-comma invalid pseudos + div.querySelectorAll("*,:x"); + rbuggyQSA.push(",.*:"); + }); + } + + if ( (support.matchesSelector = rnative.test( (matches = docElem.matches || + docElem.webkitMatchesSelector || + docElem.mozMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector) )) ) { + + assert(function( div ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( div, "div" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( div, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + }); + } + + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); + + /* Contains + ---------------------------------------------------------------------- */ + hasCompare = rnative.test( docElem.compareDocumentPosition ); + + // Element contains another + // Purposefully self-exclusive + // As in, an element does not contain itself + contains = hasCompare || rnative.test( docElem.contains ) ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + )); + } : + function( a, b ) { + if ( b ) { + while ( (b = b.parentNode) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = hasCompare ? + function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + // Sort on method existence if only one input has compareDocumentPosition + var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; + if ( compare ) { + return compare; + } + + // Calculate position if both inputs belong to the same document + compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ? + a.compareDocumentPosition( b ) : + + // Otherwise we know they are disconnected + 1; + + // Disconnected nodes + if ( compare & 1 || + (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { + + // Choose the first element that is related to our preferred document + if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) { + return -1; + } + if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + } : + function( a, b ) { + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Parentless nodes are either documents or disconnected + if ( !aup || !bup ) { + return a === document ? -1 : + b === document ? 1 : + aup ? -1 : + bup ? 1 : + sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( (cur = cur.parentNode) ) { + ap.unshift( cur ); + } + cur = b; + while ( (cur = cur.parentNode) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[i] === bp[i] ) { + i++; + } + + return i ? + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[i], bp[i] ) : + + // Otherwise nodes in our document sort first + ap[i] === preferredDoc ? -1 : + bp[i] === preferredDoc ? 1 : + 0; + }; + + return document; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + // Make sure that attribute selectors are quoted + expr = expr.replace( rattributeQuotes, "='$1']" ); + + if ( support.matchesSelector && documentIsHTML && + !compilerCache[ expr + " " ] && + ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch (e) {} + } + + return Sizzle( expr, document, null, [ elem ] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + // Set document vars if needed + if ( ( context.ownerDocument || context ) !== document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + var fn = Expr.attrHandle[ name.toLowerCase() ], + // Don't get fooled by Object.prototype properties (jQuery #13807) + val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, !documentIsHTML ) : + undefined; + + return val !== undefined ? + val : + support.attributes || !documentIsHTML ? + elem.getAttribute( name ) : + (val = elem.getAttributeNode(name)) && val.specified ? + val.value : + null; +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + sortInput = !support.sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( (elem = results[i++]) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + // Clear input after sorting to release objects + // See https://github.com/jquery/sizzle/pull/225 + sortInput = null; + + return results; +}; + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + // If no nodeType, this is expected to be an array + while ( (node = elem[i++]) ) { + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + // Use textContent for elements + // innerText usage removed for consistency of new lines (jQuery #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + attrHandle: {}, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[1] = match[1].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape ); + + if ( match[2] === "~=" ) { + match[3] = " " + match[3] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[1] = match[1].toLowerCase(); + + if ( match[1].slice( 0, 3 ) === "nth" ) { + // nth-* requires argument + if ( !match[3] ) { + Sizzle.error( match[0] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); + match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); + + // other types prohibit arguments + } else if ( match[3] ) { + Sizzle.error( match[0] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[6] && match[2]; + + if ( matchExpr["CHILD"].test( match[0] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[3] ) { + match[2] = match[4] || match[5] || ""; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + // Get excess from tokenize (recursively) + (excess = tokenize( unquoted, true )) && + // advance to the next closing parenthesis + (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { + + // excess is a negative index + match[0] = match[0].slice( 0, excess ); + match[2] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeNameSelector ) { + var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { return true; } : + function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && + classCache( className, function( elem ) { + return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" ); + }); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + }; + }, + + "CHILD": function( type, what, argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, context, xml ) { + var cache, uniqueCache, outerCache, node, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType, + diff = false; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( (node = node[ dir ]) ) { + if ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) { + + return false; + } + } + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + + // Seek `elem` from a previously-cached index + + // ...in a gzip-friendly way + node = parent; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex && cache[ 2 ]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( (node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + (diff = nodeIndex = 0) || start.pop()) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + } else { + // Use previously-cached element index if available + if ( useCache ) { + // ...in a gzip-friendly way + node = elem; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex; + } + + // xml :nth-child(...) + // or :nth-last-child(...) or :nth(-last)?-of-type(...) + if ( diff === false ) { + // Use the same loop as above to seek `elem` from the start + while ( (node = ++nodeIndex && node && node[ dir ] || + (diff = nodeIndex = 0) || start.pop()) ) { + + if ( ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) && + ++diff ) { + + // Cache the index of each encountered element + if ( useCache ) { + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + uniqueCache[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction(function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf( seed, matched[i] ); + seed[ idx ] = !( matches[ idx ] = matched[i] ); + } + }) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + // Potentially complex pseudos + "not": markFunction(function( selector ) { + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction(function( seed, matches, context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( (elem = unmatched[i]) ) { + seed[i] = !(matches[i] = elem); + } + } + }) : + function( elem, context, xml ) { + input[0] = elem; + matcher( input, null, xml, results ); + // Don't keep the element (issue #299) + input[0] = null; + return !results.pop(); + }; + }), + + "has": markFunction(function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + }), + + "contains": markFunction(function( text ) { + text = text.replace( runescape, funescape ); + return function( elem ) { + return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; + }; + }), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + // lang value must be a valid identifier + if ( !ridentifier.test(lang || "") ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( (elemLang = documentIsHTML ? + elem.lang : + elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); + return false; + }; + }), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); + }, + + // Boolean properties + "enabled": function( elem ) { + return elem.disabled === false; + }, + + "disabled": function( elem ) { + return elem.disabled === true; + }, + + "checked": function( elem ) { + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); + }, + + "selected": function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), + // but not by others (comment: 8; processing instruction: 7; etc.) + // nodeType < 6 works because attributes (2) do not appear as children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeType < 6 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos["empty"]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + + // Support: IE<8 + // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" + ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" ); + }, + + // Position-in-collection + "first": createPositionalPseudo(function() { + return [ 0 ]; + }), + + "last": createPositionalPseudo(function( matchIndexes, length ) { + return [ length - 1 ]; + }), + + "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + }), + + "even": createPositionalPseudo(function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "odd": createPositionalPseudo(function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }) + } +}; + +Expr.pseudos["nth"] = Expr.pseudos["eq"]; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +// Easy API for creating new setFilters +function setFilters() {} +setFilters.prototype = Expr.filters = Expr.pseudos; +Expr.setFilters = new setFilters(); + +tokenize = Sizzle.tokenize = function( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || (match = rcomma.exec( soFar )) ) { + if ( match ) { + // Don't consume trailing commas as valid + soFar = soFar.slice( match[0].length ) || soFar; + } + groups.push( (tokens = []) ); + } + + matched = false; + + // Combinators + if ( (match = rcombinators.exec( soFar )) ) { + matched = match.shift(); + tokens.push({ + value: matched, + // Cast descendant combinators to space + type: match[0].replace( rtrim, " " ) + }); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || + (match = preFilters[ type ]( match ))) ) { + matched = match.shift(); + tokens.push({ + value: matched, + type: type, + matches: match + }); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +}; + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[i].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + checkNonElements = base && dir === "parentNode", + doneName = done++; + + return combinator.first ? + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var oldCache, uniqueCache, outerCache, + newCache = [ dirruns, doneName ]; + + // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching + if ( xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || (elem[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {}); + + if ( (oldCache = uniqueCache[ dir ]) && + oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { + + // Assign to newCache so results back-propagate to previous elements + return (newCache[ 2 ] = oldCache[ 2 ]); + } else { + // Reuse newcache so results back-propagate to previous elements + uniqueCache[ dir ] = newCache; + + // A match means we're done; a fail means we have to keep checking + if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) { + return true; + } + } + } + } + } + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[i]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[0]; +} + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[i], results ); + } + return results; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( (elem = unmatched[i]) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction(function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( (elem = temp[i]) ) { + matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) ) { + // Restore matcherIn since elem is not yet a final match + temp.push( (matcherIn[i] = elem) ); + } + } + postFinder( null, (matcherOut = []), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) && + (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) { + + seed[temp] = !(results[temp] = elem); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + }); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[0].type ], + implicitRelative = leadingRelative || Expr.relative[" "], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + (checkContext = context).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + // Avoid hanging onto element (issue #299) + checkContext = null; + return ret; + } ]; + + for ( ; i < len; i++ ) { + if ( (matcher = Expr.relative[ tokens[i].type ]) ) { + matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; + } else { + matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[j].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" }) + ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + var bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, outermost ) { + var elem, j, matcher, + matchedCount = 0, + i = "0", + unmatched = seed && [], + setMatched = [], + contextBackup = outermostContext, + // We must always have either seed elements or outermost context + elems = seed || byElement && Expr.find["TAG"]( "*", outermost ), + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1), + len = elems.length; + + if ( outermost ) { + outermostContext = context === document || context || outermost; + } + + // Add elements passing elementMatchers directly to results + // Support: IE<9, Safari + // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id + for ( ; i !== len && (elem = elems[i]) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + if ( !context && elem.ownerDocument !== document ) { + setDocument( elem ); + xml = !documentIsHTML; + } + while ( (matcher = elementMatchers[j++]) ) { + if ( matcher( elem, context || document, xml) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + // They will have gone through all possible matchers + if ( (elem = !matcher && elem) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // `i` is now the count of elements visited above, and adding it to `matchedCount` + // makes the latter nonnegative. + matchedCount += i; + + // Apply set filters to unmatched elements + // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` + // equals `i`), unless we didn't visit _any_ elements in the above loop because we have + // no element matchers and no seed. + // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that + // case, which will result in a "00" `matchedCount` that differs from `i` but is also + // numerically zero. + if ( bySet && i !== matchedCount ) { + j = 0; + while ( (matcher = setMatchers[j++]) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !(unmatched[i] || setMatched[i]) ) { + setMatched[i] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + // Generate a function of recursive functions that can be used to check each element + if ( !match ) { + match = tokenize( selector ); + } + i = match.length; + while ( i-- ) { + cached = matcherFromTokens( match[i] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); + + // Save selector and tokenization + cached.selector = selector; + } + return cached; +}; + +/** + * A low-level selection function that works with Sizzle's compiled + * selector functions + * @param {String|Function} selector A selector or a pre-compiled + * selector function built with Sizzle.compile + * @param {Element} context + * @param {Array} [results] + * @param {Array} [seed] A set of elements to match against + */ +select = Sizzle.select = function( selector, context, results, seed ) { + var i, tokens, token, type, find, + compiled = typeof selector === "function" && selector, + match = !seed && tokenize( (selector = compiled.selector || selector) ); + + results = results || []; + + // Try to minimize operations if there is only one selector in the list and no seed + // (the latter of which guarantees us context) + if ( match.length === 1 ) { + + // Reduce context if the leading compound selector is an ID + tokens = match[0] = match[0].slice( 0 ); + if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && + support.getById && context.nodeType === 9 && documentIsHTML && + Expr.relative[ tokens[1].type ] ) { + + context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; + if ( !context ) { + return results; + + // Precompiled matchers will still verify ancestry, so step up a level + } else if ( compiled ) { + context = context.parentNode; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[i]; + + // Abort if we hit a combinator + if ( Expr.relative[ (type = token.type) ] ) { + break; + } + if ( (find = Expr.find[ type ]) ) { + // Search, expanding context for leading sibling combinators + if ( (seed = find( + token.matches[0].replace( runescape, funescape ), + rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context + )) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + + // Compile and execute a filtering function if one is not provided + // Provide `match` to avoid retokenization if we modified the selector above + ( compiled || compile( selector, match ) )( + seed, + context, + !documentIsHTML, + results, + !context || rsibling.test( selector ) && testContext( context.parentNode ) || context + ); + return results; +}; + +// One-time assignments + +// Sort stability +support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; + +// Support: Chrome 14-35+ +// Always assume duplicates if they aren't passed to the comparison function +support.detectDuplicates = !!hasDuplicate; + +// Initialize against the default document +setDocument(); + +// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) +// Detached nodes confoundingly follow *each other* +support.sortDetached = assert(function( div1 ) { + // Should return 1, but returns 4 (following) + return div1.compareDocumentPosition( document.createElement("div") ) & 1; +}); + +// Support: IE<8 +// Prevent attribute/property "interpolation" +// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !assert(function( div ) { + div.innerHTML = ""; + return div.firstChild.getAttribute("href") === "#" ; +}) ) { + addHandle( "type|href|height|width", function( elem, name, isXML ) { + if ( !isXML ) { + return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); + } + }); +} + +// Support: IE<9 +// Use defaultValue in place of getAttribute("value") +if ( !support.attributes || !assert(function( div ) { + div.innerHTML = ""; + div.firstChild.setAttribute( "value", "" ); + return div.firstChild.getAttribute( "value" ) === ""; +}) ) { + addHandle( "value", function( elem, name, isXML ) { + if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { + return elem.defaultValue; + } + }); +} + +// Support: IE<9 +// Use getAttributeNode to fetch booleans when getAttribute lies +if ( !assert(function( div ) { + return div.getAttribute("disabled") == null; +}) ) { + addHandle( booleans, function( elem, name, isXML ) { + var val; + if ( !isXML ) { + return elem[ name ] === true ? name.toLowerCase() : + (val = elem.getAttributeNode( name )) && val.specified ? + val.value : + null; + } + }); +} + +return Sizzle; + +})( window ); + + + +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; +jQuery.expr[ ":" ] = jQuery.expr.pseudos; +jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; + + + +var dir = function( elem, dir, until ) { + var matched = [], + truncate = until !== undefined; + + while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { + if ( elem.nodeType === 1 ) { + if ( truncate && jQuery( elem ).is( until ) ) { + break; + } + matched.push( elem ); + } + } + return matched; +}; + + +var siblings = function( n, elem ) { + var matched = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + matched.push( n ); + } + } + + return matched; +}; + + +var rneedsContext = jQuery.expr.match.needsContext; + +var rsingleTag = ( /^<([\w-]+)\s*\/?>(?:<\/\1>|)$/ ); + + + +var risSimple = /^.[^:#\[\.,]*$/; + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, not ) { + if ( jQuery.isFunction( qualifier ) ) { + return jQuery.grep( elements, function( elem, i ) { + /* jshint -W018 */ + return !!qualifier.call( elem, i, elem ) !== not; + } ); + + } + + if ( qualifier.nodeType ) { + return jQuery.grep( elements, function( elem ) { + return ( elem === qualifier ) !== not; + } ); + + } + + if ( typeof qualifier === "string" ) { + if ( risSimple.test( qualifier ) ) { + return jQuery.filter( qualifier, elements, not ); + } + + qualifier = jQuery.filter( qualifier, elements ); + } + + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) > -1 ) !== not; + } ); +} + +jQuery.filter = function( expr, elems, not ) { + var elem = elems[ 0 ]; + + if ( not ) { + expr = ":not(" + expr + ")"; + } + + return elems.length === 1 && elem.nodeType === 1 ? + jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] : + jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { + return elem.nodeType === 1; + } ) ); +}; + +jQuery.fn.extend( { + find: function( selector ) { + var i, + len = this.length, + ret = [], + self = this; + + if ( typeof selector !== "string" ) { + return this.pushStack( jQuery( selector ).filter( function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + } ) ); + } + + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, self[ i ], ret ); + } + + // Needed because $( selector, context ) becomes $( context ).find( selector ) + ret = this.pushStack( len > 1 ? jQuery.unique( ret ) : ret ); + ret.selector = this.selector ? this.selector + " " + selector : selector; + return ret; + }, + filter: function( selector ) { + return this.pushStack( winnow( this, selector || [], false ) ); + }, + not: function( selector ) { + return this.pushStack( winnow( this, selector || [], true ) ); + }, + is: function( selector ) { + return !!winnow( + this, + + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + typeof selector === "string" && rneedsContext.test( selector ) ? + jQuery( selector ) : + selector || [], + false + ).length; + } +} ); + + +// Initialize a jQuery object + + +// A central reference to the root jQuery(document) +var rootjQuery, + + // A simple way to check for HTML strings + // Prioritize #id over to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/, + + init = jQuery.fn.init = function( selector, context, root ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Method init() accepts an alternate rootjQuery + // so migrate can support jQuery.sub (gh-2101) + root = root || rootjQuery; + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector[ 0 ] === "<" && + selector[ selector.length - 1 ] === ">" && + selector.length >= 3 ) { + + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && ( match[ 1 ] || !context ) ) { + + // HANDLE: $(html) -> $(array) + if ( match[ 1 ] ) { + context = context instanceof jQuery ? context[ 0 ] : context; + + // Option to run scripts is true for back-compat + // Intentionally let the error be thrown if parseHTML is not present + jQuery.merge( this, jQuery.parseHTML( + match[ 1 ], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + + // Properties of context are called as methods if possible + if ( jQuery.isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[ 2 ] ); + + // Support: Blackberry 4.6 + // gEBID returns nodes no longer in the document (#6963) + if ( elem && elem.parentNode ) { + + // Inject the element directly into the jQuery object + this.length = 1; + this[ 0 ] = elem; + } + + this.context = document; + this.selector = selector; + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || root ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this.context = this[ 0 ] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( jQuery.isFunction( selector ) ) { + return root.ready !== undefined ? + root.ready( selector ) : + + // Execute immediately if ready is not present + selector( jQuery ); + } + + if ( selector.selector !== undefined ) { + this.selector = selector.selector; + this.context = selector.context; + } + + return jQuery.makeArray( selector, this ); + }; + +// Give the init function the jQuery prototype for later instantiation +init.prototype = jQuery.fn; + +// Initialize central reference +rootjQuery = jQuery( document ); + + +var rparentsprev = /^(?:parents|prev(?:Until|All))/, + + // Methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend( { + has: function( target ) { + var targets = jQuery( target, this ), + l = targets.length; + + return this.filter( function() { + var i = 0; + for ( ; i < l; i++ ) { + if ( jQuery.contains( this, targets[ i ] ) ) { + return true; + } + } + } ); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + matched = [], + pos = rneedsContext.test( selectors ) || typeof selectors !== "string" ? + jQuery( selectors, context || this.context ) : + 0; + + for ( ; i < l; i++ ) { + for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { + + // Always skip document fragments + if ( cur.nodeType < 11 && ( pos ? + pos.index( cur ) > -1 : + + // Don't pass non-elements to Sizzle + cur.nodeType === 1 && + jQuery.find.matchesSelector( cur, selectors ) ) ) { + + matched.push( cur ); + break; + } + } + } + + return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); + }, + + // Determine the position of an element within the set + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; + } + + // Index in selector + if ( typeof elem === "string" ) { + return indexOf.call( jQuery( elem ), this[ 0 ] ); + } + + // Locate the position of the desired element + return indexOf.call( this, + + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[ 0 ] : elem + ); + }, + + add: function( selector, context ) { + return this.pushStack( + jQuery.uniqueSort( + jQuery.merge( this.get(), jQuery( selector, context ) ) + ) + ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter( selector ) + ); + } +} ); + +function sibling( cur, dir ) { + while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} + return cur; +} + +jQuery.each( { + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return siblings( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return siblings( elem.firstChild ); + }, + contents: function( elem ) { + return elem.contentDocument || jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var matched = jQuery.map( this, fn, until ); + + if ( name.slice( -5 ) !== "Until" ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + matched = jQuery.filter( selector, matched ); + } + + if ( this.length > 1 ) { + + // Remove duplicates + if ( !guaranteedUnique[ name ] ) { + jQuery.uniqueSort( matched ); + } + + // Reverse order for parents* and prev-derivatives + if ( rparentsprev.test( name ) ) { + matched.reverse(); + } + } + + return this.pushStack( matched ); + }; +} ); +var rnotwhite = ( /\S+/g ); + + + +// Convert String-formatted options into Object-formatted ones +function createOptions( options ) { + var object = {}; + jQuery.each( options.match( rnotwhite ) || [], function( _, flag ) { + object[ flag ] = true; + } ); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + createOptions( options ) : + jQuery.extend( {}, options ); + + var // Flag to know if list is currently firing + firing, + + // Last fire value for non-forgettable lists + memory, + + // Flag to know if list was already fired + fired, + + // Flag to prevent firing + locked, + + // Actual callback list + list = [], + + // Queue of execution data for repeatable lists + queue = [], + + // Index of currently firing callback (modified by add/remove as needed) + firingIndex = -1, + + // Fire callbacks + fire = function() { + + // Enforce single-firing + locked = options.once; + + // Execute callbacks for all pending executions, + // respecting firingIndex overrides and runtime changes + fired = firing = true; + for ( ; queue.length; firingIndex = -1 ) { + memory = queue.shift(); + while ( ++firingIndex < list.length ) { + + // Run callback and check for early termination + if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && + options.stopOnFalse ) { + + // Jump to end and forget the data so .add doesn't re-fire + firingIndex = list.length; + memory = false; + } + } + } + + // Forget the data if we're done with it + if ( !options.memory ) { + memory = false; + } + + firing = false; + + // Clean up if we're done firing for good + if ( locked ) { + + // Keep an empty list if we have data for future add calls + if ( memory ) { + list = []; + + // Otherwise, this object is spent + } else { + list = ""; + } + } + }, + + // Actual Callbacks object + self = { + + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + + // If we have memory from a past run, we should fire after adding + if ( memory && !firing ) { + firingIndex = list.length - 1; + queue.push( memory ); + } + + ( function add( args ) { + jQuery.each( args, function( _, arg ) { + if ( jQuery.isFunction( arg ) ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && jQuery.type( arg ) !== "string" ) { + + // Inspect recursively + add( arg ); + } + } ); + } )( arguments ); + + if ( memory && !firing ) { + fire(); + } + } + return this; + }, + + // Remove a callback from the list + remove: function() { + jQuery.each( arguments, function( _, arg ) { + var index; + while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + + // Handle firing indexes + if ( index <= firingIndex ) { + firingIndex--; + } + } + } ); + return this; + }, + + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? + jQuery.inArray( fn, list ) > -1 : + list.length > 0; + }, + + // Remove all callbacks from the list + empty: function() { + if ( list ) { + list = []; + } + return this; + }, + + // Disable .fire and .add + // Abort any current/pending executions + // Clear all callbacks and values + disable: function() { + locked = queue = []; + list = memory = ""; + return this; + }, + disabled: function() { + return !list; + }, + + // Disable .fire + // Also disable .add unless we have memory (since it would have no effect) + // Abort any pending executions + lock: function() { + locked = queue = []; + if ( !memory ) { + list = memory = ""; + } + return this; + }, + locked: function() { + return !!locked; + }, + + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( !locked ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + queue.push( args ); + if ( !firing ) { + fire(); + } + } + return this; + }, + + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; + + +jQuery.extend( { + + Deferred: function( func ) { + var tuples = [ + + // action, add listener, listener list, final state + [ "resolve", "done", jQuery.Callbacks( "once memory" ), "resolved" ], + [ "reject", "fail", jQuery.Callbacks( "once memory" ), "rejected" ], + [ "notify", "progress", jQuery.Callbacks( "memory" ) ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + then: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + return jQuery.Deferred( function( newDefer ) { + jQuery.each( tuples, function( i, tuple ) { + var fn = jQuery.isFunction( fns[ i ] ) && fns[ i ]; + + // deferred[ done | fail | progress ] for forwarding actions to newDefer + deferred[ tuple[ 1 ] ]( function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && jQuery.isFunction( returned.promise ) ) { + returned.promise() + .progress( newDefer.notify ) + .done( newDefer.resolve ) + .fail( newDefer.reject ); + } else { + newDefer[ tuple[ 0 ] + "With" ]( + this === promise ? newDefer.promise() : this, + fn ? [ returned ] : arguments + ); + } + } ); + } ); + fns = null; + } ).promise(); + }, + + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Keep pipe for back-compat + promise.pipe = promise.then; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 3 ]; + + // promise[ done | fail | progress ] = list.add + promise[ tuple[ 1 ] ] = list.add; + + // Handle state + if ( stateString ) { + list.add( function() { + + // state = [ resolved | rejected ] + state = stateString; + + // [ reject_list | resolve_list ].disable; progress_list.lock + }, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock ); + } + + // deferred[ resolve | reject | notify ] + deferred[ tuple[ 0 ] ] = function() { + deferred[ tuple[ 0 ] + "With" ]( this === deferred ? promise : this, arguments ); + return this; + }; + deferred[ tuple[ 0 ] + "With" ] = list.fireWith; + } ); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( subordinate /* , ..., subordinateN */ ) { + var i = 0, + resolveValues = slice.call( arguments ), + length = resolveValues.length, + + // the count of uncompleted subordinates + remaining = length !== 1 || + ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0, + + // the master Deferred. + // If resolveValues consist of only a single Deferred, just use that. + deferred = remaining === 1 ? subordinate : jQuery.Deferred(), + + // Update function for both resolve and progress values + updateFunc = function( i, contexts, values ) { + return function( value ) { + contexts[ i ] = this; + values[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; + if ( values === progressValues ) { + deferred.notifyWith( contexts, values ); + } else if ( !( --remaining ) ) { + deferred.resolveWith( contexts, values ); + } + }; + }, + + progressValues, progressContexts, resolveContexts; + + // Add listeners to Deferred subordinates; treat others as resolved + if ( length > 1 ) { + progressValues = new Array( length ); + progressContexts = new Array( length ); + resolveContexts = new Array( length ); + for ( ; i < length; i++ ) { + if ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) { + resolveValues[ i ].promise() + .progress( updateFunc( i, progressContexts, progressValues ) ) + .done( updateFunc( i, resolveContexts, resolveValues ) ) + .fail( deferred.reject ); + } else { + --remaining; + } + } + } + + // If we're not waiting on anything, resolve the master + if ( !remaining ) { + deferred.resolveWith( resolveContexts, resolveValues ); + } + + return deferred.promise(); + } +} ); + + +// The deferred used on DOM ready +var readyList; + +jQuery.fn.ready = function( fn ) { + + // Add the callback + jQuery.ready.promise().done( fn ); + + return this; +}; + +jQuery.extend( { + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Hold (or release) the ready event + holdReady: function( hold ) { + if ( hold ) { + jQuery.readyWait++; + } else { + jQuery.ready( true ); + } + }, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + + // Trigger any bound ready events + if ( jQuery.fn.triggerHandler ) { + jQuery( document ).triggerHandler( "ready" ); + jQuery( document ).off( "ready" ); + } + } +} ); + +/** + * The ready event handler and self cleanup method + */ +function completed() { + document.removeEventListener( "DOMContentLoaded", completed ); + window.removeEventListener( "load", completed ); + jQuery.ready(); +} + +jQuery.ready.promise = function( obj ) { + if ( !readyList ) { + + readyList = jQuery.Deferred(); + + // Catch cases where $(document).ready() is called + // after the browser event has already occurred. + // Support: IE9-10 only + // Older IE sometimes signals "interactive" too soon + if ( document.readyState === "complete" || + ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { + + // Handle it asynchronously to allow scripts the opportunity to delay ready + window.setTimeout( jQuery.ready ); + + } else { + + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed ); + } + } + return readyList.promise( obj ); +}; + +// Kick off the DOM ready check even if the user does not +jQuery.ready.promise(); + + + + +// Multifunctional method to get and set values of a collection +// The value/s can optionally be executed if it's a function +var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + len = elems.length, + bulk = key == null; + + // Sets many values + if ( jQuery.type( key ) === "object" ) { + chainable = true; + for ( i in key ) { + access( elems, fn, i, key[ i ], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !jQuery.isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < len; i++ ) { + fn( + elems[ i ], key, raw ? + value : + value.call( elems[ i ], i, fn( elems[ i ], key ) ) + ); + } + } + } + + return chainable ? + elems : + + // Gets + bulk ? + fn.call( elems ) : + len ? fn( elems[ 0 ], key ) : emptyGet; +}; +var acceptData = function( owner ) { + + // Accepts only: + // - Node + // - Node.ELEMENT_NODE + // - Node.DOCUMENT_NODE + // - Object + // - Any + /* jshint -W018 */ + return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); +}; + + + + +function Data() { + this.expando = jQuery.expando + Data.uid++; +} + +Data.uid = 1; + +Data.prototype = { + + register: function( owner, initial ) { + var value = initial || {}; + + // If it is a node unlikely to be stringify-ed or looped over + // use plain assignment + if ( owner.nodeType ) { + owner[ this.expando ] = value; + + // Otherwise secure it in a non-enumerable, non-writable property + // configurability must be true to allow the property to be + // deleted with the delete operator + } else { + Object.defineProperty( owner, this.expando, { + value: value, + writable: true, + configurable: true + } ); + } + return owner[ this.expando ]; + }, + cache: function( owner ) { + + // We can accept data for non-element nodes in modern browsers, + // but we should not, see #8335. + // Always return an empty object. + if ( !acceptData( owner ) ) { + return {}; + } + + // Check if the owner object already has a cache + var value = owner[ this.expando ]; + + // If not, create one + if ( !value ) { + value = {}; + + // We can accept data for non-element nodes in modern browsers, + // but we should not, see #8335. + // Always return an empty object. + if ( acceptData( owner ) ) { + + // If it is a node unlikely to be stringify-ed or looped over + // use plain assignment + if ( owner.nodeType ) { + owner[ this.expando ] = value; + + // Otherwise secure it in a non-enumerable property + // configurable must be true to allow the property to be + // deleted when data is removed + } else { + Object.defineProperty( owner, this.expando, { + value: value, + configurable: true + } ); + } + } + } + + return value; + }, + set: function( owner, data, value ) { + var prop, + cache = this.cache( owner ); + + // Handle: [ owner, key, value ] args + if ( typeof data === "string" ) { + cache[ data ] = value; + + // Handle: [ owner, { properties } ] args + } else { + + // Copy the properties one-by-one to the cache object + for ( prop in data ) { + cache[ prop ] = data[ prop ]; + } + } + return cache; + }, + get: function( owner, key ) { + return key === undefined ? + this.cache( owner ) : + owner[ this.expando ] && owner[ this.expando ][ key ]; + }, + access: function( owner, key, value ) { + var stored; + + // In cases where either: + // + // 1. No key was specified + // 2. A string key was specified, but no value provided + // + // Take the "read" path and allow the get method to determine + // which value to return, respectively either: + // + // 1. The entire cache object + // 2. The data stored at the key + // + if ( key === undefined || + ( ( key && typeof key === "string" ) && value === undefined ) ) { + + stored = this.get( owner, key ); + + return stored !== undefined ? + stored : this.get( owner, jQuery.camelCase( key ) ); + } + + // When the key is not a string, or both a key and value + // are specified, set or extend (existing objects) with either: + // + // 1. An object of properties + // 2. A key and value + // + this.set( owner, key, value ); + + // Since the "set" path can have two possible entry points + // return the expected data based on which path was taken[*] + return value !== undefined ? value : key; + }, + remove: function( owner, key ) { + var i, name, camel, + cache = owner[ this.expando ]; + + if ( cache === undefined ) { + return; + } + + if ( key === undefined ) { + this.register( owner ); + + } else { + + // Support array or space separated string of keys + if ( jQuery.isArray( key ) ) { + + // If "name" is an array of keys... + // When data is initially created, via ("key", "val") signature, + // keys will be converted to camelCase. + // Since there is no way to tell _how_ a key was added, remove + // both plain key and camelCase key. #12786 + // This will only penalize the array argument path. + name = key.concat( key.map( jQuery.camelCase ) ); + } else { + camel = jQuery.camelCase( key ); + + // Try the string as a key before any manipulation + if ( key in cache ) { + name = [ key, camel ]; + } else { + + // If a key with the spaces exists, use it. + // Otherwise, create an array by matching non-whitespace + name = camel; + name = name in cache ? + [ name ] : ( name.match( rnotwhite ) || [] ); + } + } + + i = name.length; + + while ( i-- ) { + delete cache[ name[ i ] ]; + } + } + + // Remove the expando if there's no more data + if ( key === undefined || jQuery.isEmptyObject( cache ) ) { + + // Support: Chrome <= 35-45+ + // Webkit & Blink performance suffers when deleting properties + // from DOM nodes, so set to undefined instead + // https://code.google.com/p/chromium/issues/detail?id=378607 + if ( owner.nodeType ) { + owner[ this.expando ] = undefined; + } else { + delete owner[ this.expando ]; + } + } + }, + hasData: function( owner ) { + var cache = owner[ this.expando ]; + return cache !== undefined && !jQuery.isEmptyObject( cache ); + } +}; +var dataPriv = new Data(); + +var dataUser = new Data(); + + + +// Implementation Summary +// +// 1. Enforce API surface and semantic compatibility with 1.9.x branch +// 2. Improve the module's maintainability by reducing the storage +// paths to a single mechanism. +// 3. Use the same single mechanism to support "private" and "user" data. +// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) +// 5. Avoid exposing implementation details on user objects (eg. expando properties) +// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 + +var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + rmultiDash = /[A-Z]/g; + +function dataAttr( elem, key, data ) { + var name; + + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = data === "true" ? true : + data === "false" ? false : + data === "null" ? null : + + // Only convert to a number if it doesn't change the string + +data + "" === data ? +data : + rbrace.test( data ) ? jQuery.parseJSON( data ) : + data; + } catch ( e ) {} + + // Make sure we set the data so it isn't changed later + dataUser.set( elem, key, data ); + } else { + data = undefined; + } + } + return data; +} + +jQuery.extend( { + hasData: function( elem ) { + return dataUser.hasData( elem ) || dataPriv.hasData( elem ); + }, + + data: function( elem, name, data ) { + return dataUser.access( elem, name, data ); + }, + + removeData: function( elem, name ) { + dataUser.remove( elem, name ); + }, + + // TODO: Now that all calls to _data and _removeData have been replaced + // with direct calls to dataPriv methods, these can be deprecated. + _data: function( elem, name, data ) { + return dataPriv.access( elem, name, data ); + }, + + _removeData: function( elem, name ) { + dataPriv.remove( elem, name ); + } +} ); + +jQuery.fn.extend( { + data: function( key, value ) { + var i, name, data, + elem = this[ 0 ], + attrs = elem && elem.attributes; + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = dataUser.get( elem ); + + if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { + i = attrs.length; + while ( i-- ) { + + // Support: IE11+ + // The attrs elements can be null (#14894) + if ( attrs[ i ] ) { + name = attrs[ i ].name; + if ( name.indexOf( "data-" ) === 0 ) { + name = jQuery.camelCase( name.slice( 5 ) ); + dataAttr( elem, name, data[ name ] ); + } + } + } + dataPriv.set( elem, "hasDataAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each( function() { + dataUser.set( this, key ); + } ); + } + + return access( this, function( value ) { + var data, camelKey; + + // The calling jQuery object (element matches) is not empty + // (and therefore has an element appears at this[ 0 ]) and the + // `value` parameter was not undefined. An empty jQuery object + // will result in `undefined` for elem = this[ 0 ] which will + // throw an exception if an attempt to read a data cache is made. + if ( elem && value === undefined ) { + + // Attempt to get data from the cache + // with the key as-is + data = dataUser.get( elem, key ) || + + // Try to find dashed key if it exists (gh-2779) + // This is for 2.2.x only + dataUser.get( elem, key.replace( rmultiDash, "-$&" ).toLowerCase() ); + + if ( data !== undefined ) { + return data; + } + + camelKey = jQuery.camelCase( key ); + + // Attempt to get data from the cache + // with the key camelized + data = dataUser.get( elem, camelKey ); + if ( data !== undefined ) { + return data; + } + + // Attempt to "discover" the data in + // HTML5 custom data-* attrs + data = dataAttr( elem, camelKey, undefined ); + if ( data !== undefined ) { + return data; + } + + // We tried really hard, but the data doesn't exist. + return; + } + + // Set the data... + camelKey = jQuery.camelCase( key ); + this.each( function() { + + // First, attempt to store a copy or reference of any + // data that might've been store with a camelCased key. + var data = dataUser.get( this, camelKey ); + + // For HTML5 data-* attribute interop, we have to + // store property names with dashes in a camelCase form. + // This might not apply to all properties...* + dataUser.set( this, camelKey, value ); + + // *... In the case of properties that might _actually_ + // have dashes, we need to also store a copy of that + // unchanged property. + if ( key.indexOf( "-" ) > -1 && data !== undefined ) { + dataUser.set( this, key, value ); + } + } ); + }, null, value, arguments.length > 1, null, true ); + }, + + removeData: function( key ) { + return this.each( function() { + dataUser.remove( this, key ); + } ); + } +} ); + + +jQuery.extend( { + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = dataPriv.get( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || jQuery.isArray( data ) ) { + queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // Clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // Not public - generate a queueHooks object, or return the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { + empty: jQuery.Callbacks( "once memory" ).add( function() { + dataPriv.remove( elem, [ type + "queue", key ] ); + } ) + } ); + } +} ); + +jQuery.fn.extend( { + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[ 0 ], type ); + } + + return data === undefined ? + this : + this.each( function() { + var queue = jQuery.queue( this, type, data ); + + // Ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + } ); + }, + dequeue: function( type ) { + return this.each( function() { + jQuery.dequeue( this, type ); + } ); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while ( i-- ) { + tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +} ); +var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; + +var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); + + +var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; + +var isHidden = function( elem, el ) { + + // isHidden might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + return jQuery.css( elem, "display" ) === "none" || + !jQuery.contains( elem.ownerDocument, elem ); + }; + + + +function adjustCSS( elem, prop, valueParts, tween ) { + var adjusted, + scale = 1, + maxIterations = 20, + currentValue = tween ? + function() { return tween.cur(); } : + function() { return jQuery.css( elem, prop, "" ); }, + initial = currentValue(), + unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), + + // Starting value computation is required for potential unit mismatches + initialInUnit = ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && + rcssNum.exec( jQuery.css( elem, prop ) ); + + if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { + + // Trust units reported by jQuery.css + unit = unit || initialInUnit[ 3 ]; + + // Make sure we update the tween properties later on + valueParts = valueParts || []; + + // Iteratively approximate from a nonzero starting point + initialInUnit = +initial || 1; + + do { + + // If previous iteration zeroed out, double until we get *something*. + // Use string for doubling so we don't accidentally see scale as unchanged below + scale = scale || ".5"; + + // Adjust and apply + initialInUnit = initialInUnit / scale; + jQuery.style( elem, prop, initialInUnit + unit ); + + // Update scale, tolerating zero or NaN from tween.cur() + // Break the loop if scale is unchanged or perfect, or if we've just had enough. + } while ( + scale !== ( scale = currentValue() / initial ) && scale !== 1 && --maxIterations + ); + } + + if ( valueParts ) { + initialInUnit = +initialInUnit || +initial || 0; + + // Apply relative offset (+=/-=) if specified + adjusted = valueParts[ 1 ] ? + initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : + +valueParts[ 2 ]; + if ( tween ) { + tween.unit = unit; + tween.start = initialInUnit; + tween.end = adjusted; + } + } + return adjusted; +} +var rcheckableType = ( /^(?:checkbox|radio)$/i ); + +var rtagName = ( /<([\w:-]+)/ ); + +var rscriptType = ( /^$|\/(?:java|ecma)script/i ); + + + +// We have to close these tags to support XHTML (#13200) +var wrapMap = { + + // Support: IE9 + option: [ 1, "" ], + + // XHTML parsers do not magically insert elements in the + // same way that tag soup parsers do. So we cannot shorten + // this by omitting or other required elements. + thead: [ 1, "", "
" ], + col: [ 2, "", "
" ], + tr: [ 2, "", "
" ], + td: [ 3, "", "
" ], + + _default: [ 0, "", "" ] +}; + +// Support: IE9 +wrapMap.optgroup = wrapMap.option; + +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + + +function getAll( context, tag ) { + + // Support: IE9-11+ + // Use typeof to avoid zero-argument method invocation on host objects (#15151) + var ret = typeof context.getElementsByTagName !== "undefined" ? + context.getElementsByTagName( tag || "*" ) : + typeof context.querySelectorAll !== "undefined" ? + context.querySelectorAll( tag || "*" ) : + []; + + return tag === undefined || tag && jQuery.nodeName( context, tag ) ? + jQuery.merge( [ context ], ret ) : + ret; +} + + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + dataPriv.set( + elems[ i ], + "globalEval", + !refElements || dataPriv.get( refElements[ i ], "globalEval" ) + ); + } +} + + +var rhtml = /<|&#?\w+;/; + +function buildFragment( elems, context, scripts, selection, ignored ) { + var elem, tmp, tag, wrap, contains, j, + fragment = context.createDocumentFragment(), + nodes = [], + i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( jQuery.type( elem ) === "object" ) { + + // Support: Android<4.1, PhantomJS<2 + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; + + // Descend through wrappers to the right content + j = wrap[ 0 ]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Support: Android<4.1, PhantomJS<2 + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, tmp.childNodes ); + + // Remember the top-level container + tmp = fragment.firstChild; + + // Ensure the created nodes are orphaned (#12392) + tmp.textContent = ""; + } + } + } + + // Remove wrapper from fragment + fragment.textContent = ""; + + i = 0; + while ( ( elem = nodes[ i++ ] ) ) { + + // Skip elements already in the context collection (trac-4087) + if ( selection && jQuery.inArray( elem, selection ) > -1 ) { + if ( ignored ) { + ignored.push( elem ); + } + continue; + } + + contains = jQuery.contains( elem.ownerDocument, elem ); + + // Append to fragment + tmp = getAll( fragment.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( contains ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( ( elem = tmp[ j++ ] ) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + return fragment; +} + + +( function() { + var fragment = document.createDocumentFragment(), + div = fragment.appendChild( document.createElement( "div" ) ), + input = document.createElement( "input" ); + + // Support: Android 4.0-4.3, Safari<=5.1 + // Check state lost if the name is set (#11217) + // Support: Windows Web Apps (WWA) + // `name` and `type` must use .setAttribute for WWA (#14901) + input.setAttribute( "type", "radio" ); + input.setAttribute( "checked", "checked" ); + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + + // Support: Safari<=5.1, Android<4.2 + // Older WebKit doesn't clone checked state correctly in fragments + support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE<=11+ + // Make sure textarea (and checkbox) defaultValue is properly cloned + div.innerHTML = ""; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; +} )(); + + +var + rkeyEvent = /^key/, + rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, + rtypenamespace = /^([^.]*)(?:\.(.+)|)/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +// Support: IE9 +// See #13393 for more info +function safeActiveElement() { + try { + return document.activeElement; + } catch ( err ) { } +} + +function on( elem, types, selector, data, fn, one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + on( elem, type, selector, data, types[ type ], one ); + } + return elem; + } + + if ( data == null && fn == null ) { + + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return elem; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return elem.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + } ); +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + + var handleObjIn, eventHandle, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.get( elem ); + + // Don't attach events to noData or text/comment nodes (but allow plain objects) + if ( !elemData ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !( events = elemData.events ) ) { + events = elemData.events = {}; + } + if ( !( eventHandle = elemData.handle ) ) { + eventHandle = elemData.handle = function( e ) { + + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? + jQuery.event.dispatch.apply( elem, arguments ) : undefined; + }; + } + + // Handle multiple events separated by a space + types = ( types || "" ).match( rnotwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // There *must* be a type, no attaching namespace-only handlers + if ( !type ) { + continue; + } + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend( { + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join( "." ) + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !( handlers = events[ type ] ) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener if the special events handler returns false + if ( !special.setup || + special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + + var j, origCount, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); + + if ( !elemData || !( events = elemData.events ) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( rnotwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[ 2 ] && + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || + selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || + special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove data and the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + dataPriv.remove( elem, "handle events" ); + } + }, + + dispatch: function( event ) { + + // Make a writable jQuery.Event from the native event object + event = jQuery.event.fix( event ); + + var i, j, ret, matched, handleObj, + handlerQueue = [], + args = slice.call( arguments ), + handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[ 0 ] = event; + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( ( handleObj = matched.handlers[ j++ ] ) && + !event.isImmediatePropagationStopped() ) { + + // Triggered event must either 1) have no namespace, or 2) have namespace(s) + // a subset or equal to those in the bound event (both can have no namespace). + if ( !event.rnamespace || event.rnamespace.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || + handleObj.handler ).apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( ( event.result = ret ) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var i, matches, sel, handleObj, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Support (at least): Chrome, IE9 + // Find delegate handlers + // Black-hole SVG instance trees (#13180) + // + // Support: Firefox<=42+ + // Avoid non-left-click in FF but don't block IE radio events (#3861, gh-2343) + if ( delegateCount && cur.nodeType && + ( event.type !== "click" || isNaN( event.button ) || event.button < 1 ) ) { + + for ( ; cur !== this; cur = cur.parentNode || this ) { + + // Don't check non-elements (#13208) + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.nodeType === 1 && ( cur.disabled !== true || event.type !== "click" ) ) { + matches = []; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matches[ sel ] === undefined ) { + matches[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) > -1 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matches[ sel ] ) { + matches.push( handleObj ); + } + } + if ( matches.length ) { + handlerQueue.push( { elem: cur, handlers: matches } ); + } + } + } + } + + // Add the remaining (directly-bound) handlers + if ( delegateCount < handlers.length ) { + handlerQueue.push( { elem: this, handlers: handlers.slice( delegateCount ) } ); + } + + return handlerQueue; + }, + + // Includes some event props shared by KeyEvent and MouseEvent + props: ( "altKey bubbles cancelable ctrlKey currentTarget detail eventPhase " + + "metaKey relatedTarget shiftKey target timeStamp view which" ).split( " " ), + + fixHooks: {}, + + keyHooks: { + props: "char charCode key keyCode".split( " " ), + filter: function( event, original ) { + + // Add which for key events + if ( event.which == null ) { + event.which = original.charCode != null ? original.charCode : original.keyCode; + } + + return event; + } + }, + + mouseHooks: { + props: ( "button buttons clientX clientY offsetX offsetY pageX pageY " + + "screenX screenY toElement" ).split( " " ), + filter: function( event, original ) { + var eventDoc, doc, body, + button = original.button; + + // Calculate pageX/Y if missing and clientX/Y available + if ( event.pageX == null && original.clientX != null ) { + eventDoc = event.target.ownerDocument || document; + doc = eventDoc.documentElement; + body = eventDoc.body; + + event.pageX = original.clientX + + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - + ( doc && doc.clientLeft || body && body.clientLeft || 0 ); + event.pageY = original.clientY + + ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - + ( doc && doc.clientTop || body && body.clientTop || 0 ); + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + // Note: button is not normalized, so don't use it + if ( !event.which && button !== undefined ) { + event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) ); + } + + return event; + } + }, + + fix: function( event ) { + if ( event[ jQuery.expando ] ) { + return event; + } + + // Create a writable copy of the event object and normalize some properties + var i, prop, copy, + type = event.type, + originalEvent = event, + fixHook = this.fixHooks[ type ]; + + if ( !fixHook ) { + this.fixHooks[ type ] = fixHook = + rmouseEvent.test( type ) ? this.mouseHooks : + rkeyEvent.test( type ) ? this.keyHooks : + {}; + } + copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props; + + event = new jQuery.Event( originalEvent ); + + i = copy.length; + while ( i-- ) { + prop = copy[ i ]; + event[ prop ] = originalEvent[ prop ]; + } + + // Support: Cordova 2.5 (WebKit) (#13255) + // All events should have a target; Cordova deviceready doesn't + if ( !event.target ) { + event.target = document; + } + + // Support: Safari 6.0+, Chrome<28 + // Target should not be a text node (#504, #13143) + if ( event.target.nodeType === 3 ) { + event.target = event.target.parentNode; + } + + return fixHook.filter ? fixHook.filter( event, originalEvent ) : event; + }, + + special: { + load: { + + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + focus: { + + // Fire native event if possible so blur/focus sequence is correct + trigger: function() { + if ( this !== safeActiveElement() && this.focus ) { + this.focus(); + return false; + } + }, + delegateType: "focusin" + }, + blur: { + trigger: function() { + if ( this === safeActiveElement() && this.blur ) { + this.blur(); + return false; + } + }, + delegateType: "focusout" + }, + click: { + + // For checkbox, fire native event so checked state will be right + trigger: function() { + if ( this.type === "checkbox" && this.click && jQuery.nodeName( this, "input" ) ) { + this.click(); + return false; + } + }, + + // For cross-browser consistency, don't fire native .click() on links + _default: function( event ) { + return jQuery.nodeName( event.target, "a" ); + } + }, + + beforeunload: { + postDispatch: function( event ) { + + // Support: Firefox 20+ + // Firefox doesn't alert if the returnValue field is not set. + if ( event.result !== undefined && event.originalEvent ) { + event.originalEvent.returnValue = event.result; + } + } + } + } +}; + +jQuery.removeEvent = function( elem, type, handle ) { + + // This "if" is needed for plain objects + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle ); + } +}; + +jQuery.Event = function( src, props ) { + + // Allow instantiation without the 'new' keyword + if ( !( this instanceof jQuery.Event ) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = src.defaultPrevented || + src.defaultPrevented === undefined && + + // Support: Android<4.0 + src.returnValue === false ? + returnTrue : + returnFalse; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || jQuery.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + constructor: jQuery.Event, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + isSimulated: false, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + + if ( e && !this.isSimulated ) { + e.preventDefault(); + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopPropagation(); + } + }, + stopImmediatePropagation: function() { + var e = this.originalEvent; + + this.isImmediatePropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopImmediatePropagation(); + } + + this.stopPropagation(); + } +}; + +// Create mouseenter/leave events using mouseover/out and event-time checks +// so that event delegation works in jQuery. +// Do the same for pointerenter/pointerleave and pointerover/pointerout +// +// Support: Safari 7 only +// Safari sends mouseenter too often; see: +// https://code.google.com/p/chromium/issues/detail?id=470258 +// for the description of the bug (it existed in older Chrome versions as well). +jQuery.each( { + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mouseenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +} ); + +jQuery.fn.extend( { + on: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn ); + }, + one: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? + handleObj.origType + "." + handleObj.namespace : + handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each( function() { + jQuery.event.remove( this, types, fn, selector ); + } ); + } +} ); + + +var + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi, + + // Support: IE 10-11, Edge 10240+ + // In IE/Edge using regex groups here causes severe slowdowns. + // See https://connect.microsoft.com/IE/feedback/details/1736512/ + rnoInnerhtml = /\s*$/g; + +// Manipulating tables requires a tbody +function manipulationTarget( elem, content ) { + return jQuery.nodeName( elem, "table" ) && + jQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ? + + elem.getElementsByTagName( "tbody" )[ 0 ] || + elem.appendChild( elem.ownerDocument.createElement( "tbody" ) ) : + elem; +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + var match = rscriptTypeMasked.exec( elem.type ); + + if ( match ) { + elem.type = match[ 1 ]; + } else { + elem.removeAttribute( "type" ); + } + + return elem; +} + +function cloneCopyEvent( src, dest ) { + var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events; + + if ( dest.nodeType !== 1 ) { + return; + } + + // 1. Copy private data: events, handlers, etc. + if ( dataPriv.hasData( src ) ) { + pdataOld = dataPriv.access( src ); + pdataCur = dataPriv.set( dest, pdataOld ); + events = pdataOld.events; + + if ( events ) { + delete pdataCur.handle; + pdataCur.events = {}; + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + } + + // 2. Copy user data + if ( dataUser.hasData( src ) ) { + udataOld = dataUser.access( src ); + udataCur = jQuery.extend( {}, udataOld ); + + dataUser.set( dest, udataCur ); + } +} + +// Fix IE bugs, see support tests +function fixInput( src, dest ) { + var nodeName = dest.nodeName.toLowerCase(); + + // Fails to persist the checked state of a cloned checkbox or radio button. + if ( nodeName === "input" && rcheckableType.test( src.type ) ) { + dest.checked = src.checked; + + // Fails to return the selected option to the default selected state when cloning options + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +function domManip( collection, args, callback, ignored ) { + + // Flatten any nested arrays + args = concat.apply( [], args ); + + var fragment, first, scripts, hasScripts, node, doc, + i = 0, + l = collection.length, + iNoClone = l - 1, + value = args[ 0 ], + isFunction = jQuery.isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( isFunction || + ( l > 1 && typeof value === "string" && + !support.checkClone && rchecked.test( value ) ) ) { + return collection.each( function( index ) { + var self = collection.eq( index ); + if ( isFunction ) { + args[ 0 ] = value.call( this, index, self.html() ); + } + domManip( self, args, callback, ignored ); + } ); + } + + if ( l ) { + fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + // Require either new content or an interest in ignored elements to invoke the callback + if ( first || ignored ) { + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item + // instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + + // Support: Android<4.1, PhantomJS<2 + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( collection[ i ], node, i ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !dataPriv.access( node, "globalEval" ) && + jQuery.contains( doc, node ) ) { + + if ( node.src ) { + + // Optional AJAX dependency, but won't run scripts if not present + if ( jQuery._evalUrl ) { + jQuery._evalUrl( node.src ); + } + } else { + jQuery.globalEval( node.textContent.replace( rcleanScript, "" ) ); + } + } + } + } + } + } + + return collection; +} + +function remove( elem, selector, keepData ) { + var node, + nodes = selector ? jQuery.filter( selector, elem ) : elem, + i = 0; + + for ( ; ( node = nodes[ i ] ) != null; i++ ) { + if ( !keepData && node.nodeType === 1 ) { + jQuery.cleanData( getAll( node ) ); + } + + if ( node.parentNode ) { + if ( keepData && jQuery.contains( node.ownerDocument, node ) ) { + setGlobalEval( getAll( node, "script" ) ); + } + node.parentNode.removeChild( node ); + } + } + + return elem; +} + +jQuery.extend( { + htmlPrefilter: function( html ) { + return html.replace( rxhtmlTag, "<$1>" ); + }, + + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var i, l, srcElements, destElements, + clone = elem.cloneNode( true ), + inPage = jQuery.contains( elem.ownerDocument, elem ); + + // Fix IE cloning issues + if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && + !jQuery.isXMLDoc( elem ) ) { + + // We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + fixInput( srcElements[ i ], destElements[ i ] ); + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + cloneCopyEvent( srcElements[ i ], destElements[ i ] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + // Return the cloned set + return clone; + }, + + cleanData: function( elems ) { + var data, elem, type, + special = jQuery.event.special, + i = 0; + + for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { + if ( acceptData( elem ) ) { + if ( ( data = elem[ dataPriv.expando ] ) ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Support: Chrome <= 35-45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataPriv.expando ] = undefined; + } + if ( elem[ dataUser.expando ] ) { + + // Support: Chrome <= 35-45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataUser.expando ] = undefined; + } + } + } + } +} ); + +jQuery.fn.extend( { + + // Keep domManip exposed until 3.0 (gh-2225) + domManip: domManip, + + detach: function( selector ) { + return remove( this, selector, true ); + }, + + remove: function( selector ) { + return remove( this, selector ); + }, + + text: function( value ) { + return access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().each( function() { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + this.textContent = value; + } + } ); + }, null, value, arguments.length ); + }, + + append: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.appendChild( elem ); + } + } ); + }, + + prepend: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.insertBefore( elem, target.firstChild ); + } + } ); + }, + + before: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + } ); + }, + + after: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + } ); + }, + + empty: function() { + var elem, + i = 0; + + for ( ; ( elem = this[ i ] ) != null; i++ ) { + if ( elem.nodeType === 1 ) { + + // Prevent memory leaks + jQuery.cleanData( getAll( elem, false ) ); + + // Remove any remaining nodes + elem.textContent = ""; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function() { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + } ); + }, + + html: function( value ) { + return access( this, function( value ) { + var elem = this[ 0 ] || {}, + i = 0, + l = this.length; + + if ( value === undefined && elem.nodeType === 1 ) { + return elem.innerHTML; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { + + value = jQuery.htmlPrefilter( value ); + + try { + for ( ; i < l; i++ ) { + elem = this[ i ] || {}; + + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch ( e ) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function() { + var ignored = []; + + // Make the changes, replacing each non-ignored context element with the new content + return domManip( this, arguments, function( elem ) { + var parent = this.parentNode; + + if ( jQuery.inArray( this, ignored ) < 0 ) { + jQuery.cleanData( getAll( this ) ); + if ( parent ) { + parent.replaceChild( elem, this ); + } + } + + // Force callback invocation + }, ignored ); + } +} ); + +jQuery.each( { + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1, + i = 0; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone( true ); + jQuery( insert[ i ] )[ original ]( elems ); + + // Support: QtWebKit + // .get() because push.apply(_, arraylike) throws + push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +} ); + + +var iframe, + elemdisplay = { + + // Support: Firefox + // We have to pre-define these values for FF (#10227) + HTML: "block", + BODY: "block" + }; + +/** + * Retrieve the actual display of a element + * @param {String} name nodeName of the element + * @param {Object} doc Document object + */ + +// Called only from within defaultDisplay +function actualDisplay( name, doc ) { + var elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ), + + display = jQuery.css( elem[ 0 ], "display" ); + + // We don't have any data stored on the element, + // so use "detach" method as fast way to get rid of the element + elem.detach(); + + return display; +} + +/** + * Try to determine the default display value of an element + * @param {String} nodeName + */ +function defaultDisplay( nodeName ) { + var doc = document, + display = elemdisplay[ nodeName ]; + + if ( !display ) { + display = actualDisplay( nodeName, doc ); + + // If the simple way fails, read from inside an iframe + if ( display === "none" || !display ) { + + // Use the already-created iframe if possible + iframe = ( iframe || jQuery( " -
-
- - - - -

-
-
-
- - - - -
-

The first and most notable thing NestedReact does is that it deprecates -React state, replacing it with NestedTypes model. Thus, you have the single -technique to manage all the state in your application.

-

You start with importing React from nestedreact.

-
import React, { define } from 'nestedreact'
-
-

Definition of the component must be preceded with @define decorator.

-
@define
-export class MyComponent extends React.Component {
-
-

Then, we define the state. In the simplest case, the definition -looks like the plain JS object where state attributes are listed along with their default values. -All attributes of the state you're going to use must be declared.

-
	static state = {
-		count : 0
-	}
-
-

And then, you just access this.state as if it would be the plain object.

-
	render(){
-	    const { state } = this;
-		
-		return (
-			<div onClick={ () => state.count++ }>
-				{ state.count }
-			</div>
-		);
-	}
-}
-
-

Fairly simple. Now, it's time to describe what really happens behind the scene -inside of the @define decorator and how this example works.

-

NestedTypes models as React state

-

First, @define looks for the state static variable. If it present, -it defines the NestedTypes model describing the state. Whatever you write in -state will just go to this model's attributes spec. Like this:

-
@define
-class MyState extends Nested.Model {
-    static attributes = {
-        count : 0    
-    }
-}
-
-

Then, it will attach special mixin to your component which will create -an instance of this model before mount, and will subscribe to the model -changes to update UI. It works as if you have the following code in your component:

-
componentWillMount(){
-    this.state = new MyState();
-}
-
-componentDidMount(){
-    this.state.on( 'change', () => this.forceUpdate() );
-}
-
-

An then, considering the fact that NestedTypes model behaves mostly as -an object with observable changes, you can just assign this.state.count -directly. Which will emit change event, and trigger UI update.

-

Alternatively, you can define the state separately like we did here and tell the component -to use it as state. You just need to use Model static property instead of state.

-
	static Model = MyState;
-
-
- - -
- -
-
-
- - - - - - - - - - - - - - - - - - - - - diff --git a/static/Basics/Two_way_data_binding.html b/static/Basics/Two_way_data_binding.html deleted file mode 100644 index 5d200f1..0000000 --- a/static/Basics/Two_way_data_binding.html +++ /dev/null @@ -1,188 +0,0 @@ - - - - - - - Two way data binding - NestedReact - - - - - - - - - - - - - - - - - - - - -
- -
-
-
-
- - - - -
-

All modern JS frontend application frameworks supports two-way data binding. -NestedReact is not an exception. In this example we will bind the state member to the input control.

-

In order to use data binding, you need to import data bound controls from nestedreact/tags.jsx module first.

-
import React, { define } from 'nestedreact'
-import { Input } from 'nestedreact/tags.jsx'
-
-

Then, you have to create data binding link for the state attribute using getLink( key ) method, -and pass it to valueLink Input's property.

-
@define
-export class MyComponent extends React.Component {
-	static state = {
-		text : ''
-	}
-
-	render(){
-		return <Input valueLink={ this.state.getLink( 'text' )} />;
-	}
-}
-
-

Link can be created for any NestedTypes model attribute (and state is the NestedTypes model internally).

-

const link = model.getLink( 'attr' )

-

If you have a form with a lot of controls, you can create links in a bulk with a single line -using model.linkAll( ... ) method. Which is the preferable way of dealing with the complex forms.

-
render(){
-    const links = this.state.linkAll( 'a', 'b', 'c' );
-
-    return (
-        <form>
-            <Input valueLink={ links.a } />
-            <Input valueLink={ links.b } />
-            <Input valueLink={ links.c } />
-        </form>
-    );
-}
-
-

How it works

-

To explain valuelink pattern simply, is an object holding the value and the callback to update the value. It is something -close to this:

-
render(){
-    const link = {
-        value : this.state.text,
-        set   : x => this.state.text = x
-    };
-
-    return <Input valueLink={ link } />;
-}
-
-

And, an Input control which consumes such a link would look like this:

-
const Input = ({ valueLink }) => (
-    <input value={ valueLink.value }
-           onChange={ e => valueLink.set( e.target.value ) />
-);
-
-

NestedReact's link implementation works close to the code above, but is way more -sophisticated. Links are cached inside of the React component, so they are reused on subsequent render -if the enclosed value is was not changed. Links also the basis for declarative form validation.

-

NestedReact's links are also available as a separate package, and can be used independently.

-
- - -
- -
-
-
-
- - - - - - - - - - - - - - - - - - - - diff --git a/static/Getting_Started.html b/static/Getting_Started.html deleted file mode 100644 index 9339be1..0000000 --- a/static/Getting_Started.html +++ /dev/null @@ -1,261 +0,0 @@ - - - - - - - Getting Started - NestedReact - - - - - - - - - - - - - - - - - - - - -
- -
-
-
-
- - - - -
-

NestedReact is the front-end framework which brings advantages of React's view layer -to the classic MVC architecture which is familiar to the most application developers. You've got the complete solution -covering all needs of large SPA except the routing (choose the one which suites you best).

-
    -
  • -Models as data layer building blocks: -
      -
    • looks like plain JS classes;
    • -
    • recursively composable (can consists of other models and collections);
    • -
    • deeply observable ("reactive");
    • -
    • automatically serializable (any model can be instantly turned to the REST endpoint);
    • -
    • aware of one-to-many and many-to-many relations out of the box.
    • -
    -
  • -
  • Unified state management. No more component.setState(): -
      -
    • component's state is the model (looks like plain object, observable, serializable, etc);
    • -
    • components observes state changes and update itself.
    • -
    -
  • -
  • Forms handling as you expect it to be in XXIst century: -
      -
    • completely declarative;
    • -
    • two-way data binding;
    • -
    • form inputs validation.
    • -
    -
  • -
  • Unidirectional data flow and pure render. -
      -
    • No tricks. No mind-blowing concepts or crazy looking code. It just works.
    • -
    -
  • -
  • React Mixins support for ES6 classes components.
  • -
  • Easy migration from BackboneJS, if you need it.
  • -
-

NestedReact is built around NestedTypes data framework (for M), React (for V), and don't enforce any routing solution (unopinionated on C).

-

NestedTypes is the data framework which basically does the same thing to data that React does to DOM:

-
    -
  • it helps you to describe object trees in declarative way;
  • -
  • it updates existing (mutable) object trees in place applying the difference of existing objects to the JSON received from the server.
  • -
  • it triggers change events only when there are real changes.
  • -
-

Basic Usage

-

NestedReact exports modified React namespace (original React is untouched). So, use it as React replacement like this:

-
import React from 'nestedreact'
-
-

The most important thing NestedReact does is universal state management; the same technique is used for -handling both component's local UI state, persistent data, and shared global state. In the simplest case of the local UI state, -it looks to your as if your state just instantly became observable. You handle the flat state as if it would be the plain object.

-
export const MyComponent = React.createClass({
-	state : {
-		count : 0
-	},
-
-	render(){
-	    const { state } = this;
-		
-		return (
-			<div onClick={ () => state.count++ }>
-				{ state.count }
-			</div>
-		);
-	}
-});
-
-

In case of ES6 classes components specification members becomes statics -and definition must be preceded with the @define decorator.

-
import React, { define } from 'nestedreact'
-
-@define
-export class MyComponent extends React.Component {
-	static state = {
-		count : 0
-	}
-
-	render(){
-	    const { state } = this;
-		
-		return (
-			<div onClick={ () => state.count++ }>
-				{ state.count }
-			</div>
-		);
-	}
-}
-
-

If you prefer to avoid decorators, just invoke component's static define() method directly after the class definition.

-
MyComponent.define();
-
-

If you prefer to avoid inline statics, you may pass the specification directly to the define() method:

-
MyComponent.define({
-    state : {
-		count : 0
-	}
-});
-
-

Installation

-

All modern browsers and IE10+ are supported. Packed as UMD, can be installed using npm.

-

Requires nestedtypes, react, and react-dom as a peer dependencies.

-

NestedTypes itself can be used as a drop-in BackboneJS replacement, -and thus requires jquery and underscore as peer dependencies. Therefore:

-

npm install react react-dom nestedreact nestedtypes jquery underscore --save-dev

-

See examples in the examples folder -for the starting boilerplate.

-

Optimizing for size

-

If you're not interested in legacy technologies support and would like to reduce the -size of your app assembly, wait a bit for stripped version which is one the way. -Meanwhile, you can:

-
    -
  • Omit jQuery. Without that Model/Collection REST endpoints and Backbone shims will stop working.
  • -
  • Use lightweight jQuery replacements in the same way as people do with Backbone.
  • -
  • Don't bother and enjoy. That extra legacy stuff is really the small fraction of the assembly.
  • -
-

Why another JS framework

-

React was the huge advancement over client side templating solutions used -previously for "V" in the majority of MVC frameworks. Unfortunately, we -don't feel the same about the application state management architectures -being advocated by Facebook.

-

As NestedReact demonstrates, the dramatical shift in paradigm is not required. -It is possible to implement unidirectional data flow with "dirty" mutable data.

-

And it's not only possible, but highly beneficial. -Here's TodoMVC solution size chart for different -frameworks and combinations of tools. As you can see, an old-school MVC approach the majority of developers are perfectly familiar with -allowing us to write twice less code -for the same task than all the "flux" stuff. So the overall result is comparable -to Angular 2. We're in the same league now.

-

TodoMVC solution size comparison

-

If you take flux-comparison example, difference will become even more spectacular.

-

flux-comparison solution size

-

Here's our solution. Check it out.

-
- - -
- -
-
-
-
- - - - - - - - - - - - - - - - - - - - diff --git a/static/Handling_The_Complex_State/Dirty_Top_And_Pure_Bottom .html b/static/Handling_The_Complex_State/Dirty_Top_And_Pure_Bottom .html deleted file mode 100644 index c01c3d1..0000000 --- a/static/Handling_The_Complex_State/Dirty_Top_And_Pure_Bottom .html +++ /dev/null @@ -1,209 +0,0 @@ - - - - - - - Dirty Top And Pure Bottom - NestedReact - - - - - - - - - - - - - - - - - - - - -
- -
-
-
-
- - - - -
-

"Complex state" is the state composed of nested parts (typically -other models and collections). It's done with mentioning type -constructors in model or state attribute declaration instead of the default value.

-

Such a members called aggregated members. When the model is...

-
    -
  • ...created with new, aggregated members are created too.
  • -
  • ...cloned with model.clone(), aggregated members are cloned.
  • -
  • ...disposed with model.dispose(), aggregated members are disposed.
  • -
-

And when nested models and collections are modified, root model holding -React component state detects the change, and force its component to update. -In conjunction, these features allows to to describe fairly complex -components using just component state.

-

Example: unidirectional data flow with complex state

-

Here we're demonstrating the main pattern which is used to structure -applications with NestedReact. Top-level "dirty" component holding the complex -mutable state, passing its parts down to "pure" children components with props.

-

In order to define models which are parts of the React state, you -will need to import Model base class from nestedtypes.

-
import { Model, define } from 'nestedtypes'
-import React from 'nestedreact'
-
-

It doesn't matter where @define decorator comes from, it's the same. -Now lets define some simple model.

-
@define
-class Counter extends Nested.Model {
-    static attributes = {
-        count : 0
-    }
-}
-
-

Then, use it to define more complex structure. -Model collection can be referenced as Model.Collection, and mostly -conforms to BackboneJS collection API. -They can be created directly with new or used as attribute type.

-
@define
-class ComplexState extends Nested.Model {
-    static attributes = {
-        created  : Date,
-        counter  : Counter,
-        counters : Counter.Collection 
-    }
-}
-
-

And now, let's define some root component managing the complex UI state.

-
@define
-class View extends React.Component {
-    static state = { // <- define the model describing UI state
-        dummy : ComplexState 
-    }
-    
-    render(){
-        return (
-            <div>
-                { this.state.dummy.counters.map( counter => (
-                    <CounterItem key={ counter.cid } model={ counter } />                            
-                ) ) }
-            </div>
-        );
-    }
-}
-
-

And finally, we can make pure component for the counter, receiving -the nested model in props. It will handle the click, -and increment the counter. Which will be noticed by the root component -because this counter is the part of its complex state, thus it will trigger -UI update.

-
const CounterItem = ({ model }) => (
-    <div onClick={ () => model.counter++ }>
-        { model.counter }    
-    </div>
-);
-
-
-

Conceptually, this is the most common pattern of structuring an application -in the majority of the functional languages which are used for production in the wild. -Those like OCaml (and F#), or Erlang (and Elixir).

-
-
- - -
- -
-
-
-
- - - - - - - - - - - - - - - - - - - - diff --git a/static/Handling_The_Complex_State/Ownership_and_Shared_References.html b/static/Handling_The_Complex_State/Ownership_and_Shared_References.html deleted file mode 100644 index 8c7a10f..0000000 --- a/static/Handling_The_Complex_State/Ownership_and_Shared_References.html +++ /dev/null @@ -1,257 +0,0 @@ - - - - - - - Ownership and Shared References - NestedReact - - - - - - - - - - - - - - - - - - - - -
- -
-
-
-
- - - - -
-

Simple form of the type annotation for the nested model/collection -assumes that the attribute is aggregated. Which means, -it an integral part of model, so when the model is...

-
    -
  • ...created with new, aggregated members are created too.
  • -
  • ...cloned with model.clone(), aggregated members are cloned.
  • -
  • ...disposed with model.dispose(), aggregated members are disposed.
  • -
-

Aggregation (and its strong form - composition) implies that there -are one and only one "owner" for the aggregated object.

-

That's, however, is not the thing what we always want.

-

Example: stateful select list

-

We want to create the component which would display the list of items -and allow us to select one of them. For the purpose of the example, -it would be completely stateful and self-dependent component.

-

How its state would look like? Obviously, it should hold the collection. -And the selected element. The code would look like this, and it would be -almost correct.

-
import React, { define } from 'nestedreact'
-import Item from './item'
-
-class SelectList extends React.Component {
-    static state = {
-        items : Item.Collection,
-        selected : Item
-    }
-    
-    componentWillMount(){
-        // some IO returning the promise to load the state... Not really important.
-            .done( json => this.state.set( json, { parse : true } ); 
-    }
-    
-    render(){
-        const { state } = this;
-        return (
-            <div>
-                { state.items.map( item => (
-                    <div key={ item.cid }
-                         className={ item === state.selected ? 'selected' : '' }
-                         onClick={ () => state.selected = item }
-                     >                                    
-                        { item.name }                    
-                    </div>
-                    )
-                ) }
-            </div>
-        );
-    }
-}
-
-

There are few problems, though.

-

First, we don't want state.selected to create any model. Nothing is selected -by default (so it should be null).

-

Second, state.selected holds the members of the state.items collection. Thus, -they have an owner already. And in that exotic case if we will need to clone our state, -selected should not be cloned. Rather copied by reference. And if we will try to -dispose selected, it will be disposed twice.

-

Clearly, selected attribute holds shared, not an aggregated model. -Which we can indicate adding .shared modifier right after its constructor type. -Indicating that the value of an attribute is not really belong here, -but is borrowed from some other place.

-
    static state = {
-        items : Item.Collection,
-        selected : Item.shared // null by default, don't take ownership
-    }
-
-

So, what exactly .shared means?

-

Considering that the aggregation forms model/collection tree which -elements have the single owner. shared attribute can hold models and -collections taken from other ownership trees.

-

Speaking simply, if aggregated attribute behaves as if it's included by value, -shared attribute is included "by reference":

-
    -
  • it's null by default.
  • -
  • when the model is cloned, it's not cloned.
  • -
  • when the model is disposed, it keeps living.
  • -
-

Example: select from the global list

-

For the purpose of the example, imagine that we have the global -collection of some items which we would like to reference in some -component. It can be the select list of some globally available list of -options. And we want to update the UI in case if this list is changed.

-

Many people would argue that global items list shouldn't be the part -of the local component state.

-

Good news that in this example attribute type for -the state.items is inferred as Item.Collection.shared. So, it -not an aggregation, and doesn't behave as an integral part of state.

-

Doing so, though, is the convenient way to ensure that component -will be automatically updated in case if items will change. The -rest of UI shouldn't. Should it?

-
import React, { define } from 'nestedreact'
-import { items } from './globals'
-
-@define
-class SelectList extends React.Component {
-    static props = {
-        selectedLink : React.Link // <- its value link holding the selected model
-    }
-    
-    static state = {
-        items : items // <- our global list of items
-    }
-    
-    componentWillMount(){
-        // some IO returning the promise to load the state... Not really important.
-            .done( json => this.state.set( json, { parse : true } ); 
-    }
-    
-    render(){
-        const { state, props } = this;
-        return (
-            <div>
-                { state.items.map( item => (
-                    <div key={ item.cid }
-                         className={ item === state.selected ? 'selected' : '' }
-                         onClick={ props.selectedLink.action( () => item ) }
-                     >                                    
-                        { item.name }                    
-                    </div>
-                    )
-                ) }
-            </div>
-        );
-    }
-}
-
-
- - -
- -
-
-
-
- - - - - - - - - - - - - - - - - - - - diff --git a/static/Handling_The_Complex_State/State_and_Props_Type_Annotations.html b/static/Handling_The_Complex_State/State_and_Props_Type_Annotations.html deleted file mode 100644 index 5145f92..0000000 --- a/static/Handling_The_Complex_State/State_and_Props_Type_Annotations.html +++ /dev/null @@ -1,205 +0,0 @@ - - - - - - - State and Props Type Annotations - NestedReact - - - - - - - - - - - - - - - - - - - - -
- -
-
-
-
- - - - -
-

In NestedTypes, model does not behave like key-value hash but rather -like a record or class from statically typed languages like Java or C++. -All model attributes have to be declared and they are typed.

-

Full form of attribute type annotation is this:

-

attrName : Constructor.value( defaultValue )

-

With this spec, attribute will be initialized like this:

-

model.attrName = new Constructor( defaultValue )

-

Two shorter forms of the type spec are:

-
    -
  1. -attrName : defaultValue. Attribute type will be inferred from the default value.
  2. -
  3. -attrName : Constructor. Every function here is assumed to be constructor.
  4. -
-
-

For an attribute of type Function you have to use full form of the spec:

-

attrName : Function.value( x => x )

-

Type inference can be turned off completely with Nested.value( ... ) spec:

-

attrName : Nested.value( x => x )

-
-

Dynamic Type Safety

-

NestedTypes uses information about types in the variety of different ways. -Although it doesn't check types at compile time, it guarantees that -attributes will always have values of declared types because they are guarded -with run-time type assertions and automatic type casts.

-

Type casts are performed slightly differently for different types, but -semantically they follow the simple rule: value of incompatible type is being -passed as an argument to the attribute's type constructor.

-

m.attr = new Constructor( incompatibleValue );

-
@define
-class Sample extends Nested.Model {
-    static attributes = {
-        time : Date,
-        num : 0, // same as Number or Number.value( 0 )
-        str : '', // same as String or String.value( '' )
-        bool : false // same as Boolean or Boolean.value( false )
-        any : null // same as Nested.value( null ). Untyped attribute. 
-    }
-}
-
-const s = new Sample();
-
-s.time = 32787878; // = new Date( 32787878 )
-s.num = "676743"; // = 676743
-s.num = "hjkghjgfdsj"; // = NaN
-s.str = 123; // = "123"
-s.bool = s.num && s.str; // = Boolean( s.num && s.str )
-s.any = holdsAnothing; // no type convertions.
-
-

Even if you omit explicit type annotation, attribute is still typed -(and guarded) according to the type of the default value.

-

To turn type inference off in attribute declaration, either specify null -or void 0 as default value, or use Nested.value( defaultValue ) as type spec.

-

Props and Context Type Annotations

-

Same style type annotations may be used for the props as -a replacement for propTypes and getDefaultProps(). -As they are just compiled to propTypes and getDefaultProps(), they works a bit differently from the state attributes annotations:

-
    -
  • No automatic type conversion. Just standard propTypes type asserts.
  • -
  • Default value is created only when it is provided explicitly.
  • -
-

It works in the same way for the context and childContext as a replacement for React's -contextTypes and childContextTypes respectively. But default values are ignored.

-
@define
-class MyComponent extends React.Component {
-    static props = {
-        callback : Function.value( () => void 0 ),
-        optionalProp : String, // no default value
-        propWithDefaultValue : ''
-    }
-       
-    render(){ ... }
-}
-
-
- - -
- -
-
-
-
- - - - - - - - - - - - - - - - - - - - diff --git a/static/Handling_The_Complex_State/Update_Watchers_and_Transactions.html b/static/Handling_The_Complex_State/Update_Watchers_and_Transactions.html deleted file mode 100644 index 2e82b43..0000000 --- a/static/Handling_The_Complex_State/Update_Watchers_and_Transactions.html +++ /dev/null @@ -1,213 +0,0 @@ - - - - - - - Update Watchers and Transactions - NestedReact - - - - - - - - - - - - - - - - - - - - -
- -
-
-
-
- - - - -
-

NestedTypes (and NestedReact) gives you precise control over -the way how state is being changed, allowing you to watch attributes -for changes and attach some reactions to it. This (and variety of -other things) can be done with the help of has type annotation.

-

In this example, we have local state member, which is a string. On every -change it will call the watcher function, which is taken from the props.

-
@define
-const MyComponent extends React.Component {
-    static props = {
-        callback : Function.value( x => void 0 )    
-    }
-    
-    static state = {
-        local : String.has.watcher( '^props.callback' )    
-    }
-    
-    render(){ ... }
-}
-
-

.has.watcher( path | function ) annotation either takes "watcher" function -as an argument, or the string path to the watcher function taken relative to the current -model's this. ^ in the path is the shorthand for the getOwner() call, which in our case returns -React component itself. So, ^props.callback is being translated to this:

-

this.getOwner().props.callback.

-

How watchers works

-

NestedTypes is mostly backward compatible with BackboneJS in term of events -emitted by models and collections. -The difference is that mechanics of change events and updates is generalized -on the case of nested models and collection.

-

How model tree handles an update

-

All updates are executed in the scope of transactions, and transaction -have three stages.

-

At the first stage, update is applied and attributes receive the new values.

-

At the second stage, change:attrName event is being triggered for every -changed attribute. Any additional changes to the current models and its -attributes which made as a reaction to these events are executed in the scope of -the same transaction and will trigger additional change:attr events.

-

At the third stage, model triggers change event, and when change event -processing sequence is done, it closes the transaction and notifies upper -level model, collection, or React component (if any) of change.

-

Therefore, change events handlers are synchronous, but they are executed as wave -from bottom to the top. And updates made from inside of the handlers -won't result in additional change events at the upper levels.

-

Attribute watcher behaves mostly similar to change:attrName event handler, -with the following differences:

-
    -
  • Relative symbolic references (paths) to event handlers are allowed, -and handler is called with the right context according to the path.
  • -
  • Event handler receives the new attribute value as first argument.
  • -
  • Event handler can be missing, it's fine.
  • -
-

For the case of the collection, the transactions mechanic is the same, with -a difference that individual model's add, remove, and change events are -emitted during the phase 2 instead of change:attrName, and changes event -is triggered at the stage 3 instead of change.

-

Explicit transactions control

-

Every model attribute assignment or collection modification create implicit -transaction which triggers the wave of change events from the bottom to the top.

-

You can group the series of modifications to the single transaction -explicitly with transaction() method.

-
my.model.transaction( model => {
-    model.a = 1;
-    model.and.nested.attr = 2;
-    model.itemsCollection.add( { id: 1, name : 'Hi' } );
-});
-
-

This code executed synchronously and results in the single change -event triggered by my.model only in case there have been any real -changes made, i.e. model.a wasn't already equal to 1 and so on.

-

This technique works for both models and collections, can improve performance, -and reduce overall amount of renders. Additionally, collection has -transactional version of each() method (collection.updateEach()) -which iterates through the collection in the scope of transaction.

-

There are other methods of model and collection which are transactional:

-
    -
  • -model.set( { a : 1, b : 2, ... } ) -
  • -
  • -collection.set( ... ), collection.add( ... ), collection.remove( ... ) -
  • -
-
- - -
- -
-
-
-
- - - - - - - - - - - - - - - - - - - - diff --git a/static/Migration_from_Backbone.html b/static/Migration_from_Backbone.html deleted file mode 100644 index c17700c..0000000 --- a/static/Migration_from_Backbone.html +++ /dev/null @@ -1,339 +0,0 @@ - - - - - - - Migration from Backbone - NestedReact - - - - - - - - - - - - - - - - - - - - -
- -
-
-
-
- - - - -
-

Backbone to React Transition Guide

-

There are many different ways you may approach the problem when dealing with existing Bakcbone UI. -All of them are supported, enabling easy and gradual transition to React.

-

Though NestedReact offers excellent convergence layer for backbone views, raw backbone models are not supported. -To use it for smooth migration of existing backbone application to React, you need to replace backbone with NestedTypes -first (it's mostly backward compatible with Backbone 1.2 API, so transition is not hard). -Which by itself will be a big step forward, because:

-
    -
  • -

    It's order of magnitude faster, so your application becomes more responsive and you can handle collection which are 10 times larger than you have now. No kidding.

    -
  • -
  • -

    It implements nested models and collections in the right way. During fetch, nested objects are updated in place, so it's safe to pass them by reference.

    -
  • -
  • -

    It can handle model references by id in attributes for you too, operating on a set of independently fetched collections.

    -
  • -
  • -

    It's type-safe, providing the same contract for model attributes as in statically typed language. Thus, -ttributes are guaranteed to hold values of declared types whatever you do, making it impossible to break client-server protocol.

    -
  • -
  • -

    At the moment of writing, no other traditional model framework supports React's pure render optimization. :)

    -

    For more information about NestedTypes, visit - http://volicon.github.io/backbone.nestedTypes/ - and - https://github.com/Volicon/backbone.nestedTypes

    -
  • -
-

Interoperation with existing Backbone Views

-

Key factor of success for technology transition project is to avoid naive 'upfront rewrite' strategy. -An ability of running old and new code together is the game changer, allowing you to make transition process gradual. -This strategy has a number of benefits, and probably one of the most significant is that you don't need to stop -delivering new features.

-

Use React components as Backbone View

-

When you work on new features, it's natural to decide that you will write its UI with React.

-

And, there're good news. Any React component may be used as Backbone subview. As easy as that:

-
var backboneView = new MyReactComponent.View( props );
-
-

It will also enable you to start refactoring of your application from the bottom to top, -dealing with small isolated parts of the code first.

-

Use Backbone View in React component

-

Or, you can decide to start refactoring from the top. In this case, you will likely want to reuse -your existing lower-level backbone subviews.

-

You can do it like that.

-
var React = require( 'nestedreact' );
-
-var MyComponent = React.createClass({
-	render : function(){
-		return (
-			<div>
-				<React.subview
-					className="classes for root element"
-					View={ BackboneView }
-					options={ viewOptions }
-				/>
-			</div>
-		);
-	}
-});
-
-

It's easy, for example, to take react-router and use it in your application without any changes in Backbone View layer.

-

Taking these two features together, you can take literally any view from the subview hierarchy, and replace it with -React component. It will also work fine if there are multiple layers - React using Backbone using React...

-

Backbone View refactoring

-

Occasionally, you may decide to refactor your existing View to React component.

-

Since Backbone generally use the same architectural concept as React (detect change and then render), it's an easy process. -First of all, short vocabulary:

-
    -
  1. -View.extend({}) -> React.createClass({}). That's an obvious part.
  2. -
  3. -View.template -> Component.render(). Yeah. In React, render function just returns markup.
  4. -
  5. -View.render -> Component.forceUpdate(). And if you want to update component, you should call this thingy instead.
  6. -
  7. -View.render -> Component.componentDidUpdate(), Component.componentDidMount(). If you want to attach jQuery plugin after render, you do it here.
  8. -
  9. -View.initialize( options ) -> View.componentWillMount() -
  10. -
  11. -View options you receive in (4) -> Component.props -
  12. -
  13. -View.model -> Component.state -
  14. -
-

You approach the refactoring process in sequence:

-
    -
  1. Create an empty React component.
  2. -
  3. Take your View's template, and convert it to JSX in your component's render method.
  4. -
  5. Your View's options become component's props. Modify render function accordingly.
  6. -
  7. And then, the model of your View becomes your component's state. Modify render function accordingly.
  8. -
  9. You copy all of your event handlers.
  10. -
-

Keep in mind - in React direct DOM manipulation is not allowed. Thus, you must render on every change, and props + state -must completely define an appearance of your markup. Since for Backbone it's not so, you will likely be required to expand your -View's state model.

-

In Backbone, you might assign values from options to the model. Do not do this with React. Remember, options is props. -Therefore, it might be required to remove some items from the View's model.

-

Converting EJS template to JSX

-

I will assume we're using EJS to be specific. JSX is not text, it's hidden JS tree construction expression, thus control structures must be transformed to functional form. In short, branches becomes logical expressions, loops becomes map expressions. Expression must return single node or array, in the last case you're required to add key attribute. Component must return single node at the top level.

-

Keeping in mind these simple patterns, it's not that hard:

-
    -
  • -class should be substitued with className -
  • -
  • -<%= expr %> -> { expr } -
  • -
  • -<%if( expr ){%> <div/> <%}%> -> { expr && <div/> } -
  • -
  • -<%if( expr ){%> <div/> <%}else{%> <span/> <%}%> -> { expr ? <div/> : <span/> } -
  • -
  • -<%for( var i = 0; i < arr.length; i++ ){%> <div/> <%}%> -> { arr.map( ( x, i ) => <div key={ i } /> )} -
  • -
-

You should consult official React documentation for more information about this.

-

Use Existing Model as component's state

-

If you already have one model, describing View's state (usual pattern is listening to model's change event and calling this.render()), -you can just attach it to you React component. Like this. It will be created, disposed, and listened to automatically.

-
var React = require( 'nestedreact' );
-
-var MyComponent = React.createClass({
-	Model : MyStateModel,
-
-	render : function(){
-		return (
-			<div onClick={ this.onClick }>
-				{ this.state.count }
-			</div>
-		);
-	},
-
-	onClick : function(){
-		this.state.count = this.state.count + 1;
-	}
-});
-
-

Please, note. If Model is specified for the component,

-
    -
  • -this.state and this.model variables holds backbone model. Usage of setState is not allowed. Generally, NestedTypes -models are far superior to React's state in its capabilities, so trust me, there are nothing to regret.
  • -
  • React component will update itself automatically whenever model emit change event. - - You can customize UI update events supplying listenToState property. For example, listenToState : 'change:attr sync'. - - You can disable UI updates on state change, supplying listenToState : false option.
  • -
-

Passing Models and Collections as React components props

-

In backbone, you might listen to models and collection changes which comes from the View options.

-

You can do it manually in React keeping in mind that componentWIllMount is substitution for initialize, but it's -not that simple because React component's lifecycle is more complicated. In contrast with Views, components are able to -receive props updates. Thus, you need to handle it, and it might become tricky.

-

To address this problem, there's special declarative syntax for events subscription from props.

-
var MyComponent = React.createClass({
-    listenToProps : 'model', // listen to change, and render
-    /*
-	listenToProps : { // or just string with property names, separated by space
-		model : 'change' //listen to event names separated by space, and render 
-	},
-	or
-	listenToProps : { // ...if you want really wierd things...
-    	model : {
-    	    'change' : function(){
-    	        // ...you may do it. But here we are just listening to 'change', and render. 
-                this.forceUpdate();     	    
-    	    }
-    	}
-    },
-    */
-    
-	render : function(){
-		return (
-			<div onClick={ this.onClick }>
-				{ this.props.model.count }
-			</div>
-		);
-	},
-
-	onClick : function(){
-		this.props.model.count = this.props.model.count + 1;
-	}
-});
-
-

That's simple and safe. No props passed - no events subscription.

-

Helper methods for event handlers

-

When you will copy over your event handlers, most likely, they will just work.

-

There are el, $el, and $( selector ) available for the React components, -which simplifies refactoring of the existing event handlers and usage of -jquery plugins.

-
var React = require( 'nestedreact' );
-
-var MyComponent = React.createClass({
-	onClick : function(){
-		this.$( '#somewhere' ).html( 'Hi' );
-	}
-});
-
-

If they don't do DOM manipulation, which is prohibited. Instead, event handlers should modify the state, or call some callbacks -received from props.

-

It is extremely dangerous and conceptually wrong to directly modify existing -DOM subtree in React component. Read is safe, modify DOM when you know what you're -doing. Lets say, integrating jQuery plugins.

-

You must not use these methods in render. jquery plugins can be initialized -in componentDidMount method or in event handlers.

-
- - -
- -
-
-
-
- - - - - - - - - - - - - - - - - - - - diff --git a/static/Optimizing_For_Performance.html b/static/Optimizing_For_Performance.html deleted file mode 100644 index fd555da..0000000 --- a/static/Optimizing_For_Performance.html +++ /dev/null @@ -1,212 +0,0 @@ - - - - - - - Optimizing For Performance - NestedReact - - - - - - - - - - - - - - - - - - - - -
- -
-
-
-
- - - - -
-

Performance optimizations

-

Pure Render

-

Transactional data updates

-

Local UI updates

-

Old

-

Props specs and pure render optimization

-

One of the problems of unidirectional data flow is that large part of UI is being -updated for every small change. Though React does its job avoiding unnecessary DOM manipulations, -it's still takes a lot of computation resources to compare new and old UI components trees. -Pure render optimization strategy avoids rendering and comparison of subtrees which has not been changed -by adding special props comparison function (shouldComponentUpdate). This optimization -is most effective on the top level close to the state holder component.

-

NestedReact support this optimization, comparing props model's and collection version tokens to ones used during the last render, -and comparing other props values for strict equality.

-

To enable this optimization for the particular component, you need to:

-
    -
  • Declare all props that will be tracked for changes in props (or propTypes) spec. -Which is the good practice by itself, so you encouraged to do it unless you're using -stateless function components syntax, which is preferable.
  • -
  • Add pureRender : true to component definition.
  • -
-

As from previous example:

-
var Bottom = React.createClass({
-    props : {
-        model : Counter    
-    },
-
-    pureRender : true,
-    
-    render(){
-        const { model } = this.props;
-        return (
-            <div onClick={ () => model.count += 1 }>
-                { model.count }
-            </div>
-        );
-    )
-});
-
-

NestedReact props spec uses the simple subset of state spec, and acts as substitution for propTypes (in fact, -it internally compiles itself to the propTypes and getDefaultProps()).

-

Following type annotations are allowed for props:

-
    -
  1. Constructor functions: prop1 : String -
  2. -
  3. Constructors with default value: prop2 : String.value( "default string" ) -
  4. -
  5. JSON and primitive values: prop3 : "default string" -
  6. -
  7. Special PropTypes cases: -
      -
    • -PropTypes.any -> undefined (no default value) or null (with null default value)
    • -
    • -PropTypes.node -> React.Node -
    • -
    • -PropTypes.element -> React.Element -
    • -
    -
  8. -
-

If prop has explicitly declared default value, as in (2) or (3), it will be added to getDefaultProps.

-

Partial component subtree updates

-

For the number of reasons, you may need some parts of components subtrees to listen for props updates independently. -It might be required if model or collection props are not the part of any upper component state. -This situation frequently happens during transition period when you're in the middle of refactoring large -backbone application.

-

To make <Bottom /> component listen to and update on its model prop change, it's enough to add -listenToProps option to component spec. It will play well with pureRender, effectively -avoiding unnecessary renders if top level component will trigger update on the same change too.

-
var Bottom = React.createClass({
-    props : {
-        model : Counter    
-    },
-    
-    listenToProps : 'model', // space separated list of prop names
-    
-    // ...all other stays the same...
-});
-
-
- - -
- -
-
-
-
- - - - - - - - - - - - - - - - - - - - diff --git a/static/SLOC-comparison.jpg b/static/SLOC-comparison.jpg deleted file mode 100644 index 620cd8bfc4f5e7d3d59b80616fc180e545e99c37..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 62868 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 diff --git a/static/Using jQuery plugins.html b/static/Using jQuery plugins.html deleted file mode 100644 index 3bb7b97..0000000 --- a/static/Using jQuery plugins.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - - Using jQuery plugins - NestedReact - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/static/Working_With_Forms/Advanced Data Binding.html b/static/Working_With_Forms/Advanced Data Binding.html deleted file mode 100644 index 4647f7e..0000000 --- a/static/Working_With_Forms/Advanced Data Binding.html +++ /dev/null @@ -1,323 +0,0 @@ - - - - - - - Advanced Data Binding - NestedReact - - - - - - - - - - - - - - - - - - - - -
- -
-
-
-
- - - - -
-

Data binding examples

-

Here are the set of examples for typical nestedreact data binding use cases.

-

Each section contains custom databound component, model definitions, and usage examples.

-

Somewhere at the top level component(s) there must be the declaration linking model updates to UI. Either models must be (nested) members of some component's state (which will update UI even in case of deep changes), or you may link component updates to changes of models and collections passed in props. In the last case, you will need to add following line to top or middle-level component definition:

-
    listenToProps : 'myModel myCollection'
-
-

It's generally advised to keep stateful components at the top level, and use listenToProps in the middle level for optimization purposes if you want local updates. Keep you bottom-level components pure, and try to do the same for the most of your middle level (listenToProps used wisely won't hurt). For further information on this topic consult the top-level guide.

- -

Attribute's link can be further transformed using extended link API. Link transformations allowing you to use new stateless functions component definition style introduced in React 0.14 in most cases.

-

For links with any value type:

-
    -
  • -link.equals( x ) creates boolean link which is true whenever link value is equal to x. Useful for radio groups.
  • -
  • -link.update( x => !x ) creates function transforming link value (toggling boolean value in this case). Useful for onClick event handlers.
  • -
-

For link enclosing array:

-
    -
  • -arrLink.contains( x ) creates boolean link which is true whenever x is contained in an array in link value. Useful for checkboxes. Avoid long arrays, currently operations has O(N^2) complexity.
  • -
-

Checkboxes

-

Standard <input/> will work. Custom Checkbox component might be implemented like this:

-
const Checkbox = ({ className = 'checkbox', checkedLink }) => (
-    <div className={ className + ( checkedLink.value ? ' selected' : '' ) }
-         onClick = { checkedLink.update( x => !x ) }
-    />
-);
-
-

Examples will assume working with custom Checkbox.

-

Binding to boolean model attributes

-
import { Model } from 'nestedtypes'
-
-const MyModel = Model
-    .defaults({
-        option1 : true,
-        option2 : false
-    });
-    
-const CheckboxGroup = ({ model /* instanceof MyModel */ }) => (
-    <div>
-        <div>
-            <Checkbox checkedLink={ model.getLink( 'option1' ) } />
-            Option 1
-        </div>
-        <div>
-            <Checkbox checkedLink={ model.getLink( 'option2' ) } />
-            Option 2
-        </div>
-    </div>
-);
-
-

Binding to array of selected options

-
import { Model } from 'nestedtypes'
-
-const MyModel = Model
-    .defaults({
-        options : [ 'option1' ]
-    });
-    
-const CheckboxGroup = ({ model /* instanceof MyModel */ }) => {
-    const link = model.getLink( 'options' );
-    
-    return (
-        <div>
-            <div>
-                <Checkbox checkedLink={ link.contains( 'option1' ) } />
-                Option 1
-            </div>
-            <div>
-                <Checkbox checkedLink={ link.contains( 'option2' ) } />
-                Option 2
-            </div>
-        </div>
-    );
-};
-
-

Binding to collection of selected models

-
import { Model } from 'nestedtypes'
-
-const MyModel = Model
-    .defaults({
-        all : Some.Collection,
-        selected : Collection.subsetOf( 'all' )
-    });
-    
-const CheckboxGroup = ({ model /* instanceof MyModel */ }) => {
-    const { all, selected } = model;
-    
-    return (
-        <div>
-            { all.map( model => (
-                <div>
-                    <Checkbox checkedLink={ selected.getLink( model ) } />
-                    { model.displayName }
-                </div>
-            ))}
-        </div>
-    );
-};
-
-

Radio Groups

-

For the radio groups you will need custom Radio component. It's very similar to custom Checkbox one, -with one difference in click handler:

-
const Radio = ({ className = 'radio', checkedLink }) => (
-    <div className={ className + ( checkedLink.value ? ' selected' : '' ) }
-         onClick = { checkedLink.update( () => true ) }
-    />
-);
-
-

In this example, we bind radio to string values. It's not required for them to be strings.

-
import { Model } from 'nestedtypes'
-
-const MyModel = Model
-    .defaults({
-        option : 'option1'
-    });
-    
-const RadioGroup = ({ model /* instanceof MyModel */ }) => {
-    const link = model.getLink( 'option' );
-    
-    return (
-        <div>
-            <div>
-                <Radio checkedLink={ link.equals( 'option1' ) } />
-                Option 1
-            </div>
-            <div>
-                <Radio checkedLink={ link.equals( 'option2' ) } />
-                Option 2
-            </div>
-        </div>
-    );
-};
-
-

Input fields

-

Standard <input> will work. You may implement custom input controls to handle complex scenarios -with validation and appearance.

-
const Input = ({ valueLink, className, ...props }) => (
-    <div className='wrapping'
-        <input className={ className + ( valieLink.error ? ' error' : '' ) } {...props} value={ valueLink.value } onChange={ e => valueLink.set( e.target.value ) }/>
-    </div>
-);
-
-

Errors are attached to the links automatically, when model validation is failed. Validation checks can be attached to model attributes with .has.check specification. x : Number.has.check( x => x > 0 ), y : Number.has.check( x => x < 0, 'y should be negative' ).

-

Binding to model attributes

-
import { Model } from 'nestedtypes'
-
-const MyModel = Model
-    .defaults({
-        number : 0,
-        string : ''
-    });
-    
-const InputGroup = ({ model /* instanceof MyModel */ }) => (
-        <div>
-            <label>
-                Number: 
-                <input type='number' valueLink={ model.getLink( 'number' ) } />
-            </label>
-            <label>
-                String: 
-                <input valueLink={ model.getLink( 'string' ) } />
-            </label>
-        </div>
-    );
-};
-
-

Binding to an array of strings

-

The same technique may be used to bind to an array or hash of strings. First, take a link to this -attribute. Next, use link.map method to iterate through elements links created for you.

-

link.map will internally execute link.at( key ) method to create a link to the plain object or array element. -These methods may be used manually to create binding for the structures of any particular depth and complexity.

-

However, for the JS data with known structure it's recommended to wrap them in models.

-
import { Model } from 'nestedtypes'
-
-const MyModel = Model
-    .defaults({
-        strings : [ 'first', 'second' ]
-    });
-    
-const InputGroup = ({ model /* instanceof MyModel */ }) => (
-        <div>
-            { model.getLink( 'strings' ).map( strLink => (
-                <div>
-                    <input type='number' valueLink={ strLink } />
-                </div>
-            )) }
-        </div>
-    );
-};
-
-
- - -
- -
-
-
-
- - - - - - - - - - - - - - - - - - - - diff --git a/static/Working_With_Forms/Form_Validation.html b/static/Working_With_Forms/Form_Validation.html deleted file mode 100644 index 890f2f2..0000000 --- a/static/Working_With_Forms/Form_Validation.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - - Form Validation - NestedReact - - - - - - - - - - - - - - - - - - - - -
- -
-
-
-
- - - - -
-

How it works

-

Links carry additional validationError field for validation purposes (to be used inside of custom UI controls). It's populated automatically for links created from models and collection, -utilizing nestedtypes validation mechanics. Therefore, if model attribute has any check attached, its link will carry its validationError object.

-
var M = Nested.Model.extend({
-    defaults : {
-        attr : Number.has.check( x => x > 0, 'attr should be positive' )    
-    }
-});
-
-...
-
-var m = new M({ attr : -1 });
-var attrLink = m.getLink( 'attr' );
-
-console.assert( m.value === -1 );
-console.assert( m.validationError === 'attr should be positive' );
-
-

It's possible to use ad-hoc validation in component's render method with link.check method.

-
var link = model.getLink( 'something' )
-                .check( x => x > 0, 'Shoulld be positive' )
-                .check( x => x < 10, 'Shoulld be lesser than 10' );
-
-

Failed checks will populate link's validationError with first failed check's message.

-
- - -
- -
-
-
-
- - - - - - - - - - - - - - - - - - - - diff --git a/static/flux-sloc.png b/static/flux-sloc.png deleted file mode 100644 index 01e412c16c614379fd0fb5f38bb50632f1018d47..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10112 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 - - - - - - NestedReact - - - - - - - - - - - - - - - - - - - - -
-
-

React. Playing well with traditional MVC.

- -
-
- - -
- -
-
-
-
-

- NestedReact bridges the gap between React and traditional MVC frameworks, - combining familiar OO state management and two-way data binding with all the benefits of true unidirectional data flow. -

-

- It's MVC framework taking React for "V" and NestedTypes for "M", while being unopinionated on "C". -

-
-
-
-
-

NestedTypes for "M"

-

Does to your data the same as React does to the DOM.

-
    -
  • Observable (reactive) data structures
  • -
  • Easy state synchronization
  • -
  • Automatic serialization and REST
  • -
  • Aggregation, "to-one", and "to-many" relashionships.
  • -
  • Type annotations and assertions
  • -
  • 10 times faster than BackboneJS.
  • -
-
-
-

React for "V"

-

React. Extended to play well with MVC.

-
    -
  • Simple technique to manage all application state -
      -
    • Handle complex UI state with NestedTypes
    • -
    • Unidirectional data flow
    • -
    • Automatic "pure render" optimization
    • -
    -
  • -
  • Handle forms naturally -
      -
    • Two-way data binding
    • -
    • Declarative form validation
    • -
    -
  • -
  • -React mixins with ES6 classes.
  • -
  • Cuts your code 2-5x compared to React/Redux.
  • -
-
-
-

Choose your "C"

- -
-
-
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - diff --git a/static/themes/common/less/_fonts.less b/static/themes/common/less/_fonts.less deleted file mode 100644 index db02e54..0000000 --- a/static/themes/common/less/_fonts.less +++ /dev/null @@ -1,4 +0,0 @@ - -@font-family-text: "Helvetica Neue", Helvetica, Arial, sans-serif; -@font-family-monospace: Monaco, Menlo, Consolas, "Courier New", monospace; -@font-family-heading: "Roboto Slab", @font-family-text; diff --git a/static/themes/common/less/_print.less b/static/themes/common/less/_print.less deleted file mode 100644 index 8ef1da2..0000000 --- a/static/themes/common/less/_print.less +++ /dev/null @@ -1,45 +0,0 @@ - -* { - text-shadow: none !important; - color: #000 !important; // Black prints faster: h5bp.com/s - background: transparent !important; - box-shadow: none !important; -} - -h1, h2, h3, h4, h5, h6 { - page-break-after: avoid; - page-break-before: auto; -} - -pre, blockquote { - border: 1px solid #999; - font-style: italic; - page-break-inside: avoid; -} - -img { - page-break-inside: avoid; - border: 0; /* Some browsers like to show a border around images. Switch it off */ -} - -a, -a:visited { text-decoration: underline; } - -abbr[title]::after { content: " (" attr(title) ")"; } - -q { quotes: none; } - -q::before { content: ""; } - -q::after { content: " (" attr(cite) ")"; } - -.page-break { - display: block; - page-break-before: always; -} - -.hidden-print { display: none; } - -/* Hide the navigation */ -aside { display: none; } - diff --git a/static/themes/common/less/_typography.less b/static/themes/common/less/_typography.less deleted file mode 100644 index cc326aa..0000000 --- a/static/themes/common/less/_typography.less +++ /dev/null @@ -1,190 +0,0 @@ -body { - font-size: 15px; -} - -h1, h2, h3, h4, h5, h6 { - font-weight: 300; - -webkit-font-smoothing: antialiased; - cursor: text; - line-height: 1.4em; - margin-top: 0.3em; - margin-bottom: 0.3em; - - tt, code { - font-size: inherit; - } - - i { - font-size: 0.7em; - } - - p { - margin-top: 0; - } -} - -h1 { // 40px - font-size: 2.6666666667em; - color: black; -} - -h2 { // 30px - font-size: 2em; - border-bottom: 1px solid #eee; - color: black; -} - -h3 { // 26px - font-size: 1.7333333333em; -} - -h4 { // 22px - font-size: 1.4666666667em; -} - -h5 { // 18px - font-size: 1.2em; -} - -h6 { // 16px - font-size: 1.0666666667em; - color: #555; -} - -a { - text-decoration: underline; -} - -p { // 15px - line-height: 1.8em; - margin-bottom: 20px; -} - -ul, ol { - padding-left: 30px; -} - -ul p { - margin: 0; -} - -ul ul { - margin: 0; -} - -dl { - padding: 0; - - dt { - font-weight: bold; - font-style: italic; - padding: 0; - margin: 15px 0 5px; - - &:first-child { - padding: 0; - } - } - - dd { - margin: 0 0 15px; - padding: 0 15px; - } -} - -blockquote { - font-size: 1.2em; - border-left: 4px solid #ddd; - padding: 7px 15px; - color: #666; - - p { - font-size: inherit; - } -} - -table { - width: 100%; - padding: 0; - border-collapse: collapse; - - tr { - border-top: 1px solid #eee; - background-color: white; - margin: 0; - padding: 0; - - &:nth-child(2n) { - background-color: #f8f8f8; - } - } - - th { - font-weight: bold; - border: 1px solid #eee; - background: #eee; - margin: 0; - padding: 6px 13px; - } - - td { - border: 1px solid #eee; - margin: 0; - padding: 6px 13px; - } -} - -ul, -ol, -blockquote, -dl dt, -dl dd, -table th, -table td { - > :first-child { - margin-top: 0; - } - - > :last-child { - margin-bottom: 0; - } -} - -img { - max-width: 100%; - display: block; - margin: 0 auto; -} - -code { - font-family: @font-family-monospace; -} - -code, tt { - margin: 0 2px; - padding: 0 5px; - white-space: nowrap; - border: 1px solid #eaeaea; - background-color: #f8f8f8; - border-radius: 3px; -} - -pre { - background: #fdf6e3; - color: #657b83; - line-height: 1.5em; - overflow: auto; - padding: 20px; - margin: 0 -20px 20px -20px; - - code { - margin: 0; - padding: 0; - white-space: pre; - } - - code, tt { - background-color: transparent; - border: none; - } -} diff --git a/static/themes/common/less/vendor/highlight.less b/static/themes/common/less/vendor/highlight.less deleted file mode 100644 index ee1a77d..0000000 --- a/static/themes/common/less/vendor/highlight.less +++ /dev/null @@ -1,88 +0,0 @@ -/* =========================================================================================== -Code Highlighting -============================================================================================== */ - -/* - -Orginal Style from ethanschoonover.com/solarized (c) Jeremy Hull - -*/ - -.hljs { - display: block; - overflow-x: auto; - padding: 0.5em; - background: #fdf6e3; - color: #657b83; -} - -.hljs-comment, -.hljs-quote { - color: #93a1a1; -} - -/* Solarized Green */ -.hljs-keyword, -.hljs-selector-tag, -.hljs-addition { - color: #859900; -} - -/* Solarized Cyan */ -.hljs-number, -.hljs-string, -.hljs-meta .hljs-meta-string, -.hljs-literal, -.hljs-doctag, -.hljs-regexp { - color: #2aa198; -} - -/* Solarized Blue */ -.hljs-title, -.hljs-section, -.hljs-name, -.hljs-selector-id, -.hljs-selector-class { - color: #268bd2; -} - -/* Solarized Yellow */ -.hljs-attribute, -.hljs-attr, -.hljs-variable, -.hljs-template-variable, -.hljs-class .hljs-title, -.hljs-type { - color: #b58900; -} - -/* Solarized Orange */ -.hljs-symbol, -.hljs-bullet, -.hljs-subst, -.hljs-meta, -.hljs-meta .hljs-keyword, -.hljs-selector-attr, -.hljs-selector-pseudo, -.hljs-link { - color: #cb4b16; -} - -/* Solarized Red */ -.hljs-built_in, -.hljs-deletion { - color: #dc322f; -} - -.hljs-formula { - background: #eee8d5; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} diff --git a/static/themes/common/less/vendor/normalize.less b/static/themes/common/less/vendor/normalize.less deleted file mode 100644 index f9fca61..0000000 --- a/static/themes/common/less/vendor/normalize.less +++ /dev/null @@ -1,419 +0,0 @@ -/*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */ - -/** - * 1. Change the default font family in all browsers (opinionated). - * 2. Prevent adjustments of font size after orientation changes in IE and iOS. - */ - -html { - font-family: sans-serif; /* 1 */ - -ms-text-size-adjust: 100%; /* 2 */ - -webkit-text-size-adjust: 100%; /* 2 */ -} - -/** - * Remove the margin in all browsers (opinionated). - */ - -body { - margin: 0; -} - -/* HTML5 display definitions - ========================================================================== */ - -/** - * Add the correct display in IE 9-. - * 1. Add the correct display in Edge, IE, and Firefox. - * 2. Add the correct display in IE. - */ - -article, -aside, -details, /* 1 */ -figcaption, -figure, -footer, -header, -main, /* 2 */ -menu, -nav, -section, -summary { /* 1 */ - display: block; -} - -/** - * Add the correct display in IE 9-. - */ - -audio, -canvas, -progress, -video { - display: inline-block; -} - -/** - * Add the correct display in iOS 4-7. - */ - -audio:not([controls]) { - display: none; - height: 0; -} - -/** - * Add the correct vertical alignment in Chrome, Firefox, and Opera. - */ - -progress { - vertical-align: baseline; -} - -/** - * Add the correct display in IE 10-. - * 1. Add the correct display in IE. - */ - -template, /* 1 */ -[hidden] { - display: none; -} - -/* Links - ========================================================================== */ - -/** - * 1. Remove the gray background on active links in IE 10. - * 2. Remove gaps in links underline in iOS 8+ and Safari 8+. - */ - -a { - background-color: transparent; /* 1 */ - -webkit-text-decoration-skip: objects; /* 2 */ -} - -/** - * Remove the outline on focused links when they are also active or hovered - * in all browsers (opinionated). - */ - -a:active, -a:hover { - outline-width: 0; -} - -/* Text-level semantics - ========================================================================== */ - -/** - * 1. Remove the bottom border in Firefox 39-. - * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. - */ - -abbr[title] { - border-bottom: none; /* 1 */ - text-decoration: underline; /* 2 */ - text-decoration: underline dotted; /* 2 */ -} - -/** - * Prevent the duplicate application of `bolder` by the next rule in Safari 6. - */ - -b, -strong { - font-weight: inherit; -} - -/** - * Add the correct font weight in Chrome, Edge, and Safari. - */ - -b, -strong { - font-weight: bolder; -} - -/** - * Add the correct font style in Android 4.3-. - */ - -dfn { - font-style: italic; -} - -/** - * Correct the font size and margin on `h1` elements within `section` and - * `article` contexts in Chrome, Firefox, and Safari. - */ - -h1 { - font-size: 2em; - margin: 0.67em 0; -} - -/** - * Add the correct background and color in IE 9-. - */ - -mark { - background-color: #ff0; - color: #000; -} - -/** - * Add the correct font size in all browsers. - */ - -small { - font-size: 80%; -} - -/** - * Prevent `sub` and `sup` elements from affecting the line height in - * all browsers. - */ - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sub { - bottom: -0.25em; -} - -sup { - top: -0.5em; -} - -/* Embedded content - ========================================================================== */ - -/** - * Remove the border on images inside links in IE 10-. - */ - -img { - border-style: none; -} - -/** - * Hide the overflow in IE. - */ - -svg:not(:root) { - overflow: hidden; -} - -/* Grouping content - ========================================================================== */ - -/** - * 1. Correct the inheritance and scaling of font size in all browsers. - * 2. Correct the odd `em` font sizing in all browsers. - */ - -code, -kbd, -pre, -samp { - font-family: monospace, monospace; /* 1 */ - font-size: 1em; /* 2 */ -} - -/** - * Add the correct margin in IE 8. - */ - -figure { - margin: 1em 40px; -} - -/** - * 1. Add the correct box sizing in Firefox. - * 2. Show the overflow in Edge and IE. - */ - -hr { - box-sizing: content-box; /* 1 */ - height: 0; /* 1 */ - overflow: visible; /* 2 */ -} - -/* Forms - ========================================================================== */ - -/** - * 1. Change font properties to `inherit` in all browsers (opinionated). - * 2. Remove the margin in Firefox and Safari. - */ - -button, -input, -select, -textarea { - font: inherit; /* 1 */ - margin: 0; /* 2 */ -} - -/** - * Restore the font weight unset by the previous rule. - */ - -optgroup { - font-weight: bold; -} - -/** - * Show the overflow in IE. - * 1. Show the overflow in Edge. - */ - -button, -input { /* 1 */ - overflow: visible; -} - -/** - * Remove the inheritance of text transform in Edge, Firefox, and IE. - * 1. Remove the inheritance of text transform in Firefox. - */ - -button, -select { /* 1 */ - text-transform: none; -} - -/** - * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video` - * controls in Android 4. - * 2. Correct the inability to style clickable types in iOS and Safari. - */ - -button, -html [type="button"], /* 1 */ -[type="reset"], -[type="submit"] { - -webkit-appearance: button; /* 2 */ -} - -/** - * Remove the inner border and padding in Firefox. - */ - -button::-moz-focus-inner, -[type="button"]::-moz-focus-inner, -[type="reset"]::-moz-focus-inner, -[type="submit"]::-moz-focus-inner { - border-style: none; - padding: 0; -} - -/** - * Restore the focus styles unset by the previous rule. - */ - -button:-moz-focusring, -[type="button"]:-moz-focusring, -[type="reset"]:-moz-focusring, -[type="submit"]:-moz-focusring { - outline: 1px dotted ButtonText; -} - -/** - * Change the border, margin, and padding in all browsers (opinionated). - */ - -fieldset { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; -} - -/** - * 1. Correct the text wrapping in Edge and IE. - * 2. Correct the color inheritance from `fieldset` elements in IE. - * 3. Remove the padding so developers are not caught out when they zero out - * `fieldset` elements in all browsers. - */ - -legend { - box-sizing: border-box; /* 1 */ - color: inherit; /* 2 */ - display: table; /* 1 */ - max-width: 100%; /* 1 */ - padding: 0; /* 3 */ - white-space: normal; /* 1 */ -} - -/** - * Remove the default vertical scrollbar in IE. - */ - -textarea { - overflow: auto; -} - -/** - * 1. Add the correct box sizing in IE 10-. - * 2. Remove the padding in IE 10-. - */ - -[type="checkbox"], -[type="radio"] { - box-sizing: border-box; /* 1 */ - padding: 0; /* 2 */ -} - -/** - * Correct the cursor style of increment and decrement buttons in Chrome. - */ - -[type="number"]::-webkit-inner-spin-button, -[type="number"]::-webkit-outer-spin-button { - height: auto; -} - -/** - * 1. Correct the odd appearance in Chrome and Safari. - * 2. Correct the outline style in Safari. - */ - -[type="search"] { - -webkit-appearance: textfield; /* 1 */ - outline-offset: -2px; /* 2 */ -} - -/** - * Remove the inner padding and cancel buttons in Chrome and Safari on OS X. - */ - -[type="search"]::-webkit-search-cancel-button, -[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} - -/** - * Correct the text style of placeholders in Chrome, Edge, and Safari. - */ - -::-webkit-input-placeholder { - color: inherit; - opacity: 0.54; -} - -/** - * 1. Correct the inability to style clickable types in iOS and Safari. - * 2. Change font properties to `inherit` in Safari. - */ - -::-webkit-file-upload-button { - -webkit-appearance: button; /* 1 */ - font: inherit; /* 2 */ -} diff --git a/static/themes/daux/config.json b/static/themes/daux/config.json deleted file mode 100644 index d0ec416..0000000 --- a/static/themes/daux/config.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "favicon": "img/favicon.png", - "fonts": ["https://fonts.googleapis.com/css?family=Roboto+Slab:400,100,300,700&subset=latin,cyrillic-ext,cyrillic"], - "js": [], - "variants": { - "blue": { - "favicon": "img/favicon-blue.png", - "css": ["css/theme-blue.min.css"] - }, - "green": { - "favicon": "img/favicon-green.png", - "css": ["css/theme-green.min.css"] - }, - "navy": { - "favicon": "img/favicon-navy.png", - "css": ["css/theme-navy.min.css"] - }, - "red": { - "favicon": "img/favicon-red.png", - "css": ["css/theme-red.min.css"] - } - } -} diff --git a/static/themes/daux/css/theme-blue.min.css b/static/themes/daux/css/theme-blue.min.css deleted file mode 100644 index 9b0c2bb..0000000 --- a/static/themes/daux/css/theme-blue.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * DAUX.IO - * http://daux.io/ - * MIT License - */ -/*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block}audio:not([controls]){display:none;height:0}progress{vertical-align:baseline}[hidden],template{display:none}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit;font-weight:bolder}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}svg:not(:root){overflow:hidden}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}button,input,select,textarea{font:inherit;margin:0}optgroup{font-weight:700}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.clearfix:after,.clearfix:before{content:" ";display:table}.clearfix:after{clear:both}.pull-right{float:right!important}.pull-left{float:left!important}.hidden{display:none!important}*,:after,:before{box-sizing:border-box}body{margin:0;padding:0}body,html{height:100%;background-color:#fff;color:#2d2d2d}.Columns__left{background-color:#f7f7f7}.Columns__right__content{padding:10px;background-color:#fff}.Collapsible__container{padding:10px 15px;display:block;background-color:#e7e7e9;border-bottom:1px solid #e7e7e9}.Collapsible__content{display:none}.Collapsible__trigger{padding:7px 10px;background-color:#c5c5cb;border:none;background-image:none;-webkit-filter:none;filter:none;box-shadow:none}.Collapsible__trigger--bar{display:block;width:18px;height:2px;margin-top:2px;margin-bottom:3px}.Collapsible__trigger--bar,.Collapsible__trigger:hover{background-color:#3f4657;box-shadow:none}.Collapsible__trigger:hover .icon-bar{background-color:#82becd;box-shadow:none}@media screen and (min-width:768px){body{background-color:#82becd}.Navbar{position:fixed;z-index:1030;width:100%}.Collapsible__container{display:none}.Collapsible__content{display:block!important}.Columns{height:100%;padding-top:50px}.Columns:after,.Columns:before{content:" ";display:table}.Columns:after{clear:both}.Columns__left,.Columns__right{position:relative;min-height:1px;float:left;overflow:auto;height:100%}.Columns__left{width:25%;border-right:1px solid #e7e7e9;overflow-x:hidden}.Columns__right{width:75%}.Columns__right__content{padding:20px;min-height:100%}}body{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;text-rendering:optimizeLegibility;font-smoothing:antialiased;font-size:14px;line-height:1.5}h1,h2,h3,h4,h5,h6{font-family:Roboto Slab,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:300}.s-content body{font-size:15px}.s-content h1,.s-content h2,.s-content h3,.s-content h4,.s-content h5,.s-content h6{font-weight:300;-webkit-font-smoothing:antialiased;cursor:text;line-height:1.4em;margin-top:.3em;margin-bottom:.3em}.s-content h1 code,.s-content h1 tt,.s-content h2 code,.s-content h2 tt,.s-content h3 code,.s-content h3 tt,.s-content h4 code,.s-content h4 tt,.s-content h5 code,.s-content h5 tt,.s-content h6 code,.s-content h6 tt{font-size:inherit}.s-content h1 i,.s-content h2 i,.s-content h3 i,.s-content h4 i,.s-content h5 i,.s-content h6 i{font-size:.7em}.s-content h1 p,.s-content h2 p,.s-content h3 p,.s-content h4 p,.s-content h5 p,.s-content h6 p{margin-top:0}.s-content h1{font-size:2.6666666667em;color:#000}.s-content h2{font-size:2em;border-bottom:1px solid #eee;color:#000}.s-content h3{font-size:1.7333333333em}.s-content h4{font-size:1.4666666667em}.s-content h5{font-size:1.2em}.s-content h6{font-size:1.0666666667em;color:#555}.s-content a{text-decoration:underline}.s-content p{line-height:1.8em;margin-bottom:20px}.s-content ol,.s-content ul{padding-left:30px}.s-content ul p,.s-content ul ul{margin:0}.s-content dl{padding:0}.s-content dl dt{font-weight:700;font-style:italic;padding:0;margin:15px 0 5px}.s-content dl dt:first-child{padding:0}.s-content dl dd{margin:0 0 15px;padding:0 15px}.s-content blockquote{font-size:1.2em;border-left:4px solid #ddd;padding:7px 15px;color:#666}.s-content blockquote p{font-size:inherit}.s-content table{width:100%;padding:0;border-collapse:collapse}.s-content table tr{border-top:1px solid #eee;background-color:#fff;margin:0;padding:0}.s-content table tr:nth-child(2n){background-color:#f8f8f8}.s-content table th{font-weight:700;background:#eee}.s-content table td,.s-content table th{border:1px solid #eee;margin:0;padding:6px 13px}.s-content blockquote>:first-child,.s-content dl dd>:first-child,.s-content dl dt>:first-child,.s-content ol>:first-child,.s-content table td>:first-child,.s-content table th>:first-child,.s-content ul>:first-child{margin-top:0}.s-content blockquote>:last-child,.s-content dl dd>:last-child,.s-content dl dt>:last-child,.s-content ol>:last-child,.s-content table td>:last-child,.s-content table th>:last-child,.s-content ul>:last-child{margin-bottom:0}.s-content img{max-width:100%;display:block;margin:0 auto}.s-content code{font-family:Monaco,Menlo,Consolas,Courier New,monospace}.s-content code,.s-content tt{margin:0 2px;padding:0 5px;white-space:nowrap;border:1px solid #eaeaea;background-color:#f8f8f8;border-radius:3px}.s-content pre{background:#fdf6e3;color:#657b83;line-height:1.5em;overflow:auto;padding:20px;margin:0 -20px 20px}.s-content pre code{margin:0;padding:0;white-space:pre}.s-content pre code,.s-content pre tt{background-color:transparent;border:none}.s-content pre{border:none;border-radius:0;padding:10px 30px;margin-left:-20px;margin-right:-20px}@media (min-width:1150px){.Columns__right--float .Columns__right__content{height:100%;overflow:auto;padding:0!important;background-color:transparent!important;position:relative}.Columns__right--float .Columns__right__content article{width:100%;min-height:100%;overflow:auto;position:relative;z-index:1}.Columns__right--float .Columns__right__content article:before{content:"";width:50%;min-height:100%;overflow:auto;background-color:#fff;display:block;margin:0;position:absolute;z-index:-1}.Columns__right--float .Page__header,.Columns__right--float .Pager,.Columns__right--float .s-content blockquote,.Columns__right--float .s-content dl,.Columns__right--float .s-content h2,.Columns__right--float .s-content h3,.Columns__right--float .s-content h4,.Columns__right--float .s-content h5,.Columns__right--float .s-content h6,.Columns__right--float .s-content hr,.Columns__right--float .s-content ol,.Columns__right--float .s-content p,.Columns__right--float .s-content table,.Columns__right--float .s-content ul{float:left;clear:left;width:47%;margin-left:1.5%;margin-right:1.5%}.Columns__right--float .s-content table{background-color:#fff;white-space:normal}.Columns__right--float .s-content table code,.Columns__right--float .s-content table pre{white-space:normal}.Columns__right--float .s-content blockquote:before,.Columns__right--float .s-content dl:before,.Columns__right--float .s-content h2:before,.Columns__right--float .s-content h3:before,.Columns__right--float .s-content h4:before,.Columns__right--float .s-content h5:before,.Columns__right--float .s-content h6:before,.Columns__right--float .s-content hr:before,.Columns__right--float .s-content ol:before,.Columns__right--float .s-content p:before,.Columns__right--float .s-content ul:before{width:100%;height:10px;display:block;clear:both}.Columns__right--float .s-content blockquote dl,.Columns__right--float .s-content blockquote h2,.Columns__right--float .s-content blockquote h3,.Columns__right--float .s-content blockquote h4,.Columns__right--float .s-content blockquote h5,.Columns__right--float .s-content blockquote h6,.Columns__right--float .s-content blockquote hr,.Columns__right--float .s-content blockquote ol,.Columns__right--float .s-content blockquote p,.Columns__right--float .s-content blockquote pre,.Columns__right--float .s-content blockquote ul,.Columns__right--float .s-content dl dl,.Columns__right--float .s-content dl h2,.Columns__right--float .s-content dl h3,.Columns__right--float .s-content dl h4,.Columns__right--float .s-content dl h5,.Columns__right--float .s-content dl h6,.Columns__right--float .s-content dl hr,.Columns__right--float .s-content dl ol,.Columns__right--float .s-content dl p,.Columns__right--float .s-content dl pre,.Columns__right--float .s-content dl ul,.Columns__right--float .s-content h2 dl,.Columns__right--float .s-content h2 h2,.Columns__right--float .s-content h2 h3,.Columns__right--float .s-content h2 h4,.Columns__right--float .s-content h2 h5,.Columns__right--float .s-content h2 h6,.Columns__right--float .s-content h2 hr,.Columns__right--float .s-content h2 ol,.Columns__right--float .s-content h2 p,.Columns__right--float .s-content h2 pre,.Columns__right--float .s-content h2 ul,.Columns__right--float .s-content h3 dl,.Columns__right--float .s-content h3 h2,.Columns__right--float .s-content h3 h3,.Columns__right--float .s-content h3 h4,.Columns__right--float .s-content h3 h5,.Columns__right--float .s-content h3 h6,.Columns__right--float .s-content h3 hr,.Columns__right--float .s-content h3 ol,.Columns__right--float .s-content h3 p,.Columns__right--float .s-content h3 pre,.Columns__right--float .s-content h3 ul,.Columns__right--float .s-content h4 dl,.Columns__right--float .s-content h4 h2,.Columns__right--float .s-content h4 h3,.Columns__right--float .s-content h4 h4,.Columns__right--float .s-content h4 h5,.Columns__right--float .s-content h4 h6,.Columns__right--float .s-content h4 hr,.Columns__right--float .s-content h4 ol,.Columns__right--float .s-content h4 p,.Columns__right--float .s-content h4 pre,.Columns__right--float .s-content h4 ul,.Columns__right--float .s-content h5 dl,.Columns__right--float .s-content h5 h2,.Columns__right--float .s-content h5 h3,.Columns__right--float .s-content h5 h4,.Columns__right--float .s-content h5 h5,.Columns__right--float .s-content h5 h6,.Columns__right--float .s-content h5 hr,.Columns__right--float .s-content h5 ol,.Columns__right--float .s-content h5 p,.Columns__right--float .s-content h5 pre,.Columns__right--float .s-content h5 ul,.Columns__right--float .s-content h6 dl,.Columns__right--float .s-content h6 h2,.Columns__right--float .s-content h6 h3,.Columns__right--float .s-content h6 h4,.Columns__right--float .s-content h6 h5,.Columns__right--float .s-content h6 h6,.Columns__right--float .s-content h6 hr,.Columns__right--float .s-content h6 ol,.Columns__right--float .s-content h6 p,.Columns__right--float .s-content h6 pre,.Columns__right--float .s-content h6 ul,.Columns__right--float .s-content hr dl,.Columns__right--float .s-content hr h2,.Columns__right--float .s-content hr h3,.Columns__right--float .s-content hr h4,.Columns__right--float .s-content hr h5,.Columns__right--float .s-content hr h6,.Columns__right--float .s-content hr hr,.Columns__right--float .s-content hr ol,.Columns__right--float .s-content hr p,.Columns__right--float .s-content hr pre,.Columns__right--float .s-content hr ul,.Columns__right--float .s-content ol dl,.Columns__right--float .s-content ol h2,.Columns__right--float .s-content ol h3,.Columns__right--float .s-content ol h4,.Columns__right--float .s-content ol h5,.Columns__right--float .s-content ol h6,.Columns__right--float .s-content ol hr,.Columns__right--float .s-content ol ol,.Columns__right--float .s-content ol p,.Columns__right--float .s-content ol pre,.Columns__right--float .s-content ol ul,.Columns__right--float .s-content p dl,.Columns__right--float .s-content p h2,.Columns__right--float .s-content p h3,.Columns__right--float .s-content p h4,.Columns__right--float .s-content p h5,.Columns__right--float .s-content p h6,.Columns__right--float .s-content p hr,.Columns__right--float .s-content p ol,.Columns__right--float .s-content p p,.Columns__right--float .s-content p pre,.Columns__right--float .s-content p ul,.Columns__right--float .s-content ul dl,.Columns__right--float .s-content ul h2,.Columns__right--float .s-content ul h3,.Columns__right--float .s-content ul h4,.Columns__right--float .s-content ul h5,.Columns__right--float .s-content ul h6,.Columns__right--float .s-content ul hr,.Columns__right--float .s-content ul ol,.Columns__right--float .s-content ul p,.Columns__right--float .s-content ul pre,.Columns__right--float .s-content ul ul{width:auto;float:none;display:block}.Columns__right--float .s-content hr{border-color:#ddd}.Columns__right--float .s-content blockquote p,.Columns__right--float .s-content blockquote pre,.Columns__right--float .s-content li p,.Columns__right--float .s-content li pre{width:100%}.Columns__right--float .s-content pre{float:left;clear:right;width:50%;border:none;border-left:10px solid #fff;margin:0 0 10px;padding:0}.Columns__right--float .s-content pre code{padding:0 .5em}}a{text-decoration:none;color:#82becd}a.external:after{content:" " url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAVklEQVR4Xn3PgQkAMQhDUXfqTu7kTtkpd5RA8AInfArtQ2iRXFWT2QedAfttj2FsPIOE1eCOlEuoWWjgzYaB/IkeGOrxXhqB+uA9Bfcm0lAZuh+YIeAD+cAqSz4kCMUAAAAASUVORK5CYII=)}a.broken{color:red}p{margin:0 0 1em}hr{clear:both;margin:1em 0;border:0;border-top:1px solid #ddd}code{color:#3f4657}.Button{display:inline-block;text-align:center;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;border-radius:4px}.Button--small{font-size:12px;line-height:1.5;border-radius:3px}.Button--default{color:#333;background-color:#fff;border-color:#ccc}.Button--default.Button--active{color:#333;background-color:#e6e6e6;border-color:#adadad}.ButtonGroup{position:relative;display:inline-block;vertical-align:middle}.ButtonGroup .Button+.Button{margin-left:-1px}.ButtonGroup>.Button{position:relative;float:left}.ButtonGroup>.Button:focus,.ButtonGroup>.Button:hover{z-index:2}.ButtonGroup>.Button.Button--active,.ButtonGroup>.Button:active{z-index:3}.ButtonGroup>.Button:not(:first-child):not(:last-child){border-radius:0}.ButtonGroup>.Button:first-child{margin-left:0}.ButtonGroup>.Button:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.ButtonGroup>.Button:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.Navbar{height:50px;box-shadow:0 1px 5px rgba(0,0,0,.25);background-color:#3f4657;margin-bottom:0}.Navbar__brand{float:left;padding:15px 20px;font-size:18px;line-height:20px;height:50px;color:#82becd;text-shadow:none;font-family:Roboto Slab,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700}.CodeToggler__text{font-size:12px;line-height:1.5;padding:6px 10px 6px 0;display:inline-block;vertical-align:middle}.Nav{margin:0;padding:0}.Nav__arrow{display:inline-block;position:relative;width:16px;margin-left:-16px}.Nav__arrow:before{position:absolute;display:block;content:"";margin:-.25em 0 0 -.4em;left:50%;top:50%;width:.5em;height:.5em;border-right:.15em solid #3f4657;border-top:.15em solid #3f4657;-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-transition-duration:.3s;transition-duration:.3s}.Nav__item{display:block}.Nav__item a{display:block;margin:0;padding:6px 15px 6px 20px;font-family:Roboto Slab,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;color:#3f4657;font-size:15px;text-shadow:none;border-color:#e7e7e9}.Nav__item a:hover{color:#3f4657;text-shadow:none;background-color:#c5c5cb}.Nav .Nav{display:none;margin-left:15px}.Nav .Nav .Nav__item a{margin:0;margin-left:-15px;padding:3px 30px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#2d2d2d;opacity:.7}.Nav .Nav .Nav__item a:hover{opacity:1}.Nav .Nav .Nav__item--active a{color:#3f4657}.Nav__item--active>a,.Nav__item--open>a{background-color:#c5c5cb}.Nav__item--open>.Nav{display:block}.Nav__item--open>a>.Nav__arrow:before{margin-left:-.25em;-webkit-transform:rotate(135deg);transform:rotate(135deg)}.Page__header{margin:0 0 10px;padding:0;border-bottom:1px solid #eee}.Page__header:after,.Page__header:before{content:" ";display:table}.Page__header:after{clear:both}.Page__header h1{margin:0;padding:0}.Page__header--separator{height:.6em}.Page__header a{text-decoration:none}.Links{padding:0 20px}.Links a{font-family:Roboto Slab,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;color:#82becd;line-height:2em}.Search{position:relative;float:right;margin:8px 20px}.Search__field{display:block;width:100%;height:34px;padding:6px 30px 6px 0;color:#555;background:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.Search__field:focus{border-color:#82becd;outline:0;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px 2px rgba(102,175,233,.6)}.Search__icon{position:absolute;right:9px;top:9px;width:16px;height:16px}.TableOfContents{font-size:16px;padding-left:0;border-left:6px solid #efefef}.TableOfContents p{margin-bottom:0}.TableOfContents a{text-decoration:none}.TableOfContents .TableOfContents{border-left-width:0}.Pager{padding-left:0;margin:1em 0;list-style:none;text-align:center;clear:both}.Pager:after,.Pager:before{content:" ";display:table}.Pager:after{clear:both}.Pager li{display:inline}.Pager li>a{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.Pager li>a:focus,.Pager li>a:hover{text-decoration:none;background-color:#eee}.Pager--next>a{float:right}.Pager--prev>a{float:left}.container{margin-right:auto;margin-left:auto}@media (min-width:992px){.container{width:970px}}@media (min-width:768px){.container{width:750px}}@media (min-width:1200px){.container{width:1170px}}.container--inner{width:80%;margin:0 auto}.Homepage{padding-top:60px!important;background-color:#82becd;border-radius:0;border:none;color:#3f4657;overflow:hidden;padding-bottom:0;margin-bottom:0;box-shadow:none}.HomepageTitle h2{width:80%;font-size:30px;margin:20px auto;text-align:center}.HomepageImage img{display:block;max-width:80%;margin:0 auto;height:auto}.HomepageButtons{padding:20px 0;background-color:#c5c5cb;text-align:center}.HomepageButtons .Button--hero{padding:20px 30px;border-radius:0;text-shadow:none;opacity:.8;margin:0 10px;text-transform:uppercase;border:5px solid #3f4657;font-family:Roboto Slab,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700;background-image:none;-webkit-filter:none;filter:none;box-shadow:none}@media (max-width:768px){.HomepageButtons .Button--hero{display:block;margin-bottom:10px}}.HomepageButtons .Button--hero:hover{opacity:1}.HomepageButtons .Button--hero.Button--secondary{background-color:#c5c5cb;color:#3f4657}.HomepageButtons .Button--hero.Button--primary{background-color:#3f4657;color:#f7f7f7}.HomepageContent{background-color:#fff;padding:40px 0}@media (min-width:769px){.HomepageContent .row{margin:0 -15px}.HomepageContent .col-third{width:33.333333%;float:left;position:relative;min-height:1px;padding-left:15px;padding-right:15px}}.HomepageContent ol li,.HomepageContent ul li{list-style:none;padding-bottom:.5em}.HomepageContent ol li:before,.HomepageContent ul li:before{content:'';width:0;height:0;border:3px solid transparent;border-left:3px solid #82becd;float:left;display:block;margin:6px 6px 6px -12px}.HomepageContent .lead{font-family:Roboto Slab,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:300;font-size:16px;margin-bottom:20px;line-height:1.4}@media (min-width:768px){.HomepageContent{padding:40px 20px}.HomepageContent .lead{font-size:21px}}.HomepageFooter{background-color:#3f4657;border-radius:0;color:#82becd;border:none;box-shadow:none}@media (max-width:768px){.HomepageFooter{padding:0 20px;text-align:center}.HomepageFooter .HomepageFooter__links{padding-left:0;list-style-type:none}}@media (min-width:769px){.HomepageFooter .HomepageFooter__links{float:left}.HomepageFooter .HomepageFooter__twitter{float:right}}.HomepageFooter__links{margin:40px 0}.HomepageFooter__links li a{line-height:32px;font-size:16px;font-family:Roboto Slab,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700}.HomepageFooter__links li a:hover{color:#82becd;text-decoration:underline}.HomepageFooter__twitter{margin:40px 0}.HomepageFooter .Twitter{margin-bottom:20px}.hljs{display:block;overflow-x:auto;padding:.5em;background:#fdf6e3;color:#657b83}.hljs-comment,.hljs-quote{color:#93a1a1}.hljs-addition,.hljs-keyword,.hljs-selector-tag{color:#859900}.hljs-doctag,.hljs-literal,.hljs-meta .hljs-meta-string,.hljs-number,.hljs-regexp,.hljs-string{color:#2aa198}.hljs-name,.hljs-section,.hljs-selector-class,.hljs-selector-id,.hljs-title{color:#268bd2}.hljs-attr,.hljs-attribute,.hljs-class .hljs-title,.hljs-template-variable,.hljs-type,.hljs-variable{color:#b58900}.hljs-bullet,.hljs-link,.hljs-meta,.hljs-meta .hljs-keyword,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-subst,.hljs-symbol{color:#cb4b16}.hljs-built_in,.hljs-deletion{color:#dc322f}.hljs-formula{background:#eee8d5}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}@media print{*{text-shadow:none!important;color:#000!important;background:transparent!important;box-shadow:none!important}h1,h2,h3,h4,h5,h6{page-break-after:avoid;page-break-before:auto}blockquote,pre{border:1px solid #999;font-style:italic}blockquote,img,pre{page-break-inside:avoid}img{border:0}a,a:visited{text-decoration:underline}abbr[title]:after{content:" (" attr(title) ")"}q{quotes:none}q:before{content:""}q:after{content:" (" attr(cite) ")"}.page-break{display:block;page-break-before:always}.hidden-print,.Pager,aside{display:none}.Columns__right{width:100%!important}.s-content a:after{content:" (" attr(href) ")";font-size:80%;word-wrap:break-word}.s-content a[href^="#"]:after{content:""}h1 a[href]:after{font-size:50%}} \ No newline at end of file diff --git a/static/themes/daux/css/theme-green.min.css b/static/themes/daux/css/theme-green.min.css deleted file mode 100644 index e304194..0000000 --- a/static/themes/daux/css/theme-green.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * DAUX.IO - * http://daux.io/ - * MIT License - */ -/*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block}audio:not([controls]){display:none;height:0}progress{vertical-align:baseline}[hidden],template{display:none}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit;font-weight:bolder}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}svg:not(:root){overflow:hidden}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}button,input,select,textarea{font:inherit;margin:0}optgroup{font-weight:700}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.clearfix:after,.clearfix:before{content:" ";display:table}.clearfix:after{clear:both}.pull-right{float:right!important}.pull-left{float:left!important}.hidden{display:none!important}*,:after,:before{box-sizing:border-box}body{margin:0;padding:0}body,html{height:100%;background-color:#fff;color:#2d2d2d}.Columns__left{background-color:#f5f5f6}.Columns__right__content{padding:10px;background-color:#fff}.Collapsible__container{padding:10px 15px;display:block;background-color:#e7e7e9;border-bottom:1px solid #e7e7e9}.Collapsible__content{display:none}.Collapsible__trigger{padding:7px 10px;background-color:#a0d55d;border:none;background-image:none;-webkit-filter:none;filter:none;box-shadow:none}.Collapsible__trigger--bar{display:block;width:18px;height:2px;margin-top:2px;margin-bottom:3px}.Collapsible__trigger--bar,.Collapsible__trigger:hover{background-color:#000;box-shadow:none}.Collapsible__trigger:hover .icon-bar{background-color:#8acc37;box-shadow:none}@media screen and (min-width:768px){body{background-color:#8acc37}.Navbar{position:fixed;z-index:1030;width:100%}.Collapsible__container{display:none}.Collapsible__content{display:block!important}.Columns{height:100%;padding-top:50px}.Columns:after,.Columns:before{content:" ";display:table}.Columns:after{clear:both}.Columns__left,.Columns__right{position:relative;min-height:1px;float:left;overflow:auto;height:100%}.Columns__left{width:25%;border-right:1px solid #e7e7e9;overflow-x:hidden}.Columns__right{width:75%}.Columns__right__content{padding:20px;min-height:100%}}body{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;text-rendering:optimizeLegibility;font-smoothing:antialiased;font-size:14px;line-height:1.5}h1,h2,h3,h4,h5,h6{font-family:Roboto Slab,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:300}.s-content body{font-size:15px}.s-content h1,.s-content h2,.s-content h3,.s-content h4,.s-content h5,.s-content h6{font-weight:300;-webkit-font-smoothing:antialiased;cursor:text;line-height:1.4em;margin-top:.3em;margin-bottom:.3em}.s-content h1 code,.s-content h1 tt,.s-content h2 code,.s-content h2 tt,.s-content h3 code,.s-content h3 tt,.s-content h4 code,.s-content h4 tt,.s-content h5 code,.s-content h5 tt,.s-content h6 code,.s-content h6 tt{font-size:inherit}.s-content h1 i,.s-content h2 i,.s-content h3 i,.s-content h4 i,.s-content h5 i,.s-content h6 i{font-size:.7em}.s-content h1 p,.s-content h2 p,.s-content h3 p,.s-content h4 p,.s-content h5 p,.s-content h6 p{margin-top:0}.s-content h1{font-size:2.6666666667em;color:#000}.s-content h2{font-size:2em;border-bottom:1px solid #eee;color:#000}.s-content h3{font-size:1.7333333333em}.s-content h4{font-size:1.4666666667em}.s-content h5{font-size:1.2em}.s-content h6{font-size:1.0666666667em;color:#555}.s-content a{text-decoration:underline}.s-content p{line-height:1.8em;margin-bottom:20px}.s-content ol,.s-content ul{padding-left:30px}.s-content ul p,.s-content ul ul{margin:0}.s-content dl{padding:0}.s-content dl dt{font-weight:700;font-style:italic;padding:0;margin:15px 0 5px}.s-content dl dt:first-child{padding:0}.s-content dl dd{margin:0 0 15px;padding:0 15px}.s-content blockquote{font-size:1.2em;border-left:4px solid #ddd;padding:7px 15px;color:#666}.s-content blockquote p{font-size:inherit}.s-content table{width:100%;padding:0;border-collapse:collapse}.s-content table tr{border-top:1px solid #eee;background-color:#fff;margin:0;padding:0}.s-content table tr:nth-child(2n){background-color:#f8f8f8}.s-content table th{font-weight:700;background:#eee}.s-content table td,.s-content table th{border:1px solid #eee;margin:0;padding:6px 13px}.s-content blockquote>:first-child,.s-content dl dd>:first-child,.s-content dl dt>:first-child,.s-content ol>:first-child,.s-content table td>:first-child,.s-content table th>:first-child,.s-content ul>:first-child{margin-top:0}.s-content blockquote>:last-child,.s-content dl dd>:last-child,.s-content dl dt>:last-child,.s-content ol>:last-child,.s-content table td>:last-child,.s-content table th>:last-child,.s-content ul>:last-child{margin-bottom:0}.s-content img{max-width:100%;display:block;margin:0 auto}.s-content code{font-family:Monaco,Menlo,Consolas,Courier New,monospace}.s-content code,.s-content tt{margin:0 2px;padding:0 5px;white-space:nowrap;border:1px solid #eaeaea;background-color:#f8f8f8;border-radius:3px}.s-content pre{background:#fdf6e3;color:#657b83;line-height:1.5em;overflow:auto;padding:20px;margin:0 -20px 20px}.s-content pre code{margin:0;padding:0;white-space:pre}.s-content pre code,.s-content pre tt{background-color:transparent;border:none}.s-content pre{border:none;border-radius:0;padding:10px 30px;margin-left:-20px;margin-right:-20px}@media (min-width:1150px){.Columns__right--float .Columns__right__content{height:100%;overflow:auto;padding:0!important;background-color:transparent!important;position:relative}.Columns__right--float .Columns__right__content article{width:100%;min-height:100%;overflow:auto;position:relative;z-index:1}.Columns__right--float .Columns__right__content article:before{content:"";width:50%;min-height:100%;overflow:auto;background-color:#fff;display:block;margin:0;position:absolute;z-index:-1}.Columns__right--float .Page__header,.Columns__right--float .Pager,.Columns__right--float .s-content blockquote,.Columns__right--float .s-content dl,.Columns__right--float .s-content h2,.Columns__right--float .s-content h3,.Columns__right--float .s-content h4,.Columns__right--float .s-content h5,.Columns__right--float .s-content h6,.Columns__right--float .s-content hr,.Columns__right--float .s-content ol,.Columns__right--float .s-content p,.Columns__right--float .s-content table,.Columns__right--float .s-content ul{float:left;clear:left;width:47%;margin-left:1.5%;margin-right:1.5%}.Columns__right--float .s-content table{background-color:#fff;white-space:normal}.Columns__right--float .s-content table code,.Columns__right--float .s-content table pre{white-space:normal}.Columns__right--float .s-content blockquote:before,.Columns__right--float .s-content dl:before,.Columns__right--float .s-content h2:before,.Columns__right--float .s-content h3:before,.Columns__right--float .s-content h4:before,.Columns__right--float .s-content h5:before,.Columns__right--float .s-content h6:before,.Columns__right--float .s-content hr:before,.Columns__right--float .s-content ol:before,.Columns__right--float .s-content p:before,.Columns__right--float .s-content ul:before{width:100%;height:10px;display:block;clear:both}.Columns__right--float .s-content blockquote dl,.Columns__right--float .s-content blockquote h2,.Columns__right--float .s-content blockquote h3,.Columns__right--float .s-content blockquote h4,.Columns__right--float .s-content blockquote h5,.Columns__right--float .s-content blockquote h6,.Columns__right--float .s-content blockquote hr,.Columns__right--float .s-content blockquote ol,.Columns__right--float .s-content blockquote p,.Columns__right--float .s-content blockquote pre,.Columns__right--float .s-content blockquote ul,.Columns__right--float .s-content dl dl,.Columns__right--float .s-content dl h2,.Columns__right--float .s-content dl h3,.Columns__right--float .s-content dl h4,.Columns__right--float .s-content dl h5,.Columns__right--float .s-content dl h6,.Columns__right--float .s-content dl hr,.Columns__right--float .s-content dl ol,.Columns__right--float .s-content dl p,.Columns__right--float .s-content dl pre,.Columns__right--float .s-content dl ul,.Columns__right--float .s-content h2 dl,.Columns__right--float .s-content h2 h2,.Columns__right--float .s-content h2 h3,.Columns__right--float .s-content h2 h4,.Columns__right--float .s-content h2 h5,.Columns__right--float .s-content h2 h6,.Columns__right--float .s-content h2 hr,.Columns__right--float .s-content h2 ol,.Columns__right--float .s-content h2 p,.Columns__right--float .s-content h2 pre,.Columns__right--float .s-content h2 ul,.Columns__right--float .s-content h3 dl,.Columns__right--float .s-content h3 h2,.Columns__right--float .s-content h3 h3,.Columns__right--float .s-content h3 h4,.Columns__right--float .s-content h3 h5,.Columns__right--float .s-content h3 h6,.Columns__right--float .s-content h3 hr,.Columns__right--float .s-content h3 ol,.Columns__right--float .s-content h3 p,.Columns__right--float .s-content h3 pre,.Columns__right--float .s-content h3 ul,.Columns__right--float .s-content h4 dl,.Columns__right--float .s-content h4 h2,.Columns__right--float .s-content h4 h3,.Columns__right--float .s-content h4 h4,.Columns__right--float .s-content h4 h5,.Columns__right--float .s-content h4 h6,.Columns__right--float .s-content h4 hr,.Columns__right--float .s-content h4 ol,.Columns__right--float .s-content h4 p,.Columns__right--float .s-content h4 pre,.Columns__right--float .s-content h4 ul,.Columns__right--float .s-content h5 dl,.Columns__right--float .s-content h5 h2,.Columns__right--float .s-content h5 h3,.Columns__right--float .s-content h5 h4,.Columns__right--float .s-content h5 h5,.Columns__right--float .s-content h5 h6,.Columns__right--float .s-content h5 hr,.Columns__right--float .s-content h5 ol,.Columns__right--float .s-content h5 p,.Columns__right--float .s-content h5 pre,.Columns__right--float .s-content h5 ul,.Columns__right--float .s-content h6 dl,.Columns__right--float .s-content h6 h2,.Columns__right--float .s-content h6 h3,.Columns__right--float .s-content h6 h4,.Columns__right--float .s-content h6 h5,.Columns__right--float .s-content h6 h6,.Columns__right--float .s-content h6 hr,.Columns__right--float .s-content h6 ol,.Columns__right--float .s-content h6 p,.Columns__right--float .s-content h6 pre,.Columns__right--float .s-content h6 ul,.Columns__right--float .s-content hr dl,.Columns__right--float .s-content hr h2,.Columns__right--float .s-content hr h3,.Columns__right--float .s-content hr h4,.Columns__right--float .s-content hr h5,.Columns__right--float .s-content hr h6,.Columns__right--float .s-content hr hr,.Columns__right--float .s-content hr ol,.Columns__right--float .s-content hr p,.Columns__right--float .s-content hr pre,.Columns__right--float .s-content hr ul,.Columns__right--float .s-content ol dl,.Columns__right--float .s-content ol h2,.Columns__right--float .s-content ol h3,.Columns__right--float .s-content ol h4,.Columns__right--float .s-content ol h5,.Columns__right--float .s-content ol h6,.Columns__right--float .s-content ol hr,.Columns__right--float .s-content ol ol,.Columns__right--float .s-content ol p,.Columns__right--float .s-content ol pre,.Columns__right--float .s-content ol ul,.Columns__right--float .s-content p dl,.Columns__right--float .s-content p h2,.Columns__right--float .s-content p h3,.Columns__right--float .s-content p h4,.Columns__right--float .s-content p h5,.Columns__right--float .s-content p h6,.Columns__right--float .s-content p hr,.Columns__right--float .s-content p ol,.Columns__right--float .s-content p p,.Columns__right--float .s-content p pre,.Columns__right--float .s-content p ul,.Columns__right--float .s-content ul dl,.Columns__right--float .s-content ul h2,.Columns__right--float .s-content ul h3,.Columns__right--float .s-content ul h4,.Columns__right--float .s-content ul h5,.Columns__right--float .s-content ul h6,.Columns__right--float .s-content ul hr,.Columns__right--float .s-content ul ol,.Columns__right--float .s-content ul p,.Columns__right--float .s-content ul pre,.Columns__right--float .s-content ul ul{width:auto;float:none;display:block}.Columns__right--float .s-content hr{border-color:#ddd}.Columns__right--float .s-content blockquote p,.Columns__right--float .s-content blockquote pre,.Columns__right--float .s-content li p,.Columns__right--float .s-content li pre{width:100%}.Columns__right--float .s-content pre{float:left;clear:right;width:50%;border:none;border-left:10px solid #fff;margin:0 0 10px;padding:0}.Columns__right--float .s-content pre code{padding:0 .5em}}a{text-decoration:none;color:#8acc37}a.external:after{content:" " url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAVklEQVR4Xn3PgQkAMQhDUXfqTu7kTtkpd5RA8AInfArtQ2iRXFWT2QedAfttj2FsPIOE1eCOlEuoWWjgzYaB/IkeGOrxXhqB+uA9Bfcm0lAZuh+YIeAD+cAqSz4kCMUAAAAASUVORK5CYII=)}a.broken{color:red}p{margin:0 0 1em}hr{clear:both;margin:1em 0;border:0;border-top:1px solid #ddd}code{color:#000}.Button{display:inline-block;text-align:center;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;border-radius:4px}.Button--small{font-size:12px;line-height:1.5;border-radius:3px}.Button--default{color:#333;background-color:#fff;border-color:#ccc}.Button--default.Button--active{color:#333;background-color:#e6e6e6;border-color:#adadad}.ButtonGroup{position:relative;display:inline-block;vertical-align:middle}.ButtonGroup .Button+.Button{margin-left:-1px}.ButtonGroup>.Button{position:relative;float:left}.ButtonGroup>.Button:focus,.ButtonGroup>.Button:hover{z-index:2}.ButtonGroup>.Button.Button--active,.ButtonGroup>.Button:active{z-index:3}.ButtonGroup>.Button:not(:first-child):not(:last-child){border-radius:0}.ButtonGroup>.Button:first-child{margin-left:0}.ButtonGroup>.Button:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.ButtonGroup>.Button:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.Navbar{height:50px;box-shadow:0 1px 5px rgba(0,0,0,.25);background-color:#000;margin-bottom:0}.Navbar__brand{float:left;padding:15px 20px;font-size:18px;line-height:20px;height:50px;color:#8acc37;text-shadow:none;font-family:Roboto Slab,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700}.CodeToggler__text{font-size:12px;line-height:1.5;padding:6px 10px 6px 0;display:inline-block;vertical-align:middle}.Nav{margin:0;padding:0}.Nav__arrow{display:inline-block;position:relative;width:16px;margin-left:-16px}.Nav__arrow:before{position:absolute;display:block;content:"";margin:-.25em 0 0 -.4em;left:50%;top:50%;width:.5em;height:.5em;border-right:.15em solid #000;border-top:.15em solid #000;-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-transition-duration:.3s;transition-duration:.3s}.Nav__item{display:block}.Nav__item a{display:block;margin:0;padding:6px 15px 6px 20px;font-family:Roboto Slab,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;color:#000;font-size:15px;text-shadow:none;border-color:#e7e7e9}.Nav__item a:hover{color:#000;text-shadow:none;background-color:#a0d55d}.Nav .Nav{display:none;margin-left:15px}.Nav .Nav .Nav__item a{margin:0;margin-left:-15px;padding:3px 30px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#2d2d2d;opacity:.7}.Nav .Nav .Nav__item a:hover{opacity:1}.Nav .Nav .Nav__item--active a{color:#000}.Nav__item--active>a,.Nav__item--open>a{background-color:#a0d55d}.Nav__item--open>.Nav{display:block}.Nav__item--open>a>.Nav__arrow:before{margin-left:-.25em;-webkit-transform:rotate(135deg);transform:rotate(135deg)}.Page__header{margin:0 0 10px;padding:0;border-bottom:1px solid #eee}.Page__header:after,.Page__header:before{content:" ";display:table}.Page__header:after{clear:both}.Page__header h1{margin:0;padding:0}.Page__header--separator{height:.6em}.Page__header a{text-decoration:none}.Links{padding:0 20px}.Links a{font-family:Roboto Slab,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;color:#8acc37;line-height:2em}.Search{position:relative;float:right;margin:8px 20px}.Search__field{display:block;width:100%;height:34px;padding:6px 30px 6px 0;color:#555;background:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.Search__field:focus{border-color:#8acc37;outline:0;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px 2px rgba(102,175,233,.6)}.Search__icon{position:absolute;right:9px;top:9px;width:16px;height:16px}.TableOfContents{font-size:16px;padding-left:0;border-left:6px solid #efefef}.TableOfContents p{margin-bottom:0}.TableOfContents a{text-decoration:none}.TableOfContents .TableOfContents{border-left-width:0}.Pager{padding-left:0;margin:1em 0;list-style:none;text-align:center;clear:both}.Pager:after,.Pager:before{content:" ";display:table}.Pager:after{clear:both}.Pager li{display:inline}.Pager li>a{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.Pager li>a:focus,.Pager li>a:hover{text-decoration:none;background-color:#eee}.Pager--next>a{float:right}.Pager--prev>a{float:left}.container{margin-right:auto;margin-left:auto}@media (min-width:992px){.container{width:970px}}@media (min-width:768px){.container{width:750px}}@media (min-width:1200px){.container{width:1170px}}.container--inner{width:80%;margin:0 auto}.Homepage{padding-top:60px!important;background-color:#8acc37;border-radius:0;border:none;color:#000;overflow:hidden;padding-bottom:0;margin-bottom:0;box-shadow:none}.HomepageTitle h2{width:80%;font-size:30px;margin:20px auto;text-align:center}.HomepageImage img{display:block;max-width:80%;margin:0 auto;height:auto}.HomepageButtons{padding:20px 0;background-color:#a0d55d;text-align:center}.HomepageButtons .Button--hero{padding:20px 30px;border-radius:0;text-shadow:none;opacity:.8;margin:0 10px;text-transform:uppercase;border:5px solid #000;font-family:Roboto Slab,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700;background-image:none;-webkit-filter:none;filter:none;box-shadow:none}@media (max-width:768px){.HomepageButtons .Button--hero{display:block;margin-bottom:10px}}.HomepageButtons .Button--hero:hover{opacity:1}.HomepageButtons .Button--hero.Button--secondary{background-color:#a0d55d;color:#000}.HomepageButtons .Button--hero.Button--primary{background-color:#000;color:#f5f5f6}.HomepageContent{background-color:#fff;padding:40px 0}@media (min-width:769px){.HomepageContent .row{margin:0 -15px}.HomepageContent .col-third{width:33.333333%;float:left;position:relative;min-height:1px;padding-left:15px;padding-right:15px}}.HomepageContent ol li,.HomepageContent ul li{list-style:none;padding-bottom:.5em}.HomepageContent ol li:before,.HomepageContent ul li:before{content:'';width:0;height:0;border:3px solid transparent;border-left:3px solid #8acc37;float:left;display:block;margin:6px 6px 6px -12px}.HomepageContent .lead{font-family:Roboto Slab,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:300;font-size:16px;margin-bottom:20px;line-height:1.4}@media (min-width:768px){.HomepageContent{padding:40px 20px}.HomepageContent .lead{font-size:21px}}.HomepageFooter{background-color:#000;border-radius:0;color:#8acc37;border:none;box-shadow:none}@media (max-width:768px){.HomepageFooter{padding:0 20px;text-align:center}.HomepageFooter .HomepageFooter__links{padding-left:0;list-style-type:none}}@media (min-width:769px){.HomepageFooter .HomepageFooter__links{float:left}.HomepageFooter .HomepageFooter__twitter{float:right}}.HomepageFooter__links{margin:40px 0}.HomepageFooter__links li a{line-height:32px;font-size:16px;font-family:Roboto Slab,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700}.HomepageFooter__links li a:hover{color:#8acc37;text-decoration:underline}.HomepageFooter__twitter{margin:40px 0}.HomepageFooter .Twitter{margin-bottom:20px}.hljs{display:block;overflow-x:auto;padding:.5em;background:#fdf6e3;color:#657b83}.hljs-comment,.hljs-quote{color:#93a1a1}.hljs-addition,.hljs-keyword,.hljs-selector-tag{color:#859900}.hljs-doctag,.hljs-literal,.hljs-meta .hljs-meta-string,.hljs-number,.hljs-regexp,.hljs-string{color:#2aa198}.hljs-name,.hljs-section,.hljs-selector-class,.hljs-selector-id,.hljs-title{color:#268bd2}.hljs-attr,.hljs-attribute,.hljs-class .hljs-title,.hljs-template-variable,.hljs-type,.hljs-variable{color:#b58900}.hljs-bullet,.hljs-link,.hljs-meta,.hljs-meta .hljs-keyword,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-subst,.hljs-symbol{color:#cb4b16}.hljs-built_in,.hljs-deletion{color:#dc322f}.hljs-formula{background:#eee8d5}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}@media print{*{text-shadow:none!important;color:#000!important;background:transparent!important;box-shadow:none!important}h1,h2,h3,h4,h5,h6{page-break-after:avoid;page-break-before:auto}blockquote,pre{border:1px solid #999;font-style:italic}blockquote,img,pre{page-break-inside:avoid}img{border:0}a,a:visited{text-decoration:underline}abbr[title]:after{content:" (" attr(title) ")"}q{quotes:none}q:before{content:""}q:after{content:" (" attr(cite) ")"}.page-break{display:block;page-break-before:always}.hidden-print,.Pager,aside{display:none}.Columns__right{width:100%!important}.s-content a:after{content:" (" attr(href) ")";font-size:80%;word-wrap:break-word}.s-content a[href^="#"]:after{content:""}h1 a[href]:after{font-size:50%}} \ No newline at end of file diff --git a/static/themes/daux/css/theme-navy.min.css b/static/themes/daux/css/theme-navy.min.css deleted file mode 100644 index 3913c3b..0000000 --- a/static/themes/daux/css/theme-navy.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * DAUX.IO - * http://daux.io/ - * MIT License - */ -/*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block}audio:not([controls]){display:none;height:0}progress{vertical-align:baseline}[hidden],template{display:none}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit;font-weight:bolder}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}svg:not(:root){overflow:hidden}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}button,input,select,textarea{font:inherit;margin:0}optgroup{font-weight:700}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.clearfix:after,.clearfix:before{content:" ";display:table}.clearfix:after{clear:both}.pull-right{float:right!important}.pull-left{float:left!important}.hidden{display:none!important}*,:after,:before{box-sizing:border-box}body{margin:0;padding:0}body,html{height:100%;background-color:#fff;color:#2d2d2d}.Columns__left{background-color:#f5f5f6}.Columns__right__content{padding:10px;background-color:#fff}.Collapsible__container{padding:10px 15px;display:block;background-color:#e7e7e9;border-bottom:1px solid #e7e7e9}.Collapsible__content{display:none}.Collapsible__trigger{padding:7px 10px;background-color:#c5c5cb;border:none;background-image:none;-webkit-filter:none;filter:none;box-shadow:none}.Collapsible__trigger--bar{display:block;width:18px;height:2px;margin-top:2px;margin-bottom:3px}.Collapsible__trigger--bar,.Collapsible__trigger:hover{background-color:#13132a;box-shadow:none}.Collapsible__trigger:hover .icon-bar{background-color:#7795b4;box-shadow:none}@media screen and (min-width:768px){body{background-color:#7795b4}.Navbar{position:fixed;z-index:1030;width:100%}.Collapsible__container{display:none}.Collapsible__content{display:block!important}.Columns{height:100%;padding-top:50px}.Columns:after,.Columns:before{content:" ";display:table}.Columns:after{clear:both}.Columns__left,.Columns__right{position:relative;min-height:1px;float:left;overflow:auto;height:100%}.Columns__left{width:25%;border-right:1px solid #e7e7e9;overflow-x:hidden}.Columns__right{width:75%}.Columns__right__content{padding:20px;min-height:100%}}body{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;text-rendering:optimizeLegibility;font-smoothing:antialiased;font-size:14px;line-height:1.5}h1,h2,h3,h4,h5,h6{font-family:Roboto Slab,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:300}.s-content body{font-size:15px}.s-content h1,.s-content h2,.s-content h3,.s-content h4,.s-content h5,.s-content h6{font-weight:300;-webkit-font-smoothing:antialiased;cursor:text;line-height:1.4em;margin-top:.3em;margin-bottom:.3em}.s-content h1 code,.s-content h1 tt,.s-content h2 code,.s-content h2 tt,.s-content h3 code,.s-content h3 tt,.s-content h4 code,.s-content h4 tt,.s-content h5 code,.s-content h5 tt,.s-content h6 code,.s-content h6 tt{font-size:inherit}.s-content h1 i,.s-content h2 i,.s-content h3 i,.s-content h4 i,.s-content h5 i,.s-content h6 i{font-size:.7em}.s-content h1 p,.s-content h2 p,.s-content h3 p,.s-content h4 p,.s-content h5 p,.s-content h6 p{margin-top:0}.s-content h1{font-size:2.6666666667em;color:#000}.s-content h2{font-size:2em;border-bottom:1px solid #eee;color:#000}.s-content h3{font-size:1.7333333333em}.s-content h4{font-size:1.4666666667em}.s-content h5{font-size:1.2em}.s-content h6{font-size:1.0666666667em;color:#555}.s-content a{text-decoration:underline}.s-content p{line-height:1.8em;margin-bottom:20px}.s-content ol,.s-content ul{padding-left:30px}.s-content ul p,.s-content ul ul{margin:0}.s-content dl{padding:0}.s-content dl dt{font-weight:700;font-style:italic;padding:0;margin:15px 0 5px}.s-content dl dt:first-child{padding:0}.s-content dl dd{margin:0 0 15px;padding:0 15px}.s-content blockquote{font-size:1.2em;border-left:4px solid #ddd;padding:7px 15px;color:#666}.s-content blockquote p{font-size:inherit}.s-content table{width:100%;padding:0;border-collapse:collapse}.s-content table tr{border-top:1px solid #eee;background-color:#fff;margin:0;padding:0}.s-content table tr:nth-child(2n){background-color:#f8f8f8}.s-content table th{font-weight:700;background:#eee}.s-content table td,.s-content table th{border:1px solid #eee;margin:0;padding:6px 13px}.s-content blockquote>:first-child,.s-content dl dd>:first-child,.s-content dl dt>:first-child,.s-content ol>:first-child,.s-content table td>:first-child,.s-content table th>:first-child,.s-content ul>:first-child{margin-top:0}.s-content blockquote>:last-child,.s-content dl dd>:last-child,.s-content dl dt>:last-child,.s-content ol>:last-child,.s-content table td>:last-child,.s-content table th>:last-child,.s-content ul>:last-child{margin-bottom:0}.s-content img{max-width:100%;display:block;margin:0 auto}.s-content code{font-family:Monaco,Menlo,Consolas,Courier New,monospace}.s-content code,.s-content tt{margin:0 2px;padding:0 5px;white-space:nowrap;border:1px solid #eaeaea;background-color:#f8f8f8;border-radius:3px}.s-content pre{background:#fdf6e3;color:#657b83;line-height:1.5em;overflow:auto;padding:20px;margin:0 -20px 20px}.s-content pre code{margin:0;padding:0;white-space:pre}.s-content pre code,.s-content pre tt{background-color:transparent;border:none}.s-content pre{border:none;border-radius:0;padding:10px 30px;margin-left:-20px;margin-right:-20px}@media (min-width:1150px){.Columns__right--float .Columns__right__content{height:100%;overflow:auto;padding:0!important;background-color:transparent!important;position:relative}.Columns__right--float .Columns__right__content article{width:100%;min-height:100%;overflow:auto;position:relative;z-index:1}.Columns__right--float .Columns__right__content article:before{content:"";width:50%;min-height:100%;overflow:auto;background-color:#fff;display:block;margin:0;position:absolute;z-index:-1}.Columns__right--float .Page__header,.Columns__right--float .Pager,.Columns__right--float .s-content blockquote,.Columns__right--float .s-content dl,.Columns__right--float .s-content h2,.Columns__right--float .s-content h3,.Columns__right--float .s-content h4,.Columns__right--float .s-content h5,.Columns__right--float .s-content h6,.Columns__right--float .s-content hr,.Columns__right--float .s-content ol,.Columns__right--float .s-content p,.Columns__right--float .s-content table,.Columns__right--float .s-content ul{float:left;clear:left;width:47%;margin-left:1.5%;margin-right:1.5%}.Columns__right--float .s-content table{background-color:#fff;white-space:normal}.Columns__right--float .s-content table code,.Columns__right--float .s-content table pre{white-space:normal}.Columns__right--float .s-content blockquote:before,.Columns__right--float .s-content dl:before,.Columns__right--float .s-content h2:before,.Columns__right--float .s-content h3:before,.Columns__right--float .s-content h4:before,.Columns__right--float .s-content h5:before,.Columns__right--float .s-content h6:before,.Columns__right--float .s-content hr:before,.Columns__right--float .s-content ol:before,.Columns__right--float .s-content p:before,.Columns__right--float .s-content ul:before{width:100%;height:10px;display:block;clear:both}.Columns__right--float .s-content blockquote dl,.Columns__right--float .s-content blockquote h2,.Columns__right--float .s-content blockquote h3,.Columns__right--float .s-content blockquote h4,.Columns__right--float .s-content blockquote h5,.Columns__right--float .s-content blockquote h6,.Columns__right--float .s-content blockquote hr,.Columns__right--float .s-content blockquote ol,.Columns__right--float .s-content blockquote p,.Columns__right--float .s-content blockquote pre,.Columns__right--float .s-content blockquote ul,.Columns__right--float .s-content dl dl,.Columns__right--float .s-content dl h2,.Columns__right--float .s-content dl h3,.Columns__right--float .s-content dl h4,.Columns__right--float .s-content dl h5,.Columns__right--float .s-content dl h6,.Columns__right--float .s-content dl hr,.Columns__right--float .s-content dl ol,.Columns__right--float .s-content dl p,.Columns__right--float .s-content dl pre,.Columns__right--float .s-content dl ul,.Columns__right--float .s-content h2 dl,.Columns__right--float .s-content h2 h2,.Columns__right--float .s-content h2 h3,.Columns__right--float .s-content h2 h4,.Columns__right--float .s-content h2 h5,.Columns__right--float .s-content h2 h6,.Columns__right--float .s-content h2 hr,.Columns__right--float .s-content h2 ol,.Columns__right--float .s-content h2 p,.Columns__right--float .s-content h2 pre,.Columns__right--float .s-content h2 ul,.Columns__right--float .s-content h3 dl,.Columns__right--float .s-content h3 h2,.Columns__right--float .s-content h3 h3,.Columns__right--float .s-content h3 h4,.Columns__right--float .s-content h3 h5,.Columns__right--float .s-content h3 h6,.Columns__right--float .s-content h3 hr,.Columns__right--float .s-content h3 ol,.Columns__right--float .s-content h3 p,.Columns__right--float .s-content h3 pre,.Columns__right--float .s-content h3 ul,.Columns__right--float .s-content h4 dl,.Columns__right--float .s-content h4 h2,.Columns__right--float .s-content h4 h3,.Columns__right--float .s-content h4 h4,.Columns__right--float .s-content h4 h5,.Columns__right--float .s-content h4 h6,.Columns__right--float .s-content h4 hr,.Columns__right--float .s-content h4 ol,.Columns__right--float .s-content h4 p,.Columns__right--float .s-content h4 pre,.Columns__right--float .s-content h4 ul,.Columns__right--float .s-content h5 dl,.Columns__right--float .s-content h5 h2,.Columns__right--float .s-content h5 h3,.Columns__right--float .s-content h5 h4,.Columns__right--float .s-content h5 h5,.Columns__right--float .s-content h5 h6,.Columns__right--float .s-content h5 hr,.Columns__right--float .s-content h5 ol,.Columns__right--float .s-content h5 p,.Columns__right--float .s-content h5 pre,.Columns__right--float .s-content h5 ul,.Columns__right--float .s-content h6 dl,.Columns__right--float .s-content h6 h2,.Columns__right--float .s-content h6 h3,.Columns__right--float .s-content h6 h4,.Columns__right--float .s-content h6 h5,.Columns__right--float .s-content h6 h6,.Columns__right--float .s-content h6 hr,.Columns__right--float .s-content h6 ol,.Columns__right--float .s-content h6 p,.Columns__right--float .s-content h6 pre,.Columns__right--float .s-content h6 ul,.Columns__right--float .s-content hr dl,.Columns__right--float .s-content hr h2,.Columns__right--float .s-content hr h3,.Columns__right--float .s-content hr h4,.Columns__right--float .s-content hr h5,.Columns__right--float .s-content hr h6,.Columns__right--float .s-content hr hr,.Columns__right--float .s-content hr ol,.Columns__right--float .s-content hr p,.Columns__right--float .s-content hr pre,.Columns__right--float .s-content hr ul,.Columns__right--float .s-content ol dl,.Columns__right--float .s-content ol h2,.Columns__right--float .s-content ol h3,.Columns__right--float .s-content ol h4,.Columns__right--float .s-content ol h5,.Columns__right--float .s-content ol h6,.Columns__right--float .s-content ol hr,.Columns__right--float .s-content ol ol,.Columns__right--float .s-content ol p,.Columns__right--float .s-content ol pre,.Columns__right--float .s-content ol ul,.Columns__right--float .s-content p dl,.Columns__right--float .s-content p h2,.Columns__right--float .s-content p h3,.Columns__right--float .s-content p h4,.Columns__right--float .s-content p h5,.Columns__right--float .s-content p h6,.Columns__right--float .s-content p hr,.Columns__right--float .s-content p ol,.Columns__right--float .s-content p p,.Columns__right--float .s-content p pre,.Columns__right--float .s-content p ul,.Columns__right--float .s-content ul dl,.Columns__right--float .s-content ul h2,.Columns__right--float .s-content ul h3,.Columns__right--float .s-content ul h4,.Columns__right--float .s-content ul h5,.Columns__right--float .s-content ul h6,.Columns__right--float .s-content ul hr,.Columns__right--float .s-content ul ol,.Columns__right--float .s-content ul p,.Columns__right--float .s-content ul pre,.Columns__right--float .s-content ul ul{width:auto;float:none;display:block}.Columns__right--float .s-content hr{border-color:#ddd}.Columns__right--float .s-content blockquote p,.Columns__right--float .s-content blockquote pre,.Columns__right--float .s-content li p,.Columns__right--float .s-content li pre{width:100%}.Columns__right--float .s-content pre{float:left;clear:right;width:50%;border:none;border-left:10px solid #fff;margin:0 0 10px;padding:0}.Columns__right--float .s-content pre code{padding:0 .5em}}a{text-decoration:none;color:#7795b4}a.external:after{content:" " url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAVklEQVR4Xn3PgQkAMQhDUXfqTu7kTtkpd5RA8AInfArtQ2iRXFWT2QedAfttj2FsPIOE1eCOlEuoWWjgzYaB/IkeGOrxXhqB+uA9Bfcm0lAZuh+YIeAD+cAqSz4kCMUAAAAASUVORK5CYII=)}a.broken{color:red}p{margin:0 0 1em}hr{clear:both;margin:1em 0;border:0;border-top:1px solid #ddd}code{color:#13132a}.Button{display:inline-block;text-align:center;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;border-radius:4px}.Button--small{font-size:12px;line-height:1.5;border-radius:3px}.Button--default{color:#333;background-color:#fff;border-color:#ccc}.Button--default.Button--active{color:#333;background-color:#e6e6e6;border-color:#adadad}.ButtonGroup{position:relative;display:inline-block;vertical-align:middle}.ButtonGroup .Button+.Button{margin-left:-1px}.ButtonGroup>.Button{position:relative;float:left}.ButtonGroup>.Button:focus,.ButtonGroup>.Button:hover{z-index:2}.ButtonGroup>.Button.Button--active,.ButtonGroup>.Button:active{z-index:3}.ButtonGroup>.Button:not(:first-child):not(:last-child){border-radius:0}.ButtonGroup>.Button:first-child{margin-left:0}.ButtonGroup>.Button:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.ButtonGroup>.Button:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.Navbar{height:50px;box-shadow:0 1px 5px rgba(0,0,0,.25);background-color:#13132a;margin-bottom:0}.Navbar__brand{float:left;padding:15px 20px;font-size:18px;line-height:20px;height:50px;color:#7795b4;text-shadow:none;font-family:Roboto Slab,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700}.CodeToggler__text{font-size:12px;line-height:1.5;padding:6px 10px 6px 0;display:inline-block;vertical-align:middle}.Nav{margin:0;padding:0}.Nav__arrow{display:inline-block;position:relative;width:16px;margin-left:-16px}.Nav__arrow:before{position:absolute;display:block;content:"";margin:-.25em 0 0 -.4em;left:50%;top:50%;width:.5em;height:.5em;border-right:.15em solid #13132a;border-top:.15em solid #13132a;-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-transition-duration:.3s;transition-duration:.3s}.Nav__item{display:block}.Nav__item a{display:block;margin:0;padding:6px 15px 6px 20px;font-family:Roboto Slab,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;color:#13132a;font-size:15px;text-shadow:none;border-color:#e7e7e9}.Nav__item a:hover{color:#13132a;text-shadow:none;background-color:#c5c5cb}.Nav .Nav{display:none;margin-left:15px}.Nav .Nav .Nav__item a{margin:0;margin-left:-15px;padding:3px 30px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#2d2d2d;opacity:.7}.Nav .Nav .Nav__item a:hover{opacity:1}.Nav .Nav .Nav__item--active a{color:#13132a}.Nav__item--active>a,.Nav__item--open>a{background-color:#c5c5cb}.Nav__item--open>.Nav{display:block}.Nav__item--open>a>.Nav__arrow:before{margin-left:-.25em;-webkit-transform:rotate(135deg);transform:rotate(135deg)}.Page__header{margin:0 0 10px;padding:0;border-bottom:1px solid #eee}.Page__header:after,.Page__header:before{content:" ";display:table}.Page__header:after{clear:both}.Page__header h1{margin:0;padding:0}.Page__header--separator{height:.6em}.Page__header a{text-decoration:none}.Links{padding:0 20px}.Links a{font-family:Roboto Slab,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;color:#7795b4;line-height:2em}.Search{position:relative;float:right;margin:8px 20px}.Search__field{display:block;width:100%;height:34px;padding:6px 30px 6px 0;color:#555;background:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.Search__field:focus{border-color:#7795b4;outline:0;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px 2px rgba(102,175,233,.6)}.Search__icon{position:absolute;right:9px;top:9px;width:16px;height:16px}.TableOfContents{font-size:16px;padding-left:0;border-left:6px solid #efefef}.TableOfContents p{margin-bottom:0}.TableOfContents a{text-decoration:none}.TableOfContents .TableOfContents{border-left-width:0}.Pager{padding-left:0;margin:1em 0;list-style:none;text-align:center;clear:both}.Pager:after,.Pager:before{content:" ";display:table}.Pager:after{clear:both}.Pager li{display:inline}.Pager li>a{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.Pager li>a:focus,.Pager li>a:hover{text-decoration:none;background-color:#eee}.Pager--next>a{float:right}.Pager--prev>a{float:left}.container{margin-right:auto;margin-left:auto}@media (min-width:992px){.container{width:970px}}@media (min-width:768px){.container{width:750px}}@media (min-width:1200px){.container{width:1170px}}.container--inner{width:80%;margin:0 auto}.Homepage{padding-top:60px!important;background-color:#7795b4;border-radius:0;border:none;color:#13132a;overflow:hidden;padding-bottom:0;margin-bottom:0;box-shadow:none}.HomepageTitle h2{width:80%;font-size:30px;margin:20px auto;text-align:center}.HomepageImage img{display:block;max-width:80%;margin:0 auto;height:auto}.HomepageButtons{padding:20px 0;background-color:#c5c5cb;text-align:center}.HomepageButtons .Button--hero{padding:20px 30px;border-radius:0;text-shadow:none;opacity:.8;margin:0 10px;text-transform:uppercase;border:5px solid #13132a;font-family:Roboto Slab,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700;background-image:none;-webkit-filter:none;filter:none;box-shadow:none}@media (max-width:768px){.HomepageButtons .Button--hero{display:block;margin-bottom:10px}}.HomepageButtons .Button--hero:hover{opacity:1}.HomepageButtons .Button--hero.Button--secondary{background-color:#c5c5cb;color:#13132a}.HomepageButtons .Button--hero.Button--primary{background-color:#13132a;color:#f5f5f6}.HomepageContent{background-color:#fff;padding:40px 0}@media (min-width:769px){.HomepageContent .row{margin:0 -15px}.HomepageContent .col-third{width:33.333333%;float:left;position:relative;min-height:1px;padding-left:15px;padding-right:15px}}.HomepageContent ol li,.HomepageContent ul li{list-style:none;padding-bottom:.5em}.HomepageContent ol li:before,.HomepageContent ul li:before{content:'';width:0;height:0;border:3px solid transparent;border-left:3px solid #7795b4;float:left;display:block;margin:6px 6px 6px -12px}.HomepageContent .lead{font-family:Roboto Slab,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:300;font-size:16px;margin-bottom:20px;line-height:1.4}@media (min-width:768px){.HomepageContent{padding:40px 20px}.HomepageContent .lead{font-size:21px}}.HomepageFooter{background-color:#13132a;border-radius:0;color:#7795b4;border:none;box-shadow:none}@media (max-width:768px){.HomepageFooter{padding:0 20px;text-align:center}.HomepageFooter .HomepageFooter__links{padding-left:0;list-style-type:none}}@media (min-width:769px){.HomepageFooter .HomepageFooter__links{float:left}.HomepageFooter .HomepageFooter__twitter{float:right}}.HomepageFooter__links{margin:40px 0}.HomepageFooter__links li a{line-height:32px;font-size:16px;font-family:Roboto Slab,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700}.HomepageFooter__links li a:hover{color:#7795b4;text-decoration:underline}.HomepageFooter__twitter{margin:40px 0}.HomepageFooter .Twitter{margin-bottom:20px}.hljs{display:block;overflow-x:auto;padding:.5em;background:#fdf6e3;color:#657b83}.hljs-comment,.hljs-quote{color:#93a1a1}.hljs-addition,.hljs-keyword,.hljs-selector-tag{color:#859900}.hljs-doctag,.hljs-literal,.hljs-meta .hljs-meta-string,.hljs-number,.hljs-regexp,.hljs-string{color:#2aa198}.hljs-name,.hljs-section,.hljs-selector-class,.hljs-selector-id,.hljs-title{color:#268bd2}.hljs-attr,.hljs-attribute,.hljs-class .hljs-title,.hljs-template-variable,.hljs-type,.hljs-variable{color:#b58900}.hljs-bullet,.hljs-link,.hljs-meta,.hljs-meta .hljs-keyword,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-subst,.hljs-symbol{color:#cb4b16}.hljs-built_in,.hljs-deletion{color:#dc322f}.hljs-formula{background:#eee8d5}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}@media print{*{text-shadow:none!important;color:#000!important;background:transparent!important;box-shadow:none!important}h1,h2,h3,h4,h5,h6{page-break-after:avoid;page-break-before:auto}blockquote,pre{border:1px solid #999;font-style:italic}blockquote,img,pre{page-break-inside:avoid}img{border:0}a,a:visited{text-decoration:underline}abbr[title]:after{content:" (" attr(title) ")"}q{quotes:none}q:before{content:""}q:after{content:" (" attr(cite) ")"}.page-break{display:block;page-break-before:always}.hidden-print,.Pager,aside{display:none}.Columns__right{width:100%!important}.s-content a:after{content:" (" attr(href) ")";font-size:80%;word-wrap:break-word}.s-content a[href^="#"]:after{content:""}h1 a[href]:after{font-size:50%}} \ No newline at end of file diff --git a/static/themes/daux/css/theme-red.min.css b/static/themes/daux/css/theme-red.min.css deleted file mode 100644 index de8cd1a..0000000 --- a/static/themes/daux/css/theme-red.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * DAUX.IO - * http://daux.io/ - * MIT License - */ -/*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block}audio:not([controls]){display:none;height:0}progress{vertical-align:baseline}[hidden],template{display:none}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit;font-weight:bolder}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}svg:not(:root){overflow:hidden}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}button,input,select,textarea{font:inherit;margin:0}optgroup{font-weight:700}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.clearfix:after,.clearfix:before{content:" ";display:table}.clearfix:after{clear:both}.pull-right{float:right!important}.pull-left{float:left!important}.hidden{display:none!important}*,:after,:before{box-sizing:border-box}body{margin:0;padding:0}body,html{height:100%;background-color:#fff;color:#2d2d2d}.Columns__left{background-color:#f7f7f7}.Columns__right__content{padding:10px;background-color:#fff}.Collapsible__container{padding:10px 15px;display:block;background-color:#eee;border-bottom:1px solid #eee}.Collapsible__content{display:none}.Collapsible__trigger{padding:7px 10px;background-color:#eee;border:none;background-image:none;-webkit-filter:none;filter:none;box-shadow:none}.Collapsible__trigger--bar{display:block;width:18px;height:2px;margin-top:2px;margin-bottom:3px}.Collapsible__trigger--bar,.Collapsible__trigger:hover{background-color:#c64641;box-shadow:none}.Collapsible__trigger:hover .icon-bar{background-color:#ecb5a1;box-shadow:none}@media screen and (min-width:768px){body{background-color:#ecb5a1}.Navbar{position:fixed;z-index:1030;width:100%}.Collapsible__container{display:none}.Collapsible__content{display:block!important}.Columns{height:100%;padding-top:50px}.Columns:after,.Columns:before{content:" ";display:table}.Columns:after{clear:both}.Columns__left,.Columns__right{position:relative;min-height:1px;float:left;overflow:auto;height:100%}.Columns__left{width:25%;border-right:1px solid #eee;overflow-x:hidden}.Columns__right{width:75%}.Columns__right__content{padding:20px;min-height:100%}}body{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;text-rendering:optimizeLegibility;font-smoothing:antialiased;font-size:14px;line-height:1.5}h1,h2,h3,h4,h5,h6{font-family:Roboto Slab,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:300}.s-content body{font-size:15px}.s-content h1,.s-content h2,.s-content h3,.s-content h4,.s-content h5,.s-content h6{font-weight:300;-webkit-font-smoothing:antialiased;cursor:text;line-height:1.4em;margin-top:.3em;margin-bottom:.3em}.s-content h1 code,.s-content h1 tt,.s-content h2 code,.s-content h2 tt,.s-content h3 code,.s-content h3 tt,.s-content h4 code,.s-content h4 tt,.s-content h5 code,.s-content h5 tt,.s-content h6 code,.s-content h6 tt{font-size:inherit}.s-content h1 i,.s-content h2 i,.s-content h3 i,.s-content h4 i,.s-content h5 i,.s-content h6 i{font-size:.7em}.s-content h1 p,.s-content h2 p,.s-content h3 p,.s-content h4 p,.s-content h5 p,.s-content h6 p{margin-top:0}.s-content h1{font-size:2.6666666667em;color:#000}.s-content h2{font-size:2em;border-bottom:1px solid #eee;color:#000}.s-content h3{font-size:1.7333333333em}.s-content h4{font-size:1.4666666667em}.s-content h5{font-size:1.2em}.s-content h6{font-size:1.0666666667em;color:#555}.s-content a{text-decoration:underline}.s-content p{line-height:1.8em;margin-bottom:20px}.s-content ol,.s-content ul{padding-left:30px}.s-content ul p,.s-content ul ul{margin:0}.s-content dl{padding:0}.s-content dl dt{font-weight:700;font-style:italic;padding:0;margin:15px 0 5px}.s-content dl dt:first-child{padding:0}.s-content dl dd{margin:0 0 15px;padding:0 15px}.s-content blockquote{font-size:1.2em;border-left:4px solid #ddd;padding:7px 15px;color:#666}.s-content blockquote p{font-size:inherit}.s-content table{width:100%;padding:0;border-collapse:collapse}.s-content table tr{border-top:1px solid #eee;background-color:#fff;margin:0;padding:0}.s-content table tr:nth-child(2n){background-color:#f8f8f8}.s-content table th{font-weight:700;background:#eee}.s-content table td,.s-content table th{border:1px solid #eee;margin:0;padding:6px 13px}.s-content blockquote>:first-child,.s-content dl dd>:first-child,.s-content dl dt>:first-child,.s-content ol>:first-child,.s-content table td>:first-child,.s-content table th>:first-child,.s-content ul>:first-child{margin-top:0}.s-content blockquote>:last-child,.s-content dl dd>:last-child,.s-content dl dt>:last-child,.s-content ol>:last-child,.s-content table td>:last-child,.s-content table th>:last-child,.s-content ul>:last-child{margin-bottom:0}.s-content img{max-width:100%;display:block;margin:0 auto}.s-content code{font-family:Monaco,Menlo,Consolas,Courier New,monospace}.s-content code,.s-content tt{margin:0 2px;padding:0 5px;white-space:nowrap;border:1px solid #eaeaea;background-color:#f8f8f8;border-radius:3px}.s-content pre{background:#fdf6e3;color:#657b83;line-height:1.5em;overflow:auto;padding:20px;margin:0 -20px 20px}.s-content pre code{margin:0;padding:0;white-space:pre}.s-content pre code,.s-content pre tt{background-color:transparent;border:none}.s-content pre{border:none;border-radius:0;padding:10px 30px;margin-left:-20px;margin-right:-20px}@media (min-width:1150px){.Columns__right--float .Columns__right__content{height:100%;overflow:auto;padding:0!important;background-color:transparent!important;position:relative}.Columns__right--float .Columns__right__content article{width:100%;min-height:100%;overflow:auto;position:relative;z-index:1}.Columns__right--float .Columns__right__content article:before{content:"";width:50%;min-height:100%;overflow:auto;background-color:#fff;display:block;margin:0;position:absolute;z-index:-1}.Columns__right--float .Page__header,.Columns__right--float .Pager,.Columns__right--float .s-content blockquote,.Columns__right--float .s-content dl,.Columns__right--float .s-content h2,.Columns__right--float .s-content h3,.Columns__right--float .s-content h4,.Columns__right--float .s-content h5,.Columns__right--float .s-content h6,.Columns__right--float .s-content hr,.Columns__right--float .s-content ol,.Columns__right--float .s-content p,.Columns__right--float .s-content table,.Columns__right--float .s-content ul{float:left;clear:left;width:47%;margin-left:1.5%;margin-right:1.5%}.Columns__right--float .s-content table{background-color:#fff;white-space:normal}.Columns__right--float .s-content table code,.Columns__right--float .s-content table pre{white-space:normal}.Columns__right--float .s-content blockquote:before,.Columns__right--float .s-content dl:before,.Columns__right--float .s-content h2:before,.Columns__right--float .s-content h3:before,.Columns__right--float .s-content h4:before,.Columns__right--float .s-content h5:before,.Columns__right--float .s-content h6:before,.Columns__right--float .s-content hr:before,.Columns__right--float .s-content ol:before,.Columns__right--float .s-content p:before,.Columns__right--float .s-content ul:before{width:100%;height:10px;display:block;clear:both}.Columns__right--float .s-content blockquote dl,.Columns__right--float .s-content blockquote h2,.Columns__right--float .s-content blockquote h3,.Columns__right--float .s-content blockquote h4,.Columns__right--float .s-content blockquote h5,.Columns__right--float .s-content blockquote h6,.Columns__right--float .s-content blockquote hr,.Columns__right--float .s-content blockquote ol,.Columns__right--float .s-content blockquote p,.Columns__right--float .s-content blockquote pre,.Columns__right--float .s-content blockquote ul,.Columns__right--float .s-content dl dl,.Columns__right--float .s-content dl h2,.Columns__right--float .s-content dl h3,.Columns__right--float .s-content dl h4,.Columns__right--float .s-content dl h5,.Columns__right--float .s-content dl h6,.Columns__right--float .s-content dl hr,.Columns__right--float .s-content dl ol,.Columns__right--float .s-content dl p,.Columns__right--float .s-content dl pre,.Columns__right--float .s-content dl ul,.Columns__right--float .s-content h2 dl,.Columns__right--float .s-content h2 h2,.Columns__right--float .s-content h2 h3,.Columns__right--float .s-content h2 h4,.Columns__right--float .s-content h2 h5,.Columns__right--float .s-content h2 h6,.Columns__right--float .s-content h2 hr,.Columns__right--float .s-content h2 ol,.Columns__right--float .s-content h2 p,.Columns__right--float .s-content h2 pre,.Columns__right--float .s-content h2 ul,.Columns__right--float .s-content h3 dl,.Columns__right--float .s-content h3 h2,.Columns__right--float .s-content h3 h3,.Columns__right--float .s-content h3 h4,.Columns__right--float .s-content h3 h5,.Columns__right--float .s-content h3 h6,.Columns__right--float .s-content h3 hr,.Columns__right--float .s-content h3 ol,.Columns__right--float .s-content h3 p,.Columns__right--float .s-content h3 pre,.Columns__right--float .s-content h3 ul,.Columns__right--float .s-content h4 dl,.Columns__right--float .s-content h4 h2,.Columns__right--float .s-content h4 h3,.Columns__right--float .s-content h4 h4,.Columns__right--float .s-content h4 h5,.Columns__right--float .s-content h4 h6,.Columns__right--float .s-content h4 hr,.Columns__right--float .s-content h4 ol,.Columns__right--float .s-content h4 p,.Columns__right--float .s-content h4 pre,.Columns__right--float .s-content h4 ul,.Columns__right--float .s-content h5 dl,.Columns__right--float .s-content h5 h2,.Columns__right--float .s-content h5 h3,.Columns__right--float .s-content h5 h4,.Columns__right--float .s-content h5 h5,.Columns__right--float .s-content h5 h6,.Columns__right--float .s-content h5 hr,.Columns__right--float .s-content h5 ol,.Columns__right--float .s-content h5 p,.Columns__right--float .s-content h5 pre,.Columns__right--float .s-content h5 ul,.Columns__right--float .s-content h6 dl,.Columns__right--float .s-content h6 h2,.Columns__right--float .s-content h6 h3,.Columns__right--float .s-content h6 h4,.Columns__right--float .s-content h6 h5,.Columns__right--float .s-content h6 h6,.Columns__right--float .s-content h6 hr,.Columns__right--float .s-content h6 ol,.Columns__right--float .s-content h6 p,.Columns__right--float .s-content h6 pre,.Columns__right--float .s-content h6 ul,.Columns__right--float .s-content hr dl,.Columns__right--float .s-content hr h2,.Columns__right--float .s-content hr h3,.Columns__right--float .s-content hr h4,.Columns__right--float .s-content hr h5,.Columns__right--float .s-content hr h6,.Columns__right--float .s-content hr hr,.Columns__right--float .s-content hr ol,.Columns__right--float .s-content hr p,.Columns__right--float .s-content hr pre,.Columns__right--float .s-content hr ul,.Columns__right--float .s-content ol dl,.Columns__right--float .s-content ol h2,.Columns__right--float .s-content ol h3,.Columns__right--float .s-content ol h4,.Columns__right--float .s-content ol h5,.Columns__right--float .s-content ol h6,.Columns__right--float .s-content ol hr,.Columns__right--float .s-content ol ol,.Columns__right--float .s-content ol p,.Columns__right--float .s-content ol pre,.Columns__right--float .s-content ol ul,.Columns__right--float .s-content p dl,.Columns__right--float .s-content p h2,.Columns__right--float .s-content p h3,.Columns__right--float .s-content p h4,.Columns__right--float .s-content p h5,.Columns__right--float .s-content p h6,.Columns__right--float .s-content p hr,.Columns__right--float .s-content p ol,.Columns__right--float .s-content p p,.Columns__right--float .s-content p pre,.Columns__right--float .s-content p ul,.Columns__right--float .s-content ul dl,.Columns__right--float .s-content ul h2,.Columns__right--float .s-content ul h3,.Columns__right--float .s-content ul h4,.Columns__right--float .s-content ul h5,.Columns__right--float .s-content ul h6,.Columns__right--float .s-content ul hr,.Columns__right--float .s-content ul ol,.Columns__right--float .s-content ul p,.Columns__right--float .s-content ul pre,.Columns__right--float .s-content ul ul{width:auto;float:none;display:block}.Columns__right--float .s-content hr{border-color:#ddd}.Columns__right--float .s-content blockquote p,.Columns__right--float .s-content blockquote pre,.Columns__right--float .s-content li p,.Columns__right--float .s-content li pre{width:100%}.Columns__right--float .s-content pre{float:left;clear:right;width:50%;border:none;border-left:10px solid #fff;margin:0 0 10px;padding:0}.Columns__right--float .s-content pre code{padding:0 .5em}}a{text-decoration:none;color:#ecb5a1}a.external:after{content:" " url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAVklEQVR4Xn3PgQkAMQhDUXfqTu7kTtkpd5RA8AInfArtQ2iRXFWT2QedAfttj2FsPIOE1eCOlEuoWWjgzYaB/IkeGOrxXhqB+uA9Bfcm0lAZuh+YIeAD+cAqSz4kCMUAAAAASUVORK5CYII=)}a.broken{color:red}p{margin:0 0 1em}hr{clear:both;margin:1em 0;border:0;border-top:1px solid #ddd}code{color:#c64641}.Button{display:inline-block;text-align:center;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;border-radius:4px}.Button--small{font-size:12px;line-height:1.5;border-radius:3px}.Button--default{color:#333;background-color:#fff;border-color:#ccc}.Button--default.Button--active{color:#333;background-color:#e6e6e6;border-color:#adadad}.ButtonGroup{position:relative;display:inline-block;vertical-align:middle}.ButtonGroup .Button+.Button{margin-left:-1px}.ButtonGroup>.Button{position:relative;float:left}.ButtonGroup>.Button:focus,.ButtonGroup>.Button:hover{z-index:2}.ButtonGroup>.Button.Button--active,.ButtonGroup>.Button:active{z-index:3}.ButtonGroup>.Button:not(:first-child):not(:last-child){border-radius:0}.ButtonGroup>.Button:first-child{margin-left:0}.ButtonGroup>.Button:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.ButtonGroup>.Button:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.Navbar{height:50px;box-shadow:0 1px 5px rgba(0,0,0,.25);background-color:#c64641;margin-bottom:0}.Navbar__brand{float:left;padding:15px 20px;font-size:18px;line-height:20px;height:50px;color:#ecb5a1;text-shadow:none;font-family:Roboto Slab,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700}.CodeToggler__text{font-size:12px;line-height:1.5;padding:6px 10px 6px 0;display:inline-block;vertical-align:middle}.Nav{margin:0;padding:0}.Nav__arrow{display:inline-block;position:relative;width:16px;margin-left:-16px}.Nav__arrow:before{position:absolute;display:block;content:"";margin:-.25em 0 0 -.4em;left:50%;top:50%;width:.5em;height:.5em;border-right:.15em solid #c64641;border-top:.15em solid #c64641;-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-transition-duration:.3s;transition-duration:.3s}.Nav__item{display:block}.Nav__item a{display:block;margin:0;padding:6px 15px 6px 20px;font-family:Roboto Slab,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;color:#c64641;font-size:15px;text-shadow:none;border-color:#eee}.Nav__item a:hover{color:#c64641;text-shadow:none;background-color:#eee}.Nav .Nav{display:none;margin-left:15px}.Nav .Nav .Nav__item a{margin:0;margin-left:-15px;padding:3px 30px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#2d2d2d;opacity:.7}.Nav .Nav .Nav__item a:hover{opacity:1}.Nav .Nav .Nav__item--active a{color:#c64641}.Nav__item--active>a,.Nav__item--open>a{background-color:#eee}.Nav__item--open>.Nav{display:block}.Nav__item--open>a>.Nav__arrow:before{margin-left:-.25em;-webkit-transform:rotate(135deg);transform:rotate(135deg)}.Page__header{margin:0 0 10px;padding:0;border-bottom:1px solid #eee}.Page__header:after,.Page__header:before{content:" ";display:table}.Page__header:after{clear:both}.Page__header h1{margin:0;padding:0}.Page__header--separator{height:.6em}.Page__header a{text-decoration:none}.Links{padding:0 20px}.Links a{font-family:Roboto Slab,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;color:#ecb5a1;line-height:2em}.Search{position:relative;float:right;margin:8px 20px}.Search__field{display:block;width:100%;height:34px;padding:6px 30px 6px 0;color:#555;background:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.Search__field:focus{border-color:#ecb5a1;outline:0;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px 2px rgba(102,175,233,.6)}.Search__icon{position:absolute;right:9px;top:9px;width:16px;height:16px}.TableOfContents{font-size:16px;padding-left:0;border-left:6px solid #efefef}.TableOfContents p{margin-bottom:0}.TableOfContents a{text-decoration:none}.TableOfContents .TableOfContents{border-left-width:0}.Pager{padding-left:0;margin:1em 0;list-style:none;text-align:center;clear:both}.Pager:after,.Pager:before{content:" ";display:table}.Pager:after{clear:both}.Pager li{display:inline}.Pager li>a{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.Pager li>a:focus,.Pager li>a:hover{text-decoration:none;background-color:#eee}.Pager--next>a{float:right}.Pager--prev>a{float:left}.container{margin-right:auto;margin-left:auto}@media (min-width:992px){.container{width:970px}}@media (min-width:768px){.container{width:750px}}@media (min-width:1200px){.container{width:1170px}}.container--inner{width:80%;margin:0 auto}.Homepage{padding-top:60px!important;background-color:#ecb5a1;border-radius:0;border:none;color:#c64641;overflow:hidden;padding-bottom:0;margin-bottom:0;box-shadow:none}.HomepageTitle h2{width:80%;font-size:30px;margin:20px auto;text-align:center}.HomepageImage img{display:block;max-width:80%;margin:0 auto;height:auto}.HomepageButtons{padding:20px 0;background-color:#eee;text-align:center}.HomepageButtons .Button--hero{padding:20px 30px;border-radius:0;text-shadow:none;opacity:.8;margin:0 10px;text-transform:uppercase;border:5px solid #c64641;font-family:Roboto Slab,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700;background-image:none;-webkit-filter:none;filter:none;box-shadow:none}@media (max-width:768px){.HomepageButtons .Button--hero{display:block;margin-bottom:10px}}.HomepageButtons .Button--hero:hover{opacity:1}.HomepageButtons .Button--hero.Button--secondary{background-color:#eee;color:#c64641}.HomepageButtons .Button--hero.Button--primary{background-color:#c64641;color:#f7f7f7}.HomepageContent{background-color:#fff;padding:40px 0}@media (min-width:769px){.HomepageContent .row{margin:0 -15px}.HomepageContent .col-third{width:33.333333%;float:left;position:relative;min-height:1px;padding-left:15px;padding-right:15px}}.HomepageContent ol li,.HomepageContent ul li{list-style:none;padding-bottom:.5em}.HomepageContent ol li:before,.HomepageContent ul li:before{content:'';width:0;height:0;border:3px solid transparent;border-left:3px solid #ecb5a1;float:left;display:block;margin:6px 6px 6px -12px}.HomepageContent .lead{font-family:Roboto Slab,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:300;font-size:16px;margin-bottom:20px;line-height:1.4}@media (min-width:768px){.HomepageContent{padding:40px 20px}.HomepageContent .lead{font-size:21px}}.HomepageFooter{background-color:#c64641;border-radius:0;color:#ecb5a1;border:none;box-shadow:none}@media (max-width:768px){.HomepageFooter{padding:0 20px;text-align:center}.HomepageFooter .HomepageFooter__links{padding-left:0;list-style-type:none}}@media (min-width:769px){.HomepageFooter .HomepageFooter__links{float:left}.HomepageFooter .HomepageFooter__twitter{float:right}}.HomepageFooter__links{margin:40px 0}.HomepageFooter__links li a{line-height:32px;font-size:16px;font-family:Roboto Slab,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700}.HomepageFooter__links li a:hover{color:#ecb5a1;text-decoration:underline}.HomepageFooter__twitter{margin:40px 0}.HomepageFooter .Twitter{margin-bottom:20px}.hljs{display:block;overflow-x:auto;padding:.5em;background:#fdf6e3;color:#657b83}.hljs-comment,.hljs-quote{color:#93a1a1}.hljs-addition,.hljs-keyword,.hljs-selector-tag{color:#859900}.hljs-doctag,.hljs-literal,.hljs-meta .hljs-meta-string,.hljs-number,.hljs-regexp,.hljs-string{color:#2aa198}.hljs-name,.hljs-section,.hljs-selector-class,.hljs-selector-id,.hljs-title{color:#268bd2}.hljs-attr,.hljs-attribute,.hljs-class .hljs-title,.hljs-template-variable,.hljs-type,.hljs-variable{color:#b58900}.hljs-bullet,.hljs-link,.hljs-meta,.hljs-meta .hljs-keyword,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-subst,.hljs-symbol{color:#cb4b16}.hljs-built_in,.hljs-deletion{color:#dc322f}.hljs-formula{background:#eee8d5}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}@media print{*{text-shadow:none!important;color:#000!important;background:transparent!important;box-shadow:none!important}h1,h2,h3,h4,h5,h6{page-break-after:avoid;page-break-before:auto}blockquote,pre{border:1px solid #999;font-style:italic}blockquote,img,pre{page-break-inside:avoid}img{border:0}a,a:visited{text-decoration:underline}abbr[title]:after{content:" (" attr(title) ")"}q{quotes:none}q:before{content:""}q:after{content:" (" attr(cite) ")"}.page-break{display:block;page-break-before:always}.hidden-print,.Pager,aside{display:none}.Columns__right{width:100%!important}.s-content a:after{content:" (" attr(href) ")";font-size:80%;word-wrap:break-word}.s-content a[href^="#"]:after{content:""}h1 a[href]:after{font-size:50%}} \ No newline at end of file diff --git a/static/themes/daux/img/favicon-blue.png b/static/themes/daux/img/favicon-blue.png deleted file mode 100644 index e3f7e668f4353e2669c73a45fcaf36c29bc6b4ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1054 zcmbVLO=#0l91nJah!epN{9y3NhA7x1FKs>=7HiwAuCUD66|ACQn!K)IOI}RgY`T+r z(w)?!r-26#f{Y!!cU2Gpe1{Iu|I=q3nJ#C@RFll(HtAX+VoDBfAyD(I1yo0t)4TTpO)^ZT<2IV4 zY0hXi_Bboi;bJeKXoi_A#(`xoA_7`y!S!`^=iPf2xQ@==kW9f0DyZX5uY_oRWwv3j zEZPN!EnWtbu|^3zL@W?{OMaxqI@{;f=spqiEayKh^rW*LLIREFyWK9=&2czf;9;Rq zNH|0>OEt1l&nH%#^`r5W!9bB6x&d*q4-!VJg_nuWQcnjVc!6o|68q6GQ8ZI`x{CWsW;lS(4|GOmJDn!d&nm> zLucs?=eUk0l%%pEl$B~#lw}n{RZw%4d@ir%a(OYQmQs$ru&`Xs%LXh|$|YKfDX~x% zB^9cQqDUpNRIR4injaC%w^3@>rFMr{bziJj36Vu`*uZ!x?SQ!sCOGQg0958>aKW@} z*G~i&lL8ImHBji@M@}`w9_VLSbNBGz-;ocn&i`bMr_S(6d;HZdsfhMqvfXWdde|Kw z2PfL;2RyRnVL~*#GhM79&fh6!S%HtW2?dU;+AsqPUf~`9DRM_IBbt+&OdLw z+`h8$3Vt=cbL&4xKHWO?>*K_i2kzF|+lQN*?Fp%u89B`qSI2JdY+rwoOl)mx)_7CC G`{*}kXGl)~ diff --git a/static/themes/daux/img/favicon-green.png b/static/themes/daux/img/favicon-green.png deleted file mode 100644 index 026229e1ad4de1d60c1b925a93909bca1a699950..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1051 zcmbVLO>5LZ7!KNl78a@pQF|HEB30ZZlihr5Xe^seV;4;=+f|pInoVZAp-mA`~t^&&;_pdS4J;!U)Ill`b3N(DobnR(}Zp7(omZuW9+`0Oyl zFuCfCS)=Pn_8mJy|M$1rGF{G)=?0m{Ez)sf#FRbUM4%ctOQ?n%Z|&9_G|4bW+kU-4 z8unGq#R2DJI$Rn=6wNS`Q)%S5%ZPv`TJl4k{kr{<1-_@VHzixJqY7&KGwU&$U!SeJ z>&tG*W2Y{G$yB2R0U{1agOxDRQl0JcYIL88c@}h4$gx0gAjpUpWtpnj~wY0{Rb2t;JqTtC?2c7Cq@~n~+H3`A(<9bqXAgmv~qz zl`;-d%u|hgvKA62&45N#*J7U*#aS`2yBeU7 zR85_wH=O5tnoyPuMKBc05@lJ1P!-fdrC2Dcg+fs*sO162L0H2QL=#$K#V`yAr^S*X zN-9(pMUl#4*|G-MYM2lwbkV@BPwn=x@KCH)iIGEaT*r82&;fI8OmNc15va_|V8V7> zKgpym%+P73_-mB&9w?8pajj0znoo_z GyT1W@9!V$w diff --git a/static/themes/daux/img/favicon-navy.png b/static/themes/daux/img/favicon-navy.png deleted file mode 100644 index d0135fc1a8355bd6de9399ff85eddf987d0dddc7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1055 zcmbVL&ui0A9M2|#%nbxZbY31Ahy$CSZJLJF*)**Sm|5G(dNfVm*2kK>n7r9+pobll zdC~181HqFA4?_?Tw{bC;tJ5|A8-UGd+w6h9vL3@B4l}-`^Xx`70A+lVc3S zOqg>`}f$7;xunui^_0~r?!!SoWsM#Vd z>#F8pkFygUF7^V7W|*1TIIx{%NI)AdA-~A(y?Mt1?JT0Ym~r)#0Ig~^&>4VvVC5S?h`T3g1!n_F0uosT2>8|aR@<&YArmw2&I zC?p(`l%X1#Xw@fnobjWnl)-?J6QY11?1O~SZsQeFWT~fv5WK*$_KE#ym?)YuKDGm1 z#Vs{Pfta#8T zrcq?+4d)_P6G}NfFX;JdRZhza3IQru0ug3Q4VERd8;oi>3&Ln&P#)FMBFE>X{ zn$NFy!Pni#KcBstXx&*ynd5iSmiIo}seQlfy7Jcc+mX?6<_9{rJO0TzpNy0vywi-OJHHfh7+Oq0cxt=q^7*4xtLZ4GVmV)AOUoy4Kw zVW0>y5Iu<}@#aZE4@2D1gO{BIZz8z!PQJ9w=3z`QBzf%sU*<14&}| zLQ#_VYe3+5f#t|6<@thAloUY*!-po;B6nS}40C9UoK(7naj39tuh(OGB7>q0mM@pf zDTg5BiAFx&46vQ#gLpb)FktLNUWh#ufRxd0qApfx;^`m+KdjY`iGz5UD3UTZu|t+; zIM(;mxcb^Lw%~~yr)tOb%@DE{j8QjoNIll4Gcd{B*@jX@;*GK#d886ydEB-_NU08LLQwIn1z3favwC$CPEb@|%dIzX z!@Qu_$YZQThl#y_pebr%G7c=*e?nB31~22eAcWZ^@68xJY++6|zsnEDbs;c(F)#oobjfpoBsQBu32G9M1z; zX85cm%lsK2aJ;~BpGQ7=&>Wo&E( zEYEPP=OuAJnNNmX*o{I8HOOsd7jU6d9jogvw2a>3SwSOIrhV91}EseA(u2wYBCr% zE!*`I!KtJ`-FS5vx+~BzLgax?h81@o54h65BJX0I|H&FloMDsp_^Vw~5$VBXyVv~W zus1%?Co>b0;n;e8