diff --git a/CHANGELOG.md b/CHANGELOG.md
index 470fc4ea..5204ab09 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,38 @@
### [@coreui/angular](https://coreui.io/) changelog
+##### `v2.5.4`
+- refactor(sidebar): move INavData interface to @coreui/angular library - thanks @Fredx87 #72
+- refactor(sidebar): add pipe SidebarNavItemClass #74
+- refactor(sidebar): use pipes in sidebar-nav-dropdown - thanks @coyoteecd #74
+- refactor(sidebar): use pipes in sidebar-nav-items pipe #74
+- refactor(sidebar): sidebar-nav-service cleanup
+- refactor: public_api
+
+###### dependencies update
+- update `@angular/animations` to `^8.2.7`
+- update `@angular/common` to `^8.2.7`
+- update `@angular/compiler` to `^8.2.7`
+- update `@angular/core` to `^8.2.7`
+- update `@angular/forms` to `^8.2.7`
+- update `@angular/platform-browser` to `^8.2.7`
+- update `@angular/platform-browser-dynamic` to `^8.2.7`
+- update `@angular/router` to `^8.2.7`
+- update `rxjs` to `^6.5.3`
+- update `zone.js` to `^0.10.2`
+- update `@angular-devkit/build-angular` to `^0.803.5`
+- update `@angular-devkit/build-ng-packagr` to `^0.803.5`
+- update `@angular/cli` to `^8.3.5`
+- update `@angular/compiler-cli` to `^8.2.7`
+- update `@angular/language-service` to `^8.2.7`
+- update `@types/jasmine` to `^3.4.0`
+- update `@types/node` to `^11.13.20`
+- update `codelyzer` to `^5.1.1`
+- update `karma` to `^4.3.0`
+- update `ng-packagr` to `^5.5.1`
+- update `ts-node` to `^8.4.1`
+- update `tsickle` to `~0.37.0`
+- update `tslint` to `^5.20.0`
+
##### `v2.5.3`
- fix(sidebar): performance issues with app-sidebar-nav components due to ngClass bindings - thanks @coyoteecd #74
- fix(sidebar): app-sidebar-nav-label.component sets an incomplete variant style - thanks @coyoteecd closes #75
diff --git a/README.md b/README.md
index 5aadfe82..367832cf 100644
--- a/README.md
+++ b/README.md
@@ -8,7 +8,7 @@
[](https://github.com/coreui/coreui)
[![npm package][npm-coreui-badge]][npm-coreui]
[![NPM downloads][npm-coreui-download]][npm-coreui]
-
+
[npm-coreui-angular]: https://www.npmjs.com/package/@coreui/angular
[npm-coreui-angular-badge]: https://img.shields.io/npm/v/@coreui/angular.png?style=flat-square
diff --git a/dist/@coreui/angular/README.md b/dist/@coreui/angular/README.md
index f136003c..daa168f4 100644
--- a/dist/@coreui/angular/README.md
+++ b/dist/@coreui/angular/README.md
@@ -8,7 +8,7 @@
[](https://github.com/coreui/coreui)
[![npm package][npm-coreui-badge]][npm-coreui]
[![NPM downloads][npm-coreui-download]][npm-coreui]
-
+
[npm-coreui-angular]: https://www.npmjs.com/package/@coreui/angular
[npm-coreui-angular-badge]: https://img.shields.io/npm/v/@coreui/angular.png?style=flat-square
diff --git a/dist/@coreui/angular/bundles/coreui-angular.umd.js b/dist/@coreui/angular/bundles/coreui-angular.umd.js
index 17ea742e..7458086c 100644
--- a/dist/@coreui/angular/bundles/coreui-angular.umd.js
+++ b/dist/@coreui/angular/bundles/coreui-angular.umd.js
@@ -1,8 +1,8 @@
(function (global, factory) {
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/common'), require('@angular/core'), require('@angular/router'), require('rxjs'), require('rxjs/operators')) :
- typeof define === 'function' && define.amd ? define('@coreui/angular', ['exports', '@angular/common', '@angular/core', '@angular/router', 'rxjs', 'rxjs/operators'], factory) :
- (global = global || self, factory((global.coreui = global.coreui || {}, global.coreui.angular = {}), global.ng.common, global.ng.core, global.ng.router, global.rxjs, global.rxjs.operators));
-}(this, function (exports, common, core, router, rxjs, operators) { 'use strict';
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/router'), require('rxjs'), require('rxjs/operators')) :
+ typeof define === 'function' && define.amd ? define('@coreui/angular', ['exports', '@angular/core', '@angular/common', '@angular/router', 'rxjs', 'rxjs/operators'], factory) :
+ (global = global || self, factory((global.coreui = global.coreui || {}, global.coreui.angular = {}), global.ng.core, global.ng.common, global.ng.router, global.rxjs, global.rxjs.operators));
+}(this, function (exports, core, common, router, rxjs, operators) { 'use strict';
/**
* @fileoverview added by tsickle
@@ -29,6 +29,43 @@
* @fileoverview added by tsickle
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
+ /** @type {?} */
+ var RemoveClasses = (/**
+ * @param {?} NewClassNames
+ * @return {?}
+ */
+ function (NewClassNames) {
+ /** @type {?} */
+ var MatchClasses = NewClassNames.map((/**
+ * @param {?} Class
+ * @return {?}
+ */
+ function (Class) { return document.body.classList.contains(Class); }));
+ return MatchClasses.indexOf(true) !== -1;
+ });
+ var ɵ0 = RemoveClasses;
+ /** @type {?} */
+ var ToggleClasses = (/**
+ * @param {?} Toggle
+ * @param {?} ClassNames
+ * @return {?}
+ */
+ function (Toggle, ClassNames) {
+ /** @type {?} */
+ var Level = ClassNames.indexOf(Toggle);
+ /** @type {?} */
+ var NewClassNames = ClassNames.slice(0, Level + 1);
+ if (RemoveClasses(NewClassNames)) {
+ NewClassNames.map((/**
+ * @param {?} Class
+ * @return {?}
+ */
+ function (Class) { return document.body.classList.remove(Class); }));
+ }
+ else {
+ document.body.classList.add(Toggle);
+ }
+ });
var ClassToggler = /** @class */ (function () {
function ClassToggler(document, renderer) {
this.document = document;
@@ -89,6 +126,18 @@
]; };
return ClassToggler;
}());
+ if (false) {
+ /**
+ * @type {?}
+ * @private
+ */
+ ClassToggler.prototype.document;
+ /**
+ * @type {?}
+ * @private
+ */
+ ClassToggler.prototype.renderer;
+ }
/**
* @fileoverview added by tsickle
@@ -140,6 +189,17 @@
};
return SidebarToggleDirective;
}());
+ if (false) {
+ /** @type {?} */
+ SidebarToggleDirective.prototype.breakpoint;
+ /** @type {?} */
+ SidebarToggleDirective.prototype.bp;
+ /**
+ * @type {?}
+ * @private
+ */
+ SidebarToggleDirective.prototype.classToggler;
+ }
var SidebarMinimizeDirective = /** @class */ (function () {
function SidebarMinimizeDirective(document, renderer) {
this.document = document;
@@ -176,6 +236,18 @@
};
return SidebarMinimizeDirective;
}());
+ if (false) {
+ /**
+ * @type {?}
+ * @private
+ */
+ SidebarMinimizeDirective.prototype.document;
+ /**
+ * @type {?}
+ * @private
+ */
+ SidebarMinimizeDirective.prototype.renderer;
+ }
var MobileSidebarToggleDirective = /** @class */ (function () {
function MobileSidebarToggleDirective(document, renderer) {
this.document = document;
@@ -212,6 +284,18 @@
};
return MobileSidebarToggleDirective;
}());
+ if (false) {
+ /**
+ * @type {?}
+ * @private
+ */
+ MobileSidebarToggleDirective.prototype.document;
+ /**
+ * @type {?}
+ * @private
+ */
+ MobileSidebarToggleDirective.prototype.renderer;
+ }
/**
* Allows the off-canvas sidebar to be closed via click.
*/
@@ -253,6 +337,18 @@
};
return SidebarOffCanvasCloseDirective;
}());
+ if (false) {
+ /**
+ * @type {?}
+ * @private
+ */
+ SidebarOffCanvasCloseDirective.prototype.document;
+ /**
+ * @type {?}
+ * @private
+ */
+ SidebarOffCanvasCloseDirective.prototype.renderer;
+ }
var BrandMinimizeDirective = /** @class */ (function () {
function BrandMinimizeDirective(document, renderer) {
this.document = document;
@@ -289,6 +385,18 @@
};
return BrandMinimizeDirective;
}());
+ if (false) {
+ /**
+ * @type {?}
+ * @private
+ */
+ BrandMinimizeDirective.prototype.document;
+ /**
+ * @type {?}
+ * @private
+ */
+ BrandMinimizeDirective.prototype.renderer;
+ }
/**
* Allows the aside to be toggled via click.
*/
@@ -335,6 +443,17 @@
};
return AsideToggleDirective;
}());
+ if (false) {
+ /** @type {?} */
+ AsideToggleDirective.prototype.breakpoint;
+ /** @type {?} */
+ AsideToggleDirective.prototype.bp;
+ /**
+ * @type {?}
+ * @private
+ */
+ AsideToggleDirective.prototype.classToggler;
+ }
var HtmlAttributesDirective = /** @class */ (function () {
function HtmlAttributesDirective(renderer, el) {
this.renderer = renderer;
@@ -434,6 +553,20 @@
};
return HtmlAttributesDirective;
}());
+ if (false) {
+ /** @type {?} */
+ HtmlAttributesDirective.prototype.appHtmlAttr;
+ /**
+ * @type {?}
+ * @private
+ */
+ HtmlAttributesDirective.prototype.renderer;
+ /**
+ * @type {?}
+ * @private
+ */
+ HtmlAttributesDirective.prototype.el;
+ }
/**
* @fileoverview added by tsickle
@@ -473,6 +606,11 @@
return LayoutModule;
}());
+ /**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
+ */
+
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
@@ -494,6 +632,11 @@
parentElement.removeChild(nativeElement);
}
+ /**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
+ */
+
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
@@ -589,6 +732,34 @@
};
return AppAsideComponent;
}());
+ if (false) {
+ /** @type {?} */
+ AppAsideComponent.prototype.display;
+ /** @type {?} */
+ AppAsideComponent.prototype.fixed;
+ /** @type {?} */
+ AppAsideComponent.prototype.offCanvas;
+ /**
+ * @type {?}
+ * @private
+ */
+ AppAsideComponent.prototype.fixedClass;
+ /**
+ * @type {?}
+ * @private
+ */
+ AppAsideComponent.prototype.document;
+ /**
+ * @type {?}
+ * @private
+ */
+ AppAsideComponent.prototype.renderer;
+ /**
+ * @type {?}
+ * @private
+ */
+ AppAsideComponent.prototype.hostElement;
+ }
/**
* @fileoverview added by tsickle
@@ -615,6 +786,16 @@
return AppAsideModule;
}());
+ /**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
+ */
+
+ /**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
+ */
+
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
@@ -681,6 +862,25 @@
]; };
return AppBreadcrumbService;
}());
+ if (false) {
+ /** @type {?} */
+ AppBreadcrumbService.prototype.breadcrumbs;
+ /**
+ * @type {?}
+ * @private
+ */
+ AppBreadcrumbService.prototype._breadcrumbs;
+ /**
+ * @type {?}
+ * @private
+ */
+ AppBreadcrumbService.prototype.router;
+ /**
+ * @type {?}
+ * @private
+ */
+ AppBreadcrumbService.prototype.route;
+ }
/**
* @fileoverview added by tsickle
@@ -746,6 +946,31 @@
};
return AppBreadcrumbComponent;
}());
+ if (false) {
+ /** @type {?} */
+ AppBreadcrumbComponent.prototype.fixed;
+ /** @type {?} */
+ AppBreadcrumbComponent.prototype.breadcrumbs;
+ /**
+ * @type {?}
+ * @private
+ */
+ AppBreadcrumbComponent.prototype.fixedClass;
+ /**
+ * @type {?}
+ * @private
+ */
+ AppBreadcrumbComponent.prototype.document;
+ /**
+ * @type {?}
+ * @private
+ */
+ AppBreadcrumbComponent.prototype.renderer;
+ /** @type {?} */
+ AppBreadcrumbComponent.prototype.service;
+ /** @type {?} */
+ AppBreadcrumbComponent.prototype.el;
+ }
/**
* @fileoverview added by tsickle
@@ -793,6 +1018,7 @@
};
CuiBreadcrumbComponent.decorators = [
{ type: core.Component, args: [{
+ // tslint:disable-next-line:component-selector
selector: 'cui-breadcrumb',
template: "
\r\n \r\n - \r\n {{breadcrumb.label.title}}\r\n {{breadcrumb.label.title}}\r\n
\r\n \r\n \r\n
\r\n"
}] }
@@ -808,6 +1034,29 @@
};
return CuiBreadcrumbComponent;
}());
+ if (false) {
+ /** @type {?} */
+ CuiBreadcrumbComponent.prototype.fixed;
+ /** @type {?} */
+ CuiBreadcrumbComponent.prototype.breadcrumbs;
+ /**
+ * @type {?}
+ * @private
+ */
+ CuiBreadcrumbComponent.prototype.fixedClass;
+ /**
+ * @type {?}
+ * @private
+ */
+ CuiBreadcrumbComponent.prototype.document;
+ /**
+ * @type {?}
+ * @private
+ */
+ CuiBreadcrumbComponent.prototype.renderer;
+ /** @type {?} */
+ CuiBreadcrumbComponent.prototype.service;
+ }
/**
* @fileoverview added by tsickle
@@ -843,6 +1092,16 @@
return AppBreadcrumbModule;
}());
+ /**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
+ */
+
+ /**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
+ */
+
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
@@ -904,6 +1163,30 @@
};
return AppFooterComponent;
}());
+ if (false) {
+ /** @type {?} */
+ AppFooterComponent.prototype.fixed;
+ /**
+ * @type {?}
+ * @private
+ */
+ AppFooterComponent.prototype.fixedClass;
+ /**
+ * @type {?}
+ * @private
+ */
+ AppFooterComponent.prototype.document;
+ /**
+ * @type {?}
+ * @private
+ */
+ AppFooterComponent.prototype.renderer;
+ /**
+ * @type {?}
+ * @private
+ */
+ AppFooterComponent.prototype.hostElement;
+ }
/**
* @fileoverview added by tsickle
@@ -922,6 +1205,16 @@
return AppFooterModule;
}());
+ /**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
+ */
+
+ /**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
+ */
+
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
@@ -1044,6 +1337,65 @@
};
return AppHeaderComponent;
}());
+ if (false) {
+ /** @type {?} */
+ AppHeaderComponent.prototype.fixed;
+ /** @type {?} */
+ AppHeaderComponent.prototype.navbarBrand;
+ /** @type {?} */
+ AppHeaderComponent.prototype.navbarBrandFull;
+ /** @type {?} */
+ AppHeaderComponent.prototype.navbarBrandMinimized;
+ /** @type {?} */
+ AppHeaderComponent.prototype.navbarBrandText;
+ /** @type {?} */
+ AppHeaderComponent.prototype.navbarBrandHref;
+ /** @type {?} */
+ AppHeaderComponent.prototype.navbarBrandRouterLink;
+ /** @type {?} */
+ AppHeaderComponent.prototype.sidebarToggler;
+ /** @type {?} */
+ AppHeaderComponent.prototype.mobileSidebarToggler;
+ /** @type {?} */
+ AppHeaderComponent.prototype.asideMenuToggler;
+ /** @type {?} */
+ AppHeaderComponent.prototype.mobileAsideMenuToggler;
+ /**
+ * @type {?}
+ * @private
+ */
+ AppHeaderComponent.prototype.fixedClass;
+ /** @type {?} */
+ AppHeaderComponent.prototype.navbarBrandImg;
+ /**
+ * @type {?}
+ * @private
+ */
+ AppHeaderComponent.prototype.breakpoints;
+ /** @type {?} */
+ AppHeaderComponent.prototype.sidebarTogglerClass;
+ /** @type {?} */
+ AppHeaderComponent.prototype.sidebarTogglerMobileClass;
+ /** @type {?} */
+ AppHeaderComponent.prototype.asideTogglerClass;
+ /** @type {?} */
+ AppHeaderComponent.prototype.asideTogglerMobileClass;
+ /**
+ * @type {?}
+ * @private
+ */
+ AppHeaderComponent.prototype.document;
+ /**
+ * @type {?}
+ * @private
+ */
+ AppHeaderComponent.prototype.renderer;
+ /**
+ * @type {?}
+ * @private
+ */
+ AppHeaderComponent.prototype.hostElement;
+ }
/**
* @fileoverview added by tsickle
@@ -1071,6 +1423,16 @@
return AppHeaderModule;
}());
+ /**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
+ */
+
+ /**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
+ */
+
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
@@ -1197,6 +1559,33 @@
};
return AppSidebarComponent;
}());
+ if (false) {
+ /** @type {?} */
+ AppSidebarComponent.prototype.compact;
+ /** @type {?} */
+ AppSidebarComponent.prototype.display;
+ /** @type {?} */
+ AppSidebarComponent.prototype.fixed;
+ /** @type {?} */
+ AppSidebarComponent.prototype.minimized;
+ /** @type {?} */
+ AppSidebarComponent.prototype.offCanvas;
+ /**
+ * @type {?}
+ * @private
+ */
+ AppSidebarComponent.prototype.document;
+ /**
+ * @type {?}
+ * @private
+ */
+ AppSidebarComponent.prototype.renderer;
+ /**
+ * @type {?}
+ * @private
+ */
+ AppSidebarComponent.prototype.hostElement;
+ }
/**
* @fileoverview added by tsickle
@@ -1228,6 +1617,18 @@
]; };
return AppSidebarFooterComponent;
}());
+ if (false) {
+ /**
+ * @type {?}
+ * @private
+ */
+ AppSidebarFooterComponent.prototype.renderer;
+ /**
+ * @type {?}
+ * @private
+ */
+ AppSidebarFooterComponent.prototype.hostElement;
+ }
/**
* @fileoverview added by tsickle
@@ -1259,6 +1660,18 @@
]; };
return AppSidebarFormComponent;
}());
+ if (false) {
+ /**
+ * @type {?}
+ * @private
+ */
+ AppSidebarFormComponent.prototype.renderer;
+ /**
+ * @type {?}
+ * @private
+ */
+ AppSidebarFormComponent.prototype.hostElement;
+ }
/**
* @fileoverview added by tsickle
@@ -1290,6 +1703,18 @@
]; };
return AppSidebarHeaderComponent;
}());
+ if (false) {
+ /**
+ * @type {?}
+ * @private
+ */
+ AppSidebarHeaderComponent.prototype.renderer;
+ /**
+ * @type {?}
+ * @private
+ */
+ AppSidebarHeaderComponent.prototype.hostElement;
+ }
/**
* @fileoverview added by tsickle
@@ -1347,6 +1772,25 @@
};
return AppSidebarMinimizerComponent;
}());
+ if (false) {
+ /** @type {?} */
+ AppSidebarMinimizerComponent.prototype.role;
+ /**
+ * @type {?}
+ * @private
+ */
+ AppSidebarMinimizerComponent.prototype.document;
+ /**
+ * @type {?}
+ * @private
+ */
+ AppSidebarMinimizerComponent.prototype.renderer;
+ /**
+ * @type {?}
+ * @private
+ */
+ AppSidebarMinimizerComponent.prototype.hostElement;
+ }
/**
* @fileoverview added by tsickle
@@ -1376,6 +1820,13 @@
]; };
return NavDropdownDirective;
}());
+ if (false) {
+ /**
+ * @type {?}
+ * @private
+ */
+ NavDropdownDirective.prototype.el;
+ }
/**
* Allows the dropdown to be toggled via click.
*/
@@ -1409,6 +1860,13 @@
};
return NavDropdownToggleDirective;
}());
+ if (false) {
+ /**
+ * @type {?}
+ * @private
+ */
+ NavDropdownToggleDirective.prototype.dropdown;
+ }
/**
* @fileoverview added by tsickle
@@ -1419,7 +1877,9 @@
this.router = router;
this.renderer = renderer;
this.hostElement = hostElement;
+ this.navItems = [];
this.role = 'nav';
+ this.navItemsArray = [];
renderer.addClass(hostElement.nativeElement, 'sidebar-nav');
}
/**
@@ -1431,7 +1891,7 @@
* @return {?}
*/
function (changes) {
- this.navItemsArray = JSON.parse(JSON.stringify(this.navItems || []));
+ this.navItemsArray = Array.isArray(this.navItems) ? this.navItems.slice() : [];
};
AppSidebarNavComponent.decorators = [
{ type: core.Component, args: [{
@@ -1451,6 +1911,26 @@
};
return AppSidebarNavComponent;
}());
+ if (false) {
+ /** @type {?} */
+ AppSidebarNavComponent.prototype.navItems;
+ /** @type {?} */
+ AppSidebarNavComponent.prototype.role;
+ /** @type {?} */
+ AppSidebarNavComponent.prototype.navItemsArray;
+ /** @type {?} */
+ AppSidebarNavComponent.prototype.router;
+ /**
+ * @type {?}
+ * @private
+ */
+ AppSidebarNavComponent.prototype.renderer;
+ /**
+ * @type {?}
+ * @private
+ */
+ AppSidebarNavComponent.prototype.hostElement;
+ }
/**
* @fileoverview added by tsickle
@@ -1479,11 +1959,34 @@
};
return AppSidebarNavDividerComponent;
}());
+ if (false) {
+ /** @type {?} */
+ AppSidebarNavDividerComponent.prototype.item;
+ }
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
+ /**
+ * @abstract
+ */
+ var SidebarNavService = /** @class */ (function () {
+ function SidebarNavService() {
+ }
+ SidebarNavService.decorators = [
+ { type: core.Injectable }
+ ];
+ return SidebarNavService;
+ }());
+ if (false) {
+ /**
+ * Returns a sidebar-nav items config NavData
+ * @abstract
+ * @return {?}
+ */
+ SidebarNavService.prototype.getSidebarNavItemsConfig = function () { };
+ }
var SidebarNavHelper = /** @class */ (function () {
function SidebarNavHelper() {
this.hasBadge = (/**
@@ -1525,30 +2028,6 @@
return 'link';
}
};
- /**
- * @param {?} item
- * @return {?}
- */
- SidebarNavHelper.prototype.getClass = /**
- * @param {?} item
- * @return {?}
- */
- function (item) {
- /** @type {?} */
- var itemType = this.itemType(item);
- /** @type {?} */
- var itemClass;
- if (['divider', 'title'].includes(itemType)) {
- itemClass = "nav-" + itemType;
- }
- else if (itemType === 'dropdown') {
- itemClass = 'nav-item nav-dropdown';
- }
- else {
- itemClass = 'nav-item';
- }
- return item.class ? itemClass + " " + item.class : itemClass;
- };
/**
* @param {?} router
* @param {?} item
@@ -1577,29 +2056,17 @@
};
/** @type {?} */
var icon = item.icon;
- classes[icon] = !!item.icon;
- return classes;
- };
- /**
- * @param {?} item
- * @return {?}
- */
- SidebarNavHelper.prototype.getBadgeClass = /**
- * @param {?} item
- * @return {?}
- */
- function (item) {
- /** @type {?} */
- var classes = {
- 'badge': true
- };
- /** @type {?} */
- var variant = "badge-" + item.badge.variant;
- classes[variant] = !!item.badge.variant;
+ classes[icon] = this.hasIcon(item);
return classes;
};
return SidebarNavHelper;
}());
+ if (false) {
+ /** @type {?} */
+ SidebarNavHelper.prototype.hasBadge;
+ /** @type {?} */
+ SidebarNavHelper.prototype.hasIcon;
+ }
/**
* @fileoverview added by tsickle
@@ -1612,7 +2079,7 @@
AppSidebarNavDropdownComponent.decorators = [
{ type: core.Component, args: [{
selector: 'app-sidebar-nav-dropdown',
- template: "\n \n \n {{item.name}}\n {{ item.badge.text }}\n \n \n \n ",
+ template: "\n \n \n {{item.name}}\n {{ item.badge.text }}\n \n \n \n ",
providers: [SidebarNavHelper],
styles: ['.nav-dropdown-toggle { cursor: pointer; }',
'.nav-dropdown-items { display: block; }']
@@ -1627,6 +2094,12 @@
};
return AppSidebarNavDropdownComponent;
}());
+ if (false) {
+ /** @type {?} */
+ AppSidebarNavDropdownComponent.prototype.item;
+ /** @type {?} */
+ AppSidebarNavDropdownComponent.prototype.helper;
+ }
/**
* @fileoverview added by tsickle
@@ -1640,7 +2113,7 @@
AppSidebarNavItemsComponent.decorators = [
{ type: core.Component, args: [{
selector: 'app-sidebar-nav-items',
- template: "\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n "
+ template: "\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n "
}] }
];
/** @nocollapse */
@@ -1653,6 +2126,14 @@
};
return AppSidebarNavItemsComponent;
}());
+ if (false) {
+ /** @type {?} */
+ AppSidebarNavItemsComponent.prototype.items;
+ /** @type {?} */
+ AppSidebarNavItemsComponent.prototype.router;
+ /** @type {?} */
+ AppSidebarNavItemsComponent.prototype.helper;
+ }
/**
* @fileoverview added by tsickle
@@ -1743,7 +2224,7 @@
AppSidebarNavLinkComponent.decorators = [
{ type: core.Component, args: [{
selector: 'app-sidebar-nav-link',
- template: "\n \n \n {{item.name}}\n {{ item.badge.text }}\n \n \n \n {{item.name}}\n {{ item.badge.text }}\n \n\n",
+ template: "\r\n \r\n \r\n {{item.name}}\r\n {{ item.badge.text }}\r\n \r\n \r\n \r\n {{item.name}}\r\n {{ item.badge.text }}\r\n \r\n\r\n",
providers: [SidebarNavHelper]
}] }
];
@@ -1758,6 +2239,31 @@
};
return AppSidebarNavLinkComponent;
}());
+ if (false) {
+ /** @type {?} */
+ AppSidebarNavLinkComponent.prototype.item;
+ /** @type {?} */
+ AppSidebarNavLinkComponent.prototype.linkType;
+ /** @type {?} */
+ AppSidebarNavLinkComponent.prototype.href;
+ /**
+ * @type {?}
+ * @private
+ */
+ AppSidebarNavLinkComponent.prototype.classes;
+ /**
+ * @type {?}
+ * @private
+ */
+ AppSidebarNavLinkComponent.prototype.document;
+ /**
+ * @type {?}
+ * @private
+ */
+ AppSidebarNavLinkComponent.prototype.renderer;
+ /** @type {?} */
+ AppSidebarNavLinkComponent.prototype.helper;
+ }
/**
* @fileoverview added by tsickle
@@ -1900,6 +2406,20 @@
};
return AppSidebarNavTitleComponent;
}());
+ if (false) {
+ /** @type {?} */
+ AppSidebarNavTitleComponent.prototype.item;
+ /**
+ * @type {?}
+ * @private
+ */
+ AppSidebarNavTitleComponent.prototype.el;
+ /**
+ * @type {?}
+ * @private
+ */
+ AppSidebarNavTitleComponent.prototype.renderer;
+ }
/**
* @fileoverview added by tsickle
@@ -1953,7 +2473,7 @@
AppSidebarNavLabelComponent.decorators = [
{ type: core.Component, args: [{
selector: 'app-sidebar-nav-label',
- template: "\n \n {{item.name}}\n {{ item.badge.text }}\n\n"
+ template: "\r\n \r\n {{item.name}}\r\n {{ item.badge.text }}\r\n\r\n"
}] }
];
/** @nocollapse */
@@ -1965,6 +2485,22 @@
};
return AppSidebarNavLabelComponent;
}());
+ if (false) {
+ /** @type {?} */
+ AppSidebarNavLabelComponent.prototype.item;
+ /**
+ * @type {?}
+ * @private
+ */
+ AppSidebarNavLabelComponent.prototype.classes;
+ /**
+ * @type {?}
+ * @private
+ */
+ AppSidebarNavLabelComponent.prototype.iconClasses;
+ /** @type {?} */
+ AppSidebarNavLabelComponent.prototype.helper;
+ }
/**
* @fileoverview added by tsickle
@@ -2036,6 +2572,60 @@
return AppSidebarNavBadgePipe;
}());
+ /**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
+ */
+ var AppSidebarNavItemClassPipe = /** @class */ (function () {
+ function AppSidebarNavItemClassPipe(helper) {
+ this.helper = helper;
+ }
+ /**
+ * @param {?} item
+ * @param {...?} args
+ * @return {?}
+ */
+ AppSidebarNavItemClassPipe.prototype.transform = /**
+ * @param {?} item
+ * @param {...?} args
+ * @return {?}
+ */
+ function (item) {
+ var args = [];
+ for (var _i = 1; _i < arguments.length; _i++) {
+ args[_i - 1] = arguments[_i];
+ }
+ /** @type {?} */
+ var itemType = this.helper.itemType(item);
+ /** @type {?} */
+ var itemClass;
+ if (['divider', 'title'].includes(itemType)) {
+ itemClass = "nav-" + itemType;
+ }
+ else if (itemType === 'dropdown') {
+ itemClass = 'nav-item nav-dropdown';
+ }
+ else {
+ itemClass = 'nav-item';
+ }
+ return item.class ? itemClass + " " + item.class : itemClass;
+ };
+ AppSidebarNavItemClassPipe.decorators = [
+ { type: core.Pipe, args: [{
+ name: 'appSidebarNavItemClass'
+ },] }
+ ];
+ /** @nocollapse */
+ AppSidebarNavItemClassPipe.ctorParameters = function () { return [
+ { type: SidebarNavHelper }
+ ]; };
+ return AppSidebarNavItemClassPipe;
+ }());
+ if (false) {
+ /** @type {?} */
+ AppSidebarNavItemClassPipe.prototype.helper;
+ }
+
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
@@ -2083,7 +2673,8 @@
NavDropdownToggleDirective,
AppSidebarNavLabelComponent,
AppSidebarNavIconPipe,
- AppSidebarNavBadgePipe
+ AppSidebarNavBadgePipe,
+ AppSidebarNavItemClassPipe
],
providers: [
SidebarNavHelper
@@ -2093,43 +2684,17 @@
return AppSidebarModule;
}());
+ exports.AppAsideComponent = AppAsideComponent;
exports.AppAsideModule = AppAsideModule;
+ exports.AppBreadcrumbComponent = AppBreadcrumbComponent;
exports.AppBreadcrumbModule = AppBreadcrumbModule;
+ exports.AppBreadcrumbService = AppBreadcrumbService;
+ exports.AppFooterComponent = AppFooterComponent;
exports.AppFooterModule = AppFooterModule;
+ exports.AppHeaderComponent = AppHeaderComponent;
exports.AppHeaderModule = AppHeaderModule;
+ exports.AppSidebarComponent = AppSidebarComponent;
exports.AppSidebarModule = AppSidebarModule;
- exports.ɵa = LayoutModule;
- exports.ɵb = SidebarToggleDirective;
- exports.ɵba = AppSidebarNavTitleComponent;
- exports.ɵbb = NavDropdownDirective;
- exports.ɵbc = NavDropdownToggleDirective;
- exports.ɵbd = AppSidebarNavLabelComponent;
- exports.ɵbe = AppSidebarNavIconPipe;
- exports.ɵbf = AppSidebarNavBadgePipe;
- exports.ɵc = SidebarMinimizeDirective;
- exports.ɵd = MobileSidebarToggleDirective;
- exports.ɵe = SidebarOffCanvasCloseDirective;
- exports.ɵf = BrandMinimizeDirective;
- exports.ɵg = AsideToggleDirective;
- exports.ɵh = HtmlAttributesDirective;
- exports.ɵi = ClassToggler;
- exports.ɵj = AppAsideComponent;
- exports.ɵk = AppBreadcrumbComponent;
- exports.ɵl = AppBreadcrumbService;
- exports.ɵm = CuiBreadcrumbComponent;
- exports.ɵn = AppFooterComponent;
- exports.ɵo = AppHeaderComponent;
- exports.ɵp = AppSidebarFooterComponent;
- exports.ɵq = AppSidebarFormComponent;
- exports.ɵr = AppSidebarHeaderComponent;
- exports.ɵs = AppSidebarMinimizerComponent;
- exports.ɵt = AppSidebarComponent;
- exports.ɵu = AppSidebarNavItemsComponent;
- exports.ɵv = SidebarNavHelper;
- exports.ɵw = AppSidebarNavComponent;
- exports.ɵx = AppSidebarNavDividerComponent;
- exports.ɵy = AppSidebarNavDropdownComponent;
- exports.ɵz = AppSidebarNavLinkComponent;
Object.defineProperty(exports, '__esModule', { value: true });
diff --git a/dist/@coreui/angular/bundles/coreui-angular.umd.js.map b/dist/@coreui/angular/bundles/coreui-angular.umd.js.map
index 3158c28f..625dc7f3 100644
--- a/dist/@coreui/angular/bundles/coreui-angular.umd.js.map
+++ b/dist/@coreui/angular/bundles/coreui-angular.umd.js.map
@@ -1 +1 @@
-{"version":3,"file":"coreui-angular.umd.js","sources":["ng://@coreui/angular/lib/shared/classes.ts","ng://@coreui/angular/lib/shared/toggle-classes.ts","ng://@coreui/angular/lib/shared/layout/layout.directive.ts","ng://@coreui/angular/lib/shared/layout/layout.module.ts","ng://@coreui/angular/lib/shared/replace.ts","ng://@coreui/angular/lib/aside/app-aside.component.ts","ng://@coreui/angular/lib/aside/app-aside.module.ts","ng://@coreui/angular/lib/breadcrumb/app-breadcrumb.service.ts","ng://@coreui/angular/lib/breadcrumb/app-breadcrumb.component.ts","ng://@coreui/angular/lib/breadcrumb/cui-breadcrumb.component.ts","ng://@coreui/angular/lib/breadcrumb/app-breadcrumb.module.ts","ng://@coreui/angular/lib/footer/app-footer.component.ts","ng://@coreui/angular/lib/footer/app-footer.module.ts","ng://@coreui/angular/lib/header/app-header.component.ts","ng://@coreui/angular/lib/header/app-header.module.ts","ng://@coreui/angular/lib/sidebar/app-sidebar.component.ts","ng://@coreui/angular/lib/sidebar/app-sidebar-footer.component.ts","ng://@coreui/angular/lib/sidebar/app-sidebar-form.component.ts","ng://@coreui/angular/lib/sidebar/app-sidebar-header.component.ts","ng://@coreui/angular/lib/sidebar/app-sidebar-minimizer.component.ts","ng://@coreui/angular/lib/sidebar/app-sidebar-nav.directive.ts","ng://@coreui/angular/lib/sidebar/app-sidebar-nav.component.ts","ng://@coreui/angular/lib/sidebar/app-sidebar-nav/app-sidebar-nav-divider.component.ts","ng://@coreui/angular/lib/sidebar/app-sidebar-nav.service.ts","ng://@coreui/angular/lib/sidebar/app-sidebar-nav/app-sidebar-nav-dropdown.component.ts","ng://@coreui/angular/lib/sidebar/app-sidebar-nav/app-sidebar-nav-items.component.ts","ng://@coreui/angular/lib/sidebar/app-sidebar-nav/app-sidebar-nav-link.component.ts","ng://@coreui/angular/lib/sidebar/app-sidebar-nav/app-sidebar-nav-title.component.ts","ng://@coreui/angular/lib/sidebar/app-sidebar-nav/app-sidebar-nav-label.component.ts","ng://@coreui/angular/lib/sidebar/app-sidebar-nav/app-sidebar-nav-icon.pipe.ts","ng://@coreui/angular/lib/sidebar/app-sidebar-nav/app-sidebar-nav-badge.pipe.ts","ng://@coreui/angular/lib/sidebar/app-sidebar.module.ts"],"sourcesContent":["export const sidebarCssClasses: Array = [\r\n 'sidebar-show',\r\n 'sidebar-sm-show',\r\n 'sidebar-md-show',\r\n 'sidebar-lg-show',\r\n 'sidebar-xl-show'\r\n];\r\n\r\nexport const asideMenuCssClasses: Array = [\r\n 'aside-menu-show',\r\n 'aside-menu-sm-show',\r\n 'aside-menu-md-show',\r\n 'aside-menu-lg-show',\r\n 'aside-menu-xl-show'\r\n];\r\n","import {Inject, Injectable, Renderer2} from '@angular/core';\r\nimport {DOCUMENT} from '@angular/common';\r\n\r\nconst RemoveClasses = (NewClassNames) => {\r\n const MatchClasses = NewClassNames.map((Class) => document.body.classList.contains(Class));\r\n return MatchClasses.indexOf(true) !== -1;\r\n};\r\n\r\nexport const ToggleClasses = (Toggle, ClassNames) => {\r\n const Level = ClassNames.indexOf(Toggle);\r\n const NewClassNames = ClassNames.slice(0, Level + 1);\r\n\r\n if (RemoveClasses(NewClassNames)) {\r\n NewClassNames.map((Class) => document.body.classList.remove(Class));\r\n } else {\r\n document.body.classList.add(Toggle);\r\n }\r\n};\r\n\r\n@Injectable()\r\nexport class ClassToggler {\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private document: any,\r\n private renderer: Renderer2,\r\n ) {}\r\n\r\n removeClasses(NewClassNames) {\r\n const MatchClasses = NewClassNames.map((Class) => this.document.body.classList.contains(Class));\r\n return MatchClasses.indexOf(true) !== -1;\r\n }\r\n\r\n toggleClasses(Toggle, ClassNames) {\r\n const Level = ClassNames.indexOf(Toggle);\r\n const NewClassNames = ClassNames.slice(0, Level + 1);\r\n\r\n if (this.removeClasses(NewClassNames)) {\r\n NewClassNames.map((Class) => this.renderer.removeClass(this.document.body, Class));\r\n } else {\r\n this.renderer.addClass(this.document.body, Toggle);\r\n }\r\n }\r\n}\r\n","import {Directive, ElementRef, HostListener, Inject, Input, OnInit, Renderer2} from '@angular/core';\r\nimport {DOCUMENT} from '@angular/common';\r\n\r\nimport { asideMenuCssClasses, sidebarCssClasses } from '../classes';\r\nimport { ClassToggler } from '../toggle-classes';\r\n\r\n/**\r\n* Allows the sidebar to be toggled via click.\r\n*/\r\n@Directive({\r\n selector: '[appSidebarToggler]',\r\n providers: [ClassToggler]\r\n})\r\nexport class SidebarToggleDirective implements OnInit {\r\n @Input('appSidebarToggler') breakpoint: string;\r\n public bp;\r\n constructor(private classToggler: ClassToggler) {}\r\n ngOnInit(): void {\r\n this.bp = this.breakpoint;\r\n }\r\n @HostListener('click', ['$event'])\r\n toggleOpen($event: any) {\r\n $event.preventDefault();\r\n const cssClass = this.bp ? `sidebar-${this.bp}-show` : sidebarCssClasses[0];\r\n this.classToggler.toggleClasses(cssClass, sidebarCssClasses);\r\n }\r\n}\r\n\r\n@Directive({\r\n selector: '[appSidebarMinimizer]'\r\n})\r\nexport class SidebarMinimizeDirective {\r\n constructor(\r\n @Inject(DOCUMENT) private document: any,\r\n private renderer: Renderer2,\r\n ) { }\r\n\r\n @HostListener('click', ['$event'])\r\n toggleOpen($event: any) {\r\n $event.preventDefault();\r\n const body = this.document.body;\r\n body.classList.contains('sidebar-minimized') ?\r\n this.renderer.removeClass(body, 'sidebar-minimized') :\r\n this.renderer.addClass(body, 'sidebar-minimized');\r\n }\r\n}\r\n\r\n@Directive({\r\n selector: '[appMobileSidebarToggler]'\r\n})\r\nexport class MobileSidebarToggleDirective {\r\n constructor(\r\n @Inject(DOCUMENT) private document: any,\r\n private renderer: Renderer2,\r\n ) { }\r\n\r\n @HostListener('click', ['$event'])\r\n toggleOpen($event: any) {\r\n $event.preventDefault();\r\n const body = this.document.body;\r\n body.classList.contains('sidebar-show') ?\r\n this.renderer.removeClass(body, 'sidebar-show') :\r\n this.renderer.addClass(body, 'sidebar-show');\r\n }\r\n}\r\n\r\n/**\r\n* Allows the off-canvas sidebar to be closed via click.\r\n*/\r\n@Directive({\r\n selector: '[appSidebarClose]'\r\n})\r\nexport class SidebarOffCanvasCloseDirective {\r\n constructor(\r\n @Inject(DOCUMENT) private document: any,\r\n private renderer: Renderer2,\r\n ) { }\r\n\r\n @HostListener('click', ['$event'])\r\n toggleOpen($event: any) {\r\n $event.preventDefault();\r\n\r\n const body = this.document.body;\r\n if (body.classList.contains('sidebar-off-canvas')) {\r\n body.classList.contains('sidebar-show') ?\r\n this.renderer.removeClass(body, 'sidebar-show') :\r\n this.renderer.addClass(body, 'sidebar-show');\r\n }\r\n }\r\n}\r\n\r\n@Directive({\r\n selector: '[appBrandMinimizer]'\r\n})\r\nexport class BrandMinimizeDirective {\r\n constructor(\r\n @Inject(DOCUMENT) private document: any,\r\n private renderer: Renderer2,\r\n ) { }\r\n\r\n @HostListener('click', ['$event'])\r\n toggleOpen($event: any) {\r\n $event.preventDefault();\r\n const body = this.document.body;\r\n body.classList.contains('brand-minimized') ?\r\n this.renderer.removeClass(body, 'brand-minimized') :\r\n this.renderer.addClass(body, 'brand-minimized');\r\n }\r\n}\r\n\r\n\r\n/**\r\n* Allows the aside to be toggled via click.\r\n*/\r\n@Directive({\r\n selector: '[appAsideMenuToggler]',\r\n providers: [ClassToggler]\r\n})\r\nexport class AsideToggleDirective implements OnInit {\r\n @Input('appAsideMenuToggler') breakpoint: string;\r\n public bp;\r\n constructor(private classToggler: ClassToggler) {}\r\n ngOnInit(): void {\r\n this.bp = this.breakpoint;\r\n }\r\n @HostListener('click', ['$event'])\r\n toggleOpen($event: any) {\r\n $event.preventDefault();\r\n const cssClass = this.bp ? `aside-menu-${this.bp}-show` : asideMenuCssClasses[0];\r\n this.classToggler.toggleClasses(cssClass, asideMenuCssClasses);\r\n }\r\n}\r\n\r\n@Directive({\r\n selector: '[appHtmlAttr]'\r\n})\r\nexport class HtmlAttributesDirective implements OnInit {\r\n @Input() appHtmlAttr: {[key: string]: string };\r\n\r\n constructor(\r\n private renderer: Renderer2,\r\n private el: ElementRef\r\n ) {}\r\n\r\n ngOnInit() {\r\n const attribs = this.appHtmlAttr;\r\n for (const attr in attribs) {\r\n if (attr === 'style' && typeof(attribs[attr]) === 'object' ) {\r\n this.setStyle(attribs[attr]);\r\n } else if (attr === 'class') {\r\n this.addClass(attribs[attr]);\r\n } else {\r\n this.setAttrib(attr, attribs[attr]);\r\n }\r\n }\r\n }\r\n\r\n private setStyle(styles) {\r\n for (const style in styles) {\r\n this.renderer.setStyle(this.el.nativeElement, style, styles[style] );\r\n }\r\n }\r\n\r\n private addClass(classes) {\r\n const classArray = (Array.isArray(classes) ? classes : classes.split(' '));\r\n classArray.filter((element) => element.length > 0).forEach(element => {\r\n this.renderer.addClass(this.el.nativeElement, element );\r\n });\r\n }\r\n\r\n private setAttrib(key, value) {\r\n value !== null ?\r\n this.renderer.setAttribute(this.el.nativeElement, key, value ) :\r\n this.renderer.removeAttribute(this.el.nativeElement, key);\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule} from '@angular/core';\r\nimport {\r\n AsideToggleDirective,\r\n BrandMinimizeDirective,\r\n MobileSidebarToggleDirective,\r\n SidebarToggleDirective,\r\n SidebarMinimizeDirective,\r\n SidebarOffCanvasCloseDirective,\r\n HtmlAttributesDirective\r\n} from './layout.directive';\r\nimport { ClassToggler } from '../toggle-classes';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n AsideToggleDirective,\r\n BrandMinimizeDirective,\r\n MobileSidebarToggleDirective,\r\n SidebarToggleDirective,\r\n SidebarMinimizeDirective,\r\n SidebarOffCanvasCloseDirective,\r\n HtmlAttributesDirective\r\n ],\r\n declarations: [\r\n AsideToggleDirective,\r\n BrandMinimizeDirective,\r\n MobileSidebarToggleDirective,\r\n SidebarToggleDirective,\r\n SidebarMinimizeDirective,\r\n SidebarOffCanvasCloseDirective,\r\n HtmlAttributesDirective\r\n ],\r\n providers: [\r\n ClassToggler\r\n ]\r\n})\r\nexport class LayoutModule { }\r\n","export function Replace(el: any): any {\r\n const nativeElement: HTMLElement = el.nativeElement;\r\n const parentElement: HTMLElement = nativeElement.parentElement;\r\n // move all children out of the element\r\n while (nativeElement.firstChild) {\r\n parentElement.insertBefore(nativeElement.firstChild, nativeElement);\r\n }\r\n // remove the empty element(the host)\r\n parentElement.removeChild(nativeElement);\r\n}\r\n","import {Component, ElementRef, Input, OnInit, OnDestroy, Inject, Renderer2} from '@angular/core';\r\nimport {DOCUMENT} from '@angular/common';\r\n\r\nimport { asideMenuCssClasses } from '../shared';\r\n\r\n@Component({\r\n selector: 'app-aside, cui-aside',\r\n template: ``\r\n})\r\nexport class AppAsideComponent implements OnInit, OnDestroy {\r\n @Input() display: any;\r\n @Input() fixed: boolean;\r\n @Input() offCanvas: boolean;\r\n\r\n private readonly fixedClass = 'aside-menu-fixed';\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private document: any,\r\n private renderer: Renderer2,\r\n private hostElement: ElementRef\r\n ) {\r\n renderer.addClass(hostElement.nativeElement, 'aside-menu');\r\n }\r\n\r\n ngOnInit(): void {\r\n this.isFixed(this.fixed);\r\n this.isOffCanvas(this.offCanvas);\r\n this.displayBreakpoint(this.display);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.renderer.removeClass(this.document.body, this.fixedClass);\r\n }\r\n\r\n isFixed(fixed: boolean = this.fixed): void {\r\n if (fixed) {\r\n this.renderer.addClass(this.document.body, this.fixedClass);\r\n }\r\n }\r\n\r\n isOffCanvas(offCanvas: boolean = this.offCanvas): void {\r\n if (offCanvas) {\r\n this.renderer.addClass(this.document.body, 'aside-menu-off-canvas');\r\n }\r\n }\r\n\r\n displayBreakpoint(display: any = this.display): void {\r\n if (display !== false ) {\r\n const cssClass = this.display ? `aside-menu-${this.display}-show` : asideMenuCssClasses[0];\r\n this.renderer.addClass(this.document.body, cssClass);\r\n }\r\n }\r\n}\r\n","import { CommonModule} from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { LayoutModule } from './../shared/layout/layout.module';\r\n\r\nimport { AppAsideComponent } from './app-aside.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n LayoutModule\r\n ],\r\n exports: [\r\n AppAsideComponent,\r\n LayoutModule\r\n ],\r\n declarations: [\r\n AppAsideComponent\r\n ]\r\n})\r\nexport class AppAsideModule {}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router, ActivatedRoute, NavigationEnd } from '@angular/router';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { filter } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class AppBreadcrumbService {\r\n\r\n breadcrumbs: Observable>;\r\n\r\n private _breadcrumbs: BehaviorSubject>;\r\n\r\n constructor(private router: Router, private route: ActivatedRoute) {\r\n\r\n this._breadcrumbs = new BehaviorSubject