raise-common-lib 0.0.22 → 0.0.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/bundles/raise-common-lib.umd.js +82 -42
  2. package/bundles/raise-common-lib.umd.js.map +1 -1
  3. package/bundles/raise-common-lib.umd.min.js +2 -2
  4. package/bundles/raise-common-lib.umd.min.js.map +1 -1
  5. package/esm2015/lib/dialog/common-delete-dialog/index.component.js +2 -2
  6. package/esm2015/lib/dialog/common-dialog/index.component.js +2 -2
  7. package/esm2015/lib/form/checkbox-group/index.component.js +1 -1
  8. package/esm2015/lib/form/radio-group/index.component.js +1 -1
  9. package/esm2015/lib/form/switch-input/index.component.js +1 -1
  10. package/esm2015/lib/layout/multi-tab/index.component.js +1 -1
  11. package/esm2015/lib/layout/rs-aside/index.component.js +25 -9
  12. package/esm2015/lib/layout/rs-header/index.component.js +41 -26
  13. package/esm2015/lib/service/dialog.service.js +2 -2
  14. package/esm2015/lib/service/keep-alive.service.js +11 -6
  15. package/esm5/lib/dialog/common-delete-dialog/index.component.js +2 -2
  16. package/esm5/lib/dialog/common-dialog/index.component.js +2 -2
  17. package/esm5/lib/form/checkbox-group/index.component.js +1 -1
  18. package/esm5/lib/form/radio-group/index.component.js +1 -1
  19. package/esm5/lib/form/switch-input/index.component.js +1 -1
  20. package/esm5/lib/layout/multi-tab/index.component.js +1 -1
  21. package/esm5/lib/layout/rs-aside/index.component.js +26 -9
  22. package/esm5/lib/layout/rs-header/index.component.js +45 -26
  23. package/esm5/lib/service/dialog.service.js +2 -2
  24. package/esm5/lib/service/keep-alive.service.js +11 -6
  25. package/fesm2015/raise-common-lib.js +77 -42
  26. package/fesm2015/raise-common-lib.js.map +1 -1
  27. package/fesm5/raise-common-lib.js +82 -42
  28. package/fesm5/raise-common-lib.js.map +1 -1
  29. package/lib/layout/rs-aside/index.component.d.ts +1 -1
  30. package/lib/layout/rs-header/index.component.d.ts +5 -9
  31. package/package.json +1 -1
  32. package/raise-common-lib.metadata.json +1 -1
  33. package/src/assets/style/reset/checkbox.scss +33 -0
  34. package/src/assets/style/reset/radio.scss +37 -0
  35. package/src/assets/style/reset/switch.scss +32 -0
  36. package/src/assets/style/style.scss +4 -0
