ps-toolkit-ui 0.1.16 → 0.1.18

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.
@@ -52,7 +52,7 @@ SidebarComponent.decorators = [
52
52
  { type: Component, args: [{
53
53
  selector: 'lib-sidebar',
54
54
  template: "<div id=\"Sidebar\" class=\"open\">\r\n <div class=\"sidebar-shadow\" (click)=\"toggleSidebar.emit()\"></div>\r\n <div class=\"sidebar-scroll\">\r\n <i (click)=\"toggleSidebar.emit()\" class=\"toggle fa-duotone fa-angle-double-left\"></i>\r\n <div class=\"brand-con\">\r\n <div class=\"logo\"></div>\r\n <div class=\"title\">\r\n {{l('SoftwareName')}}\r\n <div class=\"version\">{{l('Version', version)}}</div>\r\n </div>\r\n </div>\r\n <div class=\"sidebar-con\" id=\"sidebar-con\">\r\n <span *ngFor=\"let item of sidebar\">\r\n <lib-sidebar-item [i]=\"0\" [item]=\"item\" [base]=\"true\" [currentSidebar]=\"currentSidebar\" [area]=\"area\"></lib-sidebar-item>\r\n </span>\r\n </div>\r\n </div>\r\n</div>\r\n",
55
- styles: ["#Sidebar{background-color:var(--base);height:calc(100vh - 35px);min-height:calc(100vh - 35px);position:relative;transition:width .3s;width:78px;z-index:12}#Sidebar,#Sidebar .sidebar-shadow{-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;direction:ltr;float:right}#Sidebar .sidebar-shadow{background-color:var(--black);height:100vh;left:0;min-height:100vh;opacity:0;overflow:hidden;position:fixed;transition:all .3s;visibility:hidden;width:100%;z-index:9}#Sidebar.open{width:260px}#Sidebar .sidebar-scroll{background-color:var(--base);height:100%;position:absolute;right:0;top:0;transition:all .3s;width:100%;z-index:11}#Sidebar .sidebar-scroll .sidebar-con{direction:ltr;float:right;height:calc(100vh - 85px);overflow-x:hidden;overflow-y:auto;width:100%}#Sidebar .sidebar-scroll .brand-con{align-items:center;background-color:var(--base-dark);direction:rtl;display:flex;float:right;height:50px;justify-content:center;width:100%}#Sidebar .sidebar-scroll .brand-con .logo{background-position:50%;background-repeat:no-repeat;background-size:contain;float:right;height:30px;width:30px}#Sidebar .sidebar-scroll .brand-con .title{align-items:center;color:#fff;display:flex;font-family:VazirBold;font-size:15px;height:100%;justify-content:center;overflow:hidden;position:relative;top:-4px;transition:all .3s;width:0}#Sidebar.open .sidebar-scroll .brand-con .title{width:110px}#Sidebar .sidebar-scroll .brand-con .title .version{font-family:VazirLight;font-size:9px;position:absolute;top:27px}#Sidebar .toggle{color:var(--comp);cursor:pointer;float:left;font-size:18px;height:50px;left:-50px;line-height:50px;position:absolute;text-align:center;transform:scaleX(1);transition:all .3s;width:50px}#Sidebar.open .toggle{transform:scaleX(-1)}#Sidebar .toggle:hover{color:var(--comp-dark)}@media (max-width:399.98px){#Sidebar{height:calc(100vh - 60px);min-height:calc(100vh - 60px)}#Sidebar,#Sidebar.open{width:0}#Sidebar.open .sidebar-scroll{width:100%}#Sidebar .sidebar-scroll{width:260px}#Sidebar .sidebar-scroll .sidebar-con{height:calc(100vh - 110px)}#Sidebar.open .sidebar-scroll .brand-con .title{width:0}#Sidebar .sidebar-scroll .brand-con .title{width:110px}#Sidebar .sidebar-shadow{opacity:.7;visibility:visible}#Sidebar.open .sidebar-shadow{opacity:0;visibility:hidden}#Sidebar .toggle{transform:scaleX(-1)}#Sidebar .toggle,#Sidebar .toggle:hover{color:var(--white)}#Sidebar.open .toggle{color:var(--comp);transform:scaleX(1)}#Sidebar.open .toggle:hover{color:var(--comp-dark)}}@media (min-width:400px) and (max-width:499.98px){#Sidebar{height:calc(100vh - 60px);min-height:calc(100vh - 60px)}#Sidebar,#Sidebar.open{width:0}#Sidebar.open .sidebar-scroll{width:100%}#Sidebar .sidebar-scroll{width:240px}#Sidebar .sidebar-scroll .sidebar-con{height:calc(100vh - 110px)}#Sidebar.open .sidebar-scroll .brand-con .title{width:0}#Sidebar .sidebar-scroll .brand-con .title{width:110px}#Sidebar .sidebar-shadow{opacity:.7;visibility:visible}#Sidebar.open .sidebar-shadow{opacity:0;visibility:hidden}#Sidebar .toggle{transform:scaleX(-1)}#Sidebar .toggle,#Sidebar .toggle:hover{color:var(--white)}#Sidebar.open .toggle{color:var(--comp);transform:scaleX(1)}#Sidebar.open .toggle:hover{color:var(--comp-dark)}}@media (min-width:500px) and (max-width:599.98px){#Sidebar{height:calc(100vh - 60px);min-height:calc(100vh - 60px)}#Sidebar,#Sidebar.open{width:0}#Sidebar.open .sidebar-scroll{width:100%}#Sidebar .sidebar-scroll{width:260px}#Sidebar .sidebar-scroll .sidebar-con{height:calc(100vh - 110px)}#Sidebar.open .sidebar-scroll .brand-con .title{width:0}#Sidebar .sidebar-scroll .brand-con .title{width:110px}#Sidebar .sidebar-shadow{opacity:.7;visibility:visible}#Sidebar.open .sidebar-shadow{opacity:0;visibility:hidden}#Sidebar .toggle{transform:scaleX(-1)}#Sidebar .toggle,#Sidebar .toggle:hover{color:var(--white)}#Sidebar.open .toggle{color:var(--comp);transform:scaleX(1)}#Sidebar.open .toggle:hover{color:var(--comp-dark)}}@media (min-width:600px) and (max-width:699.98px){#Sidebar,#Sidebar.open{width:0}#Sidebar.open .sidebar-scroll{width:100%}#Sidebar .sidebar-scroll{width:260px}#Sidebar.open .sidebar-scroll .brand-con .title{width:0}#Sidebar .sidebar-scroll .brand-con .title{width:110px}#Sidebar .sidebar-shadow{opacity:.7;visibility:visible}#Sidebar.open .sidebar-shadow{opacity:0;visibility:hidden}#Sidebar .toggle{transform:scaleX(-1)}#Sidebar .toggle,#Sidebar .toggle:hover{color:var(--white)}#Sidebar.open .toggle{color:var(--comp);transform:scaleX(1)}#Sidebar.open .toggle:hover{color:var(--comp-dark)}}@media (min-width:700px) and (max-width:799.98px){#Sidebar,#Sidebar.open{width:60px}#Sidebar.open .sidebar-scroll{width:100%}#Sidebar .sidebar-scroll{width:260px}#Sidebar.open .sidebar-scroll .brand-con .title{width:0}#Sidebar .sidebar-scroll .brand-con .title{width:110px}#Sidebar .sidebar-shadow{opacity:.7;visibility:visible}#Sidebar.open .sidebar-shadow{opacity:0;visibility:hidden}#Sidebar .toggle{transform:scaleX(-1)}#Sidebar .toggle,#Sidebar .toggle:hover{color:var(--white)}#Sidebar.open .toggle{color:var(--comp);transform:scaleX(1)}#Sidebar.open .toggle:hover{color:var(--comp-dark)}}@media (min-width:800px) and (max-width:899.98px){#Sidebar,#Sidebar.open{width:60px}#Sidebar.open .sidebar-scroll{width:100%}#Sidebar .sidebar-scroll{width:260px}#Sidebar.open .sidebar-scroll .brand-con .title{width:0}#Sidebar .sidebar-scroll .brand-con .title{width:110px}#Sidebar .sidebar-shadow{opacity:.7;visibility:visible}#Sidebar.open .sidebar-shadow{opacity:0;visibility:hidden}#Sidebar .toggle{transform:scaleX(-1)}#Sidebar .toggle,#Sidebar .toggle:hover{color:var(--white)}#Sidebar.open .toggle{color:var(--comp);transform:scaleX(1)}#Sidebar.open .toggle:hover{color:var(--comp-dark)}}@media (min-width:900px) and (max-width:999.98px){#Sidebar,#Sidebar.open{width:78px}#Sidebar.open .sidebar-scroll{width:100%}#Sidebar .sidebar-scroll{width:260px}#Sidebar.open .sidebar-scroll .brand-con .title{width:0}#Sidebar .sidebar-scroll .brand-con .title{width:110px}#Sidebar .sidebar-shadow{opacity:.7;visibility:visible}#Sidebar.open .sidebar-shadow{opacity:0;visibility:hidden}#Sidebar .toggle{transform:scaleX(-1)}#Sidebar .toggle,#Sidebar .toggle:hover{color:var(--white)}#Sidebar.open .toggle{color:var(--comp);transform:scaleX(1)}#Sidebar.open .toggle:hover{color:var(--comp-dark)}}@media (min-width:1000px) and (max-width:1099.98px){#Sidebar,#Sidebar.open{width:78px}#Sidebar.open .sidebar-scroll{width:100%}#Sidebar .sidebar-scroll{width:260px}#Sidebar.open .sidebar-scroll .brand-con .title{width:0}#Sidebar .sidebar-scroll .brand-con .title{width:110px}#Sidebar .sidebar-shadow{opacity:.7;visibility:visible}#Sidebar.open .sidebar-shadow{opacity:0;visibility:hidden}#Sidebar .toggle{transform:scaleX(-1)}#Sidebar .toggle,#Sidebar .toggle:hover{color:var(--white)}#Sidebar.open .toggle{color:var(--comp);transform:scaleX(1)}#Sidebar.open .toggle:hover{color:var(--comp-dark)}}@media (min-width:1100px) and (max-width:1199.98px){#Sidebar,#Sidebar.open{width:78px}#Sidebar.open .sidebar-scroll{width:100%}#Sidebar .sidebar-scroll{width:260px}#Sidebar.open .sidebar-scroll .brand-con .title{width:0}#Sidebar .sidebar-scroll .brand-con .title{width:110px}#Sidebar .sidebar-shadow{opacity:.7;visibility:visible}#Sidebar.open .sidebar-shadow{opacity:0;visibility:hidden}#Sidebar .toggle{transform:scaleX(-1)}#Sidebar .toggle,#Sidebar .toggle:hover{color:var(--white)}#Sidebar.open .toggle{color:var(--comp);transform:scaleX(1)}#Sidebar.open .toggle:hover{color:var(--comp-dark)}}"]
55
+ styles: ["#Sidebar{background-color:var(--base);height:calc(100vh - 35px);min-height:calc(100vh - 35px);position:relative;transition:width .3s;width:78px;z-index:102}#Sidebar,#Sidebar .sidebar-shadow{-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;direction:ltr;float:right}#Sidebar .sidebar-shadow{background-color:var(--black);height:100vh;left:0;min-height:100vh;opacity:0;overflow:hidden;position:fixed;transition:all .3s;visibility:hidden;width:100%;z-index:103}#Sidebar.open{width:260px}#Sidebar .sidebar-scroll{background-color:var(--base);height:100%;position:absolute;right:0;top:0;transition:all .3s;width:100%;z-index:104}#Sidebar .sidebar-scroll .sidebar-con{direction:ltr;float:right;height:calc(100vh - 85px);overflow-x:hidden;overflow-y:auto;width:100%}#Sidebar .sidebar-scroll .brand-con{align-items:center;background-color:var(--base-dark);direction:rtl;display:flex;float:right;height:50px;justify-content:center;width:100%}#Sidebar .sidebar-scroll .brand-con .logo{background-position:50%;background-repeat:no-repeat;background-size:contain;float:right;height:30px;width:30px}#Sidebar .sidebar-scroll .brand-con .title{align-items:center;color:#fff;display:flex;font-family:VazirBold;font-size:15px;height:100%;justify-content:center;overflow:hidden;position:relative;top:-4px;transition:all .3s;width:0}#Sidebar.open .sidebar-scroll .brand-con .title{width:110px}#Sidebar .sidebar-scroll .brand-con .title .version{font-family:VazirLight;font-size:9px;position:absolute;top:27px}#Sidebar .toggle{color:var(--comp);cursor:pointer;float:left;font-size:18px;height:50px;left:-50px;line-height:50px;position:absolute;text-align:center;transform:scaleX(1);transition:all .3s;width:50px}#Sidebar.open .toggle{transform:scaleX(-1)}#Sidebar .toggle:hover{color:var(--comp-dark)}@media (max-width:399.98px){#Sidebar{height:calc(100vh - 60px);min-height:calc(100vh - 60px)}#Sidebar,#Sidebar.open{width:0}#Sidebar.open .sidebar-scroll{width:100%}#Sidebar .sidebar-scroll{width:240px}#Sidebar .sidebar-scroll .sidebar-con{height:calc(100vh - 110px)}#Sidebar.open .sidebar-scroll .brand-con .title{width:0}#Sidebar .sidebar-scroll .brand-con .title{width:110px}#Sidebar .sidebar-shadow{opacity:.7;visibility:visible}#Sidebar.open .sidebar-shadow{opacity:0;visibility:hidden}#Sidebar .toggle{transform:scaleX(-1)}#Sidebar .toggle,#Sidebar .toggle:hover{color:var(--white)}#Sidebar.open .toggle{color:var(--comp);transform:scaleX(1)}#Sidebar.open .toggle:hover{color:var(--comp-dark)}}@media (min-width:400px) and (max-width:499.98px){#Sidebar{height:calc(100vh - 60px);min-height:calc(100vh - 60px)}#Sidebar,#Sidebar.open{width:0}#Sidebar.open .sidebar-scroll{width:100%}#Sidebar .sidebar-scroll{width:260px}#Sidebar .sidebar-scroll .sidebar-con{height:calc(100vh - 110px)}#Sidebar.open .sidebar-scroll .brand-con .title{width:0}#Sidebar .sidebar-scroll .brand-con .title{width:110px}#Sidebar .sidebar-shadow{opacity:.7;visibility:visible}#Sidebar.open .sidebar-shadow{opacity:0;visibility:hidden}#Sidebar .toggle{transform:scaleX(-1)}#Sidebar .toggle,#Sidebar .toggle:hover{color:var(--white)}#Sidebar.open .toggle{color:var(--comp);transform:scaleX(1)}#Sidebar.open .toggle:hover{color:var(--comp-dark)}}@media (min-width:500px) and (max-width:599.98px){#Sidebar{height:calc(100vh - 60px);min-height:calc(100vh - 60px)}#Sidebar,#Sidebar.open{width:0}#Sidebar.open .sidebar-scroll{width:100%}#Sidebar .sidebar-scroll{width:260px}#Sidebar .sidebar-scroll .sidebar-con{height:calc(100vh - 110px)}#Sidebar.open .sidebar-scroll .brand-con .title{width:0}#Sidebar .sidebar-scroll .brand-con .title{width:110px}#Sidebar .sidebar-shadow{opacity:.7;visibility:visible}#Sidebar.open .sidebar-shadow{opacity:0;visibility:hidden}#Sidebar .toggle{transform:scaleX(-1)}#Sidebar .toggle,#Sidebar .toggle:hover{color:var(--white)}#Sidebar.open .toggle{color:var(--comp);transform:scaleX(1)}#Sidebar.open .toggle:hover{color:var(--comp-dark)}}@media (min-width:600px) and (max-width:699.98px){#Sidebar,#Sidebar.open{width:0}#Sidebar.open .sidebar-scroll{width:100%}#Sidebar .sidebar-scroll{width:260px}#Sidebar.open .sidebar-scroll .brand-con .title{width:0}#Sidebar .sidebar-scroll .brand-con .title{width:110px}#Sidebar .sidebar-shadow{opacity:.7;visibility:visible}#Sidebar.open .sidebar-shadow{opacity:0;visibility:hidden}#Sidebar .toggle{transform:scaleX(-1)}#Sidebar .toggle,#Sidebar .toggle:hover{color:var(--white)}#Sidebar.open .toggle{color:var(--comp);transform:scaleX(1)}#Sidebar.open .toggle:hover{color:var(--comp-dark)}}@media (min-width:700px) and (max-width:799.98px){#Sidebar,#Sidebar.open{width:60px}#Sidebar.open .sidebar-scroll{width:100%}#Sidebar .sidebar-scroll{width:260px}#Sidebar.open .sidebar-scroll .brand-con .title{width:0}#Sidebar .sidebar-scroll .brand-con .title{width:110px}#Sidebar .sidebar-shadow{opacity:.7;visibility:visible}#Sidebar.open .sidebar-shadow{opacity:0;visibility:hidden}#Sidebar .toggle{transform:scaleX(-1)}#Sidebar .toggle,#Sidebar .toggle:hover{color:var(--white)}#Sidebar.open .toggle{color:var(--comp);transform:scaleX(1)}#Sidebar.open .toggle:hover{color:var(--comp-dark)}}@media (min-width:800px) and (max-width:899.98px){#Sidebar,#Sidebar.open{width:60px}#Sidebar.open .sidebar-scroll{width:100%}#Sidebar .sidebar-scroll{width:260px}#Sidebar.open .sidebar-scroll .brand-con .title{width:0}#Sidebar .sidebar-scroll .brand-con .title{width:110px}#Sidebar .sidebar-shadow{opacity:.7;visibility:visible}#Sidebar.open .sidebar-shadow{opacity:0;visibility:hidden}#Sidebar .toggle{transform:scaleX(-1)}#Sidebar .toggle,#Sidebar .toggle:hover{color:var(--white)}#Sidebar.open .toggle{color:var(--comp);transform:scaleX(1)}#Sidebar.open .toggle:hover{color:var(--comp-dark)}}@media (min-width:900px) and (max-width:999.98px){#Sidebar,#Sidebar.open{width:78px}#Sidebar.open .sidebar-scroll{width:100%}#Sidebar .sidebar-scroll{width:260px}#Sidebar.open .sidebar-scroll .brand-con .title{width:0}#Sidebar .sidebar-scroll .brand-con .title{width:110px}#Sidebar .sidebar-shadow{opacity:.7;visibility:visible}#Sidebar.open .sidebar-shadow{opacity:0;visibility:hidden}#Sidebar .toggle{transform:scaleX(-1)}#Sidebar .toggle,#Sidebar .toggle:hover{color:var(--white)}#Sidebar.open .toggle{color:var(--comp);transform:scaleX(1)}#Sidebar.open .toggle:hover{color:var(--comp-dark)}}@media (min-width:1000px) and (max-width:1099.98px){#Sidebar,#Sidebar.open{width:78px}#Sidebar.open .sidebar-scroll{width:100%}#Sidebar .sidebar-scroll{width:260px}#Sidebar.open .sidebar-scroll .brand-con .title{width:0}#Sidebar .sidebar-scroll .brand-con .title{width:110px}#Sidebar .sidebar-shadow{opacity:.7;visibility:visible}#Sidebar.open .sidebar-shadow{opacity:0;visibility:hidden}#Sidebar .toggle{transform:scaleX(-1)}#Sidebar .toggle,#Sidebar .toggle:hover{color:var(--white)}#Sidebar.open .toggle{color:var(--comp);transform:scaleX(1)}#Sidebar.open .toggle:hover{color:var(--comp-dark)}}@media (min-width:1100px) and (max-width:1199.98px){#Sidebar,#Sidebar.open{width:78px}#Sidebar.open .sidebar-scroll{width:100%}#Sidebar .sidebar-scroll{width:260px}#Sidebar.open .sidebar-scroll .brand-con .title{width:0}#Sidebar .sidebar-scroll .brand-con .title{width:110px}#Sidebar .sidebar-shadow{opacity:.7;visibility:visible}#Sidebar.open .sidebar-shadow{opacity:0;visibility:hidden}#Sidebar .toggle{transform:scaleX(-1)}#Sidebar .toggle,#Sidebar .toggle:hover{color:var(--white)}#Sidebar.open .toggle{color:var(--comp);transform:scaleX(1)}#Sidebar.open .toggle:hover{color:var(--comp-dark)}}"]
56
56
  },] }
57
57
  ];
