diff --git a/CHANGELOG.md b/CHANGELOG.md
index 39636466..470fc4ea 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,32 @@
### [@coreui/angular](https://coreui.io/) changelog
+##### `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
+
+###### dependencies update
+- update `@angular/animations` to `^8.2.0`
+- update `@angular/common` to `^8.2.0`
+- update `@angular/compiler` to `^8.2.0`
+- update `@angular/core` to `^8.2.0`
+- update `@angular/forms` to `^8.2.0`
+- update `@angular/platform-browser` to `^8.2.0`
+- update `@angular/platform-browser-dynamic` to `^8.2.0`
+- update `@angular/router` to `^8.2.0`
+- update `zone.js` to `~0.10.0`
+- update `@angular-devkit/build-angular` to `^0.802.0`
+- update `@angular-devkit/build-ng-packagr` to `^0.802.0`
+- update `@angular/cli` to `^8.2.0`
+- update `@angular/compiler-cli` to `^8.2.0`
+- update `@angular/language-service` to `^8.2.0`
+- update `@types/jasmine` to `^3.3.16`
+- update `@types/node` to `^11.13.18`
+- update `karma` to `^4.2.0`
+- update `karma-coverage-istanbul-reporter` to `^2.1.0`
+- update `ng-packagr` to `^5.4.3`
+- update `tsickle` to `^0.36.0`
+- update `tslint` to `^5.18.0`
+
##### `v2.5.2`
- refactor(AppHeader): add reactive toggler class based on breakpoint
usage: set toggler breakpoint
diff --git a/dist/@coreui/angular/bundles/coreui-angular.umd.js b/dist/@coreui/angular/bundles/coreui-angular.umd.js
index e5b07678..17ea742e 100644
--- a/dist/@coreui/angular/bundles/coreui-angular.umd.js
+++ b/dist/@coreui/angular/bundles/coreui-angular.umd.js
@@ -6,7 +6,7 @@
/**
* @fileoverview added by tsickle
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/** @type {?} */
var sidebarCssClasses = [
@@ -27,7 +27,7 @@
/**
* @fileoverview added by tsickle
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var ClassToggler = /** @class */ (function () {
function ClassToggler(document, renderer) {
@@ -92,7 +92,7 @@
/**
* @fileoverview added by tsickle
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* Allows the sidebar to be toggled via click.
@@ -437,7 +437,7 @@
/**
* @fileoverview added by tsickle
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var LayoutModule = /** @class */ (function () {
function LayoutModule() {
@@ -475,12 +475,7 @@
/**
* @fileoverview added by tsickle
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
- */
-
- /**
- * @fileoverview added by tsickle
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* @param {?} el
@@ -501,12 +496,7 @@
/**
* @fileoverview added by tsickle
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
- */
-
- /**
- * @fileoverview added by tsickle
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var AppAsideComponent = /** @class */ (function () {
function AppAsideComponent(document, renderer, hostElement) {
@@ -602,7 +592,7 @@
/**
* @fileoverview added by tsickle
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var AppAsideModule = /** @class */ (function () {
function AppAsideModule() {
@@ -627,12 +617,7 @@
/**
* @fileoverview added by tsickle
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
- */
-
- /**
- * @fileoverview added by tsickle
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var AppBreadcrumbService = /** @class */ (function () {
function AppBreadcrumbService(router$1, route) {
@@ -699,7 +684,7 @@
/**
* @fileoverview added by tsickle
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var AppBreadcrumbComponent = /** @class */ (function () {
function AppBreadcrumbComponent(document, renderer, service, el) {
@@ -764,7 +749,7 @@
/**
* @fileoverview added by tsickle
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var CuiBreadcrumbComponent = /** @class */ (function () {
function CuiBreadcrumbComponent(document, renderer, service) {
@@ -826,7 +811,7 @@
/**
* @fileoverview added by tsickle
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
// @dynamic
var AppBreadcrumbModule = /** @class */ (function () {
@@ -860,12 +845,7 @@
/**
* @fileoverview added by tsickle
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
- */
-
- /**
- * @fileoverview added by tsickle
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var AppFooterComponent = /** @class */ (function () {
function AppFooterComponent(document, renderer, hostElement) {
@@ -927,7 +907,7 @@
/**
* @fileoverview added by tsickle
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var AppFooterModule = /** @class */ (function () {
function AppFooterModule() {
@@ -944,12 +924,7 @@
/**
* @fileoverview added by tsickle
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
- */
-
- /**
- * @fileoverview added by tsickle
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var AppHeaderComponent = /** @class */ (function () {
function AppHeaderComponent(document, renderer, hostElement) {
@@ -1045,7 +1020,7 @@
AppHeaderComponent.decorators = [
{ type: core.Component, args: [{
selector: 'app-header, cui-header',
- template: "\n \n\n\n \n
\n
\n
\n \n \n \n \n \n\n\n \n\n\n\n \n\n\n \n\n"
+ template: "\r\n \r\n\r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n\r\n\r\n\r\n \r\n\r\n\r\n \r\n\r\n"
}] }
];
/** @nocollapse */
@@ -1072,7 +1047,7 @@
/**
* @fileoverview added by tsickle
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var AppHeaderModule = /** @class */ (function () {
function AppHeaderModule() {
@@ -1098,12 +1073,7 @@
/**
* @fileoverview added by tsickle
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
- */
-
- /**
- * @fileoverview added by tsickle
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var AppSidebarComponent = /** @class */ (function () {
function AppSidebarComponent(document, renderer, hostElement) {
@@ -1230,7 +1200,7 @@
/**
* @fileoverview added by tsickle
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var AppSidebarFooterComponent = /** @class */ (function () {
function AppSidebarFooterComponent(renderer, hostElement) {
@@ -1261,7 +1231,7 @@
/**
* @fileoverview added by tsickle
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var AppSidebarFormComponent = /** @class */ (function () {
function AppSidebarFormComponent(renderer, hostElement) {
@@ -1292,7 +1262,7 @@
/**
* @fileoverview added by tsickle
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var AppSidebarHeaderComponent = /** @class */ (function () {
function AppSidebarHeaderComponent(renderer, hostElement) {
@@ -1323,7 +1293,7 @@
/**
* @fileoverview added by tsickle
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var AppSidebarMinimizerComponent = /** @class */ (function () {
function AppSidebarMinimizerComponent(document, renderer, hostElement) {
@@ -1380,7 +1350,7 @@
/**
* @fileoverview added by tsickle
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var NavDropdownDirective = /** @class */ (function () {
function NavDropdownDirective(el) {
@@ -1442,7 +1412,7 @@
/**
* @fileoverview added by tsickle
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var AppSidebarNavComponent = /** @class */ (function () {
function AppSidebarNavComponent(router, renderer, hostElement) {
@@ -1484,7 +1454,7 @@
/**
* @fileoverview added by tsickle
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var AppSidebarNavDividerComponent = /** @class */ (function () {
function AppSidebarNavDividerComponent() {
@@ -1512,7 +1482,7 @@
/**
* @fileoverview added by tsickle
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var SidebarNavHelper = /** @class */ (function () {
function SidebarNavHelper() {
@@ -1633,7 +1603,7 @@
/**
* @fileoverview added by tsickle
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var AppSidebarNavDropdownComponent = /** @class */ (function () {
function AppSidebarNavDropdownComponent(helper) {
@@ -1660,7 +1630,7 @@
/**
* @fileoverview added by tsickle
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var AppSidebarNavItemsComponent = /** @class */ (function () {
function AppSidebarNavItemsComponent(router, helper) {
@@ -1686,13 +1656,14 @@
/**
* @fileoverview added by tsickle
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var AppSidebarNavLinkComponent = /** @class */ (function () {
function AppSidebarNavLinkComponent(document, renderer, helper) {
this.document = document;
this.renderer = renderer;
this.helper = helper;
+ this.classes = { 'nav-link': true };
}
/**
* @return {?}
@@ -1713,18 +1684,14 @@
function () {
/** @type {?} */
var disabled = this.isDisabled();
- /** @type {?} */
- var classes = {
- 'nav-link': true,
- 'disabled': disabled,
- 'btn-link': disabled
- };
+ this.classes['disabled'] = disabled;
+ this.classes['btn-link'] = disabled;
if (this.hasVariant()) {
/** @type {?} */
var variant = "nav-link-" + this.item.variant;
- classes[variant] = true;
+ this.classes[variant] = true;
}
- return classes;
+ return this.classes;
};
/**
* @return {?}
@@ -1776,7 +1743,7 @@
AppSidebarNavLinkComponent.decorators = [
{ type: core.Component, args: [{
selector: 'app-sidebar-nav-link',
- 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",
+ template: "\n \n \n {{item.name}}\n {{ item.badge.text }}\n \n \n \n {{item.name}}\n {{ item.badge.text }}\n \n\n",
providers: [SidebarNavHelper]
}] }
];
@@ -1794,7 +1761,7 @@
/**
* @fileoverview added by tsickle
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var AppSidebarNavTitleComponent = /** @class */ (function () {
function AppSidebarNavTitleComponent(el, renderer) {
@@ -1936,11 +1903,16 @@
/**
* @fileoverview added by tsickle
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var AppSidebarNavLabelComponent = /** @class */ (function () {
function AppSidebarNavLabelComponent(helper) {
this.helper = helper;
+ this.classes = {
+ 'nav-label': true,
+ 'active': true
+ };
+ this.iconClasses = {};
}
/**
* @return {?}
@@ -1949,6 +1921,7 @@
* @return {?}
*/
function () {
+ this.iconClasses = this.helper.getIconClass(this.item);
};
/**
* @return {?}
@@ -1957,15 +1930,10 @@
* @return {?}
*/
function () {
- /** @type {?} */
- var labelClass = {
- 'nav-label': true,
- 'active': true
- };
/** @type {?} */
var itemClass = this.item.class;
- labelClass[itemClass] = !!itemClass;
- return labelClass;
+ this.classes[itemClass] = !!itemClass;
+ return this.classes;
};
/**
* @return {?}
@@ -1974,20 +1942,18 @@
* @return {?}
*/
function () {
- /** @type {?} */
- var classes = this.helper.getIconClass(this.item);
/** @type {?} */
var variant = "text-" + this.item.label.variant;
- classes[variant] = !!variant;
+ this.iconClasses[variant] = !!this.item.label.variant;
/** @type {?} */
var labelClass = this.item.label.class;
- classes[labelClass] = !!labelClass;
- return classes;
+ this.iconClasses[labelClass] = !!labelClass;
+ return this.iconClasses;
};
AppSidebarNavLabelComponent.decorators = [
{ type: core.Component, args: [{
selector: 'app-sidebar-nav-label',
- template: "\r\n \r\n {{item.name}}\r\n {{ item.badge.text }}\r\n\r\n"
+ template: "\n \n {{item.name}}\n {{ item.badge.text }}\n\n"
}] }
];
/** @nocollapse */
@@ -2002,7 +1968,77 @@
/**
* @fileoverview added by tsickle
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
+ */
+ var AppSidebarNavIconPipe = /** @class */ (function () {
+ function AppSidebarNavIconPipe() {
+ }
+ /**
+ * @param {?} item
+ * @param {?=} args
+ * @return {?}
+ */
+ AppSidebarNavIconPipe.prototype.transform = /**
+ * @param {?} item
+ * @param {?=} args
+ * @return {?}
+ */
+ function (item, args) {
+ /** @type {?} */
+ var classes = {
+ 'nav-icon': true
+ };
+ /** @type {?} */
+ var icon = item.icon;
+ classes[icon] = !!item.icon;
+ return classes;
+ };
+ AppSidebarNavIconPipe.decorators = [
+ { type: core.Pipe, args: [{
+ name: 'appSidebarNavIcon'
+ },] }
+ ];
+ return AppSidebarNavIconPipe;
+ }());
+
+ /**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
+ */
+ var AppSidebarNavBadgePipe = /** @class */ (function () {
+ function AppSidebarNavBadgePipe() {
+ }
+ /**
+ * @param {?} item
+ * @param {?=} args
+ * @return {?}
+ */
+ AppSidebarNavBadgePipe.prototype.transform = /**
+ * @param {?} item
+ * @param {?=} args
+ * @return {?}
+ */
+ function (item, args) {
+ /** @type {?} */
+ var classes = {
+ 'badge': true
+ };
+ /** @type {?} */
+ var variant = "badge-" + item.badge.variant;
+ classes[variant] = !!item.badge.variant;
+ return classes;
+ };
+ AppSidebarNavBadgePipe.decorators = [
+ { type: core.Pipe, args: [{
+ name: 'appSidebarNavBadge'
+ },] }
+ ];
+ return AppSidebarNavBadgePipe;
+ }());
+
+ /**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var AppSidebarModule = /** @class */ (function () {
function AppSidebarModule() {
@@ -2045,7 +2081,9 @@
AppSidebarNavTitleComponent,
NavDropdownDirective,
NavDropdownToggleDirective,
- AppSidebarNavLabelComponent
+ AppSidebarNavLabelComponent,
+ AppSidebarNavIconPipe,
+ AppSidebarNavBadgePipe
],
providers: [
SidebarNavHelper
@@ -2066,6 +2104,8 @@
exports.ɵbb = NavDropdownDirective;
exports.ɵbc = NavDropdownToggleDirective;
exports.ɵbd = AppSidebarNavLabelComponent;
+ exports.ɵbe = AppSidebarNavIconPipe;
+ exports.ɵbf = AppSidebarNavBadgePipe;
exports.ɵc = SidebarMinimizeDirective;
exports.ɵd = MobileSidebarToggleDirective;
exports.ɵe = SidebarOffCanvasCloseDirective;
diff --git a/dist/@coreui/angular/bundles/coreui-angular.umd.js.map b/dist/@coreui/angular/bundles/coreui-angular.umd.js.map
index bfcd4de7..3158c28f 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.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