diff --git a/openvidu-browser/docs/assets/css/_constants.sass b/openvidu-node-client/config/typedoc/custom-theme/assets/css/_constants.sass
similarity index 100%
rename from openvidu-browser/docs/assets/css/_constants.sass
rename to openvidu-node-client/config/typedoc/custom-theme/assets/css/_constants.sass
diff --git a/openvidu-browser/docs/assets/css/elements/_comment.sass b/openvidu-node-client/config/typedoc/custom-theme/assets/css/elements/_comment.sass
similarity index 100%
rename from openvidu-browser/docs/assets/css/elements/_comment.sass
rename to openvidu-node-client/config/typedoc/custom-theme/assets/css/elements/_comment.sass
diff --git a/openvidu-browser/docs/assets/css/elements/_filter.sass b/openvidu-node-client/config/typedoc/custom-theme/assets/css/elements/_filter.sass
similarity index 100%
rename from openvidu-browser/docs/assets/css/elements/_filter.sass
rename to openvidu-node-client/config/typedoc/custom-theme/assets/css/elements/_filter.sass
diff --git a/openvidu-browser/docs/assets/css/elements/_footer.sass b/openvidu-node-client/config/typedoc/custom-theme/assets/css/elements/_footer.sass
similarity index 100%
rename from openvidu-browser/docs/assets/css/elements/_footer.sass
rename to openvidu-node-client/config/typedoc/custom-theme/assets/css/elements/_footer.sass
diff --git a/openvidu-browser/docs/assets/css/elements/_hierarchy.sass b/openvidu-node-client/config/typedoc/custom-theme/assets/css/elements/_hierarchy.sass
similarity index 100%
rename from openvidu-browser/docs/assets/css/elements/_hierarchy.sass
rename to openvidu-node-client/config/typedoc/custom-theme/assets/css/elements/_hierarchy.sass
diff --git a/openvidu-browser/docs/assets/css/elements/_images.sass b/openvidu-node-client/config/typedoc/custom-theme/assets/css/elements/_images.sass
similarity index 100%
rename from openvidu-browser/docs/assets/css/elements/_images.sass
rename to openvidu-node-client/config/typedoc/custom-theme/assets/css/elements/_images.sass
diff --git a/openvidu-browser/docs/assets/css/elements/_index.sass b/openvidu-node-client/config/typedoc/custom-theme/assets/css/elements/_index.sass
similarity index 100%
rename from openvidu-browser/docs/assets/css/elements/_index.sass
rename to openvidu-node-client/config/typedoc/custom-theme/assets/css/elements/_index.sass
diff --git a/openvidu-browser/docs/assets/css/elements/_member.sass b/openvidu-node-client/config/typedoc/custom-theme/assets/css/elements/_member.sass
similarity index 100%
rename from openvidu-browser/docs/assets/css/elements/_member.sass
rename to openvidu-node-client/config/typedoc/custom-theme/assets/css/elements/_member.sass
diff --git a/openvidu-browser/docs/assets/css/elements/_navigation.sass b/openvidu-node-client/config/typedoc/custom-theme/assets/css/elements/_navigation.sass
similarity index 100%
rename from openvidu-browser/docs/assets/css/elements/_navigation.sass
rename to openvidu-node-client/config/typedoc/custom-theme/assets/css/elements/_navigation.sass
diff --git a/openvidu-browser/docs/assets/css/elements/_panel.sass b/openvidu-node-client/config/typedoc/custom-theme/assets/css/elements/_panel.sass
similarity index 100%
rename from openvidu-browser/docs/assets/css/elements/_panel.sass
rename to openvidu-node-client/config/typedoc/custom-theme/assets/css/elements/_panel.sass
diff --git a/openvidu-browser/docs/assets/css/elements/_search.sass b/openvidu-node-client/config/typedoc/custom-theme/assets/css/elements/_search.sass
similarity index 100%
rename from openvidu-browser/docs/assets/css/elements/_search.sass
rename to openvidu-node-client/config/typedoc/custom-theme/assets/css/elements/_search.sass
diff --git a/openvidu-browser/docs/assets/css/elements/_signatures.sass b/openvidu-node-client/config/typedoc/custom-theme/assets/css/elements/_signatures.sass
similarity index 100%
rename from openvidu-browser/docs/assets/css/elements/_signatures.sass
rename to openvidu-node-client/config/typedoc/custom-theme/assets/css/elements/_signatures.sass
diff --git a/openvidu-browser/docs/assets/css/elements/_sources.sass b/openvidu-node-client/config/typedoc/custom-theme/assets/css/elements/_sources.sass
similarity index 100%
rename from openvidu-browser/docs/assets/css/elements/_sources.sass
rename to openvidu-node-client/config/typedoc/custom-theme/assets/css/elements/_sources.sass
diff --git a/openvidu-browser/docs/assets/css/elements/_toolbar.sass b/openvidu-node-client/config/typedoc/custom-theme/assets/css/elements/_toolbar.sass
similarity index 100%
rename from openvidu-browser/docs/assets/css/elements/_toolbar.sass
rename to openvidu-node-client/config/typedoc/custom-theme/assets/css/elements/_toolbar.sass
diff --git a/openvidu-browser/docs/assets/css/layouts/_default.sass b/openvidu-node-client/config/typedoc/custom-theme/assets/css/layouts/_default.sass
similarity index 100%
rename from openvidu-browser/docs/assets/css/layouts/_default.sass
rename to openvidu-node-client/config/typedoc/custom-theme/assets/css/layouts/_default.sass
diff --git a/openvidu-browser/docs/assets/css/layouts/_minimal.sass b/openvidu-node-client/config/typedoc/custom-theme/assets/css/layouts/_minimal.sass
similarity index 100%
rename from openvidu-browser/docs/assets/css/layouts/_minimal.sass
rename to openvidu-node-client/config/typedoc/custom-theme/assets/css/layouts/_minimal.sass
diff --git a/openvidu-browser/docs/assets/css/main.sass b/openvidu-node-client/config/typedoc/custom-theme/assets/css/main.sass
similarity index 100%
rename from openvidu-browser/docs/assets/css/main.sass
rename to openvidu-node-client/config/typedoc/custom-theme/assets/css/main.sass
diff --git a/openvidu-browser/docs/assets/css/setup/_animations.sass b/openvidu-node-client/config/typedoc/custom-theme/assets/css/setup/_animations.sass
similarity index 100%
rename from openvidu-browser/docs/assets/css/setup/_animations.sass
rename to openvidu-node-client/config/typedoc/custom-theme/assets/css/setup/_animations.sass
diff --git a/openvidu-browser/docs/assets/css/setup/_grid.sass b/openvidu-node-client/config/typedoc/custom-theme/assets/css/setup/_grid.sass
similarity index 100%
rename from openvidu-browser/docs/assets/css/setup/_grid.sass
rename to openvidu-node-client/config/typedoc/custom-theme/assets/css/setup/_grid.sass
diff --git a/openvidu-browser/docs/assets/css/setup/_icons.scss b/openvidu-node-client/config/typedoc/custom-theme/assets/css/setup/_icons.scss
similarity index 100%
rename from openvidu-browser/docs/assets/css/setup/_icons.scss
rename to openvidu-node-client/config/typedoc/custom-theme/assets/css/setup/_icons.scss
diff --git a/openvidu-browser/docs/assets/css/setup/_mixins.sass b/openvidu-node-client/config/typedoc/custom-theme/assets/css/setup/_mixins.sass
similarity index 100%
rename from openvidu-browser/docs/assets/css/setup/_mixins.sass
rename to openvidu-node-client/config/typedoc/custom-theme/assets/css/setup/_mixins.sass
diff --git a/openvidu-browser/docs/assets/css/setup/_typography.sass b/openvidu-node-client/config/typedoc/custom-theme/assets/css/setup/_typography.sass
similarity index 100%
rename from openvidu-browser/docs/assets/css/setup/_typography.sass
rename to openvidu-node-client/config/typedoc/custom-theme/assets/css/setup/_typography.sass
diff --git a/openvidu-browser/docs/assets/css/vendors/_highlight.js.sass b/openvidu-node-client/config/typedoc/custom-theme/assets/css/vendors/_highlight.js.sass
similarity index 100%
rename from openvidu-browser/docs/assets/css/vendors/_highlight.js.sass
rename to openvidu-node-client/config/typedoc/custom-theme/assets/css/vendors/_highlight.js.sass
diff --git a/openvidu-browser/docs/assets/css/vendors/_normalize.sass b/openvidu-node-client/config/typedoc/custom-theme/assets/css/vendors/_normalize.sass
similarity index 100%
rename from openvidu-browser/docs/assets/css/vendors/_normalize.sass
rename to openvidu-node-client/config/typedoc/custom-theme/assets/css/vendors/_normalize.sass
diff --git a/openvidu-node-client/config/typedoc/custom-theme/assets/images/icons.png b/openvidu-node-client/config/typedoc/custom-theme/assets/images/icons.png
new file mode 100644
index 00000000..3836d5fe
Binary files /dev/null and b/openvidu-node-client/config/typedoc/custom-theme/assets/images/icons.png differ
diff --git a/openvidu-browser/docs/assets/images/icons.psd b/openvidu-node-client/config/typedoc/custom-theme/assets/images/icons.psd
similarity index 100%
rename from openvidu-browser/docs/assets/images/icons.psd
rename to openvidu-node-client/config/typedoc/custom-theme/assets/images/icons.psd
diff --git a/openvidu-node-client/config/typedoc/custom-theme/assets/images/icons@2x.png b/openvidu-node-client/config/typedoc/custom-theme/assets/images/icons@2x.png
new file mode 100644
index 00000000..5a209e2f
Binary files /dev/null and b/openvidu-node-client/config/typedoc/custom-theme/assets/images/icons@2x.png differ
diff --git a/openvidu-node-client/config/typedoc/custom-theme/assets/images/widgets.png b/openvidu-node-client/config/typedoc/custom-theme/assets/images/widgets.png
new file mode 100644
index 00000000..c7380532
Binary files /dev/null and b/openvidu-node-client/config/typedoc/custom-theme/assets/images/widgets.png differ
diff --git a/openvidu-browser/docs/assets/images/widgets.psd b/openvidu-node-client/config/typedoc/custom-theme/assets/images/widgets.psd
similarity index 100%
rename from openvidu-browser/docs/assets/images/widgets.psd
rename to openvidu-node-client/config/typedoc/custom-theme/assets/images/widgets.psd
diff --git a/openvidu-node-client/config/typedoc/custom-theme/assets/images/widgets@2x.png b/openvidu-node-client/config/typedoc/custom-theme/assets/images/widgets@2x.png
new file mode 100644
index 00000000..4bbbd572
Binary files /dev/null and b/openvidu-node-client/config/typedoc/custom-theme/assets/images/widgets@2x.png differ
diff --git a/openvidu-browser/docs/assets/js/lib/backbone-1.1.2.min.js b/openvidu-node-client/config/typedoc/custom-theme/assets/js/lib/backbone-1.1.2.min.js
similarity index 100%
rename from openvidu-browser/docs/assets/js/lib/backbone-1.1.2.min.js
rename to openvidu-node-client/config/typedoc/custom-theme/assets/js/lib/backbone-1.1.2.min.js
diff --git a/openvidu-browser/docs/assets/js/lib/jquery-2.1.1.min.js b/openvidu-node-client/config/typedoc/custom-theme/assets/js/lib/jquery-2.1.1.min.js
similarity index 100%
rename from openvidu-browser/docs/assets/js/lib/jquery-2.1.1.min.js
rename to openvidu-node-client/config/typedoc/custom-theme/assets/js/lib/jquery-2.1.1.min.js
diff --git a/openvidu-browser/docs/assets/js/lib/lunr.min.js b/openvidu-node-client/config/typedoc/custom-theme/assets/js/lib/lunr.min.js
similarity index 100%
rename from openvidu-browser/docs/assets/js/lib/lunr.min.js
rename to openvidu-node-client/config/typedoc/custom-theme/assets/js/lib/lunr.min.js
diff --git a/openvidu-browser/docs/assets/js/lib/underscore-1.6.0.min.js b/openvidu-node-client/config/typedoc/custom-theme/assets/js/lib/underscore-1.6.0.min.js
similarity index 100%
rename from openvidu-browser/docs/assets/js/lib/underscore-1.6.0.min.js
rename to openvidu-node-client/config/typedoc/custom-theme/assets/js/lib/underscore-1.6.0.min.js
diff --git a/openvidu-node-client/config/typedoc/custom-theme/assets/js/main.js b/openvidu-node-client/config/typedoc/custom-theme/assets/js/main.js
new file mode 100644
index 00000000..b5a9440e
--- /dev/null
+++ b/openvidu-node-client/config/typedoc/custom-theme/assets/js/main.js
@@ -0,0 +1,822 @@
+var __extends = (this && this.__extends) || (function () {
+ var extendStatics = Object.setPrototypeOf ||
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+ return function (d, b) {
+ extendStatics(d, b);
+ function __() { this.constructor = d; }
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+ };
+})();
+var typedoc;
+(function (typedoc) {
+ typedoc.$html = $('html');
+ var services = [];
+ var components = [];
+ typedoc.$document = $(document);
+ typedoc.$window = $(window);
+ typedoc.$body = $('body');
+ function registerService(constructor, name, priority) {
+ if (priority === void 0) { priority = 0; }
+ services.push({
+ constructor: constructor,
+ name: name,
+ priority: priority,
+ instance: null
+ });
+ services.sort(function (a, b) { return a.priority - b.priority; });
+ }
+ typedoc.registerService = registerService;
+ function registerComponent(constructor, selector, priority, namespace) {
+ if (priority === void 0) { priority = 0; }
+ if (namespace === void 0) { namespace = '*'; }
+ components.push({
+ selector: selector,
+ constructor: constructor,
+ priority: priority,
+ namespace: namespace
+ });
+ components.sort(function (a, b) { return a.priority - b.priority; });
+ }
+ typedoc.registerComponent = registerComponent;
+ if (typeof Backbone != 'undefined') {
+ typedoc['Events'] = (function () {
+ var res = function () { };
+ _.extend(res.prototype, Backbone.Events);
+ return res;
+ })();
+ }
+ var Application = (function (_super) {
+ __extends(Application, _super);
+ function Application() {
+ var _this = _super.call(this) || this;
+ _this.createServices();
+ _this.createComponents(typedoc.$body);
+ return _this;
+ }
+ Application.prototype.createServices = function () {
+ _(services).forEach(function (c) {
+ c.instance = new c.constructor();
+ typedoc[c.name] = c.instance;
+ });
+ };
+ Application.prototype.createComponents = function ($context, namespace) {
+ if (namespace === void 0) { namespace = 'default'; }
+ var result = [];
+ _(components).forEach(function (c) {
+ if (c.namespace != namespace && c.namespace != '*') {
+ return;
+ }
+ $context.find(c.selector).each(function (m, el) {
+ var $el = $(el), instance;
+ if (instance = $el.data('component')) {
+ if (_(result).indexOf(instance) == -1) {
+ result.push(instance);
+ }
+ }
+ else {
+ instance = new c.constructor({ el: el });
+ $el.data('component', instance);
+ result.push(instance);
+ }
+ });
+ });
+ return result;
+ };
+ return Application;
+ }(typedoc.Events));
+ typedoc.Application = Application;
+})(typedoc || (typedoc = {}));
+var typedoc;
+(function (typedoc) {
+ var FilterItem = (function () {
+ function FilterItem(key, value) {
+ this.key = key;
+ this.value = value;
+ this.defaultValue = value;
+ this.initialize();
+ if (window.localStorage[this.key]) {
+ this.setValue(this.fromLocalStorage(window.localStorage[this.key]));
+ }
+ }
+ FilterItem.prototype.initialize = function () { };
+ FilterItem.prototype.handleValueChange = function (oldValue, newValue) { };
+ FilterItem.prototype.fromLocalStorage = function (value) {
+ return value;
+ };
+ FilterItem.prototype.toLocalStorage = function (value) {
+ return value;
+ };
+ FilterItem.prototype.setValue = function (value) {
+ if (this.value == value)
+ return;
+ var oldValue = this.value;
+ this.value = value;
+ window.localStorage[this.key] = this.toLocalStorage(value);
+ this.handleValueChange(oldValue, value);
+ };
+ return FilterItem;
+ }());
+ var FilterItemCheckbox = (function (_super) {
+ __extends(FilterItemCheckbox, _super);
+ function FilterItemCheckbox() {
+ return _super !== null && _super.apply(this, arguments) || this;
+ }
+ FilterItemCheckbox.prototype.initialize = function () {
+ var _this = this;
+ this.$checkbox = $('#tsd-filter-' + this.key);
+ this.$checkbox.on('change', function () {
+ _this.setValue(_this.$checkbox.prop('checked'));
+ });
+ };
+ FilterItemCheckbox.prototype.handleValueChange = function (oldValue, newValue) {
+ this.$checkbox.prop('checked', this.value);
+ typedoc.$html.toggleClass('toggle-' + this.key, this.value != this.defaultValue);
+ };
+ FilterItemCheckbox.prototype.fromLocalStorage = function (value) {
+ return value == 'true';
+ };
+ FilterItemCheckbox.prototype.toLocalStorage = function (value) {
+ return value ? 'true' : 'false';
+ };
+ return FilterItemCheckbox;
+ }(FilterItem));
+ var FilterItemSelect = (function (_super) {
+ __extends(FilterItemSelect, _super);
+ function FilterItemSelect() {
+ return _super !== null && _super.apply(this, arguments) || this;
+ }
+ FilterItemSelect.prototype.initialize = function () {
+ var _this = this;
+ typedoc.$html.addClass('toggle-' + this.key + this.value);
+ this.$select = $('#tsd-filter-' + this.key);
+ this.$select.on(typedoc.pointerDown + ' mouseover', function () {
+ _this.$select.addClass('active');
+ }).on('mouseleave', function () {
+ _this.$select.removeClass('active');
+ }).on(typedoc.pointerUp, 'li', function (e) {
+ _this.$select.removeClass('active');
+ _this.setValue($(e.target).attr('data-value'));
+ });
+ typedoc.$document.on(typedoc.pointerDown, function (e) {
+ var $path = $(e.target).parents().addBack();
+ if ($path.is(_this.$select))
+ return;
+ _this.$select.removeClass('active');
+ });
+ };
+ FilterItemSelect.prototype.handleValueChange = function (oldValue, newValue) {
+ this.$select.find('li.selected').removeClass('selected');
+ this.$select.find('.tsd-select-label').text(this.$select.find('li[data-value="' + newValue + '"]').addClass('selected').text());
+ typedoc.$html.removeClass('toggle-' + oldValue);
+ typedoc.$html.addClass('toggle-' + newValue);
+ };
+ return FilterItemSelect;
+ }(FilterItem));
+ var Filter = (function (_super) {
+ __extends(Filter, _super);
+ function Filter(options) {
+ var _this = _super.call(this, options) || this;
+ _this.optionVisibility = new FilterItemSelect('visibility', 'private');
+ _this.optionInherited = new FilterItemCheckbox('inherited', true);
+ _this.optionExternals = new FilterItemCheckbox('externals', true);
+ _this.optionOnlyExported = new FilterItemCheckbox('only-exported', false);
+ return _this;
+ }
+ Filter.isSupported = function () {
+ try {
+ return typeof window.localStorage != 'undefined';
+ }
+ catch (e) {
+ return false;
+ }
+ };
+ return Filter;
+ }(Backbone.View));
+ if (Filter.isSupported()) {
+ typedoc.registerComponent(Filter, '#tsd-filter');
+ }
+ else {
+ typedoc.$html.addClass('no-filter');
+ }
+})(typedoc || (typedoc = {}));
+var typedoc;
+(function (typedoc) {
+ var MenuHighlight = (function (_super) {
+ __extends(MenuHighlight, _super);
+ function MenuHighlight(options) {
+ var _this = _super.call(this, options) || this;
+ _this.index = 0;
+ _this.listenTo(typedoc.viewport, 'resize', _this.onResize);
+ _this.listenTo(typedoc.viewport, 'scroll', _this.onScroll);
+ _this.createAnchors();
+ return _this;
+ }
+ MenuHighlight.prototype.createAnchors = function () {
+ var _this = this;
+ this.index = 0;
+ this.anchors = [{
+ position: 0
+ }];
+ var base = window.location.href;
+ if (base.indexOf('#') != -1) {
+ base = base.substr(0, base.indexOf('#'));
+ }
+ this.$el.find('a').each(function (index, el) {
+ var href = el.href;
+ if (href.indexOf('#') == -1)
+ return;
+ if (href.substr(0, base.length) != base)
+ return;
+ var hash = href.substr(href.indexOf('#') + 1);
+ var $anchor = $('a.tsd-anchor[name=' + hash + ']');
+ if ($anchor.length == 0)
+ return;
+ _this.anchors.push({
+ $link: $(el.parentNode),
+ $anchor: $anchor,
+ position: 0
+ });
+ });
+ this.onResize();
+ };
+ MenuHighlight.prototype.onResize = function () {
+ var anchor;
+ for (var index = 1, count = this.anchors.length; index < count; index++) {
+ anchor = this.anchors[index];
+ anchor.position = anchor.$anchor.offset().top;
+ }
+ this.anchors.sort(function (a, b) {
+ return a.position - b.position;
+ });
+ this.onScroll(typedoc.viewport.scrollTop);
+ };
+ MenuHighlight.prototype.onScroll = function (scrollTop) {
+ var anchors = this.anchors;
+ var index = this.index;
+ var count = anchors.length - 1;
+ scrollTop += 5;
+ while (index > 0 && anchors[index].position > scrollTop) {
+ index -= 1;
+ }
+ while (index < count && anchors[index + 1].position < scrollTop) {
+ index += 1;
+ }
+ if (this.index != index) {
+ if (this.index > 0)
+ this.anchors[this.index].$link.removeClass('focus');
+ this.index = index;
+ if (this.index > 0)
+ this.anchors[this.index].$link.addClass('focus');
+ }
+ };
+ return MenuHighlight;
+ }(Backbone.View));
+ typedoc.MenuHighlight = MenuHighlight;
+ typedoc.registerComponent(MenuHighlight, '.menu-highlight');
+})(typedoc || (typedoc = {}));
+var typedoc;
+(function (typedoc) {
+ var hasPositionSticky = typedoc.$html.hasClass('csspositionsticky');
+ var StickyMode;
+ (function (StickyMode) {
+ StickyMode[StickyMode["None"] = 0] = "None";
+ StickyMode[StickyMode["Secondary"] = 1] = "Secondary";
+ StickyMode[StickyMode["Current"] = 2] = "Current";
+ })(StickyMode || (StickyMode = {}));
+ var MenuSticky = (function (_super) {
+ __extends(MenuSticky, _super);
+ function MenuSticky(options) {
+ var _this = _super.call(this, options) || this;
+ _this.state = '';
+ _this.stickyMode = StickyMode.None;
+ _this.$current = _this.$el.find('> ul.current');
+ _this.$navigation = _this.$el.parents('.menu-sticky-wrap');
+ _this.$container = _this.$el.parents('.row');
+ _this.listenTo(typedoc.viewport, 'resize', _this.onResize);
+ if (!hasPositionSticky) {
+ _this.listenTo(typedoc.viewport, 'scroll', _this.onScroll);
+ }
+ _this.onResize(typedoc.viewport.width, typedoc.viewport.height);
+ return _this;
+ }
+ MenuSticky.prototype.setState = function (state) {
+ if (this.state == state)
+ return;
+ if (this.state != '')
+ this.$navigation.removeClass(this.state);
+ this.state = state;
+ if (this.state != '')
+ this.$navigation.addClass(this.state);
+ };
+ MenuSticky.prototype.onResize = function (width, height) {
+ this.stickyMode = StickyMode.None;
+ this.setState('');
+ var containerTop = this.$container.offset().top;
+ var containerHeight = this.$container.height();
+ var bottom = containerTop + containerHeight;
+ if (this.$navigation.height() < containerHeight) {
+ var elHeight = this.$el.height();
+ var elTop = this.$el.offset().top;
+ if (this.$current.length) {
+ var currentHeight = this.$current.height();
+ var currentTop = this.$current.offset().top;
+ this.$navigation.css('top', containerTop - currentTop + 20);
+ if (currentHeight < height) {
+ this.stickyMode = StickyMode.Current;
+ this.stickyTop = currentTop;
+ this.stickyBottom = bottom - elHeight + (currentTop - elTop) - 20;
+ }
+ }
+ if (elHeight < height) {
+ this.$navigation.css('top', containerTop - elTop + 20);
+ this.stickyMode = StickyMode.Secondary;
+ this.stickyTop = elTop;
+ this.stickyBottom = bottom - elHeight - 20;
+ }
+ }
+ if (!hasPositionSticky) {
+ this.$navigation.css('left', this.$navigation.offset().left);
+ this.onScroll(typedoc.viewport.scrollTop);
+ }
+ else {
+ if (this.stickyMode == StickyMode.Current) {
+ this.setState('sticky-current');
+ }
+ else if (this.stickyMode == StickyMode.Secondary) {
+ this.setState('sticky');
+ }
+ else {
+ this.setState('');
+ }
+ }
+ };
+ MenuSticky.prototype.onScroll = function (scrollTop) {
+ if (this.stickyMode == StickyMode.Current) {
+ if (scrollTop > this.stickyBottom) {
+ this.setState('sticky-bottom');
+ }
+ else {
+ this.setState(scrollTop + 20 > this.stickyTop ? 'sticky-current' : '');
+ }
+ }
+ else if (this.stickyMode == StickyMode.Secondary) {
+ if (scrollTop > this.stickyBottom) {
+ this.setState('sticky-bottom');
+ }
+ else {
+ this.setState(scrollTop + 20 > this.stickyTop ? 'sticky' : '');
+ }
+ }
+ };
+ return MenuSticky;
+ }(Backbone.View));
+ typedoc.MenuSticky = MenuSticky;
+ typedoc.registerComponent(MenuSticky, '.menu-sticky');
+})(typedoc || (typedoc = {}));
+var typedoc;
+(function (typedoc) {
+ var search;
+ (function (search) {
+ var SearchLoadingState;
+ (function (SearchLoadingState) {
+ SearchLoadingState[SearchLoadingState["Idle"] = 0] = "Idle";
+ SearchLoadingState[SearchLoadingState["Loading"] = 1] = "Loading";
+ SearchLoadingState[SearchLoadingState["Ready"] = 2] = "Ready";
+ SearchLoadingState[SearchLoadingState["Failure"] = 3] = "Failure";
+ })(SearchLoadingState || (SearchLoadingState = {}));
+ var $el = $('#tsd-search');
+ var $field = $('#tsd-search-field');
+ var $results = $('.results');
+ var base = $el.attr('data-base') + '/';
+ var query = '';
+ var loadingState = SearchLoadingState.Idle;
+ var hasFocus = false;
+ var preventPress = false;
+ var index;
+ function createIndex() {
+ index = new lunr.Index();
+ index.pipeline.add(lunr.trimmer);
+ index.field('name', { boost: 10 });
+ index.field('parent');
+ index.ref('id');
+ var rows = search.data.rows;
+ var pos = 0;
+ var length = rows.length;
+ function batch() {
+ var cycles = 0;
+ while (cycles++ < 100) {
+ index.add(rows[pos]);
+ if (++pos == length) {
+ return setLoadingState(SearchLoadingState.Ready);
+ }
+ }
+ setTimeout(batch, 10);
+ }
+ batch();
+ }
+ function loadIndex() {
+ if (loadingState != SearchLoadingState.Idle)
+ return;
+ setTimeout(function () {
+ if (loadingState == SearchLoadingState.Idle) {
+ setLoadingState(SearchLoadingState.Loading);
+ }
+ }, 500);
+ if (typeof search.data != 'undefined') {
+ createIndex();
+ }
+ else {
+ $.get($el.attr('data-index'))
+ .done(function (source) {
+ eval(source);
+ createIndex();
+ }).fail(function () {
+ setLoadingState(SearchLoadingState.Failure);
+ });
+ }
+ }
+ function updateResults() {
+ if (loadingState != SearchLoadingState.Ready)
+ return;
+ $results.empty();
+ var res = index.search(query);
+ for (var i = 0, c = Math.min(10, res.length); i < c; i++) {
+ var row = search.data.rows[res[i].ref];
+ var name = row.name;
+ if (row.parent)
+ name = '' + row.parent + '. ' + name;
+ $results.append('
' + name + ' ');
+ }
+ }
+ function setLoadingState(value) {
+ if (loadingState == value)
+ return;
+ $el.removeClass(SearchLoadingState[loadingState].toLowerCase());
+ loadingState = value;
+ $el.addClass(SearchLoadingState[loadingState].toLowerCase());
+ if (value == SearchLoadingState.Ready) {
+ updateResults();
+ }
+ }
+ function setHasFocus(value) {
+ if (hasFocus == value)
+ return;
+ hasFocus = value;
+ $el.toggleClass('has-focus');
+ if (!value) {
+ $field.val(query);
+ }
+ else {
+ setQuery('');
+ $field.val('');
+ }
+ }
+ function setQuery(value) {
+ query = $.trim(value);
+ updateResults();
+ }
+ function setCurrentResult(dir) {
+ var $current = $results.find('.current');
+ if ($current.length == 0) {
+ $results.find(dir == 1 ? 'li:first-child' : 'li:last-child').addClass('current');
+ }
+ else {
+ var $rel = dir == 1 ? $current.next('li') : $current.prev('li');
+ if ($rel.length > 0) {
+ $current.removeClass('current');
+ $rel.addClass('current');
+ }
+ }
+ }
+ function gotoCurrentResult() {
+ var $current = $results.find('.current');
+ if ($current.length == 0) {
+ $current = $results.find('li:first-child');
+ }
+ if ($current.length > 0) {
+ window.location.href = $current.find('a').prop('href');
+ $field.blur();
+ }
+ }
+ $field.on('focusin', function () {
+ setHasFocus(true);
+ loadIndex();
+ }).on('focusout', function () {
+ setTimeout(function () { return setHasFocus(false); }, 100);
+ }).on('input', function () {
+ setQuery($.trim($field.val()));
+ }).on('keydown', function (e) {
+ if (e.keyCode == 13 || e.keyCode == 27 || e.keyCode == 38 || e.keyCode == 40) {
+ preventPress = true;
+ e.preventDefault();
+ if (e.keyCode == 13) {
+ gotoCurrentResult();
+ }
+ else if (e.keyCode == 27) {
+ $field.blur();
+ }
+ else if (e.keyCode == 38) {
+ setCurrentResult(-1);
+ }
+ else if (e.keyCode == 40) {
+ setCurrentResult(1);
+ }
+ }
+ else {
+ preventPress = false;
+ }
+ }).on('keypress', function (e) {
+ if (preventPress)
+ e.preventDefault();
+ });
+ $('body').on('keydown', function (e) {
+ if (e.altKey || e.ctrlKey || e.metaKey)
+ return;
+ if (!hasFocus && e.keyCode > 47 && e.keyCode < 112) {
+ $field.focus();
+ }
+ });
+ })(search = typedoc.search || (typedoc.search = {}));
+})(typedoc || (typedoc = {}));
+var typedoc;
+(function (typedoc) {
+ var SignatureGroup = (function () {
+ function SignatureGroup($signature, $description) {
+ this.$signature = $signature;
+ this.$description = $description;
+ }
+ SignatureGroup.prototype.addClass = function (className) {
+ this.$signature.addClass(className);
+ this.$description.addClass(className);
+ return this;
+ };
+ SignatureGroup.prototype.removeClass = function (className) {
+ this.$signature.removeClass(className);
+ this.$description.removeClass(className);
+ return this;
+ };
+ return SignatureGroup;
+ }());
+ var Signature = (function (_super) {
+ __extends(Signature, _super);
+ function Signature(options) {
+ var _this = _super.call(this, options) || this;
+ _this.index = -1;
+ _this.createGroups();
+ if (_this.groups) {
+ _this.$el.addClass('active')
+ .on('touchstart', '.tsd-signature', function (event) { return _this.onClick(event); })
+ .on('click', '.tsd-signature', function (event) { return _this.onClick(event); });
+ _this.$container.addClass('active');
+ _this.setIndex(0);
+ }
+ return _this;
+ }
+ Signature.prototype.setIndex = function (index) {
+ if (index < 0)
+ index = 0;
+ if (index > this.groups.length - 1)
+ index = this.groups.length - 1;
+ if (this.index == index)
+ return;
+ var to = this.groups[index];
+ if (this.index > -1) {
+ var from = this.groups[this.index];
+ typedoc.animateHeight(this.$container, function () {
+ from.removeClass('current').addClass('fade-out');
+ to.addClass('current fade-in');
+ typedoc.viewport.triggerResize();
+ });
+ setTimeout(function () {
+ from.removeClass('fade-out');
+ to.removeClass('fade-in');
+ }, 300);
+ }
+ else {
+ to.addClass('current');
+ typedoc.viewport.triggerResize();
+ }
+ this.index = index;
+ };
+ Signature.prototype.createGroups = function () {
+ var _this = this;
+ var $signatures = this.$el.find('> .tsd-signature');
+ if ($signatures.length < 2)
+ return;
+ this.$container = this.$el.siblings('.tsd-descriptions');
+ var $descriptions = this.$container.find('> .tsd-description');
+ this.groups = [];
+ $signatures.each(function (index, el) {
+ _this.groups.push(new SignatureGroup($(el), $descriptions.eq(index)));
+ });
+ };
+ Signature.prototype.onClick = function (e) {
+ var _this = this;
+ e.preventDefault();
+ _(this.groups).forEach(function (group, index) {
+ if (group.$signature.is(e.currentTarget)) {
+ _this.setIndex(index);
+ }
+ });
+ };
+ return Signature;
+ }(Backbone.View));
+ typedoc.registerComponent(Signature, '.tsd-signatures');
+})(typedoc || (typedoc = {}));
+var typedoc;
+(function (typedoc) {
+ var Toggle = (function (_super) {
+ __extends(Toggle, _super);
+ function Toggle(options) {
+ var _this = _super.call(this, options) || this;
+ _this.className = _this.$el.attr('data-toggle');
+ _this.$el.on(typedoc.pointerUp, function (e) { return _this.onPointerUp(e); });
+ _this.$el.on('click', function (e) { return e.preventDefault(); });
+ typedoc.$document.on(typedoc.pointerDown, function (e) { return _this.onDocumentPointerDown(e); });
+ typedoc.$document.on(typedoc.pointerUp, function (e) { return _this.onDocumentPointerUp(e); });
+ return _this;
+ }
+ Toggle.prototype.setActive = function (value) {
+ if (this.active == value)
+ return;
+ this.active = value;
+ typedoc.$html.toggleClass('has-' + this.className, value);
+ this.$el.toggleClass('active', value);
+ var transition = (this.active ? 'to-has-' : 'from-has-') + this.className;
+ typedoc.$html.addClass(transition);
+ setTimeout(function () { return typedoc.$html.removeClass(transition); }, 500);
+ };
+ Toggle.prototype.onPointerUp = function (event) {
+ if (typedoc.hasPointerMoved)
+ return;
+ this.setActive(true);
+ event.preventDefault();
+ };
+ Toggle.prototype.onDocumentPointerDown = function (e) {
+ if (this.active) {
+ var $path = $(e.target).parents().addBack();
+ if ($path.hasClass('col-menu')) {
+ return;
+ }
+ if ($path.hasClass('tsd-filter-group')) {
+ return;
+ }
+ this.setActive(false);
+ }
+ };
+ Toggle.prototype.onDocumentPointerUp = function (e) {
+ var _this = this;
+ if (typedoc.hasPointerMoved)
+ return;
+ if (this.active) {
+ var $path = $(e.target).parents().addBack();
+ if ($path.hasClass('col-menu')) {
+ var $link = $path.filter('a');
+ if ($link.length) {
+ var href = window.location.href;
+ if (href.indexOf('#') != -1) {
+ href = href.substr(0, href.indexOf('#'));
+ }
+ if ($link.prop('href').substr(0, href.length) == href) {
+ setTimeout(function () { return _this.setActive(false); }, 250);
+ }
+ }
+ }
+ }
+ };
+ return Toggle;
+ }(Backbone.View));
+ typedoc.registerComponent(Toggle, 'a[data-toggle]');
+})(typedoc || (typedoc = {}));
+var typedoc;
+(function (typedoc) {
+ var Viewport = (function (_super) {
+ __extends(Viewport, _super);
+ function Viewport() {
+ var _this = _super.call(this) || this;
+ _this.scrollTop = 0;
+ _this.width = 0;
+ _this.height = 0;
+ typedoc.$window.on('scroll', _(function () { return _this.onScroll(); }).throttle(10));
+ typedoc.$window.on('resize', _(function () { return _this.onResize(); }).throttle(10));
+ _this.onResize();
+ _this.onScroll();
+ return _this;
+ }
+ Viewport.prototype.triggerResize = function () {
+ this.trigger('resize', this.width, this.height);
+ };
+ Viewport.prototype.onResize = function () {
+ this.width = typedoc.$window.width();
+ this.height = typedoc.$window.height();
+ this.trigger('resize', this.width, this.height);
+ };
+ Viewport.prototype.onScroll = function () {
+ this.scrollTop = typedoc.$window.scrollTop();
+ this.trigger('scroll', this.scrollTop);
+ };
+ return Viewport;
+ }(typedoc.Events));
+ typedoc.Viewport = Viewport;
+ typedoc.registerService(Viewport, 'viewport');
+})(typedoc || (typedoc = {}));
+var typedoc;
+(function (typedoc) {
+ typedoc.pointerDown = 'mousedown';
+ typedoc.pointerMove = 'mousemove';
+ typedoc.pointerUp = 'mouseup';
+ typedoc.pointerDownPosition = { x: 0, y: 0 };
+ typedoc.preventNextClick = false;
+ typedoc.isPointerDown = false;
+ typedoc.isPointerTouch = false;
+ typedoc.hasPointerMoved = false;
+ typedoc.isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
+ typedoc.$html.addClass(typedoc.isMobile ? 'is-mobile' : 'not-mobile');
+ if (typedoc.isMobile && 'ontouchstart' in document.documentElement) {
+ typedoc.isPointerTouch = true;
+ typedoc.pointerDown = 'touchstart';
+ typedoc.pointerMove = 'touchmove';
+ typedoc.pointerUp = 'touchend';
+ }
+ typedoc.$document.on(typedoc.pointerDown, function (e) {
+ typedoc.isPointerDown = true;
+ typedoc.hasPointerMoved = false;
+ var t = (typedoc.pointerDown == 'touchstart' ? e.originalEvent['targetTouches'][0] : e);
+ typedoc.pointerDownPosition.x = t.pageX;
+ typedoc.pointerDownPosition.y = t.pageY;
+ }).on(typedoc.pointerMove, function (e) {
+ if (!typedoc.isPointerDown)
+ return;
+ if (!typedoc.hasPointerMoved) {
+ var t = (typedoc.pointerDown == 'touchstart' ? e.originalEvent['targetTouches'][0] : e);
+ var x = typedoc.pointerDownPosition.x - t.pageX;
+ var y = typedoc.pointerDownPosition.y - t.pageY;
+ typedoc.hasPointerMoved = (Math.sqrt(x * x + y * y) > 10);
+ }
+ }).on(typedoc.pointerUp, function (e) {
+ typedoc.isPointerDown = false;
+ }).on('click', function (e) {
+ if (typedoc.preventNextClick) {
+ e.preventDefault();
+ e.stopImmediatePropagation();
+ typedoc.preventNextClick = false;
+ }
+ });
+})(typedoc || (typedoc = {}));
+var typedoc;
+(function (typedoc) {
+ function getVendorInfo(tuples) {
+ for (var name in tuples) {
+ if (!tuples.hasOwnProperty(name))
+ continue;
+ if (typeof (document.body.style[name]) !== 'undefined') {
+ return { name: name, endEvent: tuples[name] };
+ }
+ }
+ return null;
+ }
+ typedoc.transition = getVendorInfo({
+ 'transition': 'transitionend',
+ 'OTransition': 'oTransitionEnd',
+ 'msTransition': 'msTransitionEnd',
+ 'MozTransition': 'transitionend',
+ 'WebkitTransition': 'webkitTransitionEnd'
+ });
+ function noTransition($el, callback) {
+ $el.addClass('no-transition');
+ callback();
+ $el.offset();
+ $el.removeClass('no-transition');
+ }
+ typedoc.noTransition = noTransition;
+ function animateHeight($el, callback, success) {
+ var from = $el.height(), to;
+ noTransition($el, function () {
+ callback();
+ $el.css('height', '');
+ to = $el.height();
+ if (from != to && typedoc.transition)
+ $el.css('height', from);
+ });
+ if (from != to && typedoc.transition) {
+ $el.css('height', to);
+ $el.on(typedoc.transition.endEvent, function () {
+ noTransition($el, function () {
+ $el.off(typedoc.transition.endEvent).css('height', '');
+ if (success)
+ success();
+ });
+ });
+ }
+ else {
+ if (success)
+ success();
+ }
+ }
+ typedoc.animateHeight = animateHeight;
+})(typedoc || (typedoc = {}));
+var typedoc;
+(function (typedoc) {
+ typedoc.app = new typedoc.Application();
+})(typedoc || (typedoc = {}));
diff --git a/openvidu-browser/docs/assets/js/src/lib/backbone/backbone.d.ts b/openvidu-node-client/config/typedoc/custom-theme/assets/js/src/lib/backbone/backbone.d.ts
similarity index 100%
rename from openvidu-browser/docs/assets/js/src/lib/backbone/backbone.d.ts
rename to openvidu-node-client/config/typedoc/custom-theme/assets/js/src/lib/backbone/backbone.d.ts
diff --git a/openvidu-browser/docs/assets/js/src/lib/jquery/jquery.d.ts b/openvidu-node-client/config/typedoc/custom-theme/assets/js/src/lib/jquery/jquery.d.ts
similarity index 100%
rename from openvidu-browser/docs/assets/js/src/lib/jquery/jquery.d.ts
rename to openvidu-node-client/config/typedoc/custom-theme/assets/js/src/lib/jquery/jquery.d.ts
diff --git a/openvidu-browser/docs/assets/js/src/lib/lunr/lunr.d.ts b/openvidu-node-client/config/typedoc/custom-theme/assets/js/src/lib/lunr/lunr.d.ts
similarity index 100%
rename from openvidu-browser/docs/assets/js/src/lib/lunr/lunr.d.ts
rename to openvidu-node-client/config/typedoc/custom-theme/assets/js/src/lib/lunr/lunr.d.ts
diff --git a/openvidu-browser/docs/assets/js/src/lib/tsd.d.ts b/openvidu-node-client/config/typedoc/custom-theme/assets/js/src/lib/tsd.d.ts
similarity index 100%
rename from openvidu-browser/docs/assets/js/src/lib/tsd.d.ts
rename to openvidu-node-client/config/typedoc/custom-theme/assets/js/src/lib/tsd.d.ts
diff --git a/openvidu-browser/docs/assets/js/src/lib/tsd.json b/openvidu-node-client/config/typedoc/custom-theme/assets/js/src/lib/tsd.json
similarity index 100%
rename from openvidu-browser/docs/assets/js/src/lib/tsd.json
rename to openvidu-node-client/config/typedoc/custom-theme/assets/js/src/lib/tsd.json
diff --git a/openvidu-browser/docs/assets/js/src/lib/underscore/underscore.d.ts b/openvidu-node-client/config/typedoc/custom-theme/assets/js/src/lib/underscore/underscore.d.ts
similarity index 100%
rename from openvidu-browser/docs/assets/js/src/lib/underscore/underscore.d.ts
rename to openvidu-node-client/config/typedoc/custom-theme/assets/js/src/lib/underscore/underscore.d.ts
diff --git a/openvidu-browser/docs/assets/js/src/typedoc/Application.ts b/openvidu-node-client/config/typedoc/custom-theme/assets/js/src/typedoc/Application.ts
similarity index 100%
rename from openvidu-browser/docs/assets/js/src/typedoc/Application.ts
rename to openvidu-node-client/config/typedoc/custom-theme/assets/js/src/typedoc/Application.ts
diff --git a/openvidu-browser/docs/assets/js/src/typedoc/components/Filter.ts b/openvidu-node-client/config/typedoc/custom-theme/assets/js/src/typedoc/components/Filter.ts
similarity index 100%
rename from openvidu-browser/docs/assets/js/src/typedoc/components/Filter.ts
rename to openvidu-node-client/config/typedoc/custom-theme/assets/js/src/typedoc/components/Filter.ts
diff --git a/openvidu-browser/docs/assets/js/src/typedoc/components/MenuHighlight.ts b/openvidu-node-client/config/typedoc/custom-theme/assets/js/src/typedoc/components/MenuHighlight.ts
similarity index 100%
rename from openvidu-browser/docs/assets/js/src/typedoc/components/MenuHighlight.ts
rename to openvidu-node-client/config/typedoc/custom-theme/assets/js/src/typedoc/components/MenuHighlight.ts
diff --git a/openvidu-browser/docs/assets/js/src/typedoc/components/MenuSticky.ts b/openvidu-node-client/config/typedoc/custom-theme/assets/js/src/typedoc/components/MenuSticky.ts
similarity index 100%
rename from openvidu-browser/docs/assets/js/src/typedoc/components/MenuSticky.ts
rename to openvidu-node-client/config/typedoc/custom-theme/assets/js/src/typedoc/components/MenuSticky.ts
diff --git a/openvidu-browser/docs/assets/js/src/typedoc/components/Search.ts b/openvidu-node-client/config/typedoc/custom-theme/assets/js/src/typedoc/components/Search.ts
similarity index 100%
rename from openvidu-browser/docs/assets/js/src/typedoc/components/Search.ts
rename to openvidu-node-client/config/typedoc/custom-theme/assets/js/src/typedoc/components/Search.ts
diff --git a/openvidu-browser/docs/assets/js/src/typedoc/components/Signature.ts b/openvidu-node-client/config/typedoc/custom-theme/assets/js/src/typedoc/components/Signature.ts
similarity index 100%
rename from openvidu-browser/docs/assets/js/src/typedoc/components/Signature.ts
rename to openvidu-node-client/config/typedoc/custom-theme/assets/js/src/typedoc/components/Signature.ts
diff --git a/openvidu-browser/docs/assets/js/src/typedoc/components/Toggle.ts b/openvidu-node-client/config/typedoc/custom-theme/assets/js/src/typedoc/components/Toggle.ts
similarity index 100%
rename from openvidu-browser/docs/assets/js/src/typedoc/components/Toggle.ts
rename to openvidu-node-client/config/typedoc/custom-theme/assets/js/src/typedoc/components/Toggle.ts
diff --git a/openvidu-browser/docs/assets/js/src/typedoc/services/Viewport.ts b/openvidu-node-client/config/typedoc/custom-theme/assets/js/src/typedoc/services/Viewport.ts
similarity index 100%
rename from openvidu-browser/docs/assets/js/src/typedoc/services/Viewport.ts
rename to openvidu-node-client/config/typedoc/custom-theme/assets/js/src/typedoc/services/Viewport.ts
diff --git a/openvidu-browser/docs/assets/js/src/typedoc/utils/pointer.ts b/openvidu-node-client/config/typedoc/custom-theme/assets/js/src/typedoc/utils/pointer.ts
similarity index 100%
rename from openvidu-browser/docs/assets/js/src/typedoc/utils/pointer.ts
rename to openvidu-node-client/config/typedoc/custom-theme/assets/js/src/typedoc/utils/pointer.ts
diff --git a/openvidu-browser/docs/assets/js/src/typedoc/utils/transitions.ts b/openvidu-node-client/config/typedoc/custom-theme/assets/js/src/typedoc/utils/transitions.ts
similarity index 100%
rename from openvidu-browser/docs/assets/js/src/typedoc/utils/transitions.ts
rename to openvidu-node-client/config/typedoc/custom-theme/assets/js/src/typedoc/utils/transitions.ts
diff --git a/openvidu-browser/docs/assets/js/src/~bootstrap.ts b/openvidu-node-client/config/typedoc/custom-theme/assets/js/src/~bootstrap.ts
similarity index 100%
rename from openvidu-browser/docs/assets/js/src/~bootstrap.ts
rename to openvidu-node-client/config/typedoc/custom-theme/assets/js/src/~bootstrap.ts
diff --git a/openvidu-node-client/config/typedoc/custom-theme/gruntfile.js b/openvidu-node-client/config/typedoc/custom-theme/gruntfile.js
new file mode 100644
index 00000000..f99163f4
--- /dev/null
+++ b/openvidu-node-client/config/typedoc/custom-theme/gruntfile.js
@@ -0,0 +1,139 @@
+module.exports = function(grunt)
+{
+ grunt.file.setBase('../../../');
+ grunt.initConfig({
+ pkg: grunt.file.readJSON('package.json'),
+ ts: {
+ themeCustom: {
+ options: {
+ sourceMap: false,
+ module: 'amd',
+ basePath: 'themes',
+ declaration: false
+ },
+ src: [
+ 'config/typedoc/custom-theme/assets/js/src/lib/**/*.ts',
+ 'config/typedoc/custom-theme/assets/js/src/typedoc/Application.ts',
+ 'config/typedoc/custom-theme/assets/js/src/typedoc/components/**/*.ts',
+ 'config/typedoc/custom-theme/assets/js/src/typedoc/services/**/*.ts',
+ 'config/typedoc/custom-theme/assets/js/src/typedoc/utils/**/*.ts',
+ 'config/typedoc/custom-theme/assets/js/src/~bootstrap.ts'
+ ],
+ out: 'config/typedoc/custom-theme/assets/js/main.js'
+ }
+ },
+ uglify: {
+ themeCustom: {
+ options: {
+ mangle: false
+ },
+ files: {
+ 'config/typedoc/custom-theme/bin/default/assets/js/main.js': [
+ 'config/typedoc/custom-theme/assets/js/lib/jquery-2.1.1.min.js',
+ 'config/typedoc/custom-theme/assets/js/lib/underscore-1.6.0.min.js',
+ 'config/typedoc/custom-theme/assets/js/lib/backbone-1.1.2.min.js',
+ 'config/typedoc/custom-theme/assets/js/lib/lunr.min.js',
+ 'config/typedoc/custom-theme/assets/js/main.js'
+ ]
+ }
+ }
+ },
+ 'string-replace': {
+ themeMinimal: {
+ files: {
+ 'config/typedoc/custom-theme/bin/minimal/layouts/default.hbs': ['src/minimal/layouts/default.hbs']
+ },
+ options: {
+ replacements: [{
+ pattern: /{{ CSS }}/g,
+ replacement: function() {
+ var css = grunt.file.read('bin/default/assets/css/main.css');
+ return css.replace(/url\(([^\)]*)\)/g, function(match, file) {
+ if (match.indexOf(':') != -1) return match;
+ var path = require('path'), fs = require('fs');
+ var file = path.resolve('bin/default/assets/css', file);
+ var data = fs.readFileSync(file, 'base64');
+ return 'url(data:image/png;base64,' + data + ')';
+ });
+ }
+ }, {
+ pattern: /{{ JS }}/g,
+ replacement: function() {
+ return grunt.file.read('bin/default/assets/js/main.js').replace('{{', '{/**/{');
+ }
+ }]
+ }
+ }
+ },
+ sass: {
+ options: {
+ style: 'compact',
+ unixNewlines: true
+ },
+ themeCustom: {
+ files: [{
+ expand: true,
+ cwd: 'config/typedoc/custom-theme/assets/css',
+ src: 'config/typedoc/custom-theme/**/*.sass',
+ dest: 'config/typedoc/custom-theme/bin/assets/css',
+ ext: '.css'
+ }]
+ }
+ },
+ autoprefixer: {
+ options: {
+ cascade: false
+ },
+ themeCustom: {
+ expand: true,
+ src: 'config/typedoc/custom-theme/bin/**/*.css',
+ dest: './'
+ }
+ },
+ copy: {
+ plugin: {
+ files: [{
+ expand: true,
+ cwd: 'src',
+ src: ['*.js'],
+ dest: 'config/typedoc/custom-theme/bin'
+ }]
+ },
+ themeCustom: {
+ files: [{
+ expand: true,
+ cwd: 'config/typedoc/custom-theme',
+ src: ['**/*.hbs', '**/*.png'],
+ dest: 'config/typedoc/custom-theme/bin'
+ }]
+ }
+ },
+ watch: {
+ js: {
+ files: ['config/typedoc/custom-theme/assets/js/src/**/*.ts'],
+ tasks: ['js']
+ },
+ css: {
+ files: ['config/typedoc/custom-theme/assets/css/**/*'],
+ tasks: ['css']
+ },
+ custom: {
+ files: ['config/typedoc/custom-theme/**/*.hbs'],
+ tasks: ['copy', 'string-replace']
+ }
+ }
+ });
+
+
+ grunt.loadNpmTasks('grunt-contrib-watch');
+ grunt.loadNpmTasks('grunt-contrib-sass');
+ grunt.loadNpmTasks('grunt-contrib-uglify');
+ grunt.loadNpmTasks('grunt-contrib-copy');
+ grunt.loadNpmTasks('grunt-string-replace');
+ grunt.loadNpmTasks('grunt-autoprefixer');
+ grunt.loadNpmTasks('grunt-ts');
+
+ grunt.registerTask('css', ['sass', 'autoprefixer']);
+ grunt.registerTask('js', ['ts:themeCustom', 'uglify']);
+ grunt.registerTask('default', ['copy', 'css', 'js', 'string-replace']);
+};
\ No newline at end of file
diff --git a/openvidu-node-client/config/typedoc/custom-theme/layouts/default.hbs b/openvidu-node-client/config/typedoc/custom-theme/layouts/default.hbs
new file mode 100644
index 00000000..861b1921
--- /dev/null
+++ b/openvidu-node-client/config/typedoc/custom-theme/layouts/default.hbs
@@ -0,0 +1,51 @@
+
+
+
+
+
+ {{#ifCond model.name '==' project.name}}{{project.name}}{{else}}{{model.name}} | {{project.name}}{{/ifCond}}
+
+
+
+
+
+
+
+
+{{> header}}
+
+
+
+{{> footer}}
+
+
+
+
+
+{{> analytics}}
+
+
+
diff --git a/openvidu-node-client/config/typedoc/custom-theme/partials/analytics.hbs b/openvidu-node-client/config/typedoc/custom-theme/partials/analytics.hbs
new file mode 100644
index 00000000..2c4ec9bb
--- /dev/null
+++ b/openvidu-node-client/config/typedoc/custom-theme/partials/analytics.hbs
@@ -0,0 +1,11 @@
+{{#if settings.gaID}}
+
+{{/if}}
\ No newline at end of file
diff --git a/openvidu-node-client/config/typedoc/custom-theme/partials/breadcrumb.hbs b/openvidu-node-client/config/typedoc/custom-theme/partials/breadcrumb.hbs
new file mode 100644
index 00000000..31974183
--- /dev/null
+++ b/openvidu-node-client/config/typedoc/custom-theme/partials/breadcrumb.hbs
@@ -0,0 +1,16 @@
+{{#if parent}}
+ {{#with parent}}{{> breadcrumb}}{{/with}}
+
+ {{#if url}}
+ {{name}}
+ {{else}}
+ {{name}}
+ {{/if}}
+
+{{else}}
+ {{#if url}}
+
+ Globals
+
+ {{/if}}
+{{/if}}
\ No newline at end of file
diff --git a/openvidu-node-client/config/typedoc/custom-theme/partials/comment.hbs b/openvidu-node-client/config/typedoc/custom-theme/partials/comment.hbs
new file mode 100644
index 00000000..1fbd2d78
--- /dev/null
+++ b/openvidu-node-client/config/typedoc/custom-theme/partials/comment.hbs
@@ -0,0 +1,22 @@
+{{#with comment}}
+ {{#if hasVisibleComponent}}
+
+ {{/if}}
+{{/with}}
\ No newline at end of file
diff --git a/openvidu-node-client/config/typedoc/custom-theme/partials/footer.hbs b/openvidu-node-client/config/typedoc/custom-theme/partials/footer.hbs
new file mode 100644
index 00000000..f0807a55
--- /dev/null
+++ b/openvidu-node-client/config/typedoc/custom-theme/partials/footer.hbs
@@ -0,0 +1,68 @@
+
+
+
+
Legend
+
+
+ Module
+ Object literal
+ Variable
+ Function
+ Function with type parameter
+ Index signature
+ Type alias
+ Type alias with type parameter
+
+
+
+ Enumeration
+ Enumeration member
+ Property
+ Method
+
+
+ Interface
+ Interface with type parameter
+ Constructor
+ Property
+ Method
+ Index signature
+
+
+ Class
+ Class with type parameter
+ Constructor
+ Property
+ Method
+ Accessor
+ Index signature
+
+
+ Inherited constructor
+ Inherited property
+ Inherited method
+ Inherited accessor
+
+
+ Protected property
+ Protected method
+ Protected accessor
+
+
+ Private property
+ Private method
+ Private accessor
+
+
+ Static property
+ Static method
+
+
+
+
+
+{{#unless settings.hideGenerator}}
+
+{{/unless}}
\ No newline at end of file
diff --git a/openvidu-node-client/config/typedoc/custom-theme/partials/header.hbs b/openvidu-node-client/config/typedoc/custom-theme/partials/header.hbs
new file mode 100644
index 00000000..0f465957
--- /dev/null
+++ b/openvidu-node-client/config/typedoc/custom-theme/partials/header.hbs
@@ -0,0 +1,73 @@
+
+
+
+
+
+
+ Search
+
+
+
+
+ Preparing search index...
+ The search index is not available
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{#with model}}{{> breadcrumb}}{{/with}}
+
+
{{#compact}}
+ {{model.kindString}}
+ {{model.name}}
+ {{#if model.typeParameters}}
+ <
+ {{#each model.typeParameters}}
+ {{#if @index}}, {{/if}}
+ {{name}}
+ {{/each}}
+ >
+ {{/if}}
+ {{/compact}}
+
+
+
\ No newline at end of file
diff --git a/openvidu-node-client/config/typedoc/custom-theme/partials/hierarchy.hbs b/openvidu-node-client/config/typedoc/custom-theme/partials/hierarchy.hbs
new file mode 100644
index 00000000..9a54d510
--- /dev/null
+++ b/openvidu-node-client/config/typedoc/custom-theme/partials/hierarchy.hbs
@@ -0,0 +1,17 @@
+
+ {{#each types}}
+
+ {{#if ../isTarget}}
+ {{this}}
+ {{else}}
+ {{> type}}
+ {{/if}}
+
+ {{#if @last}}
+ {{#with ../next}}
+ {{> hierarchy}}
+ {{/with}}
+ {{/if}}
+
+ {{/each}}
+
diff --git a/openvidu-node-client/config/typedoc/custom-theme/partials/index.hbs b/openvidu-node-client/config/typedoc/custom-theme/partials/index.hbs
new file mode 100644
index 00000000..6224dfea
--- /dev/null
+++ b/openvidu-node-client/config/typedoc/custom-theme/partials/index.hbs
@@ -0,0 +1,19 @@
+{{#if groups}}
+
+ Index
+
+
+ {{#each groups}}
+
+ {{/each}}
+
+
+
+{{/if}}
\ No newline at end of file
diff --git a/openvidu-node-client/config/typedoc/custom-theme/partials/member.declaration.hbs b/openvidu-node-client/config/typedoc/custom-theme/partials/member.declaration.hbs
new file mode 100644
index 00000000..3ae0ddda
--- /dev/null
+++ b/openvidu-node-client/config/typedoc/custom-theme/partials/member.declaration.hbs
@@ -0,0 +1,36 @@
+{{#compact}}
+ {{{wbr name}}}
+ {{#if typeParameters}}
+ <
+ {{#each typeParameters}}
+ {{#if @index}}, {{/if}}
+ {{name}}
+ {{/each}}
+ >
+ {{/if}}
+ {{#if isOptional}}?{{/if}}: {{#with type}}{{>type}}{{/with}}
+ {{#if defaultValue}}
+
+ =
+ {{defaultValue}}
+
+ {{/if}}
+{{/compact}}
+
+{{> member.sources}}
+
+{{> comment}}
+
+{{#if typeParameters}}
+ Type parameters
+ {{> typeParameters}}
+{{/if}}
+
+{{#if type.declaration}}
+
+
Type declaration
+ {{#with type.declaration}}
+ {{> parameter}}
+ {{/with}}
+
+{{/if}}
\ No newline at end of file
diff --git a/openvidu-node-client/config/typedoc/custom-theme/partials/member.getterSetter.hbs b/openvidu-node-client/config/typedoc/custom-theme/partials/member.getterSetter.hbs
new file mode 100644
index 00000000..3dede27e
--- /dev/null
+++ b/openvidu-node-client/config/typedoc/custom-theme/partials/member.getterSetter.hbs
@@ -0,0 +1,37 @@
+
+ {{#if getSignature}}
+ {{#with getSignature}}
+ {{#compact}}
+ get
+ {{../name}}
+ {{> member.signature.title hideName=true }}
+ {{/compact}}
+ {{/with}}
+ {{/if}}
+ {{#if setSignature}}
+ {{#with setSignature}}
+ {{#compact}}
+ set
+ {{../name}}
+ {{> member.signature.title hideName=true }}
+ {{/compact}}
+ {{/with}}
+ {{/if}}
+
+
+
+ {{#if getSignature}}
+ {{#with getSignature}}
+
+ {{> member.signature.body }}
+
+ {{/with}}
+ {{/if}}
+ {{#if setSignature}}
+ {{#with setSignature}}
+
+ {{> member.signature.body }}
+
+ {{/with}}
+ {{/if}}
+
\ No newline at end of file
diff --git a/openvidu-node-client/config/typedoc/custom-theme/partials/member.hbs b/openvidu-node-client/config/typedoc/custom-theme/partials/member.hbs
new file mode 100644
index 00000000..01c59e81
--- /dev/null
+++ b/openvidu-node-client/config/typedoc/custom-theme/partials/member.hbs
@@ -0,0 +1,22 @@
+
+
+ {{#if name}}
+ {{#each flags}}{{this}} {{/each}}{{{wbr name}}}
+ {{/if}}
+
+ {{#if signatures}}
+ {{> member.signatures}}
+ {{else}}{{#if hasGetterOrSetter}}
+ {{> member.getterSetter}}
+ {{else}}
+ {{> member.declaration}}
+ {{/if}}{{/if}}
+
+ {{#each groups}}
+ {{#each children}}
+ {{#unless hasOwnDocument}}
+ {{> member}}
+ {{/unless}}
+ {{/each}}
+ {{/each}}
+
diff --git a/openvidu-node-client/config/typedoc/custom-theme/partials/member.signature.body.hbs b/openvidu-node-client/config/typedoc/custom-theme/partials/member.signature.body.hbs
new file mode 100644
index 00000000..fdde257d
--- /dev/null
+++ b/openvidu-node-client/config/typedoc/custom-theme/partials/member.signature.body.hbs
@@ -0,0 +1,56 @@
+{{#unless hideSources}}
+ {{> member.sources}}
+{{/unless}}
+
+{{> comment}}
+
+{{#if typeParameters}}
+ Type parameters
+ {{> typeParameters}}
+{{/if}}
+
+{{#if parameters}}
+ Parameters
+
+ {{#each parameters}}
+
+ {{#compact}}
+ {{#each flags}}
+ {{this}}
+ {{/each}}
+ {{#if flags.isRest}}... {{/if}}
+ {{name}}:
+ {{#with type}}{{>type}}{{/with}}
+ {{#if defaultValue}}
+
+ =
+ {{defaultValue}}
+
+ {{/if}}
+ {{/compact}}
+
+ {{> comment}}
+
+ {{#if type.declaration}}
+ {{#with type.declaration}}
+ {{> parameter}}
+ {{/with}}
+ {{/if}}
+
+ {{/each}}
+
+{{/if}}
+
+{{#if type}}
+ Returns {{#with type}}{{>type}}{{/with}}
+
+ {{#if comment.returns}}
+ {{#markdown}}{{{comment.returns}}}{{/markdown}}
+ {{/if}}
+
+ {{#if type.declaration}}
+ {{#with type.declaration}}
+ {{> parameter}}
+ {{/with}}
+ {{/if}}
+{{/if}}
\ No newline at end of file
diff --git a/openvidu-node-client/config/typedoc/custom-theme/partials/member.signature.title.hbs b/openvidu-node-client/config/typedoc/custom-theme/partials/member.signature.title.hbs
new file mode 100644
index 00000000..efe9bcc4
--- /dev/null
+++ b/openvidu-node-client/config/typedoc/custom-theme/partials/member.signature.title.hbs
@@ -0,0 +1,28 @@
+{{#compact}}
+ {{#unless hideName}}{{{wbr name}}}{{/unless}}
+ {{#if typeParameters}}
+ <
+ {{#each typeParameters}}
+ {{#if @index}}, {{/if}}
+ {{name}}
+ {{/each}}
+ >
+ {{/if}}
+ (
+ {{#each parameters}}
+ {{#if @index}}, {{/if}}
+ {{#if flags.isRest}}... {{/if}}
+ {{name}}
+
+ {{#if flags.isOptional}}?{{/if}}
+ {{#if defaultValue}}?{{/if}}
+ :
+
+ {{#with type}}{{>type}}{{/with}}
+ {{/each}}
+ )
+ {{#if type}}
+ :
+ {{#with type}}{{>type}}{{/with}}
+ {{/if}}
+{{/compact}}
\ No newline at end of file
diff --git a/openvidu-node-client/config/typedoc/custom-theme/partials/member.signatures.hbs b/openvidu-node-client/config/typedoc/custom-theme/partials/member.signatures.hbs
new file mode 100644
index 00000000..cc258112
--- /dev/null
+++ b/openvidu-node-client/config/typedoc/custom-theme/partials/member.signatures.hbs
@@ -0,0 +1,13 @@
+
+ {{#each signatures}}
+ {{> member.signature.title }}
+ {{/each}}
+
+
+
+ {{#each signatures}}
+
+ {{> member.signature.body }}
+
+ {{/each}}
+
\ No newline at end of file
diff --git a/openvidu-node-client/config/typedoc/custom-theme/partials/member.sources.hbs b/openvidu-node-client/config/typedoc/custom-theme/partials/member.sources.hbs
new file mode 100644
index 00000000..367a3aed
--- /dev/null
+++ b/openvidu-node-client/config/typedoc/custom-theme/partials/member.sources.hbs
@@ -0,0 +1,22 @@
+
+ {{#if implementationOf}}
+ Implementation of {{#with implementationOf}}{{> typeAndParent}}{{/with}}
+ {{/if}}
+ {{#if inheritedFrom}}
+ Inherited from {{#with inheritedFrom}}{{> typeAndParent}}{{/with}}
+ {{/if}}
+ {{#if overwrites}}
+ Overrides {{#with overwrites}}{{> typeAndParent}}{{/with}}
+ {{/if}}
+ {{#if sources}}
+
+ {{#each sources}}
+ {{#if url}}
+ Defined in {{fileName}}:{{line}}
+ {{else}}
+ Defined in {{fileName}}:{{line}}
+ {{/if}}
+ {{/each}}
+
+ {{/if}}
+
\ No newline at end of file
diff --git a/openvidu-node-client/config/typedoc/custom-theme/partials/members.group.hbs b/openvidu-node-client/config/typedoc/custom-theme/partials/members.group.hbs
new file mode 100644
index 00000000..574cf147
--- /dev/null
+++ b/openvidu-node-client/config/typedoc/custom-theme/partials/members.group.hbs
@@ -0,0 +1,8 @@
+
+ {{title}}
+ {{#each children}}
+ {{#unless hasOwnDocument}}
+ {{> member}}
+ {{/unless}}
+ {{/each}}
+
diff --git a/openvidu-node-client/config/typedoc/custom-theme/partials/members.hbs b/openvidu-node-client/config/typedoc/custom-theme/partials/members.hbs
new file mode 100644
index 00000000..728fe7b5
--- /dev/null
+++ b/openvidu-node-client/config/typedoc/custom-theme/partials/members.hbs
@@ -0,0 +1,5 @@
+{{#each groups}}
+ {{#unless allChildrenHaveOwnDocument}}
+ {{> members.group}}
+ {{/unless}}
+{{/each}}
\ No newline at end of file
diff --git a/openvidu-node-client/config/typedoc/custom-theme/partials/navigation.hbs b/openvidu-node-client/config/typedoc/custom-theme/partials/navigation.hbs
new file mode 100644
index 00000000..b1f91e4e
--- /dev/null
+++ b/openvidu-node-client/config/typedoc/custom-theme/partials/navigation.hbs
@@ -0,0 +1,26 @@
+{{#if isVisible}}
+ {{#if isLabel}}
+
+ {{{wbr title}}}
+
+ {{else}}
+ {{#if isGlobals}}
+
+ {{{wbr title}}}
+
+ {{else}}
+
+ {{{wbr title}}}
+ {{#if isInPath}}
+ {{#if children}}
+
+ {{#each children}}
+ {{> navigation}}
+ {{/each}}
+
+ {{/if}}
+ {{/if}}
+
+ {{/if}}
+ {{/if}}
+{{/if}}
diff --git a/openvidu-node-client/config/typedoc/custom-theme/partials/parameter.hbs b/openvidu-node-client/config/typedoc/custom-theme/partials/parameter.hbs
new file mode 100644
index 00000000..eb06dc07
--- /dev/null
+++ b/openvidu-node-client/config/typedoc/custom-theme/partials/parameter.hbs
@@ -0,0 +1,81 @@
+
+ {{#if signatures}}
+
+
+ {{#each signatures}}
+ {{> member.signature.title hideName=true }}
+ {{/each}}
+
+
+
+ {{#each signatures}}
+ {{> member.signature.body hideSources=true }}
+ {{/each}}
+
+
+ {{/if}}
+ {{#if indexSignature}}
+
+ {{#compact}}
+ [
+ {{#each indexSignature.parameters}}
+ {{#if flags.isRest}}... {{/if}}{{name}}: {{#with type}}{{>type}}{{/with}}
+ {{/each}}
+ ]:
+ {{#with indexSignature.type}}{{>type}}{{/with}}
+ {{/compact}}
+
+ {{#with indexSignature}}
+ {{> comment}}
+ {{/with}}
+
+ {{#if indexSignature.type.declaration}}
+ {{#with indexSignature.type.declaration}}
+ {{> parameter}}
+ {{/with}}
+ {{/if}}
+
+ {{/if}}
+ {{#each children}}
+
+ {{#if signatures}}
+ {{#compact}}
+ {{#if flags.isRest}}... {{/if}}
+ {{{wbr name}}}
+
+ {{#if isOptional}}?{{/if}}
+ :
+
+ function
+ {{/compact}}
+
+ {{> member.signatures}}
+ {{else}}
+ {{#compact}}
+ {{#each flags}}
+ {{this}}
+ {{/each}}
+ {{#if flags.isRest}}... {{/if}}
+ {{{wbr name}}}
+
+ {{#if flags.isOptional}}?{{/if}}
+ :
+
+ {{#with type}}{{>type}}{{/with}}
+ {{/compact}}
+
+ {{> comment}}
+
+ {{#if children}}
+ {{> parameter}}
+ {{/if}}
+
+ {{#if type.declaration}}
+ {{#with type.declaration}}
+ {{> parameter}}
+ {{/with}}
+ {{/if}}
+ {{/if}}
+
+ {{/each}}
+
diff --git a/openvidu-node-client/config/typedoc/custom-theme/partials/toc.hbs b/openvidu-node-client/config/typedoc/custom-theme/partials/toc.hbs
new file mode 100644
index 00000000..56b1d748
--- /dev/null
+++ b/openvidu-node-client/config/typedoc/custom-theme/partials/toc.hbs
@@ -0,0 +1,10 @@
+
+ {{{wbr title}}}
+ {{#if children}}
+
+ {{#each children}}
+ {{> toc}}
+ {{/each}}
+
+ {{/if}}
+
diff --git a/openvidu-node-client/config/typedoc/custom-theme/partials/toc.root.hbs b/openvidu-node-client/config/typedoc/custom-theme/partials/toc.root.hbs
new file mode 100644
index 00000000..cba0d663
--- /dev/null
+++ b/openvidu-node-client/config/typedoc/custom-theme/partials/toc.root.hbs
@@ -0,0 +1,18 @@
+{{#if isInPath}}
+
+
+{{/if}}
+
+ {{{wbr title}}}
+ {{#if children}}
+
+ {{#each children}}
+ {{> toc}}
+ {{/each}}
+
+ {{/if}}
+
+{{#if isInPath}}
+
+
+{{/if}}
diff --git a/openvidu-node-client/config/typedoc/custom-theme/partials/type.hbs b/openvidu-node-client/config/typedoc/custom-theme/partials/type.hbs
new file mode 100644
index 00000000..93f8d99b
--- /dev/null
+++ b/openvidu-node-client/config/typedoc/custom-theme/partials/type.hbs
@@ -0,0 +1,83 @@
+{{#if this}}
+ {{#if reflection}}
+ {{#compact}}
+
+ {{reflection.name}}
+
+ {{#if typeArguments}}
+ <
+
+ {{#each typeArguments}}
+ {{#if @index}}
+ ,
+ {{/if}}{{> type}}
+ {{/each}}
+
+ >
+ {{/if}}
+ {{/compact}}
+ {{else}}
+ {{#if elementType}}
+ {{#with elementType}}
+ {{#compact}}
+ {{#if types}}
+ (
+ {{/if}}
+ {{> type}}
+ {{#if types}}
+ )
+ {{/if}}[]
+ {{/compact}}
+ {{/with}}
+ {{else}}
+ {{#if types}}
+ {{#each types}}
+ {{#if @index}}
+ {{#ifCond ../type '==' 'intersection'}}&{{else}}|{{/ifCond}}
+ {{/if}}{{> type}}
+ {{/each}}
+ {{else}}
+ {{#if elements}}
+ {{#compact}}
+ [
+
+ {{#each elements}}
+ {{#if @index}}
+ ,
+ {{/if}}{{> type}}
+ {{/each}}
+
+ ]
+ {{/compact}}
+ {{else}}
+ {{#compact}}
+
+ {{#if name}}
+ {{name}}
+ {{else}}
+ {{#if value}}
+ "{{value}}"
+ {{else}}
+ {{this}}
+ {{/if}}
+ {{/if}}
+
+ {{#if typeArguments}}
+ <
+
+ {{#each typeArguments}}
+ {{#if @index}}
+ ,
+ {{/if}}{{> type}}
+ {{/each}}
+
+ >
+ {{/if}}
+ {{/compact}}
+ {{/if}}
+ {{/if}}
+ {{/if}}
+ {{/if}}
+{{else}}
+ void
+{{/if}}
diff --git a/openvidu-node-client/config/typedoc/custom-theme/partials/typeAndParent.hbs b/openvidu-node-client/config/typedoc/custom-theme/partials/typeAndParent.hbs
new file mode 100644
index 00000000..02b25f55
--- /dev/null
+++ b/openvidu-node-client/config/typedoc/custom-theme/partials/typeAndParent.hbs
@@ -0,0 +1,42 @@
+{{#compact}}
+ {{#if this}}
+ {{#if elementType}}
+ {{#with elementType}}
+ {{> typeAndParent}}
+ {{/with}}
+ []
+ {{else}}
+ {{#if reflection}}
+ {{#ifSignature reflection}}
+ {{#if reflection.parent.parent.url}}
+ {{reflection.parent.parent.name}}
+ {{else}}
+ {{reflection.parent.parent.name}}
+ {{/if}}
+ .
+ {{#if reflection.parent.url}}
+ {{reflection.parent.name}}
+ {{else}}
+ {{reflection.parent.name}}
+ {{/if}}
+ {{else}}
+ {{#if reflection.parent.url}}
+ {{reflection.parent.name}}
+ {{else}}
+ {{reflection.parent.name}}
+ {{/if}}
+ .
+ {{#if reflection.url}}
+ {{reflection.name}}
+ {{else}}
+ {{reflection.name}}
+ {{/if}}
+ {{/ifSignature}}
+ {{else}}
+ {{this}}
+ {{/if}}
+ {{/if}}
+ {{else}}
+ void
+ {{/if}}
+{{/compact}}
\ No newline at end of file
diff --git a/openvidu-node-client/config/typedoc/custom-theme/partials/typeParameters.hbs b/openvidu-node-client/config/typedoc/custom-theme/partials/typeParameters.hbs
new file mode 100644
index 00000000..35f89d2c
--- /dev/null
+++ b/openvidu-node-client/config/typedoc/custom-theme/partials/typeParameters.hbs
@@ -0,0 +1,14 @@
+
+ {{#each typeParameters}}
+
+ {{#compact}}
+ {{name}}
+ {{#if type}}
+ :
+ {{#with type}}{{> type}}{{/with}}
+ {{/if}}
+ {{/compact}}
+ {{> comment}}
+
+ {{/each}}
+
\ No newline at end of file
diff --git a/openvidu-node-client/config/typedoc/custom-theme/templates/index.hbs b/openvidu-node-client/config/typedoc/custom-theme/templates/index.hbs
new file mode 100644
index 00000000..cf79d3d2
--- /dev/null
+++ b/openvidu-node-client/config/typedoc/custom-theme/templates/index.hbs
@@ -0,0 +1,3 @@
+
+ {{#markdown}}{{{model.readme}}}{{/markdown}}
+
\ No newline at end of file
diff --git a/openvidu-node-client/config/typedoc/custom-theme/templates/reflection.hbs b/openvidu-node-client/config/typedoc/custom-theme/templates/reflection.hbs
new file mode 100644
index 00000000..cdfd9c1e
--- /dev/null
+++ b/openvidu-node-client/config/typedoc/custom-theme/templates/reflection.hbs
@@ -0,0 +1,79 @@
+{{#with model}}
+ {{#if hasComment}}
+
+ {{/if}}
+{{/with}}
+
+{{#if model.typeParameters}}
+
+ Type parameters
+ {{#with model}}{{> typeParameters}}{{/with}}
+
+{{/if}}
+
+{{#if model.typeHierarchy}}
+
+ Hierarchy
+ {{#with model.typeHierarchy}}{{> hierarchy}}{{/with}}
+
+{{/if}}
+
+{{#if model.implementedTypes}}
+
+ Implements
+
+ {{#each model.implementedTypes}}
+ {{> type}}
+ {{/each}}
+
+
+{{/if}}
+
+{{#if model.implementedBy}}
+
+ Implemented by
+
+ {{#each model.implementedBy}}
+ {{> type}}
+ {{/each}}
+
+
+{{/if}}
+
+{{#if model.signatures}}
+
+ Callable
+ {{#with model}}{{> member.signatures}}{{/with}}
+
+{{/if}}
+
+{{#if model.indexSignature}}
+
+ Indexable
+ {{#compact}}
+ [
+ {{#each model.indexSignature.parameters}}
+ {{name}}: {{#with type}}{{>type}}{{/with}}
+ {{/each}}
+ ]:
+ {{#with model.indexSignature.type}}{{>type}}{{/with}}
+ {{/compact}}
+
+ {{#with model.indexSignature}}
+ {{> comment}}
+ {{/with}}
+
+ {{#if model.indexSignature.type.declaration}}
+ {{#with model.indexSignature.type.declaration}}
+ {{> parameter}}
+ {{/with}}
+ {{/if}}
+
+{{/if}}
+
+{{#with model}}
+ {{> index}}
+ {{> members}}
+{{/with}}
\ No newline at end of file
diff --git a/openvidu-node-client/config/typedoc.js b/openvidu-node-client/config/typedoc/typedoc.js
similarity index 59%
rename from openvidu-node-client/config/typedoc.js
rename to openvidu-node-client/config/typedoc/typedoc.js
index 1bd4fc4e..f4182b6f 100644
--- a/openvidu-node-client/config/typedoc.js
+++ b/openvidu-node-client/config/typedoc/typedoc.js
@@ -7,15 +7,20 @@ module.exports = {
],
mode: "file",
module: "commonjs",
- name: "OpenVidu Node Client",
+ name: "OpenVidu Browser",
target: "es5",
externalPattern: "node_modules",
+ exclude: [
+ "**/OpenViduInternal/Interfaces/Private/**",
+ "**/OpenViduInternal/WebRtcStats/WebRtcStats.ts",
+ "**/OpenViduInternal/VersionAdapter.ts"
+ ],
excludeExternals: true,
excludePrivate: true,
- theme: "default",
+ theme: "./config/typedoc/custom-theme/bin",
plugin: [
"typedoc-plugin-sourcefile-url",
],
- 'sourcefile-url-prefix': "https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/",
+ 'sourcefile-url-prefix': "https://github.com/OpenVidu/openvidu/tree/master/openvidu-browser/src/",
readme: "none"
}
\ No newline at end of file
diff --git a/openvidu-node-client/docs/assets/images/icons.png b/openvidu-node-client/docs/assets/images/icons.png
index cb2d1157..3836d5fe 100644
Binary files a/openvidu-node-client/docs/assets/images/icons.png and b/openvidu-node-client/docs/assets/images/icons.png differ
diff --git a/openvidu-node-client/docs/assets/images/icons@2x.png b/openvidu-node-client/docs/assets/images/icons@2x.png
index 8932ba20..5a209e2f 100644
Binary files a/openvidu-node-client/docs/assets/images/icons@2x.png and b/openvidu-node-client/docs/assets/images/icons@2x.png differ
diff --git a/openvidu-node-client/docs/classes/openvidu.html b/openvidu-node-client/docs/classes/openvidu.html
index e543ea29..f1a0bc12 100644
--- a/openvidu-node-client/docs/classes/openvidu.html
+++ b/openvidu-node-client/docs/classes/openvidu.html
@@ -3,10 +3,11 @@
- OpenVidu | OpenVidu Node Client
+ OpenVidu | OpenVidu Browser
+
@@ -22,7 +23,9 @@
Preparing search index...
The search index is not available
- OpenVidu Node Client
+
+
+
+ {{#each tags}} +- {{tagName}}
+ - {{#markdown}}{{{text}}}{{/markdown}}
+ {{/each}}
+
+ {{/if}} +