58
58
  SidebarComponent.ctorParameters = () => [
@@ -75,7 +75,7 @@ TablePaginationComponent.decorators = [
75
75
  { type: Component, args: [{
76
76
  selector: 'lib-table-pagination',
77
77
  template: "<div class=\"pagination\">\r\n <div class=\"items\">\r\n <span *ngFor=\"let btn of getButtons()\">\r\n <lib-form-button *ngIf=\"btn.type === type.Button\" [inp]=\"btn\"></lib-form-button>\r\n <div class=\"dots\" *ngIf=\"btn.type === type.Icon\"><div class=\"w-100\"><i class=\"fas fa-ellipsis-h icon\"></i></div></div>\r\n </span>\r\n </div>\r\n <lib-form-select [inp]=\"perPageSelect\"></lib-form-select>\r\n</div>\r\n",
78
- styles: [".pagination{float:right;text-align:center;width:100%}.pagination .items{display:inline-block;position:relative}::ng-deep .table-con .pagination .form-input-con.button{display:inline-block;float:unset;margin:0 2px;min-width:25px;padding:0 5px;vertical-align:middle;width:unset}::ng-deep .table-con .pagination .items .dots{display:inline-block;height:25px;line-height:25px;margin:0 5px;min-width:25px}::ng-deep .table-con .pagination .form-input-con.select{display:inline-block;float:left;margin:0 5px;min-width:25px;padding:0 5px;width:unset}@media (max-width:399.98px){::ng-deep .table-con .pagination .form-input-con.button.extra,::ng-deep .table-con .pagination .form-input-con.button.first,::ng-deep .table-con .pagination .form-input-con.button.last{display:none}::ng-deep .table-con .pagination .form-input-con.button{margin:0 3px;padding:0 3px}::ng-deep .table-con .pagination .items .dots{display:none}}@media (min-width:400px) and (max-width:499.98px){::ng-deep .table-con .pagination .form-input-con.button.extra,::ng-deep .table-con .pagination .form-input-con.button.first,::ng-deep .table-con .pagination .form-input-con.button.last{display:none}::ng-deep .table-con .pagination .form-input-con.button{margin:0 3px;padding:0 3px}::ng-deep .table-con .pagination .items .dots{display:none}}@media (min-width:500px) and (max-width:599.98px){::ng-deep .table-con .pagination .form-input-con.button.extra{display:none}::ng-deep .table-con .pagination .form-input-con.button{margin:0 3px;padding:0 3px}::ng-deep .table-con .pagination .items .dots{font-size:10px;margin:0}}@media (min-width:600px) and (max-width:699.98px){::ng-deep .table-con .pagination .form-input-con.button{margin:0 3px;padding:0 3px}::ng-deep .table-con .pagination .items .dots{font-size:10px;margin:0}}@media (min-width:700px) and (max-width:799.98px){::ng-deep .table-con .pagination .form-input-con.button{margin:0 3px;padding:0 3px}::ng-deep .table-con .pagination .items .dots{font-size:10px;margin:0}}@media (min-width:800px) and (max-width:899.98px){::ng-deep .table-con .pagination .form-input-con.button{margin:0 3px;padding:0 3px}::ng-deep .table-con .pagination .items .dots{font-size:10px;margin:0}}@media (min-width:900px) and (max-width:999.98px){::ng-deep .table-con .pagination .form-input-con.button{margin:0 3px;padding:0 3px}::ng-deep .table-con .pagination .items .dots{font-size:10px;margin:0}}"]
78
+ styles: [".pagination{float:right;margin-top:10px;text-align:center;width:100%}.pagination .items{display:inline-block;position:relative}::ng-deep .table-con .pagination .form-input-con.button{display:inline-block;float:unset;margin:0 2px;min-width:25px;padding:0 5px;vertical-align:middle;width:unset}::ng-deep .table-con .pagination .items .dots{display:inline-block;height:25px;line-height:25px;margin:0 5px;min-width:25px}::ng-deep .table-con .pagination .form-input-con.select{display:inline-block;float:left;margin:0 5px;min-width:25px;padding:0 5px;width:unset}@media (max-width:399.98px){::ng-deep .table-con .pagination .form-input-con.button.extra,::ng-deep .table-con .pagination .form-input-con.button.first,::ng-deep .table-con .pagination .form-input-con.button.last{display:none}::ng-deep .table-con .pagination .form-input-con.button{margin:0 3px;padding:0 3px}::ng-deep .table-con .pagination .items .dots{display:none}}@media (min-width:400px) and (max-width:499.98px){::ng-deep .table-con .pagination .form-input-con.button.extra,::ng-deep .table-con .pagination .form-input-con.button.first,::ng-deep .table-con .pagination .form-input-con.button.last{display:none}::ng-deep .table-con .pagination .form-input-con.button{margin:0 3px;padding:0 3px}::ng-deep .table-con .pagination .items .dots{display:none}}@media (min-width:500px) and (max-width:599.98px){::ng-deep .table-con .pagination .form-input-con.button.extra{display:none}::ng-deep .table-con .pagination .form-input-con.button{margin:0 3px;padding:0 3px}::ng-deep .table-con .pagination .items .dots{font-size:10px;margin:0}}@media (min-width:600px) and (max-width:699.98px){::ng-deep .table-con .pagination .form-input-con.button{margin:0 3px;padding:0 3px}::ng-deep .table-con .pagination .items .dots{font-size:10px;margin:0}}@media (min-width:700px) and (max-width:799.98px){::ng-deep .table-con .pagination .form-input-con.button{margin:0 3px;padding:0 3px}::ng-deep .table-con .pagination .items .dots{font-size:10px;margin:0}}@media (min-width:800px) and (max-width:899.98px){::ng-deep .table-con .pagination .form-input-con.button{margin:0 3px;padding:0 3px}::ng-deep .table-con .pagination .items .dots{font-size:10px;margin:0}}@media (min-width:900px) and (max-width:999.98px){::ng-deep .table-con .pagination .form-input-con.button{margin:0 3px;padding:0 3px}::ng-deep .table-con .pagination .items .dots{font-size:10px;margin:0}}"]
79
79
  },] }
80
80
  ];
81
81
  TablePaginationComponent.propDecorators = {
@@ -161,8 +161,8 @@ export class TableComponent {
161
161
  TableComponent.decorators = [
162
162
  { type: Component, args: [{
163
163
  selector: 'lib-table',
164
- template: "<div [id]=\"table.id + 'Table'\" [style]=\"table.style\" #tableDiv [className]=\"(table.class ? table.class : '') + (table.sortable ? 'sortable' : '') + (table.hasChildren ? ' has-children' : '') + ' table-con'\">\r\n <div *ngIf=\"table.displayLabel\" class=\"title\">\r\n <div class=\"f-r\">{{this.table.title ? this.table.title : 'List'}}</div>\r\n <span class=\"description\" *ngIf=\"this.table.description != null\" [innerHTML]=\"'( ' + this.table.description + ' )'\"></span>\r\n <div class=\"extra-buttons\" *ngIf=\"table.showExtraButtons\">\r\n <lib-form-icon *ngFor=\"let btn of table.extraButtons\" [inp]=\"btn\"></lib-form-icon>\r\n <lib-form-icon [inp]=\"reload\"></lib-form-icon>\r\n <lib-form-icon [inp]=\"maximum\"></lib-form-icon>\r\n </div>\r\n <div *ngIf=\"table.buttons.length > 0\" class=\"buttons\">\r\n <lib-form-button [inp]=\"btn\" *ngFor=\"let btn of table.buttons\"></lib-form-button>\r\n </div>\r\n </div>\r\n <div class=\"search-form\" *ngIf=\"table.searchForm\">\r\n <lib-form [form]=\"table.searchForm\"></lib-form>\r\n </div>\r\n <lib-form *ngIf=\"table.form && table.form.onTop\" [form]=\"table.form\"></lib-form>\r\n <table>\r\n <thead>\r\n <tr>\r\n <th *ngIf=\"table.hasChildren\" style=\"width: 50px\"></th>\r\n <th *ngIf=\"table.sortable\" style=\"width: 50px\"></th>\r\n <th *ngIf=\"table.withSelect\" style=\"width: 50px\">\r\n <i (click)=\"selectAll()\" [className]=\"(allSelected() ? 'fas fa-check-square green' : isSelected() ? 'fas fa-minus-square green' : 'far fa-square') + ' select-row'\" *ngIf=\"table.rows.length > 0\"></i>\r\n </th>\r\n <th (click)=\"!table.sortable && col.sort && changeSort($event, col.name)\" [className]=\"(!table.sortable && col.sort ? 'sort' : '')\" *ngFor=\"let col of table.cols\" [style]=\"{width: col.percent + '%'}\">\r\n <i *ngIf=\"!table.sortable && col.sort\" [className]=\"'sort-icon fas' + (table.sort === col.name ? (table.sortType === 'ASC' ? ' fa-sort-up' : ' fa-sort-down') : ' fa-sort')\"></i>\r\n <span *ngIf=\"col.search == null\">{{ table.l(col.name) }}</span>\r\n <div class=\"w-90 header-search p-h-20 m-r-5\" *ngIf=\"!table.sortable && col.search != null\">\r\n <lib-form-textbox *ngIf=\"col.type != colType.Date\" [inp]=\"col.search\"></lib-form-textbox>\r\n <lib-form-date *ngIf=\"col.type == colType.Date\" [inp]=\"col.search\"></lib-form-date>\r\n </div>\r\n </th>\r\n <th *ngIf=\"table.optionType == tableOptionType.Show\" [style]=\"{width: (100 - itemsWidth) + '%'}\">{{table.l('Options')}}</th>\r\n<!-- <th *ngIf=\"table.hasOption()\" [style]=\"{width: (100 - itemsWidth) + '%'}\">-->\r\n<!-- <span *ngIf=\"!table.withSelect || !isSelected()\">{{ table.l('Options') }}</span>-->\r\n<!-- <span *ngIf=\"table.withSelect && isSelected()\" class=\"option-con\">-->\r\n<!-- <span *ngFor=\"let opt of options\">-->\r\n<!-- <lib-form-button *ngIf=\"opt.type == type.Button\" [inp]=\"opt\"></lib-form-button>-->\r\n<!-- <lib-form-icon *ngIf=\"opt.type == type.Icon\" [inp]=\"opt\"></lib-form-icon>-->\r\n<!-- </span>-->\r\n<!-- </span>-->\r\n<!-- </th>-->\r\n </tr>\r\n </thead>\r\n <tbody #rows [style]=\"table.perPage > 0 ? {height: table.height * table.perPage + 'px'} : table.loading || !table.permission || table.rows.length == 0 ? {height: '100px'} : {}\">\r\n <lib-table-row (confirmShow)=\"onConfirmShow($event)\" [level]=\"1\" (changeRows)=\"onChangeRows($event)\" [id]=\"row.id ? row.id : ''\" [table]=\"table\" [row]=\"row\" *ngFor=\"let row of getRows()\"></lib-table-row>\r\n <tr *ngIf=\"table.perPage > 0\" [style]=\"{height: (table.perPage > 0 ? (table.perPage - table.rows.length) * table.height : '100') + 'px', visibility: 'hidden'}\"></tr>\r\n <lib-table-loading [table]=\"table\"></lib-table-loading>\r\n </tbody>\r\n <tfoot>\r\n <tr>\r\n <td colspan=\"100%\">\r\n <lib-table-pagination [table]=\"table\" *ngIf=\"table.perPage > 0\"></lib-table-pagination>\r\n </td>\r\n </tr>\r\n </tfoot>\r\n </table>\r\n <lib-modal *ngIf=\"table.modal != null\" [modal]=\"table.modal\"></lib-modal>\r\n <lib-modal [modal]=\"opt\" *ngFor=\"let opt of getModals()\"></lib-modal>\r\n <lib-confirm #confirm [tableId]=\"table.name\"></lib-confirm>\r\n</div>\r\n",
165
- styles: [".table-con{background-color:#fff;border-radius:5px;box-shadow:var(--box-shadow-table);float:right;padding:20px;position:relative;width:100%}.table-con.maximum{border-radius:0;height:100%;overflow-y:auto;position:fixed;right:0;top:0;width:100%;z-index:11}.table-con>.title{float:right;font-family:VazirBold;font-size:16px;height:40px;line-height:40px;margin-bottom:10px;position:relative;text-align:right;width:100%}.table-con>.title .description{font-family:VazirLight;font-size:13px;margin-right:10px;vertical-align:middle}.table-con>.title .extra-buttons{float:left;margin-top:5px}.table-con>.title .buttons{float:left;margin-left:10px;margin-top:5px}.table-con>.search-form{border-radius:5px;float:right;margin-bottom:5px;width:100%}.table-con table{border-spacing:0!important;width:100%}.table-con table thead tr{-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;position:relative}.table-con table thead tr th{background-color:var(--base-11);color:var(--black-88);font-family:VazirLight;font-size:12px;font-weight:400;height:45px;position:relative;vertical-align:middle}.table-con table thead tr th:first-child{border-bottom-right-radius:5px;border-top-right-radius:5px}.table-con table thead tr th:last-child{border-bottom-left-radius:5px;border-top-left-radius:5px}.table-con table thead tr th.sort{cursor:pointer}.table-con table thead tr th .sort-icon{font-size:13px;height:20px;left:5px;line-height:20px;opacity:.6;position:absolute;top:calc(50% - 10px);width:20px}.table-con table tbody{position:relative}.table-con table tfoot tr{height:45px}.table-con table tfoot tr td{position:relative;vertical-align:bottom}::ng-deep .table-con:not(.sortable) table lib-table-row:last-of-type>tr:after{background-image:unset}::ng-deep .table-con table thead tr th .select-row{cursor:pointer;font-size:18px;height:30px;line-height:30px}"]
164
+ template: "<div [id]=\"table.id + 'Table'\" [style]=\"table.style\" #tableDiv [className]=\"(table.class ? table.class : '') + (table.sortable ? 'sortable' : '') + (table.hasChildren ? ' has-children' : '') + ' table-con'\">\r\n <div *ngIf=\"table.displayLabel\" class=\"title\">\r\n <div class=\"f-r\">{{this.table.title ? this.table.title : 'List'}}</div>\r\n <span class=\"description\" *ngIf=\"this.table.description != null\" [innerHTML]=\"'( ' + this.table.description + ' )'\"></span>\r\n <div class=\"extra-buttons\" *ngIf=\"table.showExtraButtons\">\r\n <lib-form-icon *ngFor=\"let btn of table.extraButtons\" [inp]=\"btn\"></lib-form-icon>\r\n <lib-form-icon [inp]=\"reload\"></lib-form-icon>\r\n <lib-form-icon [inp]=\"maximum\"></lib-form-icon>\r\n </div>\r\n <div *ngIf=\"table.buttons.length > 0\" class=\"buttons\">\r\n <lib-form-button [inp]=\"btn\" *ngFor=\"let btn of table.buttons\"></lib-form-button>\r\n </div>\r\n </div>\r\n <div class=\"search-form\" *ngIf=\"table.searchForm\">\r\n <lib-form [form]=\"table.searchForm\"></lib-form>\r\n </div>\r\n <lib-form *ngIf=\"table.form && table.form.onTop\" [form]=\"table.form\"></lib-form>\r\n <table>\r\n <thead>\r\n <tr>\r\n <th *ngIf=\"table.hasChildren\" style=\"width: 50px\"></th>\r\n <th *ngIf=\"table.sortable\" style=\"width: 50px\"></th>\r\n <th *ngIf=\"table.withSelect\" style=\"width: 50px\">\r\n <i (click)=\"selectAll()\" [className]=\"(allSelected() ? 'fas fa-check-square green' : isSelected() ? 'fas fa-minus-square green' : 'far fa-square') + ' select-row'\" *ngIf=\"table.rows.length > 0\"></i>\r\n </th>\r\n <th (click)=\"!table.sortable && col.sort && changeSort($event, col.name)\" [className]=\"(!table.sortable && col.sort ? 'sort' : '')\" *ngFor=\"let col of table.cols\" [style]=\"{width: col.percent + '%'}\">\r\n <i *ngIf=\"!table.sortable && col.sort\" [className]=\"'sort-icon fas' + (table.sort === col.name ? (table.sortType === 'ASC' ? ' fa-sort-up' : ' fa-sort-down') : ' fa-sort')\"></i>\r\n <span *ngIf=\"col.search == null\">{{ table.l(col.name) }}</span>\r\n <div class=\"w-90 header-search p-h-20 m-r-5\" *ngIf=\"!table.sortable && col.search != null\">\r\n <lib-form-textbox *ngIf=\"col.type != colType.Date\" [inp]=\"col.search\"></lib-form-textbox>\r\n <lib-form-date *ngIf=\"col.type == colType.Date\" [inp]=\"col.search\"></lib-form-date>\r\n </div>\r\n </th>\r\n <th *ngIf=\"table.optionType == tableOptionType.Show\" [style]=\"{width: (100 - itemsWidth) + '%'}\">{{table.l('Options')}}</th>\r\n<!-- <th *ngIf=\"table.hasOption()\" [style]=\"{width: (100 - itemsWidth) + '%'}\">-->\r\n<!-- <span *ngIf=\"!table.withSelect || !isSelected()\">{{ table.l('Options') }}</span>-->\r\n<!-- <span *ngIf=\"table.withSelect && isSelected()\" class=\"option-con\">-->\r\n<!-- <span *ngFor=\"let opt of options\">-->\r\n<!-- <lib-form-button *ngIf=\"opt.type == type.Button\" [inp]=\"opt\"></lib-form-button>-->\r\n<!-- <lib-form-icon *ngIf=\"opt.type == type.Icon\" [inp]=\"opt\"></lib-form-icon>-->\r\n<!-- </span>-->\r\n<!-- </span>-->\r\n<!-- </th>-->\r\n </tr>\r\n </thead>\r\n <tbody #rows [style]=\"table.perPage > 0 ? {height: table.height * table.perPage + 'px'} : table.loading || !table.permission || table.rows.length == 0 ? {height: '100px'} : {}\">\r\n <lib-table-row (confirmShow)=\"onConfirmShow($event)\" [level]=\"1\" (changeRows)=\"onChangeRows($event)\" [id]=\"row.id ? row.id : ''\" [table]=\"table\" [row]=\"row\" *ngFor=\"let row of getRows()\"></lib-table-row>\r\n <tr *ngIf=\"table.perPage > 0\" [style]=\"{height: (table.perPage > 0 ? (table.perPage - table.rows.length) * table.height : '100') + 'px', visibility: 'hidden'}\"></tr>\r\n <lib-table-loading [table]=\"table\"></lib-table-loading>\r\n </tbody>\r\n </table>\r\n <lib-table-pagination [table]=\"table\" *ngIf=\"table.perPage > 0\"></lib-table-pagination>\r\n <lib-modal *ngIf=\"table.modal != null\" [modal]=\"table.modal\"></lib-modal>\r\n <lib-modal [modal]=\"opt\" *ngFor=\"let opt of getModals()\"></lib-modal>\r\n <lib-confirm #confirm [tableId]=\"table.name\"></lib-confirm>\r\n</div>\r\n",
165
+ styles: [".table-con{background-color:#fff;border-radius:5px;box-shadow:var(--box-shadow-table);float:right;padding:20px;position:relative;width:100%}.table-con.maximum{border-radius:0;height:100%;overflow-y:auto;position:fixed;right:0;top:0;width:100%;z-index:11}.table-con>.title{float:right;font-family:VazirBold;font-size:16px;line-height:40px;margin-bottom:10px;position:relative;text-align:right;width:100%}.table-con>.title .description{font-family:VazirLight;font-size:13px;margin-right:10px;vertical-align:middle}.table-con>.title .buttons,.table-con>.title .extra-buttons{float:left;margin-top:5px}.table-con>.search-form{border-radius:5px;float:right;margin-bottom:5px;width:100%}.table-con table{border-spacing:0!important;width:100%}.table-con table thead tr{-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;position:relative}.table-con table thead tr th{background-color:var(--base-11);color:var(--black-88);font-family:VazirLight;font-size:12px;font-weight:400;height:45px;position:relative;vertical-align:middle}.table-con table thead tr th:first-child{border-bottom-right-radius:5px;border-top-right-radius:5px}.table-con table thead tr th:last-child{border-bottom-left-radius:5px;border-top-left-radius:5px}.table-con table thead tr th.sort{cursor:pointer}.table-con table thead tr th .sort-icon{font-size:13px;height:20px;left:5px;line-height:20px;opacity:.6;position:absolute;top:calc(50% - 10px);width:20px}.table-con table tbody{position:relative}::ng-deep .table-con:not(.sortable) table lib-table-row:last-of-type>tr:after{background-image:unset}::ng-deep .table-con table thead tr th .select-row{cursor:pointer;font-size:18px;height:30px;line-height:30px}"]
166
166
  },] }
167
167
  ];
168
168
  TableComponent.ctorParameters = () => [
@@ -176,4 +176,4 @@ TableComponent.propDecorators = {
176
176
  exportDropDown: [{ type: ViewChild, args: ['exportDropDown',] }],
177
177
  confirm: [{ type: ViewChild, args: ['confirm',] }]
178
178
  };
179
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkQ6L1Byb2plY3RzL1BzVG9vbGtpdC9VSS9wcm9qZWN0cy9wcy10b29sa2l0LXVpL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3RhYmxlL3RhYmxlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNwRyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFdkMsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQzNGLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDekQsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFFNUIsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBT3JELE1BQU0sT0FBTyxjQUFjO0lBbUJ6QixZQUFtQixNQUFjO1FBQWQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQWZqQyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQVV4QyxXQUFNLEdBQWUsSUFBSSxDQUFDO1FBSTFCLFdBQU0sR0FBZSxJQUFJLENBQUM7UUFHMUIsZUFBVSxHQUFHLENBQUMsQ0FBQztJQURmLENBQUM7SUFmRCxJQUFJLElBQUksS0FBc0IsT0FBTyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ2pELElBQUksZUFBZSxLQUE0QixPQUFPLGVBQWUsQ0FBQyxDQUFDLENBQUM7SUFDeEUsSUFBSSxPQUFPLEtBQTBCLE9BQU8sYUFBYSxDQUFDLENBQUMsQ0FBQztJQWdCNUQsUUFBUTtRQUNOLDBCQUEwQjtR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QXpLRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFdBQVc7Z0JBQ3JCLGc1SUFBcUM7O2FBRXRDOzs7WUFiTyxNQUFNOzs7b0JBZVgsS0FBSzt5QkFFTCxNQUFNO21CQUtOLFNBQVMsU0FBQyxNQUFNO3VCQUNoQixTQUFTLFNBQUMsVUFBVTs2QkFDcEIsU0FBUyxTQUFDLGdCQUFnQjtzQkFDMUIsU0FBUyxTQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Um91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQge1RhYmxlQ2xhc3N9IGZyb20gJy4uLy4uL2NsYXNzZXMvdGFibGUuY2xhc3MnO1xyXG5pbXBvcnQge0lucHV0VHlwZSwgTWV0aG9kLCBUYWJsZUNvbGxUeXBlLCBUYWJsZU9wdGlvblR5cGV9IGZyb20gJy4uLy4uL2NsYXNzZXMvZW51bS5jbGFzcyc7XHJcbmltcG9ydCB7SW5wdXRDbGFzc30gZnJvbSAnLi4vLi4vY2xhc3Nlcy9mb3JtLmNsYXNzJztcclxuaW1wb3J0IHtSZXF1ZXN0Q2xhc3N9IGZyb20gJy4uLy4uL2NsYXNzZXMvcmVxdWVzdC5jbGFzcyc7XHJcbmltcG9ydCAqIGFzICQgZnJvbSAnanF1ZXJ5JztcclxuaW1wb3J0IHtDb25maXJtQ29tcG9uZW50fSBmcm9tICcuLi9jb25maXJtL2NvbmZpcm0uY29tcG9uZW50JztcclxuaW1wb3J0IHtNb2RhbENsYXNzfSBmcm9tICcuLi8uLi9jbGFzc2VzL21vZGFsLmNsYXNzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXRhYmxlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RhYmxlLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXR7XHJcbiAgQElucHV0KClcclxuICB0YWJsZTogVGFibGVDbGFzcztcclxuICBAT3V0cHV0KClcclxuICBjaGFuZ2VSb3dzID0gbmV3IEV2ZW50RW1pdHRlcjxvYmplY3Q+KCk7XHJcbiAgZ2V0IHR5cGUoKTogdHlwZW9mIElucHV0VHlwZXsgcmV0dXJuIElucHV0VHlwZTsgfVxyXG4gIGdldCB0YWJsZU9wdGlvblR5cGUoKTogdHlwZW9mIFRhYmxlT3B0aW9uVHlwZXsgcmV0dXJuIFRhYmxlT3B0aW9uVHlwZTsgfVxyXG4gIGdldCBjb2xUeXBlKCk6IHR5cGVvZiBUYWJsZUNvbGxUeXBleyByZXR1cm4gVGFibGVDb2xsVHlwZTsgfVxyXG4gIEBWaWV3Q2hpbGQoJ3Jvd3MnKSByb3dzOiBFbGVtZW50UmVmO1xyXG4gIEBWaWV3Q2hpbGQoJ3RhYmxlRGl2JykgdGFibGVEaXY6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgnZXhwb3J0RHJvcERvd24nKSBleHBvcnREcm9wRG93bjogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKCdjb25maXJtJykgY29uZmlybTogQ29uZmlybUNvbXBvbmVudDtcclxuICBsb2FkSWNvbjogSW5wdXRDbGFzcztcclxuICBzaXplSWNvbjogSW5wdXRDbGFzcztcclxuICBzZWxlY3Q6IElucHV0Q2xhc3MgPSBudWxsO1xyXG4gIG9wdERlbGV0ZTogSW5wdXRDbGFzcztcclxuICByZWxvYWQ6IElucHV0Q2xhc3M7XHJcbiAgbWF4aW11bTogSW5wdXRDbGFzcztcclxuICBleHBvcnQ6IElucHV0Q2xhc3MgPSBudWxsO1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByb3V0ZXI6IFJvdXRlcikge1xyXG4gIH1cclxuICBpdGVtc1dpZHRoID0gMDtcclxuICBvcHRpb25zOiBJbnB1dENsYXNzW107XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAvLyBpZiAodGhpcy5hcHAuaXNSZXBvcnQpe1xyXG4gICAgLy8gICB0aGlzLnRhYmxlLnBlclBhZ2UgPSAtMTtcclxuICAgIC8vICAgdGhpcy50YWJsZS5leHRyYUJ1dHRvbnMgPSBmYWxzZTtcclxuICAgIC8vICAgdGhpcy50YWJsZS5kaXNwbGF5TGFiZWwgPSBmYWxzZTtcclxuICAgIC8vICAgdGhpcy50YWJsZS5pc1JlcG9ydCA9IHRydWU7XHJcbiAgICAvLyAgIHRoaXMudGFibGUucGVybWlzc2lvbnMuQWNjZXNzZXMgPSBbJ0xpc3QnXTtcclxuICAgIC8vICAgdGhpcy50YWJsZS5wZXJtaXNzaW9ucy5PcHRpb25zID0gW107XHJcbiAgICAvLyAgIHRoaXMudGFibGUuY29scy5mb3JFYWNoKHggPT4geC5zb3J0ID0gZmFsc2UpO1xyXG4gICAgLy8gICB0aGlzLnRhYmxlLm9uTG9hZCA9ICgpID0+IHtcclxuICAgIC8vICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgIC8vICAgICAgIHdpbmRvdy5wcmludCgpO1xyXG4gICAgLy8gICAgIH0sIDUwMCk7XHJcbiAgICAvLyAgIH07XHJcbiAgICAvLyB9XHJcbiAgICB0aGlzLmxvYWRJY29uID0gbmV3IElucHV0Q2xhc3ModGhpcy50YWJsZS5lbnZpcm9ubWVudCwgbnVsbCwgJ0xvYWRJY29uJyk7XHJcbiAgICB0aGlzLnNpemVJY29uID0gbmV3IElucHV0Q2xhc3ModGhpcy50YWJsZS5lbnZpcm9ubWVudCwgbnVsbCwgJ1NpemVJY29uJyk7XHJcbiAgICBpZiAodGhpcy50YWJsZS5oYXNDaGlsZHJlbil7XHJcbiAgICAgIHRoaXMudGFibGUuY29scy5mb3JFYWNoKHggPT4geC5zb3J0ID0gZmFsc2UpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5pdGVtc1dpZHRoID0gdGhpcy50YWJsZS5jb2xzLnJlZHVjZSgoYSwge3BlcmNlbnR9KSA9PiBhICsgcGVyY2VudCwgMCk7XHJcbiAgICB0aGlzLnJlbG9hZCA9IG5ldyBJbnB1dENsYXNzKHRoaXMudGFibGUuZW52aXJvbm1lbnQsIHRoaXMudGFibGUubCwgJ1JlbG9hZCcsICdmYS1kdW90b25lIGZhLXN5bmMtYWx0JywgSW5wdXRUeXBlLkljb24sICdtLWgtNScpO1xyXG4gICAgdGhpcy5tYXhpbXVtID0gbmV3IElucHV0Q2xhc3ModGhpcy50YWJsZS5lbnZpcm9ubWVudCwgdGhpcy50YWJsZS5sLCAnTWF4aW11bScsICdmYS1kdW90b25lIGZhLWFycm93cy1tYXhpbWl6ZScsXHJcbiAgICAgIElucHV0VHlwZS5JY29uLCAnbS1oLTUnKTtcclxuICAgIHRoaXMub3B0RGVsZXRlID0gbmV3IElucHV0Q2xhc3ModGhpcy50YWJsZS5lbnZpcm9ubWVudCwgdGhpcy50YWJsZS5sLCAnRGVsZXRlJywgJ2ZhLWR1b3RvbmUgZmEtdHJhc2gnLCBJbnB1dFR5cGUuSWNvbiwgJ3JlZCBoLTI1IG0taC01IGQtaWIgdmEtbSBmLXUnKTtcclxuICAgIGZvciAoY29uc3QgYyBvZiB0aGlzLnRhYmxlLmNvbHMuZmlsdGVyKHggPT4geC53aXRoU2VhcmNoKSl7XHJcbiAgICAgIGMuc2VhcmNoID0gbmV3IElucHV0Q2xhc3ModGhpcy50YWJsZS5lbnZpcm9ubWVudCwgdGhpcy50YWJsZS5sLCBjLm5hbWUsXHJcbiAgICAgICAgbnVsbCwgYy50eXBlID09PSBUYWJsZUNvbGxUeXBlLkRhdGUgPyBJbnB1dFR5cGUuRGF0ZSA6IElucHV0VHlwZS5UZXh0LCAnaC0yNSB0YWJsZS1zZWFyY2gnKTtcclxuICAgICAgYy5zZWFyY2guZGlzcGxheUxhYmVsID0gZmFsc2U7XHJcbiAgICAgIGMuc2VhcmNoLm9uQ2hhbmdlID0gKCkgPT4ge1xyXG4gICAgICAgIHRoaXMudGFibGUubG9hZCgpO1xyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMudGFibGUuc29ydGFibGUpe1xyXG4gICAgICB0aGlzLnRhYmxlLnBlclBhZ2UgPSAtMTtcclxuICAgICAgdGhpcy50YWJsZS5vbkxvYWQgPSAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZXRTb3J0YWJsZSgpO1xyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgdGhpcy50YWJsZS5zZXQodGhpcy5jaGFuZ2VSb3dzKTtcclxuICAgIGlmICh0aGlzLnRhYmxlLnNlYXJjaEZvcm0pe1xyXG4gICAgICB0aGlzLnRhYmxlLnNlYXJjaEZvcm0uZGlzcGxheUxhYmVsID0gZmFsc2U7XHJcbiAgICAgIHRoaXMudGFibGUuc2VhcmNoRm9ybS5pbnB1dHMuZm9yRWFjaCh4ID0+IHtcclxuICAgICAgICB4LnJlcXVpcmVkID0gZmFsc2U7XHJcbiAgICAgICAgeC5kaXNwbGF5TGFiZWwgPSBmYWxzZTtcclxuICAgICAgICB4LndpdGhDbGVhciA9IHRydWU7XHJcbiAgICAgICAgeC5jbGFzcyA9IHguY2xhc3MgKyAnIGgtMzAnO1xyXG4gICAgICAgIHgub25DaGFuZ2UgPSAoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnRhYmxlLmxvYWQoKTtcclxuICAgICAgICB9O1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHRoaXMub3B0aW9ucyA9IHRoaXMuZ2V0T3B0aW9ucygpO1xyXG4gICAgdGhpcy5yZWxvYWQub25DbGljayA9ICgpID0+IHtcclxuICAgICAgdGhpcy50YWJsZS5sb2FkKHRoaXMucmVsb2FkKTtcclxuICAgIH07XHJcbiAgICB0aGlzLm1heGltdW0ub25DbGljayA9ICgpID0+IHtcclxuICAgICAgJCh0aGlzLnRhYmxlRGl2Lm5hdGl2ZUVsZW1lbnQpLnRvZ2dsZUNsYXNzKCdtYXhpbXVtJyk7XHJcbiAgICAgIHRoaXMubWF4aW11bS5pY29uID0gdGhpcy5tYXhpbXVtLm5hbWUgPT09ICdNaW5pbXVtJyA/ICdmYS1kdW90b25lIGZhLWFycm93cy1tYXhpbWl6ZScgOiAnZmEtZHVvdG9uZSBmYS1hcnJvd3MtbWluaW1pemUnO1xyXG4gICAgICB0aGlzLm1heGltdW0ubmFtZSA9IHRoaXMubWF4aW11bS5uYW1lID09PSAnTWluaW11bScgPyAnTWF4aW11bScgOiAnTWluaW11bSc7XHJcbiAgICB9O1xyXG4gICAgdGhpcy5vcHREZWxldGUub25DbGljayA9IChpKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLnRhYmxlLmZvcm0pe1xyXG4gICAgICAgIHRoaXMudGFibGUuZm9ybS5jbGVhcigpO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IGRhdGEgPSB7XHJcbiAgICAgICAgaWRzOiB0aGlzLnRhYmxlLnJvd3MuZmlsdGVyKHggPT4geC5zZWxlY3RlZCkubWFwKHggPT4geC5pZClcclxuICAgICAgfTtcclxuICAgICAgdGhpcy5jb25maXJtLnNob3codGhpcy50YWJsZS5sKCdEZWxldGVDb25maXJtJyksIHRoaXMudGFibGUudXJsICsgJy9EZWxldGUvJyArIDAsIGRhdGEsICgpID0+IHtcclxuICAgICAgICB0aGlzLnRhYmxlLmxvYWQobnVsbCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfTtcclxuICAgIHRoaXMudGFibGUuc2hvd0NvbmZpcm0gPSAobDogc3RyaW5nLCB1cmw6IHN0cmluZywgZGF0YSwgYWNjZXB0OiAoYnRuOiBJbnB1dENsYXNzKSA9PiB2b2lkKSA9PiB7XHJcbiAgICAgIHRoaXMuY29uZmlybS5zaG93KGwsIHVybCwgZGF0YSwgYWNjZXB0KTtcclxuICAgIH07XHJcbiAgfVxyXG4gIGFsbFNlbGVjdGVkKCk6IGJvb2xlYW57XHJcbiAgICByZXR1cm4gdGhpcy50YWJsZS5yb3dzLmZpbHRlcih4ID0+ICF4LnNlbGVjdGVkKS5sZW5ndGggPT09IDA7XHJcbiAgfVxyXG4gIGlzU2VsZWN0ZWQoKTogYm9vbGVhbntcclxuICAgIHJldHVybiB0aGlzLnRhYmxlLnJvd3MuZmlsdGVyKHggPT4geC5zZWxlY3RlZCkubGVuZ3RoID4gMDtcclxuICB9XHJcbiAgc2VsZWN0QWxsKCk6IHZvaWR7XHJcbiAgICBpZiAodGhpcy50YWJsZS5yb3dzLmZpbHRlcih4ID0+ICF4LnNlbGVjdGVkKS5sZW5ndGggPT09IDApe1xyXG4gICAgICB0aGlzLnRhYmxlLnJvd3MuZm9yRWFjaCh4ID0+IHguc2VsZWN0ZWQgPSBmYWxzZSk7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy50YWJsZS5yb3dzLmZvckVhY2goeCA9PiB4LnNlbGVjdGVkID0gdHJ1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGdldE9wdGlvbnMoKTogSW5wdXRDbGFzc1tde1xyXG4gICAgcmV0dXJuIFtdO1xyXG4gIH1cclxuICBzZXRTb3J0YWJsZSgpOiB2b2lke1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgJCh0aGlzLnJvd3MubmF0aXZlRWxlbWVudCkuc29ydGFibGUoe1xyXG4gICAgICAgIGF4aXM6ICd5JyxcclxuICAgICAgICBpdGVtczogJ3RyJyxcclxuICAgICAgICB1cGRhdGU6ICgpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGRhdGEgPSBbXTtcclxuICAgICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICAgICQodGhpcy5yb3dzLm5hdGl2ZUVsZW1lbnQpLnNvcnRhYmxlKCd0b0FycmF5JykuZm9yRWFjaCh4ID0+IGRhdGEucHVzaCh4KSk7XHJcbiAgICAgICAgICBuZXcgUmVxdWVzdENsYXNzKHRoaXMudGFibGUubCkuc2VuZCh0aGlzLnRhYmxlLnVybCArICdTb3J0JywgTWV0aG9kLlBvc3QsIHtJZHM6IGRhdGF9LCBudWxsLCAoKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnRhYmxlLm9uU29ydCl7XHJcbiAgICAgICAgICAgICAgdGhpcy50YWJsZS5vblNvcnQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KS5kaXNhYmxlU2VsZWN0aW9uKCk7XHJcbiAgICB9LCA1MDApO1xyXG4gIH1cclxuICBnZXRSb3dzKCk6IGFueVtde1xyXG4gICAgY29uc3QgYyA9IHRoaXMudGFibGUucm93cy5maWx0ZXIoeCA9PiAheC5EYXRhLlBhcmVudElkKTtcclxuICAgIGMuZm9yRWFjaCgoeCwgaSkgPT4geC5Sb3dOdW0gPSBjLmxlbmd0aCAtIGkgKyAxKTtcclxuICAgIHJldHVybiBjO1xyXG4gIH1cclxuICAvLyBnZXRPcHRpb25Nb2RhbHMoKTogSW5wdXRDbGFzc1tde1xyXG4gIC8vICAgY29uc3QgbW9kYWxzID0gW107XHJcbiAgLy8gICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyh0aGlzLnRhYmxlLm9wdGlvbkFjdGlvbnMpKSB7XHJcbiAgLy8gICAgIGlmICh0aGlzLnRhYmxlLm9wdGlvbkFjdGlvbnNba2V5XS5tb2RhbCl7XHJcbiAgLy8gICAgICAgbW9kYWxzLnB1c2godGhpcy50YWJsZS5vcHRpb25BY3Rpb25zW2tleV0ubW9kYWwpO1xyXG4gIC8vICAgICB9XHJcbiAgLy8gICB9XHJcbiAgLy8gICByZXR1cm4gbW9kYWxzO1xyXG4gIC8vIH1cclxuICBvbkNoYW5nZVJvd3MoZSk6IHZvaWR7XHJcbiAgICByZXR1cm4gdGhpcy5jaGFuZ2VSb3dzLmVtaXQoZSk7XHJcbiAgfVxyXG4gIG9uQ29uZmlybVNob3coZSk6IHZvaWR7XHJcbiAgICB0aGlzLmNvbmZpcm0uc2hvdyh0aGlzLnRhYmxlLmwoJ0RlbGV0ZUNvbmZpcm0nKSwgdGhpcy50YWJsZS51cmwgKyAnRGVsZXRlLycgKyBlLmlkLCBudWxsLCBlLmFjY2VwdCk7XHJcbiAgfVxyXG4gIGNoYW5nZVNvcnQoZSwgczogc3RyaW5nKTogdm9pZHtcclxuICAgIGlmICgkKGUudGFyZ2V0KS5jbG9zZXN0KCcuaGVhZGVyLXNlYXJjaCcpLmhhc0NsYXNzKCdoZWFkZXItc2VhcmNoJykpe1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnRhYmxlLnNvcnRUeXBlID0gdGhpcy50YWJsZS5zb3J0ID09PSBzID8gdGhpcy50YWJsZS5zb3J0VHlwZSA9PT0gJ0FTQycgPyAnREVTQycgOiAnQVNDJyA6ICdBU0MnO1xyXG4gICAgdGhpcy50YWJsZS5zb3J0ID0gcztcclxuICAgIHRoaXMudGFibGUubG9hZCgpO1xyXG4gIH1cclxuICBnZXRNb2RhbHMoKTogTW9kYWxDbGFzc1tde1xyXG4gICAgcmV0dXJuIHRoaXMudGFibGUub3B0aW9uc0FjdGlvbnMuZmlsdGVyKHggPT4geCBpbnN0YW5jZW9mIE1vZGFsQ2xhc3MpO1xyXG4gIH1cclxufVxyXG4iXX0=
179
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkQ6L1Byb2plY3RzL1BzVG9vbGtpdC9VSS9wcm9qZWN0cy9wcy10b29sa2l0LXVpL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3RhYmxlL3RhYmxlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNwRyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFdkMsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQzNGLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDekQsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFFNUIsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBT3JELE1BQU0sT0FBTyxjQUFjO0lBbUJ6QixZQUFtQixNQUFjO1FBQWQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQWZqQyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQVV4QyxXQUFNLEdBQWUsSUFBSSxDQUFDO1FBSTFCLFdBQU0sR0FBZSxJQUFJLENBQUM7UUFHMUIsZUFBVSxHQUFHLENBQUMsQ0FBQztJQURmLENBQUM7SUFmRCxJQUFJLElBQUksS0FBc0IsT0FBTyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ2pELElBQUksZUFBZSxLQUE0QixPQUFPLGVBQWUsQ0FBQyxDQUFDLENBQUM7SUFDeEUsSUFBSSxPQUFPLEtBQTBCLE9BQU8sYUFBYSxDQUFDLENBQUMsQ0FBQztJQWdCNUQsUUFBUTtRQUNOLDBCQUEwQjtR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QXpLRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFdBQVc7Z0JBQ3JCLDB4SUFBcUM7O2FBRXRDOzs7WUFiTyxNQUFNOzs7b0JBZVgsS0FBSzt5QkFFTCxNQUFNO21CQUtOLFNBQVMsU0FBQyxNQUFNO3VCQUNoQixTQUFTLFNBQUMsVUFBVTs2QkFDcEIsU0FBUyxTQUFDLGdCQUFnQjtzQkFDMUIsU0FBUyxTQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Um91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQge1RhYmxlQ2xhc3N9IGZyb20gJy4uLy4uL2NsYXNzZXMvdGFibGUuY2xhc3MnO1xyXG5pbXBvcnQge0lucHV0VHlwZSwgTWV0aG9kLCBUYWJsZUNvbGxUeXBlLCBUYWJsZU9wdGlvblR5cGV9IGZyb20gJy4uLy4uL2NsYXNzZXMvZW51bS5jbGFzcyc7XHJcbmltcG9ydCB7SW5wdXRDbGFzc30gZnJvbSAnLi4vLi4vY2xhc3Nlcy9mb3JtLmNsYXNzJztcclxuaW1wb3J0IHtSZXF1ZXN0Q2xhc3N9IGZyb20gJy4uLy4uL2NsYXNzZXMvcmVxdWVzdC5jbGFzcyc7XHJcbmltcG9ydCAqIGFzICQgZnJvbSAnanF1ZXJ5JztcclxuaW1wb3J0IHtDb25maXJtQ29tcG9uZW50fSBmcm9tICcuLi9jb25maXJtL2NvbmZpcm0uY29tcG9uZW50JztcclxuaW1wb3J0IHtNb2RhbENsYXNzfSBmcm9tICcuLi8uLi9jbGFzc2VzL21vZGFsLmNsYXNzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXRhYmxlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RhYmxlLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXR7XHJcbiAgQElucHV0KClcclxuICB0YWJsZTogVGFibGVDbGFzcztcclxuICBAT3V0cHV0KClcclxuICBjaGFuZ2VSb3dzID0gbmV3IEV2ZW50RW1pdHRlcjxvYmplY3Q+KCk7XHJcbiAgZ2V0IHR5cGUoKTogdHlwZW9mIElucHV0VHlwZXsgcmV0dXJuIElucHV0VHlwZTsgfVxyXG4gIGdldCB0YWJsZU9wdGlvblR5cGUoKTogdHlwZW9mIFRhYmxlT3B0aW9uVHlwZXsgcmV0dXJuIFRhYmxlT3B0aW9uVHlwZTsgfVxyXG4gIGdldCBjb2xUeXBlKCk6IHR5cGVvZiBUYWJsZUNvbGxUeXBleyByZXR1cm4gVGFibGVDb2xsVHlwZTsgfVxyXG4gIEBWaWV3Q2hpbGQoJ3Jvd3MnKSByb3dzOiBFbGVtZW50UmVmO1xyXG4gIEBWaWV3Q2hpbGQoJ3RhYmxlRGl2JykgdGFibGVEaXY6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgnZXhwb3J0RHJvcERvd24nKSBleHBvcnREcm9wRG93bjogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKCdjb25maXJtJykgY29uZmlybTogQ29uZmlybUNvbXBvbmVudDtcclxuICBsb2FkSWNvbjogSW5wdXRDbGFzcztcclxuICBzaXplSWNvbjogSW5wdXRDbGFzcztcclxuICBzZWxlY3Q6IElucHV0Q2xhc3MgPSBudWxsO1xyXG4gIG9wdERlbGV0ZTogSW5wdXRDbGFzcztcclxuICByZWxvYWQ6IElucHV0Q2xhc3M7XHJcbiAgbWF4aW11bTogSW5wdXRDbGFzcztcclxuICBleHBvcnQ6IElucHV0Q2xhc3MgPSBudWxsO1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByb3V0ZXI6IFJvdXRlcikge1xyXG4gIH1cclxuICBpdGVtc1dpZHRoID0gMDtcclxuICBvcHRpb25zOiBJbnB1dENsYXNzW107XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAvLyBpZiAodGhpcy5hcHAuaXNSZXBvcnQpe1xyXG4gICAgLy8gICB0aGlzLnRhYmxlLnBlclBhZ2UgPSAtMTtcclxuICAgIC8vICAgdGhpcy50YWJsZS5leHRyYUJ1dHRvbnMgPSBmYWxzZTtcclxuICAgIC8vICAgdGhpcy50YWJsZS5kaXNwbGF5TGFiZWwgPSBmYWxzZTtcclxuICAgIC8vICAgdGhpcy50YWJsZS5pc1JlcG9ydCA9IHRydWU7XHJcbiAgICAvLyAgIHRoaXMudGFibGUucGVybWlzc2lvbnMuQWNjZXNzZXMgPSBbJ0xpc3QnXTtcclxuICAgIC8vICAgdGhpcy50YWJsZS5wZXJtaXNzaW9ucy5PcHRpb25zID0gW107XHJcbiAgICAvLyAgIHRoaXMudGFibGUuY29scy5mb3JFYWNoKHggPT4geC5zb3J0ID0gZmFsc2UpO1xyXG4gICAgLy8gICB0aGlzLnRhYmxlLm9uTG9hZCA9ICgpID0+IHtcclxuICAgIC8vICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgIC8vICAgICAgIHdpbmRvdy5wcmludCgpO1xyXG4gICAgLy8gICAgIH0sIDUwMCk7XHJcbiAgICAvLyAgIH07XHJcbiAgICAvLyB9XHJcbiAgICB0aGlzLmxvYWRJY29uID0gbmV3IElucHV0Q2xhc3ModGhpcy50YWJsZS5lbnZpcm9ubWVudCwgbnVsbCwgJ0xvYWRJY29uJyk7XHJcbiAgICB0aGlzLnNpemVJY29uID0gbmV3IElucHV0Q2xhc3ModGhpcy50YWJsZS5lbnZpcm9ubWVudCwgbnVsbCwgJ1NpemVJY29uJyk7XHJcbiAgICBpZiAodGhpcy50YWJsZS5oYXNDaGlsZHJlbil7XHJcbiAgICAgIHRoaXMudGFibGUuY29scy5mb3JFYWNoKHggPT4geC5zb3J0ID0gZmFsc2UpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5pdGVtc1dpZHRoID0gdGhpcy50YWJsZS5jb2xzLnJlZHVjZSgoYSwge3BlcmNlbnR9KSA9PiBhICsgcGVyY2VudCwgMCk7XHJcbiAgICB0aGlzLnJlbG9hZCA9IG5ldyBJbnB1dENsYXNzKHRoaXMudGFibGUuZW52aXJvbm1lbnQsIHRoaXMudGFibGUubCwgJ1JlbG9hZCcsICdmYS1kdW90b25lIGZhLXN5bmMtYWx0JywgSW5wdXRUeXBlLkljb24sICdtLWgtNScpO1xyXG4gICAgdGhpcy5tYXhpbXVtID0gbmV3IElucHV0Q2xhc3ModGhpcy50YWJsZS5lbnZpcm9ubWVudCwgdGhpcy50YWJsZS5sLCAnTWF4aW11bScsICdmYS1kdW90b25lIGZhLWFycm93cy1tYXhpbWl6ZScsXHJcbiAgICAgIElucHV0VHlwZS5JY29uLCAnbS1oLTUnKTtcclxuICAgIHRoaXMub3B0RGVsZXRlID0gbmV3IElucHV0Q2xhc3ModGhpcy50YWJsZS5lbnZpcm9ubWVudCwgdGhpcy50YWJsZS5sLCAnRGVsZXRlJywgJ2ZhLWR1b3RvbmUgZmEtdHJhc2gnLCBJbnB1dFR5cGUuSWNvbiwgJ3JlZCBoLTI1IG0taC01IGQtaWIgdmEtbSBmLXUnKTtcclxuICAgIGZvciAoY29uc3QgYyBvZiB0aGlzLnRhYmxlLmNvbHMuZmlsdGVyKHggPT4geC53aXRoU2VhcmNoKSl7XHJcbiAgICAgIGMuc2VhcmNoID0gbmV3IElucHV0Q2xhc3ModGhpcy50YWJsZS5lbnZpcm9ubWVudCwgdGhpcy50YWJsZS5sLCBjLm5hbWUsXHJcbiAgICAgICAgbnVsbCwgYy50eXBlID09PSBUYWJsZUNvbGxUeXBlLkRhdGUgPyBJbnB1dFR5cGUuRGF0ZSA6IElucHV0VHlwZS5UZXh0LCAnaC0yNSB0YWJsZS1zZWFyY2gnKTtcclxuICAgICAgYy5zZWFyY2guZGlzcGxheUxhYmVsID0gZmFsc2U7XHJcbiAgICAgIGMuc2VhcmNoLm9uQ2hhbmdlID0gKCkgPT4ge1xyXG4gICAgICAgIHRoaXMudGFibGUubG9hZCgpO1xyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMudGFibGUuc29ydGFibGUpe1xyXG4gICAgICB0aGlzLnRhYmxlLnBlclBhZ2UgPSAtMTtcclxuICAgICAgdGhpcy50YWJsZS5vbkxvYWQgPSAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZXRTb3J0YWJsZSgpO1xyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgdGhpcy50YWJsZS5zZXQodGhpcy5jaGFuZ2VSb3dzKTtcclxuICAgIGlmICh0aGlzLnRhYmxlLnNlYXJjaEZvcm0pe1xyXG4gICAgICB0aGlzLnRhYmxlLnNlYXJjaEZvcm0uZGlzcGxheUxhYmVsID0gZmFsc2U7XHJcbiAgICAgIHRoaXMudGFibGUuc2VhcmNoRm9ybS5pbnB1dHMuZm9yRWFjaCh4ID0+IHtcclxuICAgICAgICB4LnJlcXVpcmVkID0gZmFsc2U7XHJcbiAgICAgICAgeC5kaXNwbGF5TGFiZWwgPSBmYWxzZTtcclxuICAgICAgICB4LndpdGhDbGVhciA9IHRydWU7XHJcbiAgICAgICAgeC5jbGFzcyA9IHguY2xhc3MgKyAnIGgtMzAnO1xyXG4gICAgICAgIHgub25DaGFuZ2UgPSAoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnRhYmxlLmxvYWQoKTtcclxuICAgICAgICB9O1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHRoaXMub3B0aW9ucyA9IHRoaXMuZ2V0T3B0aW9ucygpO1xyXG4gICAgdGhpcy5yZWxvYWQub25DbGljayA9ICgpID0+IHtcclxuICAgICAgdGhpcy50YWJsZS5sb2FkKHRoaXMucmVsb2FkKTtcclxuICAgIH07XHJcbiAgICB0aGlzLm1heGltdW0ub25DbGljayA9ICgpID0+IHtcclxuICAgICAgJCh0aGlzLnRhYmxlRGl2Lm5hdGl2ZUVsZW1lbnQpLnRvZ2dsZUNsYXNzKCdtYXhpbXVtJyk7XHJcbiAgICAgIHRoaXMubWF4aW11bS5pY29uID0gdGhpcy5tYXhpbXVtLm5hbWUgPT09ICdNaW5pbXVtJyA/ICdmYS1kdW90b25lIGZhLWFycm93cy1tYXhpbWl6ZScgOiAnZmEtZHVvdG9uZSBmYS1hcnJvd3MtbWluaW1pemUnO1xyXG4gICAgICB0aGlzLm1heGltdW0ubmFtZSA9IHRoaXMubWF4aW11bS5uYW1lID09PSAnTWluaW11bScgPyAnTWF4aW11bScgOiAnTWluaW11bSc7XHJcbiAgICB9O1xyXG4gICAgdGhpcy5vcHREZWxldGUub25DbGljayA9IChpKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLnRhYmxlLmZvcm0pe1xyXG4gICAgICAgIHRoaXMudGFibGUuZm9ybS5jbGVhcigpO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IGRhdGEgPSB7XHJcbiAgICAgICAgaWRzOiB0aGlzLnRhYmxlLnJvd3MuZmlsdGVyKHggPT4geC5zZWxlY3RlZCkubWFwKHggPT4geC5pZClcclxuICAgICAgfTtcclxuICAgICAgdGhpcy5jb25maXJtLnNob3codGhpcy50YWJsZS5sKCdEZWxldGVDb25maXJtJyksIHRoaXMudGFibGUudXJsICsgJy9EZWxldGUvJyArIDAsIGRhdGEsICgpID0+IHtcclxuICAgICAgICB0aGlzLnRhYmxlLmxvYWQobnVsbCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfTtcclxuICAgIHRoaXMudGFibGUuc2hvd0NvbmZpcm0gPSAobDogc3RyaW5nLCB1cmw6IHN0cmluZywgZGF0YSwgYWNjZXB0OiAoYnRuOiBJbnB1dENsYXNzKSA9PiB2b2lkKSA9PiB7XHJcbiAgICAgIHRoaXMuY29uZmlybS5zaG93KGwsIHVybCwgZGF0YSwgYWNjZXB0KTtcclxuICAgIH07XHJcbiAgfVxyXG4gIGFsbFNlbGVjdGVkKCk6IGJvb2xlYW57XHJcbiAgICByZXR1cm4gdGhpcy50YWJsZS5yb3dzLmZpbHRlcih4ID0+ICF4LnNlbGVjdGVkKS5sZW5ndGggPT09IDA7XHJcbiAgfVxyXG4gIGlzU2VsZWN0ZWQoKTogYm9vbGVhbntcclxuICAgIHJldHVybiB0aGlzLnRhYmxlLnJvd3MuZmlsdGVyKHggPT4geC5zZWxlY3RlZCkubGVuZ3RoID4gMDtcclxuICB9XHJcbiAgc2VsZWN0QWxsKCk6IHZvaWR7XHJcbiAgICBpZiAodGhpcy50YWJsZS5yb3dzLmZpbHRlcih4ID0+ICF4LnNlbGVjdGVkKS5sZW5ndGggPT09IDApe1xyXG4gICAgICB0aGlzLnRhYmxlLnJvd3MuZm9yRWFjaCh4ID0+IHguc2VsZWN0ZWQgPSBmYWxzZSk7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy50YWJsZS5yb3dzLmZvckVhY2goeCA9PiB4LnNlbGVjdGVkID0gdHJ1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGdldE9wdGlvbnMoKTogSW5wdXRDbGFzc1tde1xyXG4gICAgcmV0dXJuIFtdO1xyXG4gIH1cclxuICBzZXRTb3J0YWJsZSgpOiB2b2lke1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgJCh0aGlzLnJvd3MubmF0aXZlRWxlbWVudCkuc29ydGFibGUoe1xyXG4gICAgICAgIGF4aXM6ICd5JyxcclxuICAgICAgICBpdGVtczogJ3RyJyxcclxuICAgICAgICB1cGRhdGU6ICgpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGRhdGEgPSBbXTtcclxuICAgICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICAgICQodGhpcy5yb3dzLm5hdGl2ZUVsZW1lbnQpLnNvcnRhYmxlKCd0b0FycmF5JykuZm9yRWFjaCh4ID0+IGRhdGEucHVzaCh4KSk7XHJcbiAgICAgICAgICBuZXcgUmVxdWVzdENsYXNzKHRoaXMudGFibGUubCkuc2VuZCh0aGlzLnRhYmxlLnVybCArICdTb3J0JywgTWV0aG9kLlBvc3QsIHtJZHM6IGRhdGF9LCBudWxsLCAoKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnRhYmxlLm9uU29ydCl7XHJcbiAgICAgICAgICAgICAgdGhpcy50YWJsZS5vblNvcnQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KS5kaXNhYmxlU2VsZWN0aW9uKCk7XHJcbiAgICB9LCA1MDApO1xyXG4gIH1cclxuICBnZXRSb3dzKCk6IGFueVtde1xyXG4gICAgY29uc3QgYyA9IHRoaXMudGFibGUucm93cy5maWx0ZXIoeCA9PiAheC5EYXRhLlBhcmVudElkKTtcclxuICAgIGMuZm9yRWFjaCgoeCwgaSkgPT4geC5Sb3dOdW0gPSBjLmxlbmd0aCAtIGkgKyAxKTtcclxuICAgIHJldHVybiBjO1xyXG4gIH1cclxuICAvLyBnZXRPcHRpb25Nb2RhbHMoKTogSW5wdXRDbGFzc1tde1xyXG4gIC8vICAgY29uc3QgbW9kYWxzID0gW107XHJcbiAgLy8gICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyh0aGlzLnRhYmxlLm9wdGlvbkFjdGlvbnMpKSB7XHJcbiAgLy8gICAgIGlmICh0aGlzLnRhYmxlLm9wdGlvbkFjdGlvbnNba2V5XS5tb2RhbCl7XHJcbiAgLy8gICAgICAgbW9kYWxzLnB1c2godGhpcy50YWJsZS5vcHRpb25BY3Rpb25zW2tleV0ubW9kYWwpO1xyXG4gIC8vICAgICB9XHJcbiAgLy8gICB9XHJcbiAgLy8gICByZXR1cm4gbW9kYWxzO1xyXG4gIC8vIH1cclxuICBvbkNoYW5nZVJvd3MoZSk6IHZvaWR7XHJcbiAgICByZXR1cm4gdGhpcy5jaGFuZ2VSb3dzLmVtaXQoZSk7XHJcbiAgfVxyXG4gIG9uQ29uZmlybVNob3coZSk6IHZvaWR7XHJcbiAgICB0aGlzLmNvbmZpcm0uc2hvdyh0aGlzLnRhYmxlLmwoJ0RlbGV0ZUNvbmZpcm0nKSwgdGhpcy50YWJsZS51cmwgKyAnRGVsZXRlLycgKyBlLmlkLCBudWxsLCBlLmFjY2VwdCk7XHJcbiAgfVxyXG4gIGNoYW5nZVNvcnQoZSwgczogc3RyaW5nKTogdm9pZHtcclxuICAgIGlmICgkKGUudGFyZ2V0KS5jbG9zZXN0KCcuaGVhZGVyLXNlYXJjaCcpLmhhc0NsYXNzKCdoZWFkZXItc2VhcmNoJykpe1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnRhYmxlLnNvcnRUeXBlID0gdGhpcy50YWJsZS5zb3J0ID09PSBzID8gdGhpcy50YWJsZS5zb3J0VHlwZSA9PT0gJ0FTQycgPyAnREVTQycgOiAnQVNDJyA6ICdBU0MnO1xyXG4gICAgdGhpcy50YWJsZS5zb3J0ID0gcztcclxuICAgIHRoaXMudGFibGUubG9hZCgpO1xyXG4gIH1cclxuICBnZXRNb2RhbHMoKTogTW9kYWxDbGFzc1tde1xyXG4gICAgcmV0dXJuIHRoaXMudGFibGUub3B0aW9uc0FjdGlvbnMuZmlsdGVyKHggPT4geCBpbnN0YW5jZW9mIE1vZGFsQ2xhc3MpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1700,7 +1700,7 @@ SidebarComponent.decorators = [
1700
1700
  { type: Component, args: [{
1701
1701
  selector: 'lib-sidebar',
1702
1702
  template: "<div id=\"Sidebar\" class=\"open\">\r\n <div class=\"sidebar-shadow\" (click)=\"toggleSidebar.emit()\"></div>\r\n <div class=\"sidebar-scroll\">\r\n <i (click)=\"toggleSidebar.emit()\" class=\"toggle fa-duotone fa-angle-double-left\"></i>\r\n <div class=\"brand-con\">\r\n <div class=\"logo\"></div>\r\n <div class=\"title\">\r\n {{l('SoftwareName')}}\r\n <div class=\"version\">{{l('Version', version)}}</div>\r\n </div>\r\n </div>\r\n <div class=\"sidebar-con\" id=\"sidebar-con\">\r\n <span *ngFor=\"let item of sidebar\">\r\n <lib-sidebar-item [i]=\"0\" [item]=\"item\" [base]=\"true\" [currentSidebar]=\"currentSidebar\" [area]=\"area\"></lib-sidebar-item>\r\n </span>\r\n </div>\r\n </div>\r\n</div>\r\n",
1703
- styles: ["#Sidebar{background-color:var(--base);height:calc(100vh - 35px);min-height:calc(100vh - 35px);position:relative;transition:width .3s;width:78px;z-index:12}#Sidebar,#Sidebar .sidebar-shadow{-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;direction:ltr;float:right}#Sidebar .sidebar-shadow{background-color:var(--black);height:100vh;left:0;min-height:100vh;opacity:0;overflow:hidden;position:fixed;transition:all .3s;visibility:hidden;width:100%;z-index:9}#Sidebar.open{width:260px}#Sidebar .sidebar-scroll{background-color:var(--base);height:100%;position:absolute;right:0;top:0;transition:all .3s;width:100%;z-index:11}#Sidebar .sidebar-scroll .sidebar-con{direction:ltr;float:right;height:calc(100vh - 85px);overflow-x:hidden;overflow-y:auto;width:100%}#Sidebar .sidebar-scroll .brand-con{align-items:center;background-color:var(--base-dark);direction:rtl;display:flex;float:right;height:50px;justify-content:center;width:100%}#Sidebar .sidebar-scroll .brand-con .logo{background-position:50%;background-repeat:no-repeat;background-size:contain;float:right;height:30px;width:30px}#Sidebar .sidebar-scroll .brand-con .title{align-items:center;color:#fff;display:flex;font-family:VazirBold;font-size:15px;height:100%;justify-content:center;overflow:hidden;position:relative;top:-4px;transition:all .3s;width:0}#Sidebar.open .sidebar-scroll .brand-con .title{width:110px}#Sidebar .sidebar-scroll .brand-con .title .version{font-family:VazirLight;font-size:9px;position:absolute;top:27px}#Sidebar .toggle{color:var(--comp);cursor:pointer;float:left;font-size:18px;height:50px;left:-50px;line-height:50px;position:absolute;text-align:center;transform:scaleX(1);transition:all .3s;width:50px}#Sidebar.open .toggle{transform:scaleX(-1)}#Sidebar .toggle:hover{color:var(--comp-dark)}@media (max-width:399.98px){#Sidebar{height:calc(100vh - 60px);min-height:calc(100vh - 60px)}#Sidebar,#Sidebar.open{width:0}#Sidebar.open .sidebar-scroll{width:100%}#Sidebar .sidebar-scroll{width:260px}#Sidebar .sidebar-scroll .sidebar-con{height:calc(100vh - 110px)}#Sidebar.open .sidebar-scroll .brand-con .title{width:0}#Sidebar .sidebar-scroll .brand-con .title{width:110px}#Sidebar .sidebar-shadow{opacity:.7;visibility:visible}#Sidebar.open .sidebar-shadow{opacity:0;visibility:hidden}#Sidebar .toggle{transform:scaleX(-1)}#Sidebar .toggle,#Sidebar .toggle:hover{color:var(--white)}#Sidebar.open .toggle{color:var(--comp);transform:scaleX(1)}#Sidebar.open .toggle:hover{color:var(--comp-dark)}}@media (min-width:400px) and (max-width:499.98px){#Sidebar{height:calc(100vh - 60px);min-height:calc(100vh - 60px)}#Sidebar,#Sidebar.open{width:0}#Sidebar.open .sidebar-scroll{width:100%}#Sidebar .sidebar-scroll{width:240px}#Sidebar .sidebar-scroll .sidebar-con{height:calc(100vh - 110px)}#Sidebar.open .sidebar-scroll .brand-con .title{width:0}#Sidebar .sidebar-scroll .brand-con .title{width:110px}#Sidebar .sidebar-shadow{opacity:.7;visibility:visible}#Sidebar.open .sidebar-shadow{opacity:0;visibility:hidden}#Sidebar .toggle{transform:scaleX(-1)}#Sidebar .toggle,#Sidebar .toggle:hover{color:var(--white)}#Sidebar.open .toggle{color:var(--comp);transform:scaleX(1)}#Sidebar.open .toggle:hover{color:var(--comp-dark)}}@media (min-width:500px) and (max-width:599.98px){#Sidebar{height:calc(100vh - 60px);min-height:calc(100vh - 60px)}#Sidebar,#Sidebar.open{width:0}#Sidebar.open .sidebar-scroll{width:100%}#Sidebar .sidebar-scroll{width:260px}#Sidebar .sidebar-scroll .sidebar-con{height:calc(100vh - 110px)}#Sidebar.open .sidebar-scroll .brand-con .title{width:0}#Sidebar .sidebar-scroll .brand-con .title{width:110px}#Sidebar .sidebar-shadow{opacity:.7;visibility:visible}#Sidebar.open .sidebar-shadow{opacity:0;visibility:hidden}#Sidebar .toggle{transform:scaleX(-1)}#Sidebar .toggle,#Sidebar .toggle:hover{color:var(--white)}#Sidebar.open .toggle{color:var(--comp);transform:scaleX(1)}#Sidebar.open .toggle:hover{color:var(--comp-dark)}}@media (min-width:600px) and (max-width:699.98px){#Sidebar,#Sidebar.open{width:0}#Sidebar.open .sidebar-scroll{width:100%}#Sidebar .sidebar-scroll{width:260px}#Sidebar.open .sidebar-scroll .brand-con .title{width:0}#Sidebar .sidebar-scroll .brand-con .title{width:110px}#Sidebar .sidebar-shadow{opacity:.7;visibility:visible}#Sidebar.open .sidebar-shadow{opacity:0;visibility:hidden}#Sidebar .toggle{transform:scaleX(-1)}#Sidebar .toggle,#Sidebar .toggle:hover{color:var(--white)}#Sidebar.open .toggle{color:var(--comp);transform:scaleX(1)}#Sidebar.open .toggle:hover{color:var(--comp-dark)}}@media (min-width:700px) and (max-width:799.98px){#Sidebar,#Sidebar.open{width:60px}#Sidebar.open .sidebar-scroll{width:100%}#Sidebar .sidebar-scroll{width:260px}#Sidebar.open .sidebar-scroll .brand-con .title{width:0}#Sidebar .sidebar-scroll .brand-con .title{width:110px}#Sidebar .sidebar-shadow{opacity:.7;visibility:visible}#Sidebar.open .sidebar-shadow{opacity:0;visibility:hidden}#Sidebar .toggle{transform:scaleX(-1)}#Sidebar .toggle,#Sidebar .toggle:hover{color:var(--white)}#Sidebar.open .toggle{color:var(--comp);transform:scaleX(1)}#Sidebar.open .toggle:hover{color:var(--comp-dark)}}@media (min-width:800px) and (max-width:899.98px){#Sidebar,#Sidebar.open{width:60px}#Sidebar.open .sidebar-scroll{width:100%}#Sidebar .sidebar-scroll{width:260px}#Sidebar.open .sidebar-scroll .brand-con .title{width:0}#Sidebar .sidebar-scroll .brand-con .title{width:110px}#Sidebar .sidebar-shadow{opacity:.7;visibility:visible}#Sidebar.open .sidebar-shadow{opacity:0;visibility:hidden}#Sidebar .toggle{transform:scaleX(-1)}#Sidebar .toggle,#Sidebar .toggle:hover{color:var(--white)}#Sidebar.open .toggle{color:var(--comp);transform:scaleX(1)}#Sidebar.open .toggle:hover{color:var(--comp-dark)}}@media (min-width:900px) and (max-width:999.98px){#Sidebar,#Sidebar.open{width:78px}#Sidebar.open .sidebar-scroll{width:100%}#Sidebar .sidebar-scroll{width:260px}#Sidebar.open .sidebar-scroll .brand-con .title{width:0}#Sidebar .sidebar-scroll .brand-con .title{width:110px}#Sidebar .sidebar-shadow{opacity:.7;visibility:visible}#Sidebar.open .sidebar-shadow{opacity:0;visibility:hidden}#Sidebar .toggle{transform:scaleX(-1)}#Sidebar .toggle,#Sidebar .toggle:hover{color:var(--white)}#Sidebar.open .toggle{color:var(--comp);transform:scaleX(1)}#Sidebar.open .toggle:hover{color:var(--comp-dark)}}@media (min-width:1000px) and (max-width:1099.98px){#Sidebar,#Sidebar.open{width:78px}#Sidebar.open .sidebar-scroll{width:100%}#Sidebar .sidebar-scroll{width:260px}#Sidebar.open .sidebar-scroll .brand-con .title{width:0}#Sidebar .sidebar-scroll .brand-con .title{width:110px}#Sidebar .sidebar-shadow{opacity:.7;visibility:visible}#Sidebar.open .sidebar-shadow{opacity:0;visibility:hidden}#Sidebar .toggle{transform:scaleX(-1)}#Sidebar .toggle,#Sidebar .toggle:hover{color:var(--white)}#Sidebar.open .toggle{color:var(--comp);transform:scaleX(1)}#Sidebar.open .toggle:hover{color:var(--comp-dark)}}@media (min-width:1100px) and (max-width:1199.98px){#Sidebar,#Sidebar.open{width:78px}#Sidebar.open .sidebar-scroll{width:100%}#Sidebar .sidebar-scroll{width:260px}#Sidebar.open .sidebar-scroll .brand-con .title{width:0}#Sidebar .sidebar-scroll .brand-con .title{width:110px}#Sidebar .sidebar-shadow{opacity:.7;visibility:visible}#Sidebar.open .sidebar-shadow{opacity:0;visibility:hidden}#Sidebar .toggle{transform:scaleX(-1)}#Sidebar .toggle,#Sidebar .toggle:hover{color:var(--white)}#Sidebar.open .toggle{color:var(--comp);transform:scaleX(1)}#Sidebar.open .toggle:hover{color:var(--comp-dark)}}"]
1703
+ styles: ["#Sidebar{background-color:var(--base);height:calc(100vh - 35px);min-height:calc(100vh - 35px);position:relative;transition:width .3s;width:78px;z-index:102}#Sidebar,#Sidebar .sidebar-shadow{-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;direction:ltr;float:right}#Sidebar .sidebar-shadow{background-color:var(--black);height:100vh;left:0;min-height:100vh;opacity:0;overflow:hidden;position:fixed;transition:all .3s;visibility:hidden;width:100%;z-index:103}#Sidebar.open{width:260px}#Sidebar .sidebar-scroll{background-color:var(--base);height:100%;position:absolute;right:0;top:0;transition:all .3s;width:100%;z-index:104}#Sidebar .sidebar-scroll .sidebar-con{direction:ltr;float:right;height:calc(100vh - 85px);overflow-x:hidden;overflow-y:auto;width:100%}#Sidebar .sidebar-scroll .brand-con{align-items:center;background-color:var(--base-dark);direction:rtl;display:flex;float:right;height:50px;justify-content:center;width:100%}#Sidebar .sidebar-scroll .brand-con .logo{background-position:50%;background-repeat:no-repeat;background-size:contain;float:right;height:30px;width:30px}#Sidebar .sidebar-scroll .brand-con .title{align-items:center;color:#fff;display:flex;font-family:VazirBold;font-size:15px;height:100%;justify-content:center;overflow:hidden;position:relative;top:-4px;transition:all .3s;width:0}#Sidebar.open .sidebar-scroll .brand-con .title{width:110px}#Sidebar .sidebar-scroll .brand-con .title .version{font-family:VazirLight;font-size:9px;position:absolute;top:27px}#Sidebar .toggle{color:var(--comp);cursor:pointer;float:left;font-size:18px;height:50px;left:-50px;line-height:50px;position:absolute;text-align:center;transform:scaleX(1);transition:all .3s;width:50px}#Sidebar.open .toggle{transform:scaleX(-1)}#Sidebar .toggle:hover{color:var(--comp-dark)}@media (max-width:399.98px){#Sidebar{height:calc(100vh - 60px);min-height:calc(100vh - 60px)}#Sidebar,#Sidebar.open{width:0}#Sidebar.open .sidebar-scroll{width:100%}#Sidebar .sidebar-scroll{width:240px}#Sidebar .sidebar-scroll .sidebar-con{height:calc(100vh - 110px)}#Sidebar.open .sidebar-scroll .brand-con .title{width:0}#Sidebar .sidebar-scroll .brand-con .title{width:110px}#Sidebar .sidebar-shadow{opacity:.7;visibility:visible}#Sidebar.open .sidebar-shadow{opacity:0;visibility:hidden}#Sidebar .toggle{transform:scaleX(-1)}#Sidebar .toggle,#Sidebar .toggle:hover{color:var(--white)}#Sidebar.open .toggle{color:var(--comp);transform:scaleX(1)}#Sidebar.open .toggle:hover{color:var(--comp-dark)}}@media (min-width:400px) and (max-width:499.98px){#Sidebar{height:calc(100vh - 60px);min-height:calc(100vh - 60px)}#Sidebar,#Sidebar.open{width:0}#Sidebar.open .sidebar-scroll{width:100%}#Sidebar .sidebar-scroll{width:260px}#Sidebar .sidebar-scroll .sidebar-con{height:calc(100vh - 110px)}#Sidebar.open .sidebar-scroll .brand-con .title{width:0}#Sidebar .sidebar-scroll .brand-con .title{width:110px}#Sidebar .sidebar-shadow{opacity:.7;visibility:visible}#Sidebar.open .sidebar-shadow{opacity:0;visibility:hidden}#Sidebar .toggle{transform:scaleX(-1)}#Sidebar .toggle,#Sidebar .toggle:hover{color:var(--white)}#Sidebar.open .toggle{color:var(--comp);transform:scaleX(1)}#Sidebar.open .toggle:hover{color:var(--comp-dark)}}@media (min-width:500px) and (max-width:599.98px){#Sidebar{height:calc(100vh - 60px);min-height:calc(100vh - 60px)}#Sidebar,#Sidebar.open{width:0}#Sidebar.open .sidebar-scroll{width:100%}#Sidebar .sidebar-scroll{width:260px}#Sidebar .sidebar-scroll .sidebar-con{height:calc(100vh - 110px)}#Sidebar.open .sidebar-scroll .brand-con .title{width:0}#Sidebar .sidebar-scroll .brand-con .title{width:110px}#Sidebar .sidebar-shadow{opacity:.7;visibility:visible}#Sidebar.open .sidebar-shadow{opacity:0;visibility:hidden}#Sidebar .toggle{transform:scaleX(-1)}#Sidebar .toggle,#Sidebar .toggle:hover{color:var(--white)}#Sidebar.open .toggle{color:var(--comp);transform:scaleX(1)}#Sidebar.open .toggle:hover{color:var(--comp-dark)}}@media (min-width:600px) and (max-width:699.98px){#Sidebar,#Sidebar.open{width:0}#Sidebar.open .sidebar-scroll{width:100%}#Sidebar .sidebar-scroll{width:260px}#Sidebar.open .sidebar-scroll .brand-con .title{width:0}#Sidebar .sidebar-scroll .brand-con .title{width:110px}#Sidebar .sidebar-shadow{opacity:.7;visibility:visible}#Sidebar.open .sidebar-shadow{opacity:0;visibility:hidden}#Sidebar .toggle{transform:scaleX(-1)}#Sidebar .toggle,#Sidebar .toggle:hover{color:var(--white)}#Sidebar.open .toggle{color:var(--comp);transform:scaleX(1)}#Sidebar.open .toggle:hover{color:var(--comp-dark)}}@media (min-width:700px) and (max-width:799.98px){#Sidebar,#Sidebar.open{width:60px}#Sidebar.open .sidebar-scroll{width:100%}#Sidebar .sidebar-scroll{width:260px}#Sidebar.open .sidebar-scroll .brand-con .title{width:0}#Sidebar .sidebar-scroll .brand-con .title{width:110px}#Sidebar .sidebar-shadow{opacity:.7;visibility:visible}#Sidebar.open .sidebar-shadow{opacity:0;visibility:hidden}#Sidebar .toggle{transform:scaleX(-1)}#Sidebar .toggle,#Sidebar .toggle:hover{color:var(--white)}#Sidebar.open .toggle{color:var(--comp);transform:scaleX(1)}#Sidebar.open .toggle:hover{color:var(--comp-dark)}}@media (min-width:800px) and (max-width:899.98px){#Sidebar,#Sidebar.open{width:60px}#Sidebar.open .sidebar-scroll{width:100%}#Sidebar .sidebar-scroll{width:260px}#Sidebar.open .sidebar-scroll .brand-con .title{width:0}#Sidebar .sidebar-scroll .brand-con .title{width:110px}#Sidebar .sidebar-shadow{opacity:.7;visibility:visible}#Sidebar.open .sidebar-shadow{opacity:0;visibility:hidden}#Sidebar .toggle{transform:scaleX(-1)}#Sidebar .toggle,#Sidebar .toggle:hover{color:var(--white)}#Sidebar.open .toggle{color:var(--comp);transform:scaleX(1)}#Sidebar.open .toggle:hover{color:var(--comp-dark)}}@media (min-width:900px) and (max-width:999.98px){#Sidebar,#Sidebar.open{width:78px}#Sidebar.open .sidebar-scroll{width:100%}#Sidebar .sidebar-scroll{width:260px}#Sidebar.open .sidebar-scroll .brand-con .title{width:0}#Sidebar .sidebar-scroll .brand-con .title{width:110px}#Sidebar .sidebar-shadow{opacity:.7;visibility:visible}#Sidebar.open .sidebar-shadow{opacity:0;visibility:hidden}#Sidebar .toggle{transform:scaleX(-1)}#Sidebar .toggle,#Sidebar .toggle:hover{color:var(--white)}#Sidebar.open .toggle{color:var(--comp);transform:scaleX(1)}#Sidebar.open .toggle:hover{color:var(--comp-dark)}}@media (min-width:1000px) and (max-width:1099.98px){#Sidebar,#Sidebar.open{width:78px}#Sidebar.open .sidebar-scroll{width:100%}#Sidebar .sidebar-scroll{width:260px}#Sidebar.open .sidebar-scroll .brand-con .title{width:0}#Sidebar .sidebar-scroll .brand-con .title{width:110px}#Sidebar .sidebar-shadow{opacity:.7;visibility:visible}#Sidebar.open .sidebar-shadow{opacity:0;visibility:hidden}#Sidebar .toggle{transform:scaleX(-1)}#Sidebar .toggle,#Sidebar .toggle:hover{color:var(--white)}#Sidebar.open .toggle{color:var(--comp);transform:scaleX(1)}#Sidebar.open .toggle:hover{color:var(--comp-dark)}}@media (min-width:1100px) and (max-width:1199.98px){#Sidebar,#Sidebar.open{width:78px}#Sidebar.open .sidebar-scroll{width:100%}#Sidebar .sidebar-scroll{width:260px}#Sidebar.open .sidebar-scroll .brand-con .title{width:0}#Sidebar .sidebar-scroll .brand-con .title{width:110px}#Sidebar .sidebar-shadow{opacity:.7;visibility:visible}#Sidebar.open .sidebar-shadow{opacity:0;visibility:hidden}#Sidebar .toggle{transform:scaleX(-1)}#Sidebar .toggle,#Sidebar .toggle:hover{color:var(--white)}#Sidebar.open .toggle{color:var(--comp);transform:scaleX(1)}#Sidebar.open .toggle:hover{color:var(--comp-dark)}}"]
1704
1704
  },] }
1705
1705
  ];
1706
1706
  SidebarComponent.ctorParameters = () => [
@@ -1866,7 +1866,7 @@ TablePaginationComponent.decorators = [
1866
1866
  { type: Component, args: [{
1867
1867
  selector: 'lib-table-pagination',
1868
1868
  template: "<div class=\"pagination\">\r\n <div class=\"items\">\r\n <span *ngFor=\"let btn of getButtons()\">\r\n <lib-form-button *ngIf=\"btn.type === type.Button\" [inp]=\"btn\"></lib-form-button>\r\n <div class=\"dots\" *ngIf=\"btn.type === type.Icon\"><div class=\"w-100\"><i class=\"fas fa-ellipsis-h icon\"></i></div></div>\r\n </span>\r\n </div>\r\n <lib-form-select [inp]=\"perPageSelect\"></lib-form-select>\r\n</div>\r\n",
1869
- styles: [".pagination{float:right;text-align:center;width:100%}.pagination .items{display:inline-block;position:relative}::ng-deep .table-con .pagination .form-input-con.button{display:inline-block;float:unset;margin:0 2px;min-width:25px;padding:0 5px;vertical-align:middle;width:unset}::ng-deep .table-con .pagination .items .dots{display:inline-block;height:25px;line-height:25px;margin:0 5px;min-width:25px}::ng-deep .table-con .pagination .form-input-con.select{display:inline-block;float:left;margin:0 5px;min-width:25px;padding:0 5px;width:unset}@media (max-width:399.98px){::ng-deep .table-con .pagination .form-input-con.button.extra,::ng-deep .table-con .pagination .form-input-con.button.first,::ng-deep .table-con .pagination .form-input-con.button.last{display:none}::ng-deep .table-con .pagination .form-input-con.button{margin:0 3px;padding:0 3px}::ng-deep .table-con .pagination .items .dots{display:none}}@media (min-width:400px) and (max-width:499.98px){::ng-deep .table-con .pagination .form-input-con.button.extra,::ng-deep .table-con .pagination .form-input-con.button.first,::ng-deep .table-con .pagination .form-input-con.button.last{display:none}::ng-deep .table-con .pagination .form-input-con.button{margin:0 3px;padding:0 3px}::ng-deep .table-con .pagination .items .dots{display:none}}@media (min-width:500px) and (max-width:599.98px){::ng-deep .table-con .pagination .form-input-con.button.extra{display:none}::ng-deep .table-con .pagination .form-input-con.button{margin:0 3px;padding:0 3px}::ng-deep .table-con .pagination .items .dots{font-size:10px;margin:0}}@media (min-width:600px) and (max-width:699.98px){::ng-deep .table-con .pagination .form-input-con.button{margin:0 3px;padding:0 3px}::ng-deep .table-con .pagination .items .dots{font-size:10px;margin:0}}@media (min-width:700px) and (max-width:799.98px){::ng-deep .table-con .pagination .form-input-con.button{margin:0 3px;padding:0 3px}::ng-deep .table-con .pagination .items .dots{font-size:10px;margin:0}}@media (min-width:800px) and (max-width:899.98px){::ng-deep .table-con .pagination .form-input-con.button{margin:0 3px;padding:0 3px}::ng-deep .table-con .pagination .items .dots{font-size:10px;margin:0}}@media (min-width:900px) and (max-width:999.98px){::ng-deep .table-con .pagination .form-input-con.button{margin:0 3px;padding:0 3px}::ng-deep .table-con .pagination .items .dots{font-size:10px;margin:0}}"]
1869
+ styles: [".pagination{float:right;margin-top:10px;text-align:center;width:100%}.pagination .items{display:inline-block;position:relative}::ng-deep .table-con .pagination .form-input-con.button{display:inline-block;float:unset;margin:0 2px;min-width:25px;padding:0 5px;vertical-align:middle;width:unset}::ng-deep .table-con .pagination .items .dots{display:inline-block;height:25px;line-height:25px;margin:0 5px;min-width:25px}::ng-deep .table-con .pagination .form-input-con.select{display:inline-block;float:left;margin:0 5px;min-width:25px;padding:0 5px;width:unset}@media (max-width:399.98px){::ng-deep .table-con .pagination .form-input-con.button.extra,::ng-deep .table-con .pagination .form-input-con.button.first,::ng-deep .table-con .pagination .form-input-con.button.last{display:none}::ng-deep .table-con .pagination .form-input-con.button{margin:0 3px;padding:0 3px}::ng-deep .table-con .pagination .items .dots{display:none}}@media (min-width:400px) and (max-width:499.98px){::ng-deep .table-con .pagination .form-input-con.button.extra,::ng-deep .table-con .pagination .form-input-con.button.first,::ng-deep .table-con .pagination .form-input-con.button.last{display:none}::ng-deep .table-con .pagination .form-input-con.button{margin:0 3px;padding:0 3px}::ng-deep .table-con .pagination .items .dots{display:none}}@media (min-width:500px) and (max-width:599.98px){::ng-deep .table-con .pagination .form-input-con.button.extra{display:none}::ng-deep .table-con .pagination .form-input-con.button{margin:0 3px;padding:0 3px}::ng-deep .table-con .pagination .items .dots{font-size:10px;margin:0}}@media (min-width:600px) and (max-width:699.98px){::ng-deep .table-con .pagination .form-input-con.button{margin:0 3px;padding:0 3px}::ng-deep .table-con .pagination .items .dots{font-size:10px;margin:0}}@media (min-width:700px) and (max-width:799.98px){::ng-deep .table-con .pagination .form-input-con.button{margin:0 3px;padding:0 3px}::ng-deep .table-con .pagination .items .dots{font-size:10px;margin:0}}@media (min-width:800px) and (max-width:899.98px){::ng-deep .table-con .pagination .form-input-con.button{margin:0 3px;padding:0 3px}::ng-deep .table-con .pagination .items .dots{font-size:10px;margin:0}}@media (min-width:900px) and (max-width:999.98px){::ng-deep .table-con .pagination .form-input-con.button{margin:0 3px;padding:0 3px}::ng-deep .table-con .pagination .items .dots{font-size:10px;margin:0}}"]
1870
1870
  },] }
1871
1871
  ];
1872
1872
  TablePaginationComponent.propDecorators = {
@@ -2511,8 +2511,8 @@ class TableComponent {
2511
2511
  TableComponent.decorators = [
2512
2512
  { type: Component, args: [{
2513
2513
  selector: 'lib-table',
2514
- template: "<div [id]=\"table.id + 'Table'\" [style]=\"table.style\" #tableDiv [className]=\"(table.class ? table.class : '') + (table.sortable ? 'sortable' : '') + (table.hasChildren ? ' has-children' : '') + ' table-con'\">\r\n <div *ngIf=\"table.displayLabel\" class=\"title\">\r\n <div class=\"f-r\">{{this.table.title ? this.table.title : 'List'}}</div>\r\n <span class=\"description\" *ngIf=\"this.table.description != null\" [innerHTML]=\"'( ' + this.table.description + ' )'\"></span>\r\n <div class=\"extra-buttons\" *ngIf=\"table.showExtraButtons\">\r\n <lib-form-icon *ngFor=\"let btn of table.extraButtons\" [inp]=\"btn\"></lib-form-icon>\r\n <lib-form-icon [inp]=\"reload\"></lib-form-icon>\r\n <lib-form-icon [inp]=\"maximum\"></lib-form-icon>\r\n </div>\r\n <div *ngIf=\"table.buttons.length > 0\" class=\"buttons\">\r\n <lib-form-button [inp]=\"btn\" *ngFor=\"let btn of table.buttons\"></lib-form-button>\r\n </div>\r\n </div>\r\n <div class=\"search-form\" *ngIf=\"table.searchForm\">\r\n <lib-form [form]=\"table.searchForm\"></lib-form>\r\n </div>\r\n <lib-form *ngIf=\"table.form && table.form.onTop\" [form]=\"table.form\"></lib-form>\r\n <table>\r\n <thead>\r\n <tr>\r\n <th *ngIf=\"table.hasChildren\" style=\"width: 50px\"></th>\r\n <th *ngIf=\"table.sortable\" style=\"width: 50px\"></th>\r\n <th *ngIf=\"table.withSelect\" style=\"width: 50px\">\r\n <i (click)=\"selectAll()\" [className]=\"(allSelected() ? 'fas fa-check-square green' : isSelected() ? 'fas fa-minus-square green' : 'far fa-square') + ' select-row'\" *ngIf=\"table.rows.length > 0\"></i>\r\n </th>\r\n <th (click)=\"!table.sortable && col.sort && changeSort($event, col.name)\" [className]=\"(!table.sortable && col.sort ? 'sort' : '')\" *ngFor=\"let col of table.cols\" [style]=\"{width: col.percent + '%'}\">\r\n <i *ngIf=\"!table.sortable && col.sort\" [className]=\"'sort-icon fas' + (table.sort === col.name ? (table.sortType === 'ASC' ? ' fa-sort-up' : ' fa-sort-down') : ' fa-sort')\"></i>\r\n <span *ngIf=\"col.search == null\">{{ table.l(col.name) }}</span>\r\n <div class=\"w-90 header-search p-h-20 m-r-5\" *ngIf=\"!table.sortable && col.search != null\">\r\n <lib-form-textbox *ngIf=\"col.type != colType.Date\" [inp]=\"col.search\"></lib-form-textbox>\r\n <lib-form-date *ngIf=\"col.type == colType.Date\" [inp]=\"col.search\"></lib-form-date>\r\n </div>\r\n </th>\r\n <th *ngIf=\"table.optionType == tableOptionType.Show\" [style]=\"{width: (100 - itemsWidth) + '%'}\">{{table.l('Options')}}</th>\r\n<!-- <th *ngIf=\"table.hasOption()\" [style]=\"{width: (100 - itemsWidth) + '%'}\">-->\r\n<!-- <span *ngIf=\"!table.withSelect || !isSelected()\">{{ table.l('Options') }}</span>-->\r\n<!-- <span *ngIf=\"table.withSelect && isSelected()\" class=\"option-con\">-->\r\n<!-- <span *ngFor=\"let opt of options\">-->\r\n<!-- <lib-form-button *ngIf=\"opt.type == type.Button\" [inp]=\"opt\"></lib-form-button>-->\r\n<!-- <lib-form-icon *ngIf=\"opt.type == type.Icon\" [inp]=\"opt\"></lib-form-icon>-->\r\n<!-- </span>-->\r\n<!-- </span>-->\r\n<!-- </th>-->\r\n </tr>\r\n </thead>\r\n <tbody #rows [style]=\"table.perPage > 0 ? {height: table.height * table.perPage + 'px'} : table.loading || !table.permission || table.rows.length == 0 ? {height: '100px'} : {}\">\r\n <lib-table-row (confirmShow)=\"onConfirmShow($event)\" [level]=\"1\" (changeRows)=\"onChangeRows($event)\" [id]=\"row.id ? row.id : ''\" [table]=\"table\" [row]=\"row\" *ngFor=\"let row of getRows()\"></lib-table-row>\r\n <tr *ngIf=\"table.perPage > 0\" [style]=\"{height: (table.perPage > 0 ? (table.perPage - table.rows.length) * table.height : '100') + 'px', visibility: 'hidden'}\"></tr>\r\n <lib-table-loading [table]=\"table\"></lib-table-loading>\r\n </tbody>\r\n <tfoot>\r\n <tr>\r\n <td colspan=\"100%\">\r\n <lib-table-pagination [table]=\"table\" *ngIf=\"table.perPage > 0\"></lib-table-pagination>\r\n </td>\r\n </tr>\r\n </tfoot>\r\n </table>\r\n <lib-modal *ngIf=\"table.modal != null\" [modal]=\"table.modal\"></lib-modal>\r\n <lib-modal [modal]=\"opt\" *ngFor=\"let opt of getModals()\"></lib-modal>\r\n <lib-confirm #confirm [tableId]=\"table.name\"></lib-confirm>\r\n</div>\r\n",
2515
- styles: [".table-con{background-color:#fff;border-radius:5px;box-shadow:var(--box-shadow-table);float:right;padding:20px;position:relative;width:100%}.table-con.maximum{border-radius:0;height:100%;overflow-y:auto;position:fixed;right:0;top:0;width:100%;z-index:11}.table-con>.title{float:right;font-family:VazirBold;font-size:16px;height:40px;line-height:40px;margin-bottom:10px;position:relative;text-align:right;width:100%}.table-con>.title .description{font-family:VazirLight;font-size:13px;margin-right:10px;vertical-align:middle}.table-con>.title .extra-buttons{float:left;margin-top:5px}.table-con>.title .buttons{float:left;margin-left:10px;margin-top:5px}.table-con>.search-form{border-radius:5px;float:right;margin-bottom:5px;width:100%}.table-con table{border-spacing:0!important;width:100%}.table-con table thead tr{-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;position:relative}.table-con table thead tr th{background-color:var(--base-11);color:var(--black-88);font-family:VazirLight;font-size:12px;font-weight:400;height:45px;position:relative;vertical-align:middle}.table-con table thead tr th:first-child{border-bottom-right-radius:5px;border-top-right-radius:5px}.table-con table thead tr th:last-child{border-bottom-left-radius:5px;border-top-left-radius:5px}.table-con table thead tr th.sort{cursor:pointer}.table-con table thead tr th .sort-icon{font-size:13px;height:20px;left:5px;line-height:20px;opacity:.6;position:absolute;top:calc(50% - 10px);width:20px}.table-con table tbody{position:relative}.table-con table tfoot tr{height:45px}.table-con table tfoot tr td{position:relative;vertical-align:bottom}::ng-deep .table-con:not(.sortable) table lib-table-row:last-of-type>tr:after{background-image:unset}::ng-deep .table-con table thead tr th .select-row{cursor:pointer;font-size:18px;height:30px;line-height:30px}"]
2514
+ template: "<div [id]=\"table.id + 'Table'\" [style]=\"table.style\" #tableDiv [className]=\"(table.class ? table.class : '') + (table.sortable ? 'sortable' : '') + (table.hasChildren ? ' has-children' : '') + ' table-con'\">\r\n <div *ngIf=\"table.displayLabel\" class=\"title\">\r\n <div class=\"f-r\">{{this.table.title ? this.table.title : 'List'}}</div>\r\n <span class=\"description\" *ngIf=\"this.table.description != null\" [innerHTML]=\"'( ' + this.table.description + ' )'\"></span>\r\n <div class=\"extra-buttons\" *ngIf=\"table.showExtraButtons\">\r\n <lib-form-icon *ngFor=\"let btn of table.extraButtons\" [inp]=\"btn\"></lib-form-icon>\r\n <lib-form-icon [inp]=\"reload\"></lib-form-icon>\r\n <lib-form-icon [inp]=\"maximum\"></lib-form-icon>\r\n </div>\r\n <div *ngIf=\"table.buttons.length > 0\" class=\"buttons\">\r\n <lib-form-button [inp]=\"btn\" *ngFor=\"let btn of table.buttons\"></lib-form-button>\r\n </div>\r\n </div>\r\n <div class=\"search-form\" *ngIf=\"table.searchForm\">\r\n <lib-form [form]=\"table.searchForm\"></lib-form>\r\n </div>\r\n <lib-form *ngIf=\"table.form && table.form.onTop\" [form]=\"table.form\"></lib-form>\r\n <table>\r\n <thead>\r\n <tr>\r\n <th *ngIf=\"table.hasChildren\" style=\"width: 50px\"></th>\r\n <th *ngIf=\"table.sortable\" style=\"width: 50px\"></th>\r\n <th *ngIf=\"table.withSelect\" style=\"width: 50px\">\r\n <i (click)=\"selectAll()\" [className]=\"(allSelected() ? 'fas fa-check-square green' : isSelected() ? 'fas fa-minus-square green' : 'far fa-square') + ' select-row'\" *ngIf=\"table.rows.length > 0\"></i>\r\n </th>\r\n <th (click)=\"!table.sortable && col.sort && changeSort($event, col.name)\" [className]=\"(!table.sortable && col.sort ? 'sort' : '')\" *ngFor=\"let col of table.cols\" [style]=\"{width: col.percent + '%'}\">\r\n <i *ngIf=\"!table.sortable && col.sort\" [className]=\"'sort-icon fas' + (table.sort === col.name ? (table.sortType === 'ASC' ? ' fa-sort-up' : ' fa-sort-down') : ' fa-sort')\"></i>\r\n <span *ngIf=\"col.search == null\">{{ table.l(col.name) }}</span>\r\n <div class=\"w-90 header-search p-h-20 m-r-5\" *ngIf=\"!table.sortable && col.search != null\">\r\n <lib-form-textbox *ngIf=\"col.type != colType.Date\" [inp]=\"col.search\"></lib-form-textbox>\r\n <lib-form-date *ngIf=\"col.type == colType.Date\" [inp]=\"col.search\"></lib-form-date>\r\n </div>\r\n </th>\r\n <th *ngIf=\"table.optionType == tableOptionType.Show\" [style]=\"{width: (100 - itemsWidth) + '%'}\">{{table.l('Options')}}</th>\r\n<!-- <th *ngIf=\"table.hasOption()\" [style]=\"{width: (100 - itemsWidth) + '%'}\">-->\r\n<!-- <span *ngIf=\"!table.withSelect || !isSelected()\">{{ table.l('Options') }}</span>-->\r\n<!-- <span *ngIf=\"table.withSelect && isSelected()\" class=\"option-con\">-->\r\n<!-- <span *ngFor=\"let opt of options\">-->\r\n<!-- <lib-form-button *ngIf=\"opt.type == type.Button\" [inp]=\"opt\"></lib-form-button>-->\r\n<!-- <lib-form-icon *ngIf=\"opt.type == type.Icon\" [inp]=\"opt\"></lib-form-icon>-->\r\n<!-- </span>-->\r\n<!-- </span>-->\r\n<!-- </th>-->\r\n </tr>\r\n </thead>\r\n <tbody #rows [style]=\"table.perPage > 0 ? {height: table.height * table.perPage + 'px'} : table.loading || !table.permission || table.rows.length == 0 ? {height: '100px'} : {}\">\r\n <lib-table-row (confirmShow)=\"onConfirmShow($event)\" [level]=\"1\" (changeRows)=\"onChangeRows($event)\" [id]=\"row.id ? row.id : ''\" [table]=\"table\" [row]=\"row\" *ngFor=\"let row of getRows()\"></lib-table-row>\r\n <tr *ngIf=\"table.perPage > 0\" [style]=\"{height: (table.perPage > 0 ? (table.perPage - table.rows.length) * table.height : '100') + 'px', visibility: 'hidden'}\"></tr>\r\n <lib-table-loading [table]=\"table\"></lib-table-loading>\r\n </tbody>\r\n </table>\r\n <lib-table-pagination [table]=\"table\" *ngIf=\"table.perPage > 0\"></lib-table-pagination>\r\n <lib-modal *ngIf=\"table.modal != null\" [modal]=\"table.modal\"></lib-modal>\r\n <lib-modal [modal]=\"opt\" *ngFor=\"let opt of getModals()\"></lib-modal>\r\n <lib-confirm #confirm [tableId]=\"table.name\"></lib-confirm>\r\n</div>\r\n",
2515
+ styles: [".table-con{background-color:#fff;border-radius:5px;box-shadow:var(--box-shadow-table);float:right;padding:20px;position:relative;width:100%}.table-con.maximum{border-radius:0;height:100%;overflow-y:auto;position:fixed;right:0;top:0;width:100%;z-index:11}.table-con>.title{float:right;font-family:VazirBold;font-size:16px;line-height:40px;margin-bottom:10px;position:relative;text-align:right;width:100%}.table-con>.title .description{font-family:VazirLight;font-size:13px;margin-right:10px;vertical-align:middle}.table-con>.title .buttons,.table-con>.title .extra-buttons{float:left;margin-top:5px}.table-con>.search-form{border-radius:5px;float:right;margin-bottom:5px;width:100%}.table-con table{border-spacing:0!important;width:100%}.table-con table thead tr{-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;position:relative}.table-con table thead tr th{background-color:var(--base-11);color:var(--black-88);font-family:VazirLight;font-size:12px;font-weight:400;height:45px;position:relative;vertical-align:middle}.table-con table thead tr th:first-child{border-bottom-right-radius:5px;border-top-right-radius:5px}.table-con table thead tr th:last-child{border-bottom-left-radius:5px;border-top-left-radius:5px}.table-con table thead tr th.sort{cursor:pointer}.table-con table thead tr th .sort-icon{font-size:13px;height:20px;left:5px;line-height:20px;opacity:.6;position:absolute;top:calc(50% - 10px);width:20px}.table-con table tbody{position:relative}::ng-deep .table-con:not(.sortable) table lib-table-row:last-of-type>tr:after{background-image:unset}::ng-deep .table-con table thead tr th .select-row{cursor:pointer;font-size:18px;height:30px;line-height:30px}"]
2516
2516
  },] }
2517
2517
  ];
2518
2518
  TableComponent.ctorParameters = () => [