@@ -1624,11 +1624,16 @@ var KeepAliveService = /** @class */ (function () {
1624
1624
  * @return {?}
1625
1625
  */
1626
1626
  function (future, curr) {
1627
- console.log("shouldReuseRoute");
1628
- // return this.getRoutePath(future) === this.getRoutePath(curr); // 复用相同的路由
1629
- return (future.routeConfig === curr.routeConfig &&
1630
- JSON.stringify(future.params) === JSON.stringify(curr.params) &&
1631
- JSON.stringify(future.queryParams) === JSON.stringify(curr.queryParams));
1627
+ if (future.routeConfig === curr.routeConfig) {
1628
+ if (future.children.length === 0 && curr.children.length === 0) {
1629
+ // 无子路由时, 通过params和queryParams判断是否复用路由
1630
+ return (JSON.stringify(future.params) === JSON.stringify(curr.params) &&
1631
+ JSON.stringify(future.queryParams) ===
1632
+ JSON.stringify(curr.queryParams));
1633
+ }
1634
+ return true;
1635
+ }
1636
+ return false;
1632
1637
  };
1633
1638
  /**
1634
1639
  * @param {?} route
@@ -2030,26 +2035,37 @@ if (false) {
2030
2035
  */
2031
2036
  var RSHeaderComponent = /** @class */ (function () {
2032
2037
  function RSHeaderComponent() {
2033
- this.toggleMenu = new EventEmitter();
2034
2038
  this.isCollapsed = false; // 接收输入属性
2035
2039
  // 接收输入属性
2036
2040
  this.lastLoginTime = new Date();
2037
- this.langOptions = [
2038
- {
2039
- value: 1,
2040
- text: "English",
2041
- },
2042
- {
2043
- value: 2,
2044
- text: "繁體中文",
2045
- },
2046
- {
2047
- value: 3,
2048
- text: "简体中文",
2049
- },
2050
- ];
2051
- this.currentLang = this.langOptions[0];
2041
+ this.toggleMenu = new EventEmitter();
2042
+ this.changeLanguage = new EventEmitter();
2043
+ this._langOptions = [];
2052
2044
  }
2045
+ Object.defineProperty(RSHeaderComponent.prototype, "langOptions", {
2046
+ get: /**
2047
+ * @return {?}
2048
+ */
2049
+ function () {
2050
+ return this._langOptions;
2051
+ },
2052
+ set: /**
2053
+ * @param {?} options
2054
+ * @return {?}
2055
+ */
2056
+ function (options) {
2057
+ this._langOptions = options;
2058
+ if (options && options.length > 0) {
2059
+ this.currentLang = options.find((/**
2060
+ * @param {?} e
2061
+ * @return {?}
2062
+ */
2063
+ function (e) { return e.defaultLang; }));
2064
+ }
2065
+ },
2066
+ enumerable: true,
2067
+ configurable: true
2068
+ });
2053
2069
  /**
2054
2070
  * @return {?}
2055
2071
  */
@@ -2057,7 +2073,7 @@ var RSHeaderComponent = /** @class */ (function () {
2057
2073
  * @return {?}
2058
2074
  */
2059
2075
  function () {
2060
- this.translation = JSON.parse(localStorage.getItem("translation"));
2076
+ this.translation = JSON.parse(localStorage.getItem("translation")) || {};
2061
2077
  };
2062
2078
  /**
2063
2079
  * @return {?}
@@ -2082,34 +2098,42 @@ var RSHeaderComponent = /** @class */ (function () {
2082
2098
  * @return {?}
2083
2099
  */
2084
2100
  function (item) { return item.text === event.item.text; }));
2101
+ this.changeLanguage.emit(this.currentLang.languageCode);
2085
2102
  };
2086
2103
  RSHeaderComponent.decorators = [
2087
2104
  { type: Component, args: [{
2088
2105
  selector: "rs-header",
2089
- template: "<div class=\"rs-header\">\r\n <div class=\"logo-wrap\">\r\n <div class=\"toggle-menu-wrap\">\r\n <img\r\n class=\"toggle-menu\"\r\n src=\"../../../assets/img/toggle-menu-icon.svg\"\r\n (click)=\"onToggleMenu()\"\r\n />\r\n </div>\r\n <img\r\n class=\"logo\"\r\n src=\"../../../assets/img/raise_logo_main.svg\"\r\n alt=\"logo\"\r\n />\r\n </div>\r\n <div class=\"bread-crumbs-wrap\">\r\n <ng-content select=\"[breadCrumbs]\"></ng-content>\r\n </div>\r\n <div class=\"rs-toolbar-wrap\">\r\n <div class=\"quick-icon-group\">\r\n <ng-content select=\"[toolbar]\"></ng-content>\r\n </div>\r\n <div class=\"line\"></div>\r\n <div class=\"langulage-wrap\">\r\n <button\r\n class=\"e-btn text\"\r\n ejs-dropdownbutton\r\n [items]=\"langOptions\"\r\n (select)=\"selectLanguage($event)\"\r\n >\r\n {{currentLang.text}}\r\n </button>\r\n </div>\r\n <div class=\"line\"></div>\r\n <div class=\"last-login-wrap\">\r\n {{ translation?.LAST_LOGIN || \"Last Login\" }}:\r\n {{ lastLoginTime | date : \"dd MMM yy h:mm a\" }}\r\n </div>\r\n <div class=\"line\"></div>\r\n <div class=\"user-info-wrap\">\r\n <ng-content select=\"[userInfo]\"></ng-content>\r\n </div>\r\n </div>\r\n</div>\r\n",
2090
- styles: [".rs-header{height:50px;background-color:var(--rs-container-bg);display:flex;justify-content:space-between}.rs-header .logo-wrap{width:240px;display:flex;padding:12px 0 0 20px}.rs-header .logo-wrap .toggle-menu-wrap{cursor:pointer;margin-right:8px}.rs-header .logo-wrap .logo{width:77px;height:32px}.rs-header .rs-toolbar-wrap,.rs-header .rs-toolbar-wrap .quick-icon-group{display:flex;align-items:center}.rs-header .rs-toolbar-wrap .quick-icon-group ::ng-deep .header-icon{width:24px;height:24px;display:flex;justify-content:center;align-items:center;margin-right:24px;cursor:pointer}.rs-header .rs-toolbar-wrap .quick-icon-group ::ng-deep .header-icon svg{width:16px;height:16px;color:#6c7c90;stroke:#6c7c90}.rs-header .rs-toolbar-wrap .quick-icon-group ::ng-deep .header-icon:hover{border-radius:4px;background:rgba(31,123,255,.04)}.rs-header .rs-toolbar-wrap .quick-icon-group ::ng-deep .header-icon:hover svg{color:#1f7bff;stroke:#1f7bff}.rs-header .rs-toolbar-wrap .line{width:1px;height:24px;background-color:var(--rs-border-color)}.rs-header .rs-toolbar-wrap .langulage-wrap{padding:0 16px}.rs-header .rs-toolbar-wrap .last-login-wrap{padding:0 16px;color:var(--rs-labels-color);font-size:11px;font-weight:400;line-height:1}.rs-header .rs-toolbar-wrap .user-info-wrap{padding:0 20px 0 16px}"]
2106
+ template: "<div class=\"rs-header\">\r\n <div class=\"logo-wrap\">\r\n <div class=\"toggle-menu-wrap\">\r\n <img\r\n class=\"toggle-menu\"\r\n src=\"../../../assets/img/toggle-menu-icon.svg\"\r\n (click)=\"onToggleMenu()\"\r\n />\r\n </div>\r\n <img\r\n class=\"logo\"\r\n src=\"../../../assets/img/raise_logo_main.svg\"\r\n alt=\"logo\"\r\n />\r\n </div>\r\n <div class=\"content-header-wrap\">\r\n <div class=\"bread-crumbs-wrap\">\r\n <ng-content select=\"[breadCrumbs]\"></ng-content>\r\n </div>\r\n <div class=\"rs-toolbar-wrap\">\r\n <div class=\"quick-icon-group\">\r\n <ng-content select=\"[toolbar]\"></ng-content>\r\n </div>\r\n <div class=\"line\"></div>\r\n <div class=\"langulage-wrap\">\r\n <button\r\n class=\"e-btn text\"\r\n ejs-dropdownbutton\r\n [items]=\"langOptions\"\r\n (select)=\"selectLanguage($event)\"\r\n >\r\n {{ currentLang.text }}\r\n </button>\r\n </div>\r\n <div class=\"line\"></div>\r\n <div class=\"last-login-wrap\">\r\n {{ translation?.LAST_LOGIN || \"Last Login\" }}:\r\n {{ lastLoginTime | date : \"dd MMM yy h:mm a\" }}\r\n </div>\r\n <div class=\"line\"></div>\r\n <div class=\"user-info-wrap\">\r\n <ng-content select=\"[userInfo]\"></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n",
2107
+ styles: [".rs-header{height:50px;background-color:var(--rs-container-bg);display:flex;justify-content:space-between}.rs-header .logo-wrap{width:240px;display:flex;padding:12px 0 0 20px}.rs-header .logo-wrap .toggle-menu-wrap{cursor:pointer;margin-right:8px}.rs-header .logo-wrap .logo{width:77px;height:32px}.rs-header .content-header-wrap{display:flex;justify-content:space-between;align-items:center;flex:1}.rs-header .bread-crumbs-wrap{padding-left:16px}.rs-header .rs-toolbar-wrap,.rs-header .rs-toolbar-wrap .quick-icon-group{display:flex;align-items:center}.rs-header .rs-toolbar-wrap .quick-icon-group ::ng-deep .header-icon{width:24px;height:24px;display:flex;justify-content:center;align-items:center;margin-right:24px;cursor:pointer}.rs-header .rs-toolbar-wrap .quick-icon-group ::ng-deep .header-icon svg{width:16px;height:16px;color:#6c7c90;stroke:#6c7c90}.rs-header .rs-toolbar-wrap .quick-icon-group ::ng-deep .header-icon:hover{border-radius:4px;background:rgba(31,123,255,.04)}.rs-header .rs-toolbar-wrap .quick-icon-group ::ng-deep .header-icon:hover svg{color:#1f7bff;stroke:#1f7bff}.rs-header .rs-toolbar-wrap .line{width:1px;height:24px;background-color:var(--rs-border-color)}.rs-header .rs-toolbar-wrap .langulage-wrap{padding:0 16px}.rs-header .rs-toolbar-wrap .last-login-wrap{padding:0 16px;color:var(--rs-labels-color);font-size:11px;font-weight:400;line-height:1}.rs-header .rs-toolbar-wrap .user-info-wrap{padding:0 20px 0 16px}"]
2091
2108
  }] }
2092
2109
  ];
2093
2110
  RSHeaderComponent.propDecorators = {
2094
- toggleMenu: [{ type: Output }],
2095
2111
  isCollapsed: [{ type: Input }],
2096
- lastLoginTime: [{ type: Input }]
2112
+ lastLoginTime: [{ type: Input }],
2113
+ langOptions: [{ type: Input }],
2114
+ toggleMenu: [{ type: Output }],
2115
+ changeLanguage: [{ type: Output }]
2097
2116
  };
2098
2117
  return RSHeaderComponent;
2099
2118
  }());
2100
2119
  if (false) {
2101
- /** @type {?} */
2102
- RSHeaderComponent.prototype.toggleMenu;
2103
2120
  /** @type {?} */
2104
2121
  RSHeaderComponent.prototype.isCollapsed;
2105
2122
  /** @type {?} */
2106
2123
  RSHeaderComponent.prototype.lastLoginTime;
2107
2124
  /** @type {?} */
2108
- RSHeaderComponent.prototype.translation;
2125
+ RSHeaderComponent.prototype.toggleMenu;
2109
2126
  /** @type {?} */
2110
- RSHeaderComponent.prototype.langOptions;
2127
+ RSHeaderComponent.prototype.changeLanguage;
2128
+ /**
2129
+ * @type {?}
2130
+ * @private
2131
+ */
2132
+ RSHeaderComponent.prototype._langOptions;
2111
2133
  /** @type {?} */
2112
2134
  RSHeaderComponent.prototype.currentLang;
2135
+ /** @type {?} */
2136
+ RSHeaderComponent.prototype.translation;
2113
2137
  }
2114
2138
 
2115
2139
  /**
@@ -2212,7 +2236,7 @@ var RSAsideComponent = /** @class */ (function () {
2212
2236
  this.isCollapsed = false; // 接收输入属性
2213
2237
  // 接收输入属性
2214
2238
  this.navList = [];
2215
- this.currentNav = null;
2239
+ this.currentNav = "";
2216
2240
  }
2217
2241
  /**
2218
2242
  * @return {?}
@@ -2220,7 +2244,23 @@ var RSAsideComponent = /** @class */ (function () {
2220
2244
  RSAsideComponent.prototype.ngOnInit = /**
2221
2245
  * @return {?}
2222
2246
  */
2223
- function () { };
2247
+ function () {
2248
+ var _this = this;
2249
+ this.currentNav = this.router.url;
2250
+ // 监听路由变化
2251
+ this.router.events
2252
+ .pipe(filter((/**
2253
+ * @param {?} event
2254
+ * @return {?}
2255
+ */
2256
+ function (event) { return event instanceof NavigationEnd; })))
2257
+ .subscribe((/**
2258
+ * @return {?}
2259
+ */
2260
+ function () {
2261
+ _this.currentNav = _this.router.url;
2262
+ }));
2263
+ };
2224
2264
  /**
2225
2265
  * @param {?} item
2226
2266
  * @return {?}
@@ -2230,8 +2270,8 @@ var RSAsideComponent = /** @class */ (function () {
2230
2270
  * @return {?}
2231
2271
  */
2232
2272
  function (item) {
2233
- this.currentNav = item.title;
2234
- this.router.navigate([item.url], { state: { title: item.title } });
2273
+ this.currentNav = item.url;
2274
+ this.router.navigate([item.url], { state: { title: item.label } });
2235
2275
  /** @type {?} */
2236
2276
  var screenWidth = window.innerWidth;
2237
2277
  if (screenWidth <= 992 && this.isCollapsed) {
@@ -2241,8 +2281,8 @@ var RSAsideComponent = /** @class */ (function () {
2241
2281
  RSAsideComponent.decorators = [
2242
2282
  { type: Component, args: [{
2243
2283
  selector: "rs-aside",
2244
- template: "<div class=\"rs-aside\" [ngClass]=\"{ isCollapsed: isCollapsed }\">\r\n <div class=\"nav-list\">\r\n <div\r\n class=\"nav-item\"\r\n [ngClass]=\"{ isCurrent: currentNav === nav.title }\"\r\n *ngFor=\"let nav of navList\"\r\n (click)=\"onNavClick(nav)\"\r\n >\r\n <div class=\"nav-item-inner\">\r\n <mat-icon class=\"menu-icon\" [svgIcon]=\"nav.icon\"></mat-icon>\r\n <span class=\"nav-text\" [ngClass]=\"{ isCollapsed: isCollapsed }\">{{\r\n nav.title\r\n }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"bottom-iconbox\" [ngClass]=\"{ isCollapsed: isCollapsed }\">\r\n <ng-content select=\"[bottomIconBox]\"></ng-content>\r\n </div>\r\n</div>\r\n",
2245
- styles: [".rs-aside{display:flex;flex-direction:column;height:100%;width:240px;will-change:width;transition:width .3s;padding-right:16px}.rs-aside.isCollapsed{width:64px;padding-right:0}.rs-aside .nav-list{padding-top:12px;flex:1;overflow:auto;height:0}.rs-aside .nav-list .nav-item{height:32px;cursor:pointer;padding-left:11px}.rs-aside .nav-list .nav-item .nav-item-inner{display:flex;align-items:center;padding:8px 8px 8px 12px}.rs-aside .nav-list .nav-item .nav-item-inner ::ng-deep .menu-icon{width:33px;height:16px}.rs-aside .nav-list .nav-item .nav-item-inner ::ng-deep .menu-icon svg{width:16px;height:16px;color:#6c7c90;stroke:#6c7c90}.rs-aside .nav-list .nav-item:hover .nav-item-inner{border-radius:6px;background:rgba(31,123,255,.04)}.rs-aside .nav-list .nav-item:hover .nav-item-inner ::ng-deep .menu-icon svg{color:#44566c;stroke:#44566c}.rs-aside .nav-list .nav-item .nav-text{color:#5f6f81;font-family:Arial;font-size:12px;font-weight:400;line-height:16px;transition:.3s;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;position:relative;top:1px}@media (min-width:992px){.rs-aside .nav-list .nav-item .nav-text.isCollapsed{opacity:0;width:0}}.rs-aside .nav-list .nav-item.isCurrent{position:relative}.rs-aside .nav-list .nav-item.isCurrent .nav-text{color:#44566c;font-weight:700}.rs-aside .nav-list .nav-item.isCurrent::before{content:\"\";position:absolute;left:4px;top:8px;width:3px;height:16px;background-color:#1364b3;border-radius:2px}.rs-aside .bottom-iconbox{padding:12px 20px;height:48px;display:flex;gap:12px}.rs-aside .bottom-iconbox ::ng-deep .menu-bottom-icon{width:24px;height:24px;display:flex;justify-content:center;align-items:center;border:1px solid #eaedf0;border-radius:24px;cursor:pointer}.rs-aside .bottom-iconbox ::ng-deep .menu-bottom-icon svg{width:16px;height:16px;color:#6c7c90;stroke:#6c7c90}.rs-aside .bottom-iconbox ::ng-deep .menu-bottom-icon.disabled{cursor:default;opacity:.5}.rs-aside .bottom-iconbox ::ng-deep .menu-bottom-icon:not(.disabled):hover{background-color:#fff}.rs-aside .bottom-iconbox ::ng-deep .menu-bottom-icon:not(.disabled):hover svg{color:#1f7bff;stroke:#1f7bff}@media (min-width:992px){.rs-aside .bottom-iconbox.isCollapsed{flex-direction:column;height:auto}}@media (max-width:992px){.rs-aside{width:0;overflow:hidden;position:absolute;height:calc(100% - 50px);z-index:10;background-color:var(--rs-container-bg);padding-right:0}.rs-aside.isCollapsed{width:240px;padding-right:16px}}"]
2284
+ template: "<div class=\"rs-aside\" [ngClass]=\"{ isCollapsed: isCollapsed }\">\r\n <div class=\"nav-list\">\r\n <div\r\n class=\"nav-item\"\r\n [ngClass]=\"{ isCurrent: currentNav === nav.url }\"\r\n *ngFor=\"let nav of navList\"\r\n (click)=\"onNavClick(nav)\"\r\n >\r\n <div class=\"nav-item-inner\">\r\n <mat-icon class=\"menu-icon\" [svgIcon]=\"nav.iconCode\"></mat-icon>\r\n <span class=\"nav-text\" [ngClass]=\"{ isCollapsed: isCollapsed }\">{{\r\n nav.label\r\n }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"bottom-iconbox\" [ngClass]=\"{ isCollapsed: isCollapsed }\">\r\n <ng-content select=\"[bottomIconBox]\"></ng-content>\r\n </div>\r\n</div>\r\n",
2285
+ styles: [".rs-aside{display:flex;flex-direction:column;height:100%;width:240px;will-change:width;transition:width .3s;padding-right:16px}.rs-aside.isCollapsed{width:64px;padding-right:0}.rs-aside .nav-list{padding-top:12px;flex:1;overflow:auto;height:0}.rs-aside .nav-list .nav-item{height:32px;cursor:pointer;padding-left:11px}.rs-aside .nav-list .nav-item .nav-item-inner{display:flex;align-items:center;padding:8px 8px 8px 12px}.rs-aside .nav-list .nav-item .nav-item-inner ::ng-deep .menu-icon{width:33px;height:16px;display:flex;align-items:center}.rs-aside .nav-list .nav-item .nav-item-inner ::ng-deep .menu-icon svg{width:16px;height:16px;color:#6c7c90;stroke:#6c7c90}.rs-aside .nav-list .nav-item:hover .nav-item-inner{border-radius:6px;background:rgba(31,123,255,.04)}.rs-aside .nav-list .nav-item:hover .nav-item-inner ::ng-deep .menu-icon svg{color:#44566c;stroke:#44566c}.rs-aside .nav-list .nav-item .nav-text{color:#5f6f81;font-family:Arial;font-size:12px;font-weight:400;line-height:16px;transition:.3s;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;position:relative;top:1px}@media (min-width:992px){.rs-aside .nav-list .nav-item .nav-text.isCollapsed{opacity:0;width:0}}.rs-aside .nav-list .nav-item.isCurrent{position:relative}.rs-aside .nav-list .nav-item.isCurrent .nav-text{color:#44566c;font-weight:700}.rs-aside .nav-list .nav-item.isCurrent::before{content:\"\";position:absolute;left:4px;top:8px;width:3px;height:16px;background-color:#1364b3;border-radius:2px}.rs-aside .bottom-iconbox{padding:12px 20px;height:48px;display:flex;gap:12px}.rs-aside .bottom-iconbox ::ng-deep .menu-bottom-icon{width:24px;height:24px;display:flex;justify-content:center;align-items:center;border:1px solid #eaedf0;border-radius:24px;cursor:pointer}.rs-aside .bottom-iconbox ::ng-deep .menu-bottom-icon svg{width:16px;height:16px;color:#6c7c90;stroke:#6c7c90}.rs-aside .bottom-iconbox ::ng-deep .menu-bottom-icon.disabled{cursor:default;opacity:.5}.rs-aside .bottom-iconbox ::ng-deep .menu-bottom-icon:not(.disabled):hover{background-color:#fff}.rs-aside .bottom-iconbox ::ng-deep .menu-bottom-icon:not(.disabled):hover svg{color:#1f7bff;stroke:#1f7bff}@media (min-width:992px){.rs-aside .bottom-iconbox.isCollapsed{flex-direction:column;height:auto}}@media (max-width:992px){.rs-aside{width:0;overflow:hidden;position:absolute;height:calc(100% - 50px);z-index:10;background-color:var(--rs-container-bg);padding-right:0}.rs-aside.isCollapsed{width:240px;padding-right:16px}}"]
2246
2286
  }] }
2247
2287
  ];
2248
2288
  /** @nocollapse */
@@ -2430,7 +2470,7 @@ var RadioGroupComponent = /** @class */ (function () {
2430
2470
  { type: Component, args: [{
2431
2471
  selector: "rs-radio-group",
2432
2472
  template: "<div class=\"radio-group\" [ngClass]=\"[orientation, error ? 'error' : '']\">\r\n <div class=\"radio-item\" *ngFor=\"let option of dataSource\">\r\n <ejs-radiobutton\r\n [label]=\"option[fields.text]\"\r\n [(ngModel)]=\"value\"\r\n [value]=\"option[fields.value]\"\r\n [disabled]=\"option[fields.disabled] || disabled\"\r\n (change)=\"onChange($event)\"\r\n ></ejs-radiobutton>\r\n </div>\r\n</div>\r\n",
2433
- styles: [".radio-group{display:flex;padding-left:4px}.radio-group.horizontal{flex-direction:row;gap:35px}.radio-group.vertical{flex-direction:column;gap:14px}.radio-group .radio-item .e-radio:disabled+label::before{border-color:rgba(209,209,209,.5);background-color:rgba(234,237,240,.35)}.radio-group .radio-item .e-radio:checked+label::before{background-color:var(--rs-active-color);border-color:var(--rs-active-color);box-shadow:none}.radio-group .radio-item .e-radio:checked+label::after{content:\"\"!important;display:block;width:11px;height:8px;background-image:url(/assets/img/checked-vector.svg);background-size:cover;background-position:center;background-color:transparent;transform:scale(1);left:2px;top:3px;border:0;border-radius:0}.radio-group .radio-item .e-label{color:var(--rs-label-color);font-family:var(--rs-font-family);font-size:var(--rs-font-size);font-weight:400;line-height:14px}"]
2473
+ styles: [".radio-group{display:flex;padding-left:4px}.radio-group.horizontal{flex-direction:row;gap:35px}.radio-group.vertical{flex-direction:column;gap:14px}"]
2434
2474
  }] }
2435
2475
  ];
2436
2476
  RadioGroupComponent.propDecorators = {
@@ -2520,7 +2560,7 @@ var CheckboxGroupComponent = /** @class */ (function () {
2520
2560
  { type: Component, args: [{
2521
2561
  selector: "rs-checkbox-group",
2522
2562
  template: "<div class=\"checkbox-group\" [ngClass]=\"[orientation, error ? 'error' : '']\">\r\n <div class=\"checkbox-item\" *ngFor=\"let option of dataSource\">\r\n <ejs-checkbox\r\n [name]=\"name\"\r\n [label]=\"option[fields.text]\"\r\n [value]=\"option[fields.value]\"\r\n [disabled]=\"option[fields.disabled] || disabled\"\r\n [checked]=\"value.includes(option[fields.value])\"\r\n (change)=\"onChange($event, option)\"\r\n ></ejs-checkbox>\r\n </div>\r\n</div>\r\n",
2523
- styles: [".checkbox-group{display:flex;padding-left:4px}.checkbox-group.horizontal{flex-direction:row;gap:35px}.checkbox-group.vertical{flex-direction:column;gap:14px}.checkbox-group .checkbox-item .e-label{color:var(--rs-label-color);font-family:var(--rs-font-family);font-size:var(--rs-font-size);font-weight:400;line-height:14px}.checkbox-group .checkbox-item .e-checkbox-wrapper.e-checkbox-disabled .e-icons{border-color:rgba(209,209,209,.5);background-color:rgba(234,237,240,.35)}.checkbox-group .checkbox-item .e-icons{box-shadow:none!important}.checkbox-group .checkbox-item .e-icons.e-check{background-color:var(--rs-active-color);border-color:var(--rs-active-color)}.checkbox-group .checkbox-item .e-icons.e-check::before{content:\"\"!important;display:block;width:11px;height:8px;background-image:url(/assets/img/checked-vector.svg);background-size:cover;background-position:center;background-color:transparent;margin:2px auto}"]
2563
+ styles: [".checkbox-group{display:flex;padding-left:4px}.checkbox-group.horizontal{flex-direction:row;gap:35px}.checkbox-group.vertical{flex-direction:column;gap:14px}"]
2524
2564
  }] }
2525
2565
  ];
2526
2566
  /** @nocollapse */
@@ -2610,7 +2650,7 @@ var SwitchInputComponent = /** @class */ (function () {
2610
2650
  { type: Component, args: [{
2611
2651
  selector: "rs-switch-input",
2612
2652
  template: "<div class=\"rs-switch\" [ngClass]=\"[orientation, error ? 'error' : '', disabled ? 'disabled' : '']\">\r\n <label class=\"switch-label\" (click)=\"onClick()\"> {{ text }} </label>\r\n <ejs-switch\r\n [(ngModel)]=\"value\"\r\n [disabled]=\"disabled\"\r\n (change)=\"onChange($event)\"\r\n ></ejs-switch>\r\n</div>\r\n",
2613
- styles: [".rs-switch{display:flex;align-items:center;gap:8px}.rs-switch.behind{flex-direction:row-reverse;justify-content:flex-end}.rs-switch .switch-label{color:var(--rs-label-color);font-family:var(--rs-font-family);font-size:var(--rs-font-size);cursor:pointer}.rs-switch.disabled .switch-label{cursor:default;pointer-events:none}.rs-switch .e-switch-wrapper{width:28px}.rs-switch .e-switch-wrapper .e-switch-inner{border:1px solid #adb5bd}.rs-switch .e-switch-wrapper .e-switch-inner.e-switch-active{background-color:var(--rs-active-color);border-color:var(--rs-active-color)}.rs-switch .e-switch-wrapper .e-switch-handle{background-color:#fff;border:1px solid #adb5bd;left:2px}.rs-switch .e-switch-wrapper .e-switch-handle.e-switch-active{background-color:#fff;border-color:var(--rs-active-color);left:100%}.rs-switch .e-switch-wrapper.e-switch-disabled .e-switch-handle{background-color:#e9ecef;opacity:.5}.rs-switch .e-switch-wrapper.e-switch-disabled .e-switch-handle.e-switch-active{border-color:rgba(0,129,255,.5)}.rs-switch .e-switch-wrapper .e-switch-on{background-color:var(--rs-active-color);color:#fff}"]
2653
+ styles: [".rs-switch{display:flex;align-items:center;gap:8px}.rs-switch.behind{flex-direction:row-reverse;justify-content:flex-end}.rs-switch .switch-label{color:var(--rs-label-color);font-family:var(--rs-font-family);font-size:var(--rs-font-size);cursor:pointer}.rs-switch.disabled .switch-label{cursor:default;pointer-events:none}"]
2614
2654
  }] }
2615
2655
  ];
2616
2656
  SwitchInputComponent.propDecorators = {
@@ -2840,7 +2880,7 @@ var CommonDeleteComponent = /** @class */ (function () {
2840
2880
  * @return {?}
2841
2881
  */
2842
2882
  function () {
2843
- this.translation = JSON.parse(localStorage.getItem("translation"));
2883
+ this.translation = JSON.parse(localStorage.getItem("translation")) || {};
2844
2884
  this.title =
2845
2885
  this.data.title || this.translation["DELETE_RECORD"] || ".DELETE_RECORD";
2846
2886
  this.saveBtnLabel =
@@ -2924,7 +2964,7 @@ var DialogService = /** @class */ (function () {
2924
2964
  * @param dialog: MatDialog
2925
2965
  */
2926
2966
  this.translation = null;
2927
- this.translation = JSON.parse(localStorage.getItem("translation"));
2967
+ this.translation = JSON.parse(localStorage.getItem("translation")) || {};
2928
2968
  }
2929
2969
  /**
2930
2970
  * @param {?} config
@@ -3224,7 +3264,7 @@ var CommonDialogComponent = /** @class */ (function () {
3224
3264
  * @return {?}
3225
3265
  */
3226
3266
  function () {
3227
- this.translation = JSON.parse(localStorage.getItem("translation"));
3267
+ this.translation = JSON.parse(localStorage.getItem("translation")) || {};
3228
3268
  this.saveBtnLabel =
3229
3269
  this.saveBtnLabel || this.translation.SAVE || ".SAVE";
3230
3270
  this.cancelBtnLabel =