var __extends = (this && this.__extends) || (function () {
    var extendStatics = Object.setPrototypeOf ||
        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
    return function (d, b) {
        extendStatics(d, b);
        function __() { this.constructor = d; }
        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
    };
})();
///<reference path="../lib/leaf.d.ts"/>
var R;
(function (R) {
    var Page = (function (_super) {
        __extends(Page, _super);
        function Page() {
            var _this = _super.call(this, function () {
                var _e = this._e.bind(this);
                var _t = this._t.bind(this);
                return _e("div", { "class": { "name": "class", "templates": [{ "type": "raw", "content": "page-568612" }] } }, [_t({ "templates": [{ "type": "raw", "content": "\n  " }] }), _e("h1", {}, [_t({ "templates": [{ "type": "raw", "content": "Hello Leaf Test System" }] })]), _t({ "templates": [{ "type": "raw", "content": "\n  " }] }), _e("widget", { "data-widget": { "name": "data-widget", "templates": [{ "type": "raw", "content": "testSearcher" }] } }, []), _t({ "templates": [{ "type": "raw", "content": "\n  " }] }), _e("div", { "id": { "name": "id", "templates": [{ "type": "raw", "content": "mocha" }] }, "data-id": { "name": "data-id", "templates": [{ "type": "raw", "content": "mocha" }] } }, [_t({ "templates": [{ "type": "raw", "content": "\n  " }] })]), _t({ "templates": [{ "type": "raw", "content": "\n" }] })]);
            }, "Page", []) || this;
            _this.TestDatas = Page.TestDatas;
            _this.BindedLists = Page.BindedLists;
            _this.BindedWidgets = Page.BindedWidgets;
            _this.InitialData = Page.InitialData;
            _this.path = Page.path;
            _this.GeneratedConstructor = Page;
            _this.R = R;
            if (Page.InitialData) {
                _this.renderRecursive(Page.InitialData);
            }
            return _this;
        }
        return Page;
    }(Leaf.GeneratedWidget));
    Page.TestDatas = [];
    Page.BindedLists = [];
    Page.BindedWidgets = [{ "path": "/testSearcher", "name": "testSearcher" }];
    Page.path = "/page";
    Page.InitialData = null;
    R.Page = Page;
    Page["prototype"].name = "Page";
    var TestSearcher = (function (_super) {
        __extends(TestSearcher, _super);
        function TestSearcher() {
            var _this = _super.call(this, function () {
                var _e = this._e.bind(this);
                var _t = this._t.bind(this);
                return _e("div", { "class": { "name": "class", "templates": [{ "type": "raw", "content": "test-searcher-3379f1 " }, { "type": "value", "content": "empty", "reverse": false }] } }, [_t({ "templates": [{ "type": "raw", "content": "\n  " }] }), _e("input", { "type": { "name": "type", "templates": [{ "type": "raw", "content": "text" }] }, "data-id": { "name": "data-id", "templates": [{ "type": "raw", "content": "searchInput" }] }, "placeholder": { "name": "placeholder", "templates": [{ "type": "raw", "content": "Search test:" }] } }, []), _t({ "templates": [{ "type": "raw", "content": "\n  " }] }), _e("div", { "class": { "name": "class", "templates": [{ "type": "raw", "content": "results" }] }, "data-list": { "name": "data-list", "templates": [{ "type": "raw", "content": "searchResultList" }] } }, [_t({ "templates": [{ "type": "raw", "content": "\n    " }] }), _t({ "templates": [{ "type": "raw", "content": "\n  " }] })]), _t({ "templates": [{ "type": "raw", "content": "\n" }] })]);
            }, "TestSearcher", ["empty"]) || this;
            _this.TestDatas = TestSearcher.TestDatas;
            _this.BindedLists = TestSearcher.BindedLists;
            _this.BindedWidgets = TestSearcher.BindedWidgets;
            _this.InitialData = TestSearcher.InitialData;
            _this.path = TestSearcher.path;
            _this.GeneratedConstructor = TestSearcher;
            _this.R = R;
            if (TestSearcher.InitialData) {
                _this.renderRecursive(TestSearcher.InitialData);
            }
            return _this;
        }
        return TestSearcher;
    }(Leaf.GeneratedWidget));
    TestSearcher.TestDatas = [];
    TestSearcher.BindedLists = [{ "name": "searchResultList", "type": "inline", "reference": "/testSearcher/searchResultListItem" }];
    TestSearcher.BindedWidgets = [];
    TestSearcher.path = "/testSearcher";
    TestSearcher.InitialData = null;
    R.TestSearcher = TestSearcher;
    TestSearcher["prototype"].name = "TestSearcher";
    (function (TestSearcher) {
        var SearchResultListItem = (function (_super) {
            __extends(SearchResultListItem, _super);
            function SearchResultListItem() {
                var _this = _super.call(this, function () {
                    var _e = this._e.bind(this);
                    var _t = this._t.bind(this);
                    return _e("div", { "class": { "name": "class", "templates": [{ "type": "raw", "content": "search-result-list-item-d5bec1" }] } }, [_t({ "templates": [{ "type": "raw", "content": "\n        " }, { "type": "value", "content": "path", "reverse": false }, { "type": "raw", "content": "\n      " }] })]);
                }, "SearchResultListItem", ["path"]) || this;
                _this.TestDatas = SearchResultListItem.TestDatas;
                _this.BindedLists = SearchResultListItem.BindedLists;
                _this.BindedWidgets = SearchResultListItem.BindedWidgets;
                _this.InitialData = SearchResultListItem.InitialData;
                _this.path = SearchResultListItem.path;
                _this.GeneratedConstructor = SearchResultListItem;
                _this.R = R;
                if (SearchResultListItem.InitialData) {
                    _this.renderRecursive(SearchResultListItem.InitialData);
                }
                return _this;
            }
            return SearchResultListItem;
        }(Leaf.GeneratedWidget));
        SearchResultListItem.TestDatas = [{ "name": "test-1", "content": "", "json": { "path": "/path/to/test" } }];
        SearchResultListItem.BindedLists = [];
        SearchResultListItem.BindedWidgets = [];
        SearchResultListItem.path = "/testSearcher/searchResultListItem";
        SearchResultListItem.InitialData = null;
        TestSearcher.SearchResultListItem = SearchResultListItem;
        SearchResultListItem["prototype"].name = "SearchResultListItem";
    })(TestSearcher = R.TestSearcher || (R.TestSearcher = {}));
    var TestView;
    (function (TestView) {
        var ChildWidgetWithInitData = (function (_super) {
            __extends(ChildWidgetWithInitData, _super);
            function ChildWidgetWithInitData() {
                var _this = _super.call(this, function () {
                    var _e = this._e.bind(this);
                    var _t = this._t.bind(this);
                    return _e("div", { "class": { "name": "class", "templates": [{ "type": "raw", "content": "child-widget-with-init-data-fd3fa0" }] } }, [_t({ "templates": [{ "type": "raw", "content": "\n  " }, { "type": "value", "content": "name", "reverse": false }, { "type": "raw", "content": "\n" }] })]);
                }, "ChildWidgetWithInitData", ["name"]) || this;
                _this.TestDatas = ChildWidgetWithInitData.TestDatas;
                _this.BindedLists = ChildWidgetWithInitData.BindedLists;
                _this.BindedWidgets = ChildWidgetWithInitData.BindedWidgets;
                _this.InitialData = ChildWidgetWithInitData.InitialData;
                _this.path = ChildWidgetWithInitData.path;
                _this.GeneratedConstructor = ChildWidgetWithInitData;
                _this.R = R;
                if (ChildWidgetWithInitData.InitialData) {
                    _this.renderRecursive(ChildWidgetWithInitData.InitialData);
                }
                return _this;
            }
            return ChildWidgetWithInitData;
        }(Leaf.GeneratedWidget));
        ChildWidgetWithInitData.TestDatas = [];
        ChildWidgetWithInitData.BindedLists = [];
        ChildWidgetWithInitData.BindedWidgets = [];
        ChildWidgetWithInitData.path = "/testView/childWidgetWithInitData";
        ChildWidgetWithInitData.InitialData = null;
        TestView.ChildWidgetWithInitData = ChildWidgetWithInitData;
        ChildWidgetWithInitData["prototype"].name = "ChildWidgetWithInitData";
        var Item = (function (_super) {
            __extends(Item, _super);
            function Item() {
                var _this = _super.call(this, function () {
                    var _e = this._e.bind(this);
                    var _t = this._t.bind(this);
                    return _e("div", { "class": { "name": "class", "templates": [{ "type": "raw", "content": "item-092b29" }] } }, [_t({ "templates": [{ "type": "raw", "content": "\n" }] })]);
                }, "Item", []) || this;
                _this.TestDatas = Item.TestDatas;
                _this.BindedLists = Item.BindedLists;
                _this.BindedWidgets = Item.BindedWidgets;
                _this.InitialData = Item.InitialData;
                _this.path = Item.path;
                _this.GeneratedConstructor = Item;
                _this.R = R;
                if (Item.InitialData) {
                    _this.renderRecursive(Item.InitialData);
                }
                return _this;
            }
            return Item;
        }(Leaf.GeneratedWidget));
        Item.TestDatas = [];
        Item.BindedLists = [];
        Item.BindedWidgets = [];
        Item.path = "/testView/item";
        Item.InitialData = null;
        TestView.Item = Item;
        Item["prototype"].name = "Item";
        var TestModal = (function (_super) {
            __extends(TestModal, _super);
            function TestModal() {
                var _this = _super.call(this, function () {
                    var _e = this._e.bind(this);
                    var _t = this._t.bind(this);
                    return _e("test-modal", { "class": { "name": "class", "templates": [{ "type": "raw", "content": "test-modal-b039b1 modal " }, { "type": "value", "content": "modalSet", "reverse": false }] } }, [_t({ "templates": [{ "type": "raw", "content": "\n  " }] }), _e("div", { "class": { "name": "class", "templates": [{ "type": "raw", "content": "header" }] } }, [_t({ "templates": [{ "type": "raw", "content": "\n    " }] }), _e("slot", { "data-slot": { "name": "data-slot", "templates": [{ "type": "raw", "content": "header" }] }, "class": { "name": "class", "templates": [{ "type": "raw", "content": "slot-header " }, { "type": "value", "content": "slotHeaderSet", "reverse": false }] } }, []), _t({ "templates": [{ "type": "raw", "content": "\n  " }] })]), _t({ "templates": [{ "type": "raw", "content": "\n  " }] }), _e("div", { "class": { "name": "class", "templates": [{ "type": "raw", "content": "content" }] } }, [_t({ "templates": [{ "type": "raw", "content": "\n    " }] }), _e("slot", { "data-slot": { "name": "data-slot", "templates": [{ "type": "raw", "content": "content" }] } }, []), _t({ "templates": [{ "type": "raw", "content": "\n  " }] })]), _t({ "templates": [{ "type": "raw", "content": "\n" }] })]);
                }, "TestModal", ["slotHeaderSet", "modalSet"]) || this;
                _this.TestDatas = TestModal.TestDatas;
                _this.BindedLists = TestModal.BindedLists;
                _this.BindedWidgets = TestModal.BindedWidgets;
                _this.InitialData = TestModal.InitialData;
                _this.path = TestModal.path;
                _this.GeneratedConstructor = TestModal;
                _this.R = R;
                if (TestModal.InitialData) {
                    _this.renderRecursive(TestModal.InitialData);
                }
                return _this;
            }
            return TestModal;
        }(Leaf.GeneratedWidget));
        TestModal.TestDatas = [];
        TestModal.BindedLists = [];
        TestModal.BindedWidgets = [];
        TestModal.path = "/testView/testModal";
        TestModal.InitialData = null;
        TestView.TestModal = TestModal;
        TestModal["prototype"].name = "TestModal";
        var TestUseModal = (function (_super) {
            __extends(TestUseModal, _super);
            function TestUseModal() {
                var _this = _super.call(this, function () {
                    var _e = this._e.bind(this);
                    var _t = this._t.bind(this);
                    return _e("test-modal", { "class": { "name": "class", "templates": [{ "type": "raw", "content": "test-use-modal-1c7474 use-modal " }, { "type": "value", "content": "useModalSet", "reverse": false }] } }, [_t({ "templates": [{ "type": "raw", "content": "\n  " }] }), _e("div", { "data-id": { "name": "data-id", "templates": [{ "type": "raw", "content": "header" }] }, "class": { "name": "class", "templates": [{ "type": "raw", "content": "parent-header " }, { "type": "value", "content": "parentHeaderSet", "reverse": false }] } }, [_t({ "templates": [{ "type": "raw", "content": "\n  " }] })]), _t({ "templates": [{ "type": "raw", "content": "\n  " }] }), _e("div", { "data-id": { "name": "data-id", "templates": [{ "type": "raw", "content": "body" }] }, "class": { "name": "class", "templates": [{ "type": "raw", "content": "body" }] } }, [_t({ "templates": [{ "type": "raw", "content": "\n  " }] })]), _t({ "templates": [{ "type": "raw", "content": "\n" }] })]);
                }, "TestUseModal", ["parentHeaderSet", "useModalSet"]) || this;
                _this.TestDatas = TestUseModal.TestDatas;
                _this.BindedLists = TestUseModal.BindedLists;
                _this.BindedWidgets = TestUseModal.BindedWidgets;
                _this.InitialData = TestUseModal.InitialData;
                _this.path = TestUseModal.path;
                _this.GeneratedConstructor = TestUseModal;
                _this.R = R;
                if (TestUseModal.InitialData) {
                    _this.renderRecursive(TestUseModal.InitialData);
                }
                return _this;
            }
            return TestUseModal;
        }(Leaf.GeneratedWidget));
        TestUseModal.TestDatas = [];
        TestUseModal.BindedLists = [];
        TestUseModal.BindedWidgets = [];
        TestUseModal.path = "/testView/testUseModal";
        TestUseModal.InitialData = null;
        TestView.TestUseModal = TestUseModal;
        TestUseModal["prototype"].name = "TestUseModal";
        var WidgetGiveSlots = (function (_super) {
            __extends(WidgetGiveSlots, _super);
            function WidgetGiveSlots() {
                var _this = _super.call(this, function () {
                    var _e = this._e.bind(this);
                    var _t = this._t.bind(this);
                    return _e("div", { "class": { "name": "class", "templates": [{ "type": "raw", "content": "widget-give-slots-abce89" }] } }, [_t({ "templates": [{ "type": "raw", "content": "\n  " }] }), _e("widget", { "data-name": { "name": "data-name", "templates": [{ "type": "raw", "content": "childWidget" }] }, "data-widget": { "name": "data-widget", "templates": [{ "type": "raw", "content": "widgetWithSlots" }] }, "class": { "name": "class", "templates": [{ "type": "raw", "content": "parent-set-widget " }, { "type": "value", "content": "parentClass", "reverse": false }] } }, [_t({ "templates": [{ "type": "raw", "content": "\n    " }] }), _e("div", { "data-id": { "name": "data-id", "templates": [{ "type": "raw", "content": "header" }] }, "data-slot": { "name": "data-slot", "templates": [{ "type": "raw", "content": "header" }] }, "class": { "name": "class", "templates": [{ "type": "raw", "content": "parent-header " }, { "type": "value", "content": "parentSlotClass", "reverse": false }] } }, [_t({ "templates": [{ "type": "raw", "content": "\n      HEADER\n    " }] })]), _t({ "templates": [{ "type": "raw", "content": "\n    " }] }), _e("div", { "data-id": { "name": "data-id", "templates": [{ "type": "raw", "content": "body" }] }, "data-slot": { "name": "data-slot", "templates": [{ "type": "raw", "content": "body" }] } }, [_t({ "templates": [{ "type": "raw", "content": "\n      BODY\n    " }] })]), _t({ "templates": [{ "type": "raw", "content": "\n  " }] })]), _t({ "templates": [{ "type": "raw", "content": "\n" }] })]);
                }, "WidgetGiveSlots", ["parentSlotClass", "parentClass"]) || this;
                _this.TestDatas = WidgetGiveSlots.TestDatas;
                _this.BindedLists = WidgetGiveSlots.BindedLists;
                _this.BindedWidgets = WidgetGiveSlots.BindedWidgets;
                _this.InitialData = WidgetGiveSlots.InitialData;
                _this.path = WidgetGiveSlots.path;
                _this.GeneratedConstructor = WidgetGiveSlots;
                _this.R = R;
                if (WidgetGiveSlots.InitialData) {
                    _this.renderRecursive(WidgetGiveSlots.InitialData);
                }
                return _this;
            }
            return WidgetGiveSlots;
        }(Leaf.GeneratedWidget));
        WidgetGiveSlots.TestDatas = [];
        WidgetGiveSlots.BindedLists = [];
        WidgetGiveSlots.BindedWidgets = [{ "path": "/testView/widgetWithSlots", "name": "childWidget" }];
        WidgetGiveSlots.path = "/testView/widgetGiveSlots";
        WidgetGiveSlots.InitialData = null;
        TestView.WidgetGiveSlots = WidgetGiveSlots;
        WidgetGiveSlots["prototype"].name = "WidgetGiveSlots";
        var WidgetWithInitData = (function (_super) {
            __extends(WidgetWithInitData, _super);
            function WidgetWithInitData() {
                var _this = _super.call(this, function () {
                    var _e = this._e.bind(this);
                    var _t = this._t.bind(this);
                    return _e("div", { "class": { "name": "class", "templates": [{ "type": "raw", "content": "widget-with-init-data-d129b0" }] } }, [_t({ "templates": [{ "type": "raw", "content": "\n  " }] }), _e("div", { "data-id": { "name": "data-id", "templates": [{ "type": "raw", "content": "title" }] } }, [_t({ "templates": [{ "type": "raw", "content": "\n    " }, { "type": "value", "content": "title", "reverse": false }, { "type": "raw", "content": "\n  " }] })]), _t({ "templates": [{ "type": "raw", "content": "\n  " }] }), _e("div", { "data-list": { "name": "data-list", "templates": [{ "type": "raw", "content": "list" }] } }, [_t({ "templates": [{ "type": "raw", "content": "\n    " }] }), _t({ "templates": [{ "type": "raw", "content": "\n  " }] })]), _t({ "templates": [{ "type": "raw", "content": "\n  " }] }), _e("widget", { "data-name": { "name": "data-name", "templates": [{ "type": "raw", "content": "childWidget" }] }, "data-widget": { "name": "data-widget", "templates": [{ "type": "raw", "content": "childWidgetWithInitData" }] } }, []), _t({ "templates": [{ "type": "raw", "content": "\n" }] })]);
                }, "WidgetWithInitData", ["title"]) || this;
                _this.TestDatas = WidgetWithInitData.TestDatas;
                _this.BindedLists = WidgetWithInitData.BindedLists;
                _this.BindedWidgets = WidgetWithInitData.BindedWidgets;
                _this.InitialData = WidgetWithInitData.InitialData;
                _this.path = WidgetWithInitData.path;
                _this.GeneratedConstructor = WidgetWithInitData;
                _this.R = R;
                if (WidgetWithInitData.InitialData) {
                    _this.renderRecursive(WidgetWithInitData.InitialData);
                }
                return _this;
            }
            return WidgetWithInitData;
        }(Leaf.GeneratedWidget));
        WidgetWithInitData.TestDatas = [];
        WidgetWithInitData.BindedLists = [{ "name": "list", "type": "inline", "reference": "/testView/widgetWithInitData/listItem" }];
        WidgetWithInitData.BindedWidgets = [{ "path": "/testView/childWidgetWithInitData", "name": "childWidget" }];
        WidgetWithInitData.path = "/testView/widgetWithInitData";
        WidgetWithInitData.InitialData = { "title": "title", "list": [{ "name": "n1" }, { "name": "n2" }], "childWidget": { "name": "child" } };
        TestView.WidgetWithInitData = WidgetWithInitData;
        WidgetWithInitData["prototype"].name = "WidgetWithInitData";
        (function (WidgetWithInitData) {
            var ListItem = (function (_super) {
                __extends(ListItem, _super);
                function ListItem() {
                    var _this = _super.call(this, function () {
                        var _e = this._e.bind(this);
                        var _t = this._t.bind(this);
                        return _e("div", { "class": { "name": "class", "templates": [{ "type": "raw", "content": "list-item-cd4392" }] } }, [_t({ "templates": [{ "type": "raw", "content": "\n        " }, { "type": "value", "content": "name", "reverse": false }, { "type": "raw", "content": "\n      " }] })]);
                    }, "ListItem", ["name"]) || this;
                    _this.TestDatas = ListItem.TestDatas;
                    _this.BindedLists = ListItem.BindedLists;
                    _this.BindedWidgets = ListItem.BindedWidgets;
                    _this.InitialData = ListItem.InitialData;
                    _this.path = ListItem.path;
                    _this.GeneratedConstructor = ListItem;
                    _this.R = R;
                    if (ListItem.InitialData) {
                        _this.renderRecursive(ListItem.InitialData);
                    }
                    return _this;
                }
                return ListItem;
            }(Leaf.GeneratedWidget));
            ListItem.TestDatas = [];
            ListItem.BindedLists = [];
            ListItem.BindedWidgets = [];
            ListItem.path = "/testView/widgetWithInitData/listItem";
            ListItem.InitialData = null;
            WidgetWithInitData.ListItem = ListItem;
            ListItem["prototype"].name = "ListItem";
        })(WidgetWithInitData = TestView.WidgetWithInitData || (TestView.WidgetWithInitData = {}));
        var WidgetWithSlots = (function (_super) {
            __extends(WidgetWithSlots, _super);
            function WidgetWithSlots() {
                var _this = _super.call(this, function () {
                    var _e = this._e.bind(this);
                    var _t = this._t.bind(this);
                    return _e("div", { "class": { "name": "class", "templates": [{ "type": "raw", "content": "widget-with-slots-d92a5a child-set-widget " }, { "type": "value", "content": "childClass", "reverse": false }] } }, [_t({ "templates": [{ "type": "raw", "content": "\n  " }] }), _e("slot", { "data-slot": { "name": "data-slot", "templates": [{ "type": "raw", "content": "header" }] }, "class": { "name": "class", "templates": [{ "type": "raw", "content": "slot-header " }, { "type": "value", "content": "childSlotClass", "reverse": false }] } }, []), _t({ "templates": [{ "type": "raw", "content": "\n  " }] }), _e("div", { "class": { "name": "class", "templates": [{ "type": "raw", "content": "body" }] } }, [_t({ "templates": [{ "type": "raw", "content": "\n    " }] }), _e("slot", { "data-slot": { "name": "data-slot", "templates": [{ "type": "raw", "content": "body" }] } }, []), _t({ "templates": [{ "type": "raw", "content": "\n  " }] })]), _t({ "templates": [{ "type": "raw", "content": " \n" }] })]);
                }, "WidgetWithSlots", ["childSlotClass", "childClass"]) || this;
                _this.TestDatas = WidgetWithSlots.TestDatas;
                _this.BindedLists = WidgetWithSlots.BindedLists;
                _this.BindedWidgets = WidgetWithSlots.BindedWidgets;
                _this.InitialData = WidgetWithSlots.InitialData;
                _this.path = WidgetWithSlots.path;
                _this.GeneratedConstructor = WidgetWithSlots;
                _this.R = R;
                if (WidgetWithSlots.InitialData) {
                    _this.renderRecursive(WidgetWithSlots.InitialData);
                }
                return _this;
            }
            return WidgetWithSlots;
        }(Leaf.GeneratedWidget));
        WidgetWithSlots.TestDatas = [];
        WidgetWithSlots.BindedLists = [];
        WidgetWithSlots.BindedWidgets = [];
        WidgetWithSlots.path = "/testView/widgetWithSlots";
        WidgetWithSlots.InitialData = null;
        TestView.WidgetWithSlots = WidgetWithSlots;
        WidgetWithSlots["prototype"].name = "WidgetWithSlots";
    })(TestView = R.TestView || (R.TestView = {}));
    R.widgets = ["/page", "/testSearcher", "/testSearcher/searchResultListItem", "/testView/childWidgetWithInitData", "/testView/item", "/testView/testModal", "/testView/testUseModal", "/testView/widgetGiveSlots", "/testView/widgetWithInitData", "/testView/widgetWithInitData/listItem", "/testView/widgetWithSlots"];
})(R || (R = {}));
window["R"] = R;
//# sourceMappingURL=R.js.map