From e3aa27e8692f9f4be4b58e712f87d0796df33207 Mon Sep 17 00:00:00 2001 From: Vlad Balin Date: Fri, 17 Nov 2017 14:03:21 -0500 Subject: [PATCH 1/4] Release --- package-lock.json | 8 ++++---- package.json | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8ff1492..d3d6ca2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "nestedreact", - "version": "1.0.1-rc94", + "version": "2.1.0-rc00", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -401,9 +401,9 @@ } }, "nestedtypes": { - "version": "2.1.0-rc00", - "resolved": "https://registry.npmjs.org/nestedtypes/-/nestedtypes-2.1.0-rc00.tgz", - "integrity": "sha512-chRuE0mZbc6E2VeHFEXeBA94ICDuewNoGeWUz2+EixpremNcCq6AiKVB2PsQDi0fMtLWvPdaPSSu2oXAUCbdIw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/nestedtypes/-/nestedtypes-2.1.0.tgz", + "integrity": "sha512-kygGMtyWT/1Z+NaxJlWARBifbp2Mnx5aIeOtdhwVL/jf5psmLCxPIScD8w5EKubQ13hUoWcuf/SVJ1su0XXHxQ==", "dev": true, "requires": { "tslib": "1.8.0" diff --git a/package.json b/package.json index f8a1a1e..f20a134 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "nestedreact", - "version": "2.1.0-rc00", + "version": "2.1.0", "main": "dist/index.js", "lib": "lib/index.js", "description": "Advanced models, state management, and data binding solution for React", @@ -38,7 +38,7 @@ "@types/prop-types": "^15.5.2", "@types/react": "^16.0.25", "jquery": "*", - "nestedtypes": "^2.1.0-rc00", + "nestedtypes": "^2.1.0", "prop-types": "^15.6.0", "react": "^16.0.0", "react-dom": "^16.0.0", From bcdd04349ab0fcf7eea96e9f8a189cdd236d6319 Mon Sep 17 00:00:00 2001 From: Vlad Balin Date: Wed, 29 Nov 2017 17:23:57 -0500 Subject: [PATCH 2/4] Hotfix for collection links --- dist/index.js | 4 ++-- dist/index.js.map | 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 +- lib/react-mvx/link.js | 2 +- lib/react-mvx/link.js.map | 2 +- package-lock.json | 20 ++++++++++---------- package.json | 6 +++--- src/react-mvx/Link.ts | 2 +- src/react-mvx/define/pureRender.ts | 2 +- submodules/React-MVx | 2 +- 13 files changed, 25 insertions(+), 25 deletions(-) diff --git a/dist/index.js b/dist/index.js index c9e040e..9457be8 100644 --- a/dist/index.js +++ b/dist/index.js @@ -310,7 +310,7 @@ function createChangeTokensConstructor(props) { var EmptyPropsChangeTokensCtor = createChangeTokensConstructor({}); var PureRenderMixin = { shouldComponentUpdate: function (nextProps) { - return this._propsChangeTokens._hasChanges(nextProps); + return this._propsChangeTokens._hasChanges(nextProps, this.state); }, componentDidMount: updateChangeTokens, componentDidUpdate: updateChangeTokens @@ -818,7 +818,7 @@ Nested.MixinsState.get(Nested.Record.Collection).merge([{ var CollectionLink = (function (_super) { __extends(CollectionLink, _super); function CollectionLink(collection, record) { - var _this = _super.call(this, Boolean(collection._byId[record.cid])) || this; + var _this = _super.call(this, Boolean(collection.get(record))) || this; _this.collection = collection; _this.record = record; return _this; diff --git a/dist/index.js.map b/dist/index.js.map index 7275a7d..d73b428 100644 --- a/dist/index.js.map +++ b/dist/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sources":["../node_modules/tslib/tslib.es6.js","../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":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\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;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = y[op[0] & 2 ? \"return\" : op[0] ? \"throw\" : \"next\"]) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [0, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n 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); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n 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; }; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator];\r\n return m ? m.call(o) : typeof __values === \"function\" ? __values(o) : o[Symbol.iterator]();\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n","import * as tslib_1 from \"tslib\";\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 tslib_1.__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 = tslib_1.__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","import * as tslib_1 from \"tslib\";\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 tslib_1.__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 = tslib_1.__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","import * as tslib_1 from \"tslib\";\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 tslib_1.__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 tslib_1.__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 tslib_1.__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 tslib_1.__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 tslib_1.__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 tslib_1.__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 */\nimport * as tslib_1 from \"tslib\";\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 tslib_1.__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 tslib_1.__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 tslib_1.__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 */\nimport * as tslib_1 from \"tslib\";\nimport * as React from 'react';\nimport { mixinRules, define, mixins, definitions, Messenger } from 'type-r';\nimport onDefine, { EmptyPropsChangeTokensCtor } from './define';\nvar Component = (function (_super) {\n tslib_1.__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 = tslib_1.__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","import * as tslib_1 from \"tslib\";\nimport React, { Component } from './react-mvx';\nimport { tools } from 'type-r';\nvar notEqual = tools.notEqual;\nvar BackboneView = (function (_super) {\n tslib_1.__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","import * as tslib_1 from \"tslib\";\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 = tslib_1.__rest(_a, [\"statics\"]);\n // Gather all methods to pin them to `this` later.\n var methods = [];\n var Subclass = Component.extend(tslib_1.__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 };\nimport use from './component-view';\nimport createClass from './createClass';\nObject.defineProperty(NestedReact, 'createClass', { value: 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":["Record","tslib_1.__extends","tslib_1.__decorate","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","tslib_1.__rest","tslib_1.__assign","subview","ReactDOM.findDOMNode","Nested"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.js","sources":["../node_modules/tslib/tslib.es6.js","../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":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\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;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = y[op[0] & 2 ? \"return\" : op[0] ? \"throw\" : \"next\"]) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [0, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n 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); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n 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; }; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator];\r\n return m ? m.call(o) : typeof __values === \"function\" ? __values(o) : o[Symbol.iterator]();\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n","import * as tslib_1 from \"tslib\";\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 tslib_1.__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 = tslib_1.__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","import * as tslib_1 from \"tslib\";\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 tslib_1.__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 = tslib_1.__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, this.state);\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","import * as tslib_1 from \"tslib\";\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 tslib_1.__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 tslib_1.__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 tslib_1.__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 tslib_1.__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 tslib_1.__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 tslib_1.__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 */\nimport * as tslib_1 from \"tslib\";\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 tslib_1.__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 tslib_1.__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 tslib_1.__extends(CollectionLink, _super);\n function CollectionLink(collection, record) {\n var _this = _super.call(this, Boolean(collection.get(record))) || 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 */\nimport * as tslib_1 from \"tslib\";\nimport * as React from 'react';\nimport { mixinRules, define, mixins, definitions, Messenger } from 'type-r';\nimport onDefine, { EmptyPropsChangeTokensCtor } from './define';\nvar Component = (function (_super) {\n tslib_1.__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 = tslib_1.__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","import * as tslib_1 from \"tslib\";\nimport React, { Component } from './react-mvx';\nimport { tools } from 'type-r';\nvar notEqual = tools.notEqual;\nvar BackboneView = (function (_super) {\n tslib_1.__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","import * as tslib_1 from \"tslib\";\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 = tslib_1.__rest(_a, [\"statics\"]);\n // Gather all methods to pin them to `this` later.\n var methods = [];\n var Subclass = Component.extend(tslib_1.__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 };\nimport use from './component-view';\nimport createClass from './createClass';\nObject.defineProperty(NestedReact, 'createClass', { value: 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":["Record","tslib_1.__extends","tslib_1.__decorate","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","tslib_1.__rest","tslib_1.__assign","subview","ReactDOM.findDOMNode","Nested"],"mappings":"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"} \ No newline at end of file diff --git a/dist/index.min.js b/dist/index.min.js index 72d3453..e8fe4e1 100644 --- a/dist/index.min.js +++ b/dist/index.min.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("react"),require("nestedtypes"),require("prop-types"),require("react-dom")):"function"==typeof define&&define.amd?define(["exports","react","nestedtypes","prop-types","react-dom"],e):e(t.ReactMVx={},t.React,t.Nested,t.PropTypes,t.ReactDOM)}(this,function(t,e,n,o,r){"use strict";function i(t,e){function n(){this.constructor=t}_(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}function s(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}function u(t){var e,r,i,s={},u=n.Record.defaults(t).prototype;return u.forEachAttr(u._attributes,function(t,n){if("id"!==n){var u=t.value,a=t.type,p=t.options;if(s[n]=function(t,e){var n=function(t){switch(t){case Number:case Number.integer:return o.number;case String:return o.string;case Boolean:return o.bool;case Array:return o.array;case Function:return o.func;case Object:return o.object;case O:return o.node;case R:return o.element;case void 0:case null:return o.any;default:return o.instanceOf(t)}}(t);return e?n.isRequired:n}(a,p.isRequired),p._onChange&&(r||(r={}),r[n]=function(t){return"function"==typeof t?t:function(e,n){this[t]&&this[t](e,n)}}(p._onChange)),p.changeHandlers&&p.changeHandlers.length&&(i||(i={}),i[n]=p.changeHandlers),p.changeEvents){i||(i={});var c=i[n]||(i[n]=[]),l="string"==typeof p.changeEvents?p.changeEvents:null;c.push(function(t,e,n){e&&n.stopListening(e),t&&n.listenTo(t,l||t._changeEventName,n.asyncUpdate)})}void 0!==u&&(e||(e={}),e[n]=t.convert(u,void 0,null,{}))}}),{propTypes:s,defaults:e,watchers:r,changeHandlers:i}}function a(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 p(){this._propsChangeTokens=new this.PropsChangeTokens(this.props,this.state)}function c(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 i(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}(E),F="Invalid value",B=function(t){function e(e,n){var o=t.call(this,e.value[n])||this;return o.parent=e,o.key=n,o}return i(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}(E);n.Mixable.mixins.populate(E),n.MixinsState.get(n.Record).merge([{linkAt:function(t){return d(f(this),this,t)},linkPath:function(t,e){return new $(this,t,e)},linkAll:function(){var t=f(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}function u(t){var e,r,i,s={},u=n.Record.defaults(t).prototype;return u.forEachAttr(u._attributes,function(t,n){if("id"!==n){var u=t.value,a=t.type,p=t.options;if(s[n]=function(t,e){var n=function(t){switch(t){case Number:case Number.integer:return o.number;case String:return o.string;case Boolean:return o.bool;case Array:return o.array;case Function:return o.func;case Object:return o.object;case O:return o.node;case R:return o.element;case void 0:case null:return o.any;default:return o.instanceOf(t)}}(t);return e?n.isRequired:n}(a,p.isRequired),p._onChange&&(r||(r={}),r[n]=function(t){return"function"==typeof t?t:function(e,n){this[t]&&this[t](e,n)}}(p._onChange)),p.changeHandlers&&p.changeHandlers.length&&(i||(i={}),i[n]=p.changeHandlers),p.changeEvents){i||(i={});var c=i[n]||(i[n]=[]),l="string"==typeof p.changeEvents?p.changeEvents:null;c.push(function(t,e,n){e&&n.stopListening(e),t&&n.listenTo(t,l||t._changeEventName,n.asyncUpdate)})}void 0!==u&&(e||(e={}),e[n]=t.convert(u,void 0,null,{}))}}),{propTypes:s,defaults:e,watchers:r,changeHandlers:i}}function a(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 p(){this._propsChangeTokens=new this.PropsChangeTokens(this.props,this.state)}function c(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 i(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}(E),F="Invalid value",B=function(t){function e(e,n){var o=t.call(this,e.value[n])||this;return o.parent=e,o.key=n,o}return i(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}(E);n.Mixable.mixins.populate(E),n.MixinsState.get(n.Record).merge([{linkAt:function(t){return d(f(this),this,t)},linkPath:function(t,e){return new $(this,t,e)},linkAll:function(){var t=f(this);if(arguments.length)for(var e=0;e= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = y[op[0] & 2 ? \"return\" : op[0] ? \"throw\" : \"next\"]) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [0, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n 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); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n 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; }; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator];\r\n return m ? m.call(o) : typeof __values === \"function\" ? __values(o) : o[Symbol.iterator]();\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n","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","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","import * as tslib_1 from \"tslib\";\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 tslib_1.__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 = tslib_1.__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 tslib_1 from \"tslib\";\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 tslib_1.__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 = tslib_1.__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","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","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 */\nimport * as tslib_1 from \"tslib\";\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 tslib_1.__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 tslib_1.__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 tslib_1.__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 */\nimport * as tslib_1 from \"tslib\";\nimport * as React from 'react';\nimport { mixinRules, define, mixins, definitions, Messenger } from 'type-r';\nimport onDefine, { EmptyPropsChangeTokensCtor } from './define';\nvar Component = (function (_super) {\n tslib_1.__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 = tslib_1.__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 tslib_1 from \"tslib\";\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 = tslib_1.__rest(_a, [\"statics\"]);\n // Gather all methods to pin them to `this` later.\n var methods = [];\n var Subclass = Component.extend(tslib_1.__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 };\nimport use from './component-view';\nimport createClass from './createClass';\nObject.defineProperty(NestedReact, 'createClass', { value: 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","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","import * as tslib_1 from \"tslib\";\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 tslib_1.__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 tslib_1.__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 tslib_1.__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 tslib_1.__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 tslib_1.__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 tslib_1.__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 * 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","import * as tslib_1 from \"tslib\";\nimport React, { Component } from './react-mvx';\nimport { tools } from 'type-r';\nvar notEqual = tools.notEqual;\nvar BackboneView = (function (_super) {\n tslib_1.__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":["__extends","d","b","__","this","constructor","extendStatics","prototype","Object","create","__decorate","decorators","target","key","desc","c","arguments","length","r","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","compileSpecs","props","defaults","watchers","changeHandlers","propTypes","modelProto","Record","forEachAttr","_attributes","spec","name","value","type","options","Type","isRequired","T","Number","integer","PropTypes.number","String","PropTypes.string","Boolean","PropTypes.bool","Array","PropTypes.array","Function","PropTypes.func","PropTypes.object","Node","PropTypes.node","Element","PropTypes.element","PropTypes.any","PropTypes.instanceOf","_translateType","translateType","_onChange","ref","toLocalWatcher","changeEvents","handlers","changeEvents_1","push","next","prev","component","stopListening","listenTo","_changeEventName","asyncUpdate","convert","createChangeTokensConstructor","propNames","keys","PropsChangeTokens","map","join","_hasChanges","updateChangeTokens","_propsChangeTokens","state","handlePropsChanges","_changeHandlers","name_1","_i","_a","handler","onDefine","definition","BaseClass","store","StoreClass","Store","mixins","merge","ExternalStoreMixin","ExposeStoreMixin","InternalStore","_super","apply","tslib_1.__extends","attrbutes","tslib_1.__decorate","define","InternalStoreMixin","UpdateOnNestedChangesMixin","call","BaseComponentClass","State","ComponentState","attributes","StateMixin","context","childContext","_context","tools","contextTypes","_childContext","childContextTypes","pureRender","_props","_b","defaultProps","_watchers","WatchersMixin","ChangeHandlersMixin","PureRenderMixin","Messenger","helpers","getPrototypeOf","ArrayProto","arrayHelpers","ObjectProto","objectHelpers","dummyHelpers","getLinksCache","record","_links","AttributesCopy","cacheLink","links","cached","RecordLink","returnFalse","createClass","statics","a_spec","s","e","t","p","hasOwnProperty","indexOf","getOwnPropertySymbols","tslib_1.__rest","methods","Subclass","Component","extend","tslib_1.__assign","methods_1","method","bind","Proto","dontAutobind","useView","View","BaseView","dispose","setElement","ComponentView","reactClass","element","initialize","unmountComponent","prevState","resize","window","Page","forceResize","render","fastAssign","__keepState","React.createElement","ReactDOM.render","el","mountComponent","trigger","keepModel","_preventDispose","ReactDOM.unmountComponentAtNode","get","use","setPrototypeOf","__proto__","__assign","assign","n","_initializeState","_owner","_ownerKey","_nestedStore","getStore","_defaultStore","componentWillUnmount","_onChildrenChange","componentDidMount","getChildContext","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","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","definitions","mixinRules","protoValue","classLast","componentWillUpdate","classFirst","some","ReactMVx","React","default","notEqual","BackboneView","saveRef","root","hasUnsavedChanges","view","createElement","className","_mountView","_dispose","appendChild","off","innerHTML","NestedReact","subview","PropTypes","RecordProto","getLink","deepLink","CollectionProto","hasLink","BackboneViewProps","ReactDOM.findDOMNode","$el","$","sel","find","defineProperties"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.min.js","sources":["../node_modules/tslib/tslib.es6.js","../lib/react-mvx/define/typeSpecs.js","../lib/react-mvx/define/pureRender.js","../lib/react-mvx/define/props.js","../lib/react-mvx/define/index.js","../lib/react-mvx/define/store.js","../lib/react-mvx/define/state.js","../lib/react-mvx/define/context.js","../lib/react-mvx/valuelink/helpers.js","../lib/react-mvx/link.js","../lib/react-mvx/component.js","../lib/createClass.js","../lib/index.js","../lib/component-view.js","../lib/react-mvx/valuelink/link.js","../lib/react-mvx/index.js","../lib/view-element.js"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\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;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = y[op[0] & 2 ? \"return\" : op[0] ? \"throw\" : \"next\"]) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [0, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n 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); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n 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; }; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator];\r\n return m ? m.call(o) : typeof __values === \"function\" ? __values(o) : o[Symbol.iterator]();\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n","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","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, this.state);\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","import * as tslib_1 from \"tslib\";\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 tslib_1.__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 = tslib_1.__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 tslib_1 from \"tslib\";\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 tslib_1.__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 = tslib_1.__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","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","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 */\nimport * as tslib_1 from \"tslib\";\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 tslib_1.__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 tslib_1.__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 tslib_1.__extends(CollectionLink, _super);\n function CollectionLink(collection, record) {\n var _this = _super.call(this, Boolean(collection.get(record))) || 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 */\nimport * as tslib_1 from \"tslib\";\nimport * as React from 'react';\nimport { mixinRules, define, mixins, definitions, Messenger } from 'type-r';\nimport onDefine, { EmptyPropsChangeTokensCtor } from './define';\nvar Component = (function (_super) {\n tslib_1.__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 = tslib_1.__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 tslib_1 from \"tslib\";\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 = tslib_1.__rest(_a, [\"statics\"]);\n // Gather all methods to pin them to `this` later.\n var methods = [];\n var Subclass = Component.extend(tslib_1.__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 };\nimport use from './component-view';\nimport createClass from './createClass';\nObject.defineProperty(NestedReact, 'createClass', { value: 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","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","import * as tslib_1 from \"tslib\";\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 tslib_1.__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 tslib_1.__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 tslib_1.__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 tslib_1.__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 tslib_1.__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 tslib_1.__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 * 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","import * as tslib_1 from \"tslib\";\nimport React, { Component } from './react-mvx';\nimport { tools } from 'type-r';\nvar notEqual = tools.notEqual;\nvar BackboneView = (function (_super) {\n tslib_1.__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":["__extends","d","b","__","this","constructor","extendStatics","prototype","Object","create","__decorate","decorators","target","key","desc","c","arguments","length","r","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","compileSpecs","props","defaults","watchers","changeHandlers","propTypes","modelProto","Record","forEachAttr","_attributes","spec","name","value","type","options","Type","isRequired","T","Number","integer","PropTypes.number","String","PropTypes.string","Boolean","PropTypes.bool","Array","PropTypes.array","Function","PropTypes.func","PropTypes.object","Node","PropTypes.node","Element","PropTypes.element","PropTypes.any","PropTypes.instanceOf","_translateType","translateType","_onChange","ref","toLocalWatcher","changeEvents","handlers","changeEvents_1","push","next","prev","component","stopListening","listenTo","_changeEventName","asyncUpdate","convert","createChangeTokensConstructor","propNames","keys","PropsChangeTokens","map","join","_hasChanges","updateChangeTokens","_propsChangeTokens","state","handlePropsChanges","_changeHandlers","name_1","_i","_a","handler","onDefine","definition","BaseClass","store","StoreClass","Store","mixins","merge","ExternalStoreMixin","ExposeStoreMixin","InternalStore","_super","apply","tslib_1.__extends","attrbutes","tslib_1.__decorate","define","InternalStoreMixin","UpdateOnNestedChangesMixin","call","BaseComponentClass","State","ComponentState","attributes","StateMixin","context","childContext","_context","tools","contextTypes","_childContext","childContextTypes","pureRender","_props","_b","defaultProps","_watchers","WatchersMixin","ChangeHandlersMixin","PureRenderMixin","Messenger","helpers","getPrototypeOf","ArrayProto","arrayHelpers","ObjectProto","objectHelpers","dummyHelpers","getLinksCache","record","_links","AttributesCopy","cacheLink","links","cached","RecordLink","returnFalse","createClass","statics","a_spec","s","e","t","p","hasOwnProperty","indexOf","getOwnPropertySymbols","tslib_1.__rest","methods","Subclass","Component","extend","tslib_1.__assign","methods_1","method","bind","Proto","dontAutobind","useView","View","BaseView","dispose","setElement","ComponentView","reactClass","element","initialize","unmountComponent","prevState","resize","window","Page","forceResize","render","fastAssign","__keepState","React.createElement","ReactDOM.render","el","mountComponent","trigger","keepModel","_preventDispose","ReactDOM.unmountComponentAtNode","get","use","setPrototypeOf","__proto__","__assign","assign","n","_initializeState","_owner","_ownerKey","_nestedStore","getStore","_defaultStore","componentWillUnmount","_onChildrenChange","componentDidMount","getChildContext","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","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","toggle","exports","assignToState","assignFrom","transaction","isRoot","withStore","_disposed","forceUpdate","React.Component","definitions","mixinRules","protoValue","classLast","componentWillUpdate","classFirst","some","ReactMVx","React","default","notEqual","BackboneView","saveRef","root","hasUnsavedChanges","view","createElement","className","_mountView","_dispose","appendChild","off","innerHTML","NestedReact","subview","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/lib/react-mvx/define/pureRender.js b/lib/react-mvx/define/pureRender.js index 2d95017..f613b66 100644 --- a/lib/react-mvx/define/pureRender.js +++ b/lib/react-mvx/define/pureRender.js @@ -8,7 +8,7 @@ export function createChangeTokensConstructor(props) { export var EmptyPropsChangeTokensCtor = createChangeTokensConstructor({}); export var PureRenderMixin = { shouldComponentUpdate: function (nextProps) { - return this._propsChangeTokens._hasChanges(nextProps); + return this._propsChangeTokens._hasChanges(nextProps, this.state); }, componentDidMount: updateChangeTokens, componentDidUpdate: updateChangeTokens diff --git a/lib/react-mvx/define/pureRender.js.map b/lib/react-mvx/define/pureRender.js.map index 6cd30c8..9f57428 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,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 +{"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,EAAE,IAAI,CAAC,KAAK,CAAE,CAAC;IACxE,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/link.js b/lib/react-mvx/link.js index 68544a7..381eb12 100644 --- a/lib/react-mvx/link.js +++ b/lib/react-mvx/link.js @@ -130,7 +130,7 @@ MixinsState.get(Record.Collection).merge([{ var CollectionLink = (function (_super) { tslib_1.__extends(CollectionLink, _super); function CollectionLink(collection, record) { - var _this = _super.call(this, Boolean(collection._byId[record.cid])) || this; + var _this = _super.call(this, Boolean(collection.get(record))) || this; _this.collection = collection; _this.record = record; return _this; diff --git a/lib/react-mvx/link.js.map b/lib/react-mvx/link.js.map index bc2c89c..735d66c 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/package-lock.json b/package-lock.json index d3d6ca2..ce6c7a0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "nestedreact", - "version": "2.1.0-rc00", + "version": "2.1.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -401,9 +401,9 @@ } }, "nestedtypes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/nestedtypes/-/nestedtypes-2.1.0.tgz", - "integrity": "sha512-kygGMtyWT/1Z+NaxJlWARBifbp2Mnx5aIeOtdhwVL/jf5psmLCxPIScD8w5EKubQ13hUoWcuf/SVJ1su0XXHxQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nestedtypes/-/nestedtypes-2.1.1.tgz", + "integrity": "sha512-HCofUEjHZ5PEUmNQfeDhEmUyO36w626mxQL3Slho5QeHR3PVQgnp46hDMT1nH8bMiKX6Qiu9FQ/r5EqLbEDBBg==", "dev": true, "requires": { "tslib": "1.8.0" @@ -529,9 +529,9 @@ } }, "react": { - "version": "16.1.1", - "resolved": "https://registry.npmjs.org/react/-/react-16.1.1.tgz", - "integrity": "sha512-FQfiFfk2z2Fk87OngNJHT05KyC9DOVn8LPeB7ZX+9u5+yU1JK6o5ozRlU3PeOMr0IFkWNvgn9jU8/IhRxR1F0g==", + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-16.2.0.tgz", + "integrity": "sha512-ZmIomM7EE1DvPEnSFAHZn9Vs9zJl5A9H7el0EGTE6ZbW9FKe/14IYAlPbC8iH25YarEQxZL+E8VW7Mi7kfQrDQ==", "dev": true, "requires": { "fbjs": "0.8.16", @@ -541,9 +541,9 @@ } }, "react-dom": { - "version": "16.1.1", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.1.1.tgz", - "integrity": "sha512-q06jiwST8SEPAMIEkAsu7BgynEZtqF87VrTc70XsW7nxVhWEu2Y4MF5UfxxHQO/mNtQHQWP0YcFxmwm9oMrMaQ==", + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.2.0.tgz", + "integrity": "sha512-zpGAdwHVn9K0091d+hr+R0qrjoJ84cIBFL2uU60KvWBPfZ7LPSrfqviTxGHWN0sjPZb2hxWzMexwrvJdKePvjg==", "dev": true, "requires": { "fbjs": "0.8.16", diff --git a/package.json b/package.json index f20a134..7f067d1 100644 --- a/package.json +++ b/package.json @@ -38,10 +38,10 @@ "@types/prop-types": "^15.5.2", "@types/react": "^16.0.25", "jquery": "*", - "nestedtypes": "^2.1.0", + "nestedtypes": "^2.1.1", "prop-types": "^15.6.0", - "react": "^16.0.0", - "react-dom": "^16.0.0", + "react": "^16.2.0", + "react-dom": "^16.2.0", "rollup": "^0.50.0", "rollup-plugin-node-resolve": "^3.0.0", "rollup-plugin-replace": "^2.0.0", diff --git a/src/react-mvx/Link.ts b/src/react-mvx/Link.ts index 1269b64..fddf70e 100644 --- a/src/react-mvx/Link.ts +++ b/src/react-mvx/Link.ts @@ -138,7 +138,7 @@ MixinsState.get( Record.Collection ).merge([{ */ class CollectionLink extends Link< boolean >{ constructor( public collection, public record ){ - super( Boolean( collection._byId[ record.cid ] ) ); + super( Boolean( collection.get( record ) ) ); } set( x ){ diff --git a/src/react-mvx/define/pureRender.ts b/src/react-mvx/define/pureRender.ts index 85f1c70..deb049e 100644 --- a/src/react-mvx/define/pureRender.ts +++ b/src/react-mvx/define/pureRender.ts @@ -23,7 +23,7 @@ export const EmptyPropsChangeTokensCtor = createChangeTokensConstructor({}); export const PureRenderMixin = { shouldComponentUpdate( nextProps ){ - return this._propsChangeTokens._hasChanges( nextProps ); + return this._propsChangeTokens._hasChanges( nextProps, this.state ); }, componentDidMount : updateChangeTokens, diff --git a/submodules/React-MVx b/submodules/React-MVx index 5c0218c..6e9da5e 160000 --- a/submodules/React-MVx +++ b/submodules/React-MVx @@ -1 +1 @@ -Subproject commit 5c0218c2d51e93afb11118cd79000ee45faf3688 +Subproject commit 6e9da5eacadf62dc636445fb0e48d3e1b672719b From 9f4369c3326f6a49df5b140edb2948f9426dafa7 Mon Sep 17 00:00:00 2001 From: Vlad Balin Date: Tue, 5 Dec 2017 18:44:35 -0500 Subject: [PATCH 3/4] hotfix --- dist/index.js | 6 +++++- dist/index.js.map | 2 +- dist/index.min.js | 2 +- dist/index.min.js.map | 2 +- lib/react-mvx/index.js | 6 +++++- lib/react-mvx/index.js.map | 2 +- src/react-mvx/index.ts | 6 +++++- submodules/React-MVx | 2 +- 8 files changed, 20 insertions(+), 8 deletions(-) diff --git a/dist/index.js b/dist/index.js index 9457be8..c0b5712 100644 --- a/dist/index.js +++ b/dist/index.js @@ -947,7 +947,11 @@ 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 ? prop.value : prop, _a)); + var source = prop && prop instanceof Link$1 ? prop.value : prop; + this.state.assignFrom((_a = {}, _a[key] = source, _a)); + if (source && source._changeToken) { + this.state[key]._changeToken = source._changeToken; + } var _a; }; }; diff --git a/dist/index.js.map b/dist/index.js.map index d73b428..683712e 100644 --- a/dist/index.js.map +++ b/dist/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sources":["../node_modules/tslib/tslib.es6.js","../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":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\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;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = y[op[0] & 2 ? \"return\" : op[0] ? \"throw\" : \"next\"]) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [0, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n 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); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n 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; }; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator];\r\n return m ? m.call(o) : typeof __values === \"function\" ? __values(o) : o[Symbol.iterator]();\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n","import * as tslib_1 from \"tslib\";\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 tslib_1.__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 = tslib_1.__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","import * as tslib_1 from \"tslib\";\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 tslib_1.__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 = tslib_1.__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, this.state);\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","import * as tslib_1 from \"tslib\";\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 tslib_1.__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 tslib_1.__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 tslib_1.__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 tslib_1.__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 tslib_1.__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 tslib_1.__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 */\nimport * as tslib_1 from \"tslib\";\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 tslib_1.__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 tslib_1.__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 tslib_1.__extends(CollectionLink, _super);\n function CollectionLink(collection, record) {\n var _this = _super.call(this, Boolean(collection.get(record))) || 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 */\nimport * as tslib_1 from \"tslib\";\nimport * as React from 'react';\nimport { mixinRules, define, mixins, definitions, Messenger } from 'type-r';\nimport onDefine, { EmptyPropsChangeTokensCtor } from './define';\nvar Component = (function (_super) {\n tslib_1.__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 = tslib_1.__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","import * as tslib_1 from \"tslib\";\nimport React, { Component } from './react-mvx';\nimport { tools } from 'type-r';\nvar notEqual = tools.notEqual;\nvar BackboneView = (function (_super) {\n tslib_1.__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","import * as tslib_1 from \"tslib\";\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 = tslib_1.__rest(_a, [\"statics\"]);\n // Gather all methods to pin them to `this` later.\n var methods = [];\n var Subclass = Component.extend(tslib_1.__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 };\nimport use from './component-view';\nimport createClass from './createClass';\nObject.defineProperty(NestedReact, 'createClass', { value: 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":["Record","tslib_1.__extends","tslib_1.__decorate","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","tslib_1.__rest","tslib_1.__assign","subview","ReactDOM.findDOMNode","Nested"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.js","sources":["../node_modules/tslib/tslib.es6.js","../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":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\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;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = y[op[0] & 2 ? \"return\" : op[0] ? \"throw\" : \"next\"]) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [0, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n 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); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n 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; }; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator];\r\n return m ? m.call(o) : typeof __values === \"function\" ? __values(o) : o[Symbol.iterator]();\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n","import * as tslib_1 from \"tslib\";\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 tslib_1.__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 = tslib_1.__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","import * as tslib_1 from \"tslib\";\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 tslib_1.__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 = tslib_1.__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, this.state);\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","import * as tslib_1 from \"tslib\";\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 tslib_1.__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 tslib_1.__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 tslib_1.__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 tslib_1.__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 tslib_1.__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 tslib_1.__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 */\nimport * as tslib_1 from \"tslib\";\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 tslib_1.__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 tslib_1.__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 tslib_1.__extends(CollectionLink, _super);\n function CollectionLink(collection, record) {\n var _this = _super.call(this, Boolean(collection.get(record))) || 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 */\nimport * as tslib_1 from \"tslib\";\nimport * as React from 'react';\nimport { mixinRules, define, mixins, definitions, Messenger } from 'type-r';\nimport onDefine, { EmptyPropsChangeTokensCtor } from './define';\nvar Component = (function (_super) {\n tslib_1.__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 = tslib_1.__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 var source = prop && prop instanceof Link ? prop.value : prop;\n this.state.assignFrom((_a = {}, _a[key] = source, _a));\n if (source && source._changeToken) {\n this.state[key]._changeToken = source._changeToken;\n }\n var _a;\n };\n};\nexport default ReactMVx;\nexport { define, mixins, Node, Element, Link, Component, assignToState };\n//# sourceMappingURL=index.js.map","import * as tslib_1 from \"tslib\";\nimport React, { Component } from './react-mvx';\nimport { tools } from 'type-r';\nvar notEqual = tools.notEqual;\nvar BackboneView = (function (_super) {\n tslib_1.__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","import * as tslib_1 from \"tslib\";\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 = tslib_1.__rest(_a, [\"statics\"]);\n // Gather all methods to pin them to `this` later.\n var methods = [];\n var Subclass = Component.extend(tslib_1.__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 };\nimport use from './component-view';\nimport createClass from './createClass';\nObject.defineProperty(NestedReact, 'createClass', { value: 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":["Record","tslib_1.__extends","tslib_1.__decorate","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","tslib_1.__rest","tslib_1.__assign","subview","ReactDOM.findDOMNode","Nested"],"mappings":"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"} \ No newline at end of file diff --git a/dist/index.min.js b/dist/index.min.js index e8fe4e1..0677b87 100644 --- a/dist/index.min.js +++ b/dist/index.min.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("react"),require("nestedtypes"),require("prop-types"),require("react-dom")):"function"==typeof define&&define.amd?define(["exports","react","nestedtypes","prop-types","react-dom"],e):e(t.ReactMVx={},t.React,t.Nested,t.PropTypes,t.ReactDOM)}(this,function(t,e,n,o,r){"use strict";function i(t,e){function n(){this.constructor=t}_(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}function s(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}function u(t){var e,r,i,s={},u=n.Record.defaults(t).prototype;return u.forEachAttr(u._attributes,function(t,n){if("id"!==n){var u=t.value,a=t.type,p=t.options;if(s[n]=function(t,e){var n=function(t){switch(t){case Number:case Number.integer:return o.number;case String:return o.string;case Boolean:return o.bool;case Array:return o.array;case Function:return o.func;case Object:return o.object;case O:return o.node;case R:return o.element;case void 0:case null:return o.any;default:return o.instanceOf(t)}}(t);return e?n.isRequired:n}(a,p.isRequired),p._onChange&&(r||(r={}),r[n]=function(t){return"function"==typeof t?t:function(e,n){this[t]&&this[t](e,n)}}(p._onChange)),p.changeHandlers&&p.changeHandlers.length&&(i||(i={}),i[n]=p.changeHandlers),p.changeEvents){i||(i={});var c=i[n]||(i[n]=[]),l="string"==typeof p.changeEvents?p.changeEvents:null;c.push(function(t,e,n){e&&n.stopListening(e),t&&n.listenTo(t,l||t._changeEventName,n.asyncUpdate)})}void 0!==u&&(e||(e={}),e[n]=t.convert(u,void 0,null,{}))}}),{propTypes:s,defaults:e,watchers:r,changeHandlers:i}}function a(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 p(){this._propsChangeTokens=new this.PropsChangeTokens(this.props,this.state)}function c(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 i(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}(E),F="Invalid value",B=function(t){function e(e,n){var o=t.call(this,e.value[n])||this;return o.parent=e,o.key=n,o}return i(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}(E);n.Mixable.mixins.populate(E),n.MixinsState.get(n.Record).merge([{linkAt:function(t){return d(f(this),this,t)},linkPath:function(t,e){return new $(this,t,e)},linkAll:function(){var t=f(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}function u(t){var e,r,i,s={},u=n.Record.defaults(t).prototype;return u.forEachAttr(u._attributes,function(t,n){if("id"!==n){var u=t.value,a=t.type,p=t.options;if(s[n]=function(t,e){var n=function(t){switch(t){case Number:case Number.integer:return o.number;case String:return o.string;case Boolean:return o.bool;case Array:return o.array;case Function:return o.func;case Object:return o.object;case O:return o.node;case R:return o.element;case void 0:case null:return o.any;default:return o.instanceOf(t)}}(t);return e?n.isRequired:n}(a,p.isRequired),p._onChange&&(r||(r={}),r[n]=function(t){return"function"==typeof t?t:function(e,n){this[t]&&this[t](e,n)}}(p._onChange)),p.changeHandlers&&p.changeHandlers.length&&(i||(i={}),i[n]=p.changeHandlers),p.changeEvents){i||(i={});var c=i[n]||(i[n]=[]),l="string"==typeof p.changeEvents?p.changeEvents:null;c.push(function(t,e,n){e&&n.stopListening(e),t&&n.listenTo(t,l||t._changeEventName,n.asyncUpdate)})}void 0!==u&&(e||(e={}),e[n]=t.convert(u,void 0,null,{}))}}),{propTypes:s,defaults:e,watchers:r,changeHandlers:i}}function a(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 p(){this._propsChangeTokens=new this.PropsChangeTokens(this.props,this.state)}function c(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 i(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}(E),F="Invalid value",B=function(t){function e(e,n){var o=t.call(this,e.value[n])||this;return o.parent=e,o.key=n,o}return i(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}(E);n.Mixable.mixins.populate(E),n.MixinsState.get(n.Record).merge([{linkAt:function(t){return d(f(this),this,t)},linkPath:function(t,e){return new $(this,t,e)},linkAll:function(){var t=f(this);if(arguments.length)for(var e=0;e= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = y[op[0] & 2 ? \"return\" : op[0] ? \"throw\" : \"next\"]) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [0, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n 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); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n 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; }; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator];\r\n return m ? m.call(o) : typeof __values === \"function\" ? __values(o) : o[Symbol.iterator]();\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n","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","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, this.state);\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","import * as tslib_1 from \"tslib\";\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 tslib_1.__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 = tslib_1.__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 tslib_1 from \"tslib\";\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 tslib_1.__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 = tslib_1.__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","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","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 */\nimport * as tslib_1 from \"tslib\";\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 tslib_1.__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 tslib_1.__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 tslib_1.__extends(CollectionLink, _super);\n function CollectionLink(collection, record) {\n var _this = _super.call(this, Boolean(collection.get(record))) || 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 */\nimport * as tslib_1 from \"tslib\";\nimport * as React from 'react';\nimport { mixinRules, define, mixins, definitions, Messenger } from 'type-r';\nimport onDefine, { EmptyPropsChangeTokensCtor } from './define';\nvar Component = (function (_super) {\n tslib_1.__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 = tslib_1.__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 tslib_1 from \"tslib\";\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 = tslib_1.__rest(_a, [\"statics\"]);\n // Gather all methods to pin them to `this` later.\n var methods = [];\n var Subclass = Component.extend(tslib_1.__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 };\nimport use from './component-view';\nimport createClass from './createClass';\nObject.defineProperty(NestedReact, 'createClass', { value: 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","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","import * as tslib_1 from \"tslib\";\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 tslib_1.__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 tslib_1.__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 tslib_1.__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 tslib_1.__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 tslib_1.__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 tslib_1.__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 * 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","import * as tslib_1 from \"tslib\";\nimport React, { Component } from './react-mvx';\nimport { tools } from 'type-r';\nvar notEqual = tools.notEqual;\nvar BackboneView = (function (_super) {\n tslib_1.__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":["__extends","d","b","__","this","constructor","extendStatics","prototype","Object","create","__decorate","decorators","target","key","desc","c","arguments","length","r","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","compileSpecs","props","defaults","watchers","changeHandlers","propTypes","modelProto","Record","forEachAttr","_attributes","spec","name","value","type","options","Type","isRequired","T","Number","integer","PropTypes.number","String","PropTypes.string","Boolean","PropTypes.bool","Array","PropTypes.array","Function","PropTypes.func","PropTypes.object","Node","PropTypes.node","Element","PropTypes.element","PropTypes.any","PropTypes.instanceOf","_translateType","translateType","_onChange","ref","toLocalWatcher","changeEvents","handlers","changeEvents_1","push","next","prev","component","stopListening","listenTo","_changeEventName","asyncUpdate","convert","createChangeTokensConstructor","propNames","keys","PropsChangeTokens","map","join","_hasChanges","updateChangeTokens","_propsChangeTokens","state","handlePropsChanges","_changeHandlers","name_1","_i","_a","handler","onDefine","definition","BaseClass","store","StoreClass","Store","mixins","merge","ExternalStoreMixin","ExposeStoreMixin","InternalStore","_super","apply","tslib_1.__extends","attrbutes","tslib_1.__decorate","define","InternalStoreMixin","UpdateOnNestedChangesMixin","call","BaseComponentClass","State","ComponentState","attributes","StateMixin","context","childContext","_context","tools","contextTypes","_childContext","childContextTypes","pureRender","_props","_b","defaultProps","_watchers","WatchersMixin","ChangeHandlersMixin","PureRenderMixin","Messenger","helpers","getPrototypeOf","ArrayProto","arrayHelpers","ObjectProto","objectHelpers","dummyHelpers","getLinksCache","record","_links","AttributesCopy","cacheLink","links","cached","RecordLink","returnFalse","createClass","statics","a_spec","s","e","t","p","hasOwnProperty","indexOf","getOwnPropertySymbols","tslib_1.__rest","methods","Subclass","Component","extend","tslib_1.__assign","methods_1","method","bind","Proto","dontAutobind","useView","View","BaseView","dispose","setElement","ComponentView","reactClass","element","initialize","unmountComponent","prevState","resize","window","Page","forceResize","render","fastAssign","__keepState","React.createElement","ReactDOM.render","el","mountComponent","trigger","keepModel","_preventDispose","ReactDOM.unmountComponentAtNode","get","use","setPrototypeOf","__proto__","__assign","assign","n","_initializeState","_owner","_ownerKey","_nestedStore","getStore","_defaultStore","componentWillUnmount","_onChildrenChange","componentDidMount","getChildContext","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","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","toggle","exports","assignToState","assignFrom","transaction","isRoot","withStore","_disposed","forceUpdate","React.Component","definitions","mixinRules","protoValue","classLast","componentWillUpdate","classFirst","some","ReactMVx","React","default","notEqual","BackboneView","saveRef","root","hasUnsavedChanges","view","createElement","className","_mountView","_dispose","appendChild","off","innerHTML","NestedReact","subview","PropTypes","RecordProto","getLink","deepLink","CollectionProto","hasLink","BackboneViewProps","ReactDOM.findDOMNode","$el","$","sel","find","defineProperties"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.min.js","sources":["../node_modules/tslib/tslib.es6.js","../lib/react-mvx/define/typeSpecs.js","../lib/react-mvx/define/pureRender.js","../lib/react-mvx/define/props.js","../lib/react-mvx/define/index.js","../lib/react-mvx/define/store.js","../lib/react-mvx/define/state.js","../lib/react-mvx/define/context.js","../lib/react-mvx/valuelink/helpers.js","../lib/react-mvx/link.js","../lib/react-mvx/component.js","../lib/createClass.js","../lib/index.js","../lib/component-view.js","../lib/react-mvx/valuelink/link.js","../lib/react-mvx/index.js","../lib/view-element.js"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\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;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = y[op[0] & 2 ? \"return\" : op[0] ? \"throw\" : \"next\"]) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [0, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n 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); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n 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; }; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator];\r\n return m ? m.call(o) : typeof __values === \"function\" ? __values(o) : o[Symbol.iterator]();\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n","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","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, this.state);\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","import * as tslib_1 from \"tslib\";\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 tslib_1.__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 = tslib_1.__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 tslib_1 from \"tslib\";\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 tslib_1.__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 = tslib_1.__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","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","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 */\nimport * as tslib_1 from \"tslib\";\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 tslib_1.__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 tslib_1.__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 tslib_1.__extends(CollectionLink, _super);\n function CollectionLink(collection, record) {\n var _this = _super.call(this, Boolean(collection.get(record))) || 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 */\nimport * as tslib_1 from \"tslib\";\nimport * as React from 'react';\nimport { mixinRules, define, mixins, definitions, Messenger } from 'type-r';\nimport onDefine, { EmptyPropsChangeTokensCtor } from './define';\nvar Component = (function (_super) {\n tslib_1.__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 = tslib_1.__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 tslib_1 from \"tslib\";\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 = tslib_1.__rest(_a, [\"statics\"]);\n // Gather all methods to pin them to `this` later.\n var methods = [];\n var Subclass = Component.extend(tslib_1.__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 };\nimport use from './component-view';\nimport createClass from './createClass';\nObject.defineProperty(NestedReact, 'createClass', { value: 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","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","import * as tslib_1 from \"tslib\";\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 tslib_1.__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 tslib_1.__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 tslib_1.__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 tslib_1.__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 tslib_1.__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 tslib_1.__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 * 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 var source = prop && prop instanceof Link ? prop.value : prop;\n this.state.assignFrom((_a = {}, _a[key] = source, _a));\n if (source && source._changeToken) {\n this.state[key]._changeToken = source._changeToken;\n }\n var _a;\n };\n};\nexport default ReactMVx;\nexport { define, mixins, Node, Element, Link, Component, assignToState };\n//# sourceMappingURL=index.js.map","import * as tslib_1 from \"tslib\";\nimport React, { Component } from './react-mvx';\nimport { tools } from 'type-r';\nvar notEqual = tools.notEqual;\nvar BackboneView = (function (_super) {\n tslib_1.__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":["__extends","d","b","__","this","constructor","extendStatics","prototype","Object","create","__decorate","decorators","target","key","desc","c","arguments","length","r","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","compileSpecs","props","defaults","watchers","changeHandlers","propTypes","modelProto","Record","forEachAttr","_attributes","spec","name","value","type","options","Type","isRequired","T","Number","integer","PropTypes.number","String","PropTypes.string","Boolean","PropTypes.bool","Array","PropTypes.array","Function","PropTypes.func","PropTypes.object","Node","PropTypes.node","Element","PropTypes.element","PropTypes.any","PropTypes.instanceOf","_translateType","translateType","_onChange","ref","toLocalWatcher","changeEvents","handlers","changeEvents_1","push","next","prev","component","stopListening","listenTo","_changeEventName","asyncUpdate","convert","createChangeTokensConstructor","propNames","keys","PropsChangeTokens","map","join","_hasChanges","updateChangeTokens","_propsChangeTokens","state","handlePropsChanges","_changeHandlers","name_1","_i","_a","handler","onDefine","definition","BaseClass","store","StoreClass","Store","mixins","merge","ExternalStoreMixin","ExposeStoreMixin","InternalStore","_super","apply","tslib_1.__extends","attrbutes","tslib_1.__decorate","define","InternalStoreMixin","UpdateOnNestedChangesMixin","call","BaseComponentClass","State","ComponentState","attributes","StateMixin","context","childContext","_context","tools","contextTypes","_childContext","childContextTypes","pureRender","_props","_b","defaultProps","_watchers","WatchersMixin","ChangeHandlersMixin","PureRenderMixin","Messenger","helpers","getPrototypeOf","ArrayProto","arrayHelpers","ObjectProto","objectHelpers","dummyHelpers","getLinksCache","record","_links","AttributesCopy","cacheLink","links","cached","RecordLink","returnFalse","createClass","statics","a_spec","s","e","t","p","hasOwnProperty","indexOf","getOwnPropertySymbols","tslib_1.__rest","methods","Subclass","Component","extend","tslib_1.__assign","methods_1","method","bind","Proto","dontAutobind","useView","View","BaseView","dispose","setElement","ComponentView","reactClass","element","initialize","unmountComponent","prevState","resize","window","Page","forceResize","render","fastAssign","__keepState","React.createElement","ReactDOM.render","el","mountComponent","trigger","keepModel","_preventDispose","ReactDOM.unmountComponentAtNode","get","use","setPrototypeOf","__proto__","__assign","assign","n","_initializeState","_owner","_ownerKey","_nestedStore","getStore","_defaultStore","componentWillUnmount","_onChildrenChange","componentDidMount","getChildContext","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","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","toggle","exports","assignToState","assignFrom","transaction","isRoot","withStore","_disposed","forceUpdate","React.Component","definitions","mixinRules","protoValue","classLast","componentWillUpdate","classFirst","some","ReactMVx","React","default","source","notEqual","BackboneView","saveRef","root","hasUnsavedChanges","view","createElement","className","_mountView","_dispose","appendChild","off","innerHTML","NestedReact","subview","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/lib/react-mvx/index.js b/lib/react-mvx/index.js index 46abe45..9d9c56f 100644 --- a/lib/react-mvx/index.js +++ b/lib/react-mvx/index.js @@ -16,7 +16,11 @@ ReactMVx.Link = Link; ReactMVx.Component = Component; var assignToState = ReactMVx.assignToState = function (key) { return function (prop) { - this.state.assignFrom((_a = {}, _a[key] = prop && prop instanceof Link ? prop.value : prop, _a)); + var source = prop && prop instanceof Link ? prop.value : prop; + this.state.assignFrom((_a = {}, _a[key] = source, _a)); + if (source && source._changeToken) { + this.state[key]._changeToken = source._changeToken; + } var _a; }; }; diff --git a/lib/react-mvx/index.js.map b/lib/react-mvx/index.js.map index 351772e..515cb66 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,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 +{"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,IAAM,MAAM,GAAG,IAAI,IAAI,IAAI,YAAY,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAChE,IAAI,CAAC,KAAK,CAAC,UAAU,WAAG,GAAE,GAAG,IAAK,MAAM,MAAG,CAAC;QAC5C,EAAE,CAAA,CAAE,MAAM,IAAI,MAAM,CAAC,YAAa,CAAC,CAAA,CAAC;YAChC,IAAI,CAAC,KAAK,CAAE,GAAG,CAAE,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QACzD,CAAC;;IACL,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/react-mvx/index.ts b/src/react-mvx/index.ts index abf7ac1..99146c4 100644 --- a/src/react-mvx/index.ts +++ b/src/react-mvx/index.ts @@ -41,7 +41,11 @@ ReactMVx.Link = Link; ReactMVx.Component = Component as any; const assignToState = ReactMVx.assignToState = key => { return function( prop ){ - this.state.assignFrom({ [ key ] : prop && prop instanceof Link ? prop.value : prop }); + const source = prop && prop instanceof Link ? prop.value : prop; + this.state.assignFrom({ [ key ] : source }); + if( source && source._changeToken ){ + this.state[ key ]._changeToken = source._changeToken; + } } } diff --git a/submodules/React-MVx b/submodules/React-MVx index 6e9da5e..4fdc99e 160000 --- a/submodules/React-MVx +++ b/submodules/React-MVx @@ -1 +1 @@ -Subproject commit 6e9da5eacadf62dc636445fb0e48d3e1b672719b +Subproject commit 4fdc99eac01e3e4fd809fc2f980ed3bd4bf5e93c From 94ddfd6e2b09d1fefd8847160bfff5150a65d54c Mon Sep 17 00:00:00 2001 From: Vlad Balin Date: Wed, 7 Mar 2018 19:28:28 -0500 Subject: [PATCH 4/4] Prepare for the new release. No changes. --- dist/index.js.map | 2 +- dist/index.min.js.map | 2 +- package-lock.json | 13 +++++++------ package.json | 2 +- submodules/React-MVx | 2 +- 5 files changed, 11 insertions(+), 10 deletions(-) diff --git a/dist/index.js.map b/dist/index.js.map index 683712e..1fd2d59 100644 --- a/dist/index.js.map +++ b/dist/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sources":["../node_modules/tslib/tslib.es6.js","../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":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\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;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = y[op[0] & 2 ? \"return\" : op[0] ? \"throw\" : \"next\"]) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [0, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n 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); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n 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; }; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator];\r\n return m ? m.call(o) : typeof __values === \"function\" ? __values(o) : o[Symbol.iterator]();\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n","import * as tslib_1 from \"tslib\";\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 tslib_1.__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 = tslib_1.__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","import * as tslib_1 from \"tslib\";\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 tslib_1.__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 = tslib_1.__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, this.state);\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","import * as tslib_1 from \"tslib\";\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 tslib_1.__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 tslib_1.__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 tslib_1.__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 tslib_1.__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 tslib_1.__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 tslib_1.__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 */\nimport * as tslib_1 from \"tslib\";\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 tslib_1.__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 tslib_1.__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 tslib_1.__extends(CollectionLink, _super);\n function CollectionLink(collection, record) {\n var _this = _super.call(this, Boolean(collection.get(record))) || 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 */\nimport * as tslib_1 from \"tslib\";\nimport * as React from 'react';\nimport { mixinRules, define, mixins, definitions, Messenger } from 'type-r';\nimport onDefine, { EmptyPropsChangeTokensCtor } from './define';\nvar Component = (function (_super) {\n tslib_1.__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 = tslib_1.__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 var source = prop && prop instanceof Link ? prop.value : prop;\n this.state.assignFrom((_a = {}, _a[key] = source, _a));\n if (source && source._changeToken) {\n this.state[key]._changeToken = source._changeToken;\n }\n var _a;\n };\n};\nexport default ReactMVx;\nexport { define, mixins, Node, Element, Link, Component, assignToState };\n//# sourceMappingURL=index.js.map","import * as tslib_1 from \"tslib\";\nimport React, { Component } from './react-mvx';\nimport { tools } from 'type-r';\nvar notEqual = tools.notEqual;\nvar BackboneView = (function (_super) {\n tslib_1.__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","import * as tslib_1 from \"tslib\";\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 = tslib_1.__rest(_a, [\"statics\"]);\n // Gather all methods to pin them to `this` later.\n var methods = [];\n var Subclass = Component.extend(tslib_1.__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 };\nimport use from './component-view';\nimport createClass from './createClass';\nObject.defineProperty(NestedReact, 'createClass', { value: 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":["Record","tslib_1.__extends","tslib_1.__decorate","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","tslib_1.__rest","tslib_1.__assign","subview","ReactDOM.findDOMNode","Nested"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.js","sources":["../node_modules/tslib/tslib.es6.js","../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":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\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;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = y[op[0] & 2 ? \"return\" : op[0] ? \"throw\" : \"next\"]) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [0, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n 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); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n 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; }; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator];\r\n return m ? m.call(o) : typeof __values === \"function\" ? __values(o) : o[Symbol.iterator]();\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import * as tslib_1 from \"tslib\";\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 tslib_1.__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 = tslib_1.__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","import * as tslib_1 from \"tslib\";\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 tslib_1.__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 = tslib_1.__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, this.state);\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","import * as tslib_1 from \"tslib\";\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 tslib_1.__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 tslib_1.__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 tslib_1.__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 tslib_1.__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 tslib_1.__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 tslib_1.__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 */\nimport * as tslib_1 from \"tslib\";\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 tslib_1.__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 tslib_1.__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 tslib_1.__extends(CollectionLink, _super);\n function CollectionLink(collection, record) {\n var _this = _super.call(this, Boolean(collection.get(record))) || 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 */\nimport * as tslib_1 from \"tslib\";\nimport * as React from 'react';\nimport { mixinRules, define, mixins, definitions, Messenger } from 'type-r';\nimport onDefine, { EmptyPropsChangeTokensCtor } from './define';\nvar Component = (function (_super) {\n tslib_1.__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 = tslib_1.__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 var source = prop && prop instanceof Link ? prop.value : prop;\n this.state.assignFrom((_a = {}, _a[key] = source, _a));\n if (source && source._changeToken) {\n this.state[key]._changeToken = source._changeToken;\n }\n var _a;\n };\n};\nexport default ReactMVx;\nexport { define, mixins, Node, Element, Link, Component, assignToState };\n//# sourceMappingURL=index.js.map","import * as tslib_1 from \"tslib\";\nimport React, { Component } from './react-mvx';\nimport { tools } from 'type-r';\nvar notEqual = tools.notEqual;\nvar BackboneView = (function (_super) {\n tslib_1.__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","import * as tslib_1 from \"tslib\";\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 = tslib_1.__rest(_a, [\"statics\"]);\n // Gather all methods to pin them to `this` later.\n var methods = [];\n var Subclass = Component.extend(tslib_1.__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 };\nimport use from './component-view';\nimport createClass from './createClass';\nObject.defineProperty(NestedReact, 'createClass', { value: 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":["Record","tslib_1.__extends","tslib_1.__decorate","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","tslib_1.__rest","tslib_1.__assign","subview","ReactDOM.findDOMNode","Nested"],"mappings":"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"} \ No newline at end of file diff --git a/dist/index.min.js.map b/dist/index.min.js.map index 8eba4d6..5d3bb5d 100644 --- a/dist/index.min.js.map +++ b/dist/index.min.js.map @@ -1 +1 @@ -{"version":3,"file":"index.min.js","sources":["../node_modules/tslib/tslib.es6.js","../lib/react-mvx/define/typeSpecs.js","../lib/react-mvx/define/pureRender.js","../lib/react-mvx/define/props.js","../lib/react-mvx/define/index.js","../lib/react-mvx/define/store.js","../lib/react-mvx/define/state.js","../lib/react-mvx/define/context.js","../lib/react-mvx/valuelink/helpers.js","../lib/react-mvx/link.js","../lib/react-mvx/component.js","../lib/createClass.js","../lib/index.js","../lib/component-view.js","../lib/react-mvx/valuelink/link.js","../lib/react-mvx/index.js","../lib/view-element.js"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\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;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = y[op[0] & 2 ? \"return\" : op[0] ? \"throw\" : \"next\"]) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [0, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n 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); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n 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; }; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator];\r\n return m ? m.call(o) : typeof __values === \"function\" ? __values(o) : o[Symbol.iterator]();\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n","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","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, this.state);\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","import * as tslib_1 from \"tslib\";\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 tslib_1.__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 = tslib_1.__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 tslib_1 from \"tslib\";\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 tslib_1.__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 = tslib_1.__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","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","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 */\nimport * as tslib_1 from \"tslib\";\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 tslib_1.__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 tslib_1.__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 tslib_1.__extends(CollectionLink, _super);\n function CollectionLink(collection, record) {\n var _this = _super.call(this, Boolean(collection.get(record))) || 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 */\nimport * as tslib_1 from \"tslib\";\nimport * as React from 'react';\nimport { mixinRules, define, mixins, definitions, Messenger } from 'type-r';\nimport onDefine, { EmptyPropsChangeTokensCtor } from './define';\nvar Component = (function (_super) {\n tslib_1.__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 = tslib_1.__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 tslib_1 from \"tslib\";\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 = tslib_1.__rest(_a, [\"statics\"]);\n // Gather all methods to pin them to `this` later.\n var methods = [];\n var Subclass = Component.extend(tslib_1.__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 };\nimport use from './component-view';\nimport createClass from './createClass';\nObject.defineProperty(NestedReact, 'createClass', { value: 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","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","import * as tslib_1 from \"tslib\";\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 tslib_1.__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 tslib_1.__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 tslib_1.__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 tslib_1.__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 tslib_1.__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 tslib_1.__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 * 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 var source = prop && prop instanceof Link ? prop.value : prop;\n this.state.assignFrom((_a = {}, _a[key] = source, _a));\n if (source && source._changeToken) {\n this.state[key]._changeToken = source._changeToken;\n }\n var _a;\n };\n};\nexport default ReactMVx;\nexport { define, mixins, Node, Element, Link, Component, assignToState };\n//# sourceMappingURL=index.js.map","import * as tslib_1 from \"tslib\";\nimport React, { Component } from './react-mvx';\nimport { tools } from 'type-r';\nvar notEqual = tools.notEqual;\nvar BackboneView = (function (_super) {\n tslib_1.__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":["__extends","d","b","__","this","constructor","extendStatics","prototype","Object","create","__decorate","decorators","target","key","desc","c","arguments","length","r","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","compileSpecs","props","defaults","watchers","changeHandlers","propTypes","modelProto","Record","forEachAttr","_attributes","spec","name","value","type","options","Type","isRequired","T","Number","integer","PropTypes.number","String","PropTypes.string","Boolean","PropTypes.bool","Array","PropTypes.array","Function","PropTypes.func","PropTypes.object","Node","PropTypes.node","Element","PropTypes.element","PropTypes.any","PropTypes.instanceOf","_translateType","translateType","_onChange","ref","toLocalWatcher","changeEvents","handlers","changeEvents_1","push","next","prev","component","stopListening","listenTo","_changeEventName","asyncUpdate","convert","createChangeTokensConstructor","propNames","keys","PropsChangeTokens","map","join","_hasChanges","updateChangeTokens","_propsChangeTokens","state","handlePropsChanges","_changeHandlers","name_1","_i","_a","handler","onDefine","definition","BaseClass","store","StoreClass","Store","mixins","merge","ExternalStoreMixin","ExposeStoreMixin","InternalStore","_super","apply","tslib_1.__extends","attrbutes","tslib_1.__decorate","define","InternalStoreMixin","UpdateOnNestedChangesMixin","call","BaseComponentClass","State","ComponentState","attributes","StateMixin","context","childContext","_context","tools","contextTypes","_childContext","childContextTypes","pureRender","_props","_b","defaultProps","_watchers","WatchersMixin","ChangeHandlersMixin","PureRenderMixin","Messenger","helpers","getPrototypeOf","ArrayProto","arrayHelpers","ObjectProto","objectHelpers","dummyHelpers","getLinksCache","record","_links","AttributesCopy","cacheLink","links","cached","RecordLink","returnFalse","createClass","statics","a_spec","s","e","t","p","hasOwnProperty","indexOf","getOwnPropertySymbols","tslib_1.__rest","methods","Subclass","Component","extend","tslib_1.__assign","methods_1","method","bind","Proto","dontAutobind","useView","View","BaseView","dispose","setElement","ComponentView","reactClass","element","initialize","unmountComponent","prevState","resize","window","Page","forceResize","render","fastAssign","__keepState","React.createElement","ReactDOM.render","el","mountComponent","trigger","keepModel","_preventDispose","ReactDOM.unmountComponentAtNode","get","use","setPrototypeOf","__proto__","__assign","assign","n","_initializeState","_owner","_ownerKey","_nestedStore","getStore","_defaultStore","componentWillUnmount","_onChildrenChange","componentDidMount","getChildContext","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","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","toggle","exports","assignToState","assignFrom","transaction","isRoot","withStore","_disposed","forceUpdate","React.Component","definitions","mixinRules","protoValue","classLast","componentWillUpdate","classFirst","some","ReactMVx","React","default","source","notEqual","BackboneView","saveRef","root","hasUnsavedChanges","view","createElement","className","_mountView","_dispose","appendChild","off","innerHTML","NestedReact","subview","PropTypes","RecordProto","getLink","deepLink","CollectionProto","hasLink","BackboneViewProps","ReactDOM.findDOMNode","$el","$","sel","find","defineProperties"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.min.js","sources":["../node_modules/tslib/tslib.es6.js","../lib/react-mvx/define/typeSpecs.js","../lib/react-mvx/define/pureRender.js","../lib/react-mvx/define/props.js","../lib/react-mvx/define/index.js","../lib/react-mvx/define/store.js","../lib/react-mvx/define/state.js","../lib/react-mvx/define/context.js","../lib/react-mvx/valuelink/helpers.js","../lib/react-mvx/link.js","../lib/react-mvx/component.js","../lib/createClass.js","../lib/index.js","../lib/component-view.js","../lib/react-mvx/valuelink/link.js","../lib/react-mvx/index.js","../lib/view-element.js"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\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;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = y[op[0] & 2 ? \"return\" : op[0] ? \"throw\" : \"next\"]) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [0, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n 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); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n 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; }; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator];\r\n return m ? m.call(o) : typeof __values === \"function\" ? __values(o) : o[Symbol.iterator]();\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","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","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, this.state);\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","import * as tslib_1 from \"tslib\";\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 tslib_1.__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 = tslib_1.__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 tslib_1 from \"tslib\";\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 tslib_1.__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 = tslib_1.__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","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","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 */\nimport * as tslib_1 from \"tslib\";\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 tslib_1.__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 tslib_1.__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 tslib_1.__extends(CollectionLink, _super);\n function CollectionLink(collection, record) {\n var _this = _super.call(this, Boolean(collection.get(record))) || 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 */\nimport * as tslib_1 from \"tslib\";\nimport * as React from 'react';\nimport { mixinRules, define, mixins, definitions, Messenger } from 'type-r';\nimport onDefine, { EmptyPropsChangeTokensCtor } from './define';\nvar Component = (function (_super) {\n tslib_1.__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 = tslib_1.__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 tslib_1 from \"tslib\";\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 = tslib_1.__rest(_a, [\"statics\"]);\n // Gather all methods to pin them to `this` later.\n var methods = [];\n var Subclass = Component.extend(tslib_1.__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 };\nimport use from './component-view';\nimport createClass from './createClass';\nObject.defineProperty(NestedReact, 'createClass', { value: 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","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","import * as tslib_1 from \"tslib\";\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 tslib_1.__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 tslib_1.__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 tslib_1.__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 tslib_1.__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 tslib_1.__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 tslib_1.__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 * 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 var source = prop && prop instanceof Link ? prop.value : prop;\n this.state.assignFrom((_a = {}, _a[key] = source, _a));\n if (source && source._changeToken) {\n this.state[key]._changeToken = source._changeToken;\n }\n var _a;\n };\n};\nexport default ReactMVx;\nexport { define, mixins, Node, Element, Link, Component, assignToState };\n//# sourceMappingURL=index.js.map","import * as tslib_1 from \"tslib\";\nimport React, { Component } from './react-mvx';\nimport { tools } from 'type-r';\nvar notEqual = tools.notEqual;\nvar BackboneView = (function (_super) {\n tslib_1.__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":["__extends","d","b","__","this","constructor","extendStatics","prototype","Object","create","__decorate","decorators","target","key","desc","c","arguments","length","r","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","compileSpecs","props","defaults","watchers","changeHandlers","propTypes","modelProto","Record","forEachAttr","_attributes","spec","name","value","type","options","Type","isRequired","T","Number","integer","PropTypes.number","String","PropTypes.string","Boolean","PropTypes.bool","Array","PropTypes.array","Function","PropTypes.func","PropTypes.object","Node","PropTypes.node","Element","PropTypes.element","PropTypes.any","PropTypes.instanceOf","_translateType","translateType","_onChange","ref","toLocalWatcher","changeEvents","handlers","changeEvents_1","push","next","prev","component","stopListening","listenTo","_changeEventName","asyncUpdate","convert","createChangeTokensConstructor","propNames","keys","PropsChangeTokens","map","join","_hasChanges","updateChangeTokens","_propsChangeTokens","state","handlePropsChanges","_changeHandlers","name_1","_i","_a","handler","onDefine","definition","BaseClass","store","StoreClass","Store","mixins","merge","ExternalStoreMixin","ExposeStoreMixin","InternalStore","_super","apply","tslib_1.__extends","attrbutes","tslib_1.__decorate","define","InternalStoreMixin","UpdateOnNestedChangesMixin","call","BaseComponentClass","State","ComponentState","attributes","StateMixin","context","childContext","_context","tools","contextTypes","_childContext","childContextTypes","pureRender","_props","_b","defaultProps","_watchers","WatchersMixin","ChangeHandlersMixin","PureRenderMixin","Messenger","helpers","getPrototypeOf","ArrayProto","arrayHelpers","ObjectProto","objectHelpers","dummyHelpers","getLinksCache","record","_links","AttributesCopy","cacheLink","links","cached","RecordLink","returnFalse","createClass","statics","a_spec","s","e","t","p","hasOwnProperty","indexOf","getOwnPropertySymbols","tslib_1.__rest","methods","Subclass","Component","extend","tslib_1.__assign","methods_1","method","bind","Proto","dontAutobind","useView","View","BaseView","dispose","setElement","ComponentView","reactClass","element","initialize","unmountComponent","prevState","resize","window","Page","forceResize","render","fastAssign","__keepState","React.createElement","ReactDOM.render","el","mountComponent","trigger","keepModel","_preventDispose","ReactDOM.unmountComponentAtNode","get","use","setPrototypeOf","__proto__","__assign","assign","n","_initializeState","_owner","_ownerKey","_nestedStore","getStore","_defaultStore","componentWillUnmount","_onChildrenChange","componentDidMount","getChildContext","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","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","toggle","exports","assignToState","assignFrom","transaction","isRoot","withStore","_disposed","forceUpdate","React.Component","definitions","mixinRules","protoValue","classLast","componentWillUpdate","classFirst","some","ReactMVx","React","default","source","notEqual","BackboneView","saveRef","root","hasUnsavedChanges","view","createElement","className","_mountView","_dispose","appendChild","off","innerHTML","NestedReact","subview","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/package-lock.json b/package-lock.json index ce6c7a0..390faba 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "nestedreact", - "version": "2.1.0", + "version": "2.1.1", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -406,7 +406,7 @@ "integrity": "sha512-HCofUEjHZ5PEUmNQfeDhEmUyO36w626mxQL3Slho5QeHR3PVQgnp46hDMT1nH8bMiKX6Qiu9FQ/r5EqLbEDBBg==", "dev": true, "requires": { - "tslib": "1.8.0" + "tslib": "1.9.0" } }, "node-fetch": { @@ -661,12 +661,13 @@ "dev": true }, "tslib": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.8.0.tgz", - "integrity": "sha512-ymKWWZJST0/CkgduC2qkzjMOWr4bouhuURNXCn/inEX0L57BnRG6FhX76o7FOnsjHazCjfU2LKeSrlS2sIKQJg==" + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.0.tgz", + "integrity": "sha512-f/qGG2tUkrISBlQZEjEqoZ3B2+npJjIf04H1wuAv9iA8i04Icp+61KRXxFdha22670NJopsZCIjhC3SnjPRKrQ==" }, "typescript": { - "version": "https://registry.npmjs.org/typescript/-/typescript-2.3.4.tgz", + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.3.4.tgz", "integrity": "sha1-PTgyGCgjHkNPKHUUlZw3qCtin0I=", "dev": true }, diff --git a/package.json b/package.json index 7f067d1..a75c9b2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "nestedreact", - "version": "2.1.0", + "version": "2.1.1", "main": "dist/index.js", "lib": "lib/index.js", "description": "Advanced models, state management, and data binding solution for React", diff --git a/submodules/React-MVx b/submodules/React-MVx index 4fdc99e..9da4ca9 160000 --- a/submodules/React-MVx +++ b/submodules/React-MVx @@ -1 +1 @@ -Subproject commit 4fdc99eac01e3e4fd809fc2f980ed3bd4bf5e93c +Subproject commit 9da4ca9293e67070edd248437c9ce159ab360558