axidio-styleguide-library1-v2 0.1.75 → 0.1.77

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.
@@ -3377,243 +3377,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
3377
3377
  type: Output
3378
3378
  }] } });
3379
3379
 
3380
- class DropdownComponent {
3381
- constructor() {
3382
- this.dropdownHeaderName = 'Compare by';
3383
- this.isDropdownOpen = false;
3384
- this.selectedCompareBy = {};
3385
- this.isCheckboxVisible = true;
3386
- this.ddClicked = new EventEmitter();
3387
- this.selectedFromDropdown = new EventEmitter();
3388
- this.childDropdownListVisible = [];
3389
- window.addEventListener('storage', this.onStorageChange.bind(this));
3390
- }
3391
- ngOnDestroy() {
3392
- window.removeEventListener('storage', this.onStorageChange);
3393
- }
3394
- ngOnChanges(changes) {
3395
- let valueFromStore = sessionStorage.getItem('childDropdownListVisible');
3396
- if (valueFromStore) {
3397
- this.childDropdownListVisible = JSON.parse(valueFromStore);
3398
- }
3399
- const selectedCompareByFromStotage = sessionStorage.getItem('selectedCompareBy');
3400
- if (selectedCompareByFromStotage &&
3401
- this.dropdownHeaderName == 'Compare by') {
3402
- try {
3403
- this.selectedCompareBy = JSON.parse(selectedCompareByFromStotage);
3404
- }
3405
- catch (e) {
3406
- console.log('Error parsing selectedCompareBy from sessionStorage:', e);
3407
- }
3408
- }
3409
- const selectedCompare2ByFromStotage = sessionStorage.getItem('selectedCompare2By');
3410
- if (selectedCompare2ByFromStotage &&
3411
- this.dropdownHeaderName != 'Compare by') {
3412
- try {
3413
- this.selectedCompareBy = JSON.parse(selectedCompare2ByFromStotage);
3414
- this.dropdownHeaderName =
3415
- Object.keys(this.selectedCompareBy) &&
3416
- Object.keys(this.selectedCompareBy).length > 0
3417
- ? Object.keys(this.selectedCompareBy)[0]
3418
- : '';
3419
- }
3420
- catch (e) {
3421
- console.log('Error parsing selectedCompareBy from sessionStorage:', e);
3422
- }
3423
- }
3424
- if (sessionStorage.getItem('chartHeaderDropdown') &&
3425
- this.dropdownHeaderName == 'Compare by')
3426
- this.isDropdownOpen =
3427
- sessionStorage.getItem('chartHeaderDropdown') == 'true';
3428
- }
3429
- headerClicked(event) {
3430
- event.stopPropagation();
3431
- this.ddClicked.emit(true);
3432
- this.isDropdownOpen = !this.isDropdownOpen;
3433
- if (this.dropdownHeaderName == 'Compare by')
3434
- this.setDropDownStatus();
3435
- else
3436
- this.setDropDown2Status();
3437
- sessionStorage.setItem('isPerformanceClosed', 'true');
3438
- }
3439
- setDropDownStatus() {
3440
- sessionStorage.setItem('chartHeaderDropdown', this.isDropdownOpen.toString());
3441
- sessionStorage.setItem('chartHeaderDropdown2', 'false');
3442
- }
3443
- setDropDown2Status() {
3444
- sessionStorage.setItem('chartHeaderDropdown', 'false');
3445
- sessionStorage.setItem('chartHeaderDropdown2', this.isDropdownOpen.toString());
3446
- }
3447
- clickout() {
3448
- if (this.isDropdownOpen) {
3449
- this.isDropdownOpen = false;
3450
- this.childDropdownListVisible = [];
3451
- sessionStorage.setItem('childDropdownListVisible', JSON.stringify([]));
3452
- }
3453
- if (this.dropdownHeaderName != 'Compare by')
3454
- sessionStorage.setItem('chartHeaderDropdown2', 'false');
3455
- if (this.dropdownHeaderName == 'Compare by')
3456
- this.setDropDownStatus();
3457
- }
3458
- handleListHeaderClick(event, data, entireList) {
3459
- this.handleListPanelClick(event);
3460
- if (this.dropdownHeaderName != 'Compare By' && !data.children) {
3461
- this.dropdownHeaderName = data.name;
3462
- this.isDropdownOpen = false;
3463
- if (this.dropdownHeaderName == 'Compare by')
3464
- this.setDropDownStatus();
3465
- else
3466
- sessionStorage.setItem('chartHeaderDropdown2', 'false');
3467
- this.selectedCompareBy = {};
3468
- }
3469
- let keysArray = Object.keys(this.selectedCompareBy);
3470
- if (!keysArray.length || !keysArray.includes(data.name)) {
3471
- this.selectedCompareBy[data.name] = data.children ? data.children : data;
3472
- }
3473
- else if (data.children) {
3474
- delete this.selectedCompareBy[data.name];
3475
- }
3476
- if (this.dropdownHeaderName != 'Compare by' &&
3477
- ((sessionStorage.getItem('selectedCompare2By') &&
3478
- sessionStorage.getItem('selectedCompare2By') != '{}' &&
3479
- JSON.stringify(this.selectedCompareBy) ==
3480
- sessionStorage.getItem('selectedCompare2By')) ||
3481
- (!sessionStorage.getItem('selectedCompare2By') &&
3482
- JSON.stringify(this.selectedCompareBy)
3483
- .toLowerCase()
3484
- .includes(this.dropdownHeaderName.toLowerCase())))) {
3485
- }
3486
- else {
3487
- this.selectedFromDropdown.emit({
3488
- compareByFilters: this.selectedCompareBy,
3489
- entireList: entireList,
3490
- });
3491
- }
3492
- if (this.dropdownHeaderName == 'Compare by' && data.children)
3493
- sessionStorage.setItem('selectedCompareBy', JSON.stringify(this.selectedCompareBy));
3494
- else {
3495
- sessionStorage.setItem('selectedCompare2By', JSON.stringify(this.selectedCompareBy));
3496
- }
3497
- }
3498
- handleListChildrenClick(event, parent, child) {
3499
- this.handleListPanelClick(event);
3500
- let keysArray = Object.keys(this.selectedCompareBy);
3501
- if (!keysArray.length || !keysArray.includes(parent.name)) {
3502
- this.selectedCompareBy[parent.name] = [child];
3503
- }
3504
- else {
3505
- /** check if the child is already present */
3506
- let childObjFound = this.selectedCompareBy[parent.name].find((childObj) => childObj.name === child.name);
3507
- if (!childObjFound) {
3508
- /**child not found */
3509
- this.selectedCompareBy[parent.name].push(child);
3510
- }
3511
- else {
3512
- /**child already selected - hence delete that child*/
3513
- this.selectedCompareBy[parent.name] = this.selectedCompareBy[parent.name].filter((childObj) => childObj.name !== child.name);
3514
- if (this.selectedCompareBy[parent.name] &&
3515
- !this.selectedCompareBy[parent.name].length) {
3516
- delete this.selectedCompareBy[parent.name];
3517
- }
3518
- }
3519
- }
3520
- this.selectedFromDropdown.emit({
3521
- compareByFilters: this.selectedCompareBy,
3522
- entireList: parent?.children,
3523
- });
3524
- if (this.dropdownHeaderName == 'Compare by' && parent.children)
3525
- sessionStorage.setItem('selectedCompareBy', JSON.stringify(this.selectedCompareBy));
3526
- else {
3527
- sessionStorage.setItem('selectedCompare2By', JSON.stringify(this.selectedCompareBy));
3528
- }
3529
- }
3530
- handleIfPresent(data) {
3531
- let parentObj = this.dropdownData.find((obj) => obj.name === data.name);
3532
- if (this.selectedCompareBy[data.name] &&
3533
- parentObj.children &&
3534
- parentObj.children.length == this.selectedCompareBy[data.name]?.length) {
3535
- return true;
3536
- }
3537
- if (this.selectedCompareBy[data.name] && !parentObj.children) {
3538
- return true;
3539
- }
3540
- return false;
3541
- }
3542
- handleIfChildPresent(parent, child) {
3543
- if (!Object.keys(this.selectedCompareBy).length) {
3544
- return false;
3545
- }
3546
- let childObjFound = this.selectedCompareBy[parent.name] &&
3547
- this.selectedCompareBy[parent.name].find((childObj) => childObj.name === child.name);
3548
- if (childObjFound) {
3549
- return true;
3550
- }
3551
- return false;
3552
- }
3553
- handleListPanelClick(event) {
3554
- event.stopPropagation();
3555
- }
3556
- getDropdownHeaderName() {
3557
- if (this.dropdownHeaderName != 'Compare by' &&
3558
- sessionStorage.getItem('onHoveredElementClicked')) {
3559
- const reqString = sessionStorage.getItem('onHoveredElementClicked');
3560
- if (reqString)
3561
- this.dropdownHeaderName = reqString.replace(/"/g, '');
3562
- return this.dropdownHeaderName;
3563
- }
3564
- return this.dropdownHeaderName;
3565
- }
3566
- getDropdownVisibilityStatus() {
3567
- if (sessionStorage.getItem('chartHeaderDropdown') &&
3568
- this.dropdownHeaderName == 'Compare by')
3569
- this.isDropdownOpen =
3570
- sessionStorage.getItem('chartHeaderDropdown') == 'true';
3571
- else if (sessionStorage.getItem('chartHeaderDropdown2') &&
3572
- this.dropdownHeaderName != 'Compare by')
3573
- this.isDropdownOpen =
3574
- sessionStorage.getItem('chartHeaderDropdown2') == 'true';
3575
- return this.isDropdownOpen;
3576
- }
3577
- onStorageChange(event) {
3578
- if (event.storageArea === sessionStorage &&
3579
- (event.key === 'chartHeaderDropdown' ||
3580
- event.key == 'chartHeaderDropdown2')) {
3581
- this.getDropdownVisibilityStatus();
3582
- }
3583
- }
3584
- handleShowOrHideChildList(parentName, event) {
3585
- event.stopPropagation();
3586
- if (this.childDropdownListVisible.includes(parentName)) {
3587
- this.childDropdownListVisible = [];
3588
- }
3589
- else {
3590
- this.childDropdownListVisible = [parentName];
3591
- }
3592
- sessionStorage.setItem('childDropdownListVisible', JSON.stringify(this.childDropdownListVisible));
3593
- }
3594
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3595
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DropdownComponent, selector: "lib-dropdown", inputs: { dropdownHeaderName: "dropdownHeaderName", isDropdownOpen: "isDropdownOpen", dropdownData: "dropdownData", isCheckboxVisible: "isCheckboxVisible" }, outputs: { ddClicked: "ddClicked", selectedFromDropdown: "selectedFromDropdown" }, host: { listeners: { "document:click": "clickout($event)" } }, usesOnChanges: true, ngImport: i0, template: "<div class=\"dropdown-container\">\r\n <button class=\"weeklycharts__weekbutton text-align-left\" type=\"button\" (click)=\"headerClicked($event)\"\r\n [ngClass]=\"{ 'weeklycharts__bordernormal': !isDropdownOpen }\">\r\n {{ getDropdownHeaderName() }}\r\n <div class=\"custom-select-caret\">\r\n <i class=\"bi\" [ngClass]=\"{\r\n 'bi-caret-down-fill': !isDropdownOpen,\r\n 'bi-caret-up-fill': isDropdownOpen\r\n }\"></i>\r\n </div>\r\n </button>\r\n\r\n <ul class=\"dropdown__list\" *ngIf=\"getDropdownVisibilityStatus()\" (click)=\"handleListPanelClick($event)\">\r\n <li *ngFor=\"let data of dropdownData\" class=\"position-relative\" \r\n [ngClass]=\"{\r\n 'weeklycharts-active': data.name === dropdownHeaderName,\r\n 'weeklycharts-inactive': data.name !== dropdownHeaderName\r\n }\">\r\n\r\n <!-- Parent Item -->\r\n <span class=\"display-flex align-items-center cursor-pointer gap-2\" (click)=\"handleListHeaderClick($event, data, dropdownData)\">\r\n <i class=\"fa\" [ngClass]=\"{\r\n 'fa-check-square': handleIfPresent(data),\r\n 'fa-square-o': !handleIfPresent(data)\r\n }\" *ngIf=\"isCheckboxVisible\"></i>\r\n <span class=\"list-text font-size-3\"\r\n [ngClass]=\"{ 'font-weight-600': data.name === dropdownHeaderName }\">\r\n {{ data.name }}\r\n </span>\r\n\r\n <!-- Expand/Collapse Icon -->\r\n <span class=\"sublist-arrow lib-display-flex\" *ngIf=\"data.children\" \r\n (click)=\"handleShowOrHideChildList(data.name, $event)\">\r\n <i class=\"fa font-size-1 font-weight-600\" \r\n [ngClass]=\"{\r\n 'fa-angle-right': !childDropdownListVisible.includes(data.name),\r\n 'fa-angle-down': childDropdownListVisible.includes(data.name)\r\n }\"></i>\r\n </span>\r\n </span>\r\n\r\n <!-- Children List -->\r\n <ul class=\"dropdown-sublist lib-ml-20 lib-list-children\"\r\n *ngIf=\"data.children && childDropdownListVisible.includes(data.name)\">\r\n <li *ngFor=\"let child of data.children\" \r\n class=\"display-flex align-items-center cursor-pointer gap-2\"\r\n (click)=\"handleListChildrenClick($event, data, child)\">\r\n <i class=\"fa\" [ngClass]=\"{\r\n 'fa-check-square': handleIfChildPresent(data, child),\r\n 'fa-square-o': !handleIfChildPresent(data, child)\r\n }\"></i>\r\n <span class=\"checkbox-text-styles\">{{ child.name }}</span>\r\n </li>\r\n </ul>\r\n\r\n </li>\r\n </ul>\r\n</div>\r\n", styles: [".dropdown-container{position:relative;display:inline-block;margin-right:15px}.weeklycharts__weekbutton{outline:none;background:var(--card-bg);border:1px solid #888;font:14px Arial;min-width:160px;height:35px;color:var(--color)!important;text-transform:capitalize;padding:2px 38px 2px 14px;position:relative;cursor:pointer}.custom-select-caret{position:absolute;top:0;right:0;height:100%;width:38px;background-color:#0056a3;display:flex;align-items:center;justify-content:center;pointer-events:none}.custom-select-caret i{color:#fff;font-size:.8rem}.dropdown__list{position:absolute;z-index:9;top:35px;width:100%;background:var(--dropdown-bg);color:var(--dropdown-text);box-shadow:var(--dropdown-shadow);border-radius:5px;padding:5px 0}.dropdown__list>li{list-style:none;padding:8px 16px;cursor:pointer;transition:background-color .2s ease,color .2s ease}.dropdown__list>li:hover,.dropdown__list>li.list-hovered{background-color:var(--dropdown-hover-bg);color:var(--dropdown-hover-color)}.weeklycharts-active{font-weight:700;color:var(--dropdown-active-color);background-color:var(--dropdown-active-bg);border-radius:4px}.weeklycharts-inactive{font:14px Arial;color:var(--dropdown-inactive-color);opacity:1}.dropdown-sublist{position:absolute;left:80%;top:0;background-color:var(--sublist-bg);box-shadow:var(--dropdown-shadow);border-radius:4px;padding:10px 12px;max-height:380px;overflow-y:auto}.dropdown-sublist>li{list-style:none;white-space:nowrap;padding:6px 10px;font-size:14px;color:var(--dropdown-text);border-radius:3px;cursor:pointer;transition:background-color .2s ease,color .2s ease}.dropdown-sublist>li:hover{background-color:var(--dropdown-hover-bg);color:var(--dropdown-hover-color)}.dropdown__list i.fa-angle-right,.dropdown__list i.fa-angle-down{margin-left:auto;font-size:.9rem}\n", ".lib-chart-wrapper{width:100%;height:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto;background:#fff 0% 0% no-repeat padding-box;position:relative}.lib-chart-wrapper-wo-shadow{width:100%;height:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto}.lib-chart-wrapper:hover .chart-header-v1{background-color:#2e3640}.lib-chart-wrapper:hover .chart-title{color:#fff}.lib-chart-svg{width:100%}.lib-chart-header{text-align:center;background-color:#052340;color:#fff;width:100%;height:17%;word-spacing:.5px;line-height:1.8;font-weight:700;padding-top:2%;letter-spacing:0;font-size:1.2em}.lib-donut-chart-footer{width:100%;text-align:right}.lib-donut-label-text{font-size:.9em;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto;font-weight:400;letter-spacing:0px;color:#000;opacity:1}.lib-donut-label-icon{display:inline-block;width:10px;height:10px;margin-right:20px;border-radius:3px}.lib-donut-label-item{font-weight:400;font-size:.85em;color:#2f2f2f}.lib-donut-justified-label-wrapper{width:100%;display:inline-block;text-align:center;list-style-type:none}.lib-donut-justified-label-item{font-weight:400;font-size:.85em;color:#2f2f2f;display:inline-block;text-align:left;padding:0 10px}.lib-donut-justified-label-icon{display:inline-block;width:10px;height:10px;margin-right:5px;border-radius:3px}.lib-no-background{background:none!important}.lib-display-hidden{display:none}.lib-ylabel-weeklyCharts{font-style:normal;font-variant:normal;font-weight:800;font-size:10px;line-height:12px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto;letter-spacing:-.07px;text-transform:capitalize;color:#000}.lib-data-labels-weeklycharts{font-style:normal;font-variant:normal;font-weight:400;font-size:12px;line-height:14px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto;letter-spacing:-.06px;color:#000}.lib-data-labels-angled-weeklycharts{font-style:normal;font-variant:normal;font-weight:800;font-size:9.5px;line-height:11px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto;letter-spacing:.4px;text-anchor:start}.lib-xaxis-labels-texts-weeklycharts{font-style:normal;font-variant:normal;font-weight:800;font-size:10px;line-height:11px;letter-spacing:-.05px;fill:#000}.lib-xaxis-labels-texts-drilldown{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto;font-size:14px;letter-spacing:-1px;color:#000;opacity:1;text-transform:capitalize}.lib-white-space-nowrap{white-space:nowrap}.lib-xaxis-labels-texts-drilldown-alt{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto;font-size:10px;letter-spacing:0px;color:#000;opacity:1;text-transform:capitalize}.lib-yaxis-labels-texts-drilldown{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto;font-size:14px;letter-spacing:0px;color:#000!important;opacity:1}.lib-ylabel-drilldowncharts,.lib-xlabel-drilldowncharts{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto;font-size:16px;letter-spacing:-.1px;color:#000!important;opacity:1}.lib-donut-justified-label-icon-drilldown{display:inline-block;width:14px;height:14px;margin-right:10px;border-radius:50%}.marginright-2{margin-right:2%}.margintop-5{margin-top:5%}.width-100{width:100%}.float-right{float:right}.marginBottom-10{margin-bottom:10px}.header-alt{align-items:center;margin-bottom:10px}input::placeholder{font-size:20px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto;letter-spacing:0px;color:#000;opacity:1}.padding-5{padding:5px}.hidden{visibility:hidden}.font-weight-bold{font-weight:900}.textalign-center{text-align:center}.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}.font-weight-600{font-weight:600}.marginRight-15{margin-right:15px}.marginRight-20{margin-right:20px}.switch{position:relative;display:inline-block;width:46px;height:24px;margin-left:5px;margin-right:5px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:#2d5ca0;-webkit-transition:.4s;transition:.4s}.slider:before{position:absolute;content:\"\";height:18px;width:18px;right:3px;bottom:3px;background-color:#fff;-webkit-transition:.4s;transition:.4s}.slider.round{border-radius:18px}.slider.round:before{border-radius:50%}.slider1{position:absolute;cursor:pointer;inset:0;background-color:#015ba2cf;-webkit-transition:.4s;transition:.4s}.slider1:before{position:absolute;content:\"\";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;-webkit-transition:.4s;transition:.4s}.slider1.round1{border-radius:18px}.slider1.round1:before{border-radius:50%}.lib-display-flex{display:flex}.lib-align-items-center{align-items:center}.lib-flex-direction-column{flex-direction:column}.lib-justify-content-space-between{justify-content:space-between}.lib-justify-content-space-around{justify-content:space-around}.lib-justify-content-center{justify-content:center}.lib-justify-content-start{justify-content:start}.lib-justify-content-end{justify-content:end}.lib-ml-20{margin-left:20px}.lib-position-absolute{position:absolute}.lib-z-index-9{z-index:9}.marginright-3{margin-right:3px}@media (min-height: 900px){.lib-chart-wrapper{border-radius:8px}.header-font-size-1{font-size:18px!important}.font-size-1{font-size:14px!important}.font-size-2{font-size:16px!important}.font-size-3{font-size:14px!important}.font-size-4{font-size:22px!important}.font-size-5{font-size:24px!important}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None }); }
3596
- }
3597
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DropdownComponent, decorators: [{
3598
- type: Component,
3599
- args: [{ selector: 'lib-dropdown', encapsulation: ViewEncapsulation.None, template: "<div class=\"dropdown-container\">\r\n <button class=\"weeklycharts__weekbutton text-align-left\" type=\"button\" (click)=\"headerClicked($event)\"\r\n [ngClass]=\"{ 'weeklycharts__bordernormal': !isDropdownOpen }\">\r\n {{ getDropdownHeaderName() }}\r\n <div class=\"custom-select-caret\">\r\n <i class=\"bi\" [ngClass]=\"{\r\n 'bi-caret-down-fill': !isDropdownOpen,\r\n 'bi-caret-up-fill': isDropdownOpen\r\n }\"></i>\r\n </div>\r\n </button>\r\n\r\n <ul class=\"dropdown__list\" *ngIf=\"getDropdownVisibilityStatus()\" (click)=\"handleListPanelClick($event)\">\r\n <li *ngFor=\"let data of dropdownData\" class=\"position-relative\" \r\n [ngClass]=\"{\r\n 'weeklycharts-active': data.name === dropdownHeaderName,\r\n 'weeklycharts-inactive': data.name !== dropdownHeaderName\r\n }\">\r\n\r\n <!-- Parent Item -->\r\n <span class=\"display-flex align-items-center cursor-pointer gap-2\" (click)=\"handleListHeaderClick($event, data, dropdownData)\">\r\n <i class=\"fa\" [ngClass]=\"{\r\n 'fa-check-square': handleIfPresent(data),\r\n 'fa-square-o': !handleIfPresent(data)\r\n }\" *ngIf=\"isCheckboxVisible\"></i>\r\n <span class=\"list-text font-size-3\"\r\n [ngClass]=\"{ 'font-weight-600': data.name === dropdownHeaderName }\">\r\n {{ data.name }}\r\n </span>\r\n\r\n <!-- Expand/Collapse Icon -->\r\n <span class=\"sublist-arrow lib-display-flex\" *ngIf=\"data.children\" \r\n (click)=\"handleShowOrHideChildList(data.name, $event)\">\r\n <i class=\"fa font-size-1 font-weight-600\" \r\n [ngClass]=\"{\r\n 'fa-angle-right': !childDropdownListVisible.includes(data.name),\r\n 'fa-angle-down': childDropdownListVisible.includes(data.name)\r\n }\"></i>\r\n </span>\r\n </span>\r\n\r\n <!-- Children List -->\r\n <ul class=\"dropdown-sublist lib-ml-20 lib-list-children\"\r\n *ngIf=\"data.children && childDropdownListVisible.includes(data.name)\">\r\n <li *ngFor=\"let child of data.children\" \r\n class=\"display-flex align-items-center cursor-pointer gap-2\"\r\n (click)=\"handleListChildrenClick($event, data, child)\">\r\n <i class=\"fa\" [ngClass]=\"{\r\n 'fa-check-square': handleIfChildPresent(data, child),\r\n 'fa-square-o': !handleIfChildPresent(data, child)\r\n }\"></i>\r\n <span class=\"checkbox-text-styles\">{{ child.name }}</span>\r\n </li>\r\n </ul>\r\n\r\n </li>\r\n </ul>\r\n</div>\r\n", styles: [".dropdown-container{position:relative;display:inline-block;margin-right:15px}.weeklycharts__weekbutton{outline:none;background:var(--card-bg);border:1px solid #888;font:14px Arial;min-width:160px;height:35px;color:var(--color)!important;text-transform:capitalize;padding:2px 38px 2px 14px;position:relative;cursor:pointer}.custom-select-caret{position:absolute;top:0;right:0;height:100%;width:38px;background-color:#0056a3;display:flex;align-items:center;justify-content:center;pointer-events:none}.custom-select-caret i{color:#fff;font-size:.8rem}.dropdown__list{position:absolute;z-index:9;top:35px;width:100%;background:var(--dropdown-bg);color:var(--dropdown-text);box-shadow:var(--dropdown-shadow);border-radius:5px;padding:5px 0}.dropdown__list>li{list-style:none;padding:8px 16px;cursor:pointer;transition:background-color .2s ease,color .2s ease}.dropdown__list>li:hover,.dropdown__list>li.list-hovered{background-color:var(--dropdown-hover-bg);color:var(--dropdown-hover-color)}.weeklycharts-active{font-weight:700;color:var(--dropdown-active-color);background-color:var(--dropdown-active-bg);border-radius:4px}.weeklycharts-inactive{font:14px Arial;color:var(--dropdown-inactive-color);opacity:1}.dropdown-sublist{position:absolute;left:80%;top:0;background-color:var(--sublist-bg);box-shadow:var(--dropdown-shadow);border-radius:4px;padding:10px 12px;max-height:380px;overflow-y:auto}.dropdown-sublist>li{list-style:none;white-space:nowrap;padding:6px 10px;font-size:14px;color:var(--dropdown-text);border-radius:3px;cursor:pointer;transition:background-color .2s ease,color .2s ease}.dropdown-sublist>li:hover{background-color:var(--dropdown-hover-bg);color:var(--dropdown-hover-color)}.dropdown__list i.fa-angle-right,.dropdown__list i.fa-angle-down{margin-left:auto;font-size:.9rem}\n", ".lib-chart-wrapper{width:100%;height:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto;background:#fff 0% 0% no-repeat padding-box;position:relative}.lib-chart-wrapper-wo-shadow{width:100%;height:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto}.lib-chart-wrapper:hover .chart-header-v1{background-color:#2e3640}.lib-chart-wrapper:hover .chart-title{color:#fff}.lib-chart-svg{width:100%}.lib-chart-header{text-align:center;background-color:#052340;color:#fff;width:100%;height:17%;word-spacing:.5px;line-height:1.8;font-weight:700;padding-top:2%;letter-spacing:0;font-size:1.2em}.lib-donut-chart-footer{width:100%;text-align:right}.lib-donut-label-text{font-size:.9em;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto;font-weight:400;letter-spacing:0px;color:#000;opacity:1}.lib-donut-label-icon{display:inline-block;width:10px;height:10px;margin-right:20px;border-radius:3px}.lib-donut-label-item{font-weight:400;font-size:.85em;color:#2f2f2f}.lib-donut-justified-label-wrapper{width:100%;display:inline-block;text-align:center;list-style-type:none}.lib-donut-justified-label-item{font-weight:400;font-size:.85em;color:#2f2f2f;display:inline-block;text-align:left;padding:0 10px}.lib-donut-justified-label-icon{display:inline-block;width:10px;height:10px;margin-right:5px;border-radius:3px}.lib-no-background{background:none!important}.lib-display-hidden{display:none}.lib-ylabel-weeklyCharts{font-style:normal;font-variant:normal;font-weight:800;font-size:10px;line-height:12px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto;letter-spacing:-.07px;text-transform:capitalize;color:#000}.lib-data-labels-weeklycharts{font-style:normal;font-variant:normal;font-weight:400;font-size:12px;line-height:14px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto;letter-spacing:-.06px;color:#000}.lib-data-labels-angled-weeklycharts{font-style:normal;font-variant:normal;font-weight:800;font-size:9.5px;line-height:11px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto;letter-spacing:.4px;text-anchor:start}.lib-xaxis-labels-texts-weeklycharts{font-style:normal;font-variant:normal;font-weight:800;font-size:10px;line-height:11px;letter-spacing:-.05px;fill:#000}.lib-xaxis-labels-texts-drilldown{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto;font-size:14px;letter-spacing:-1px;color:#000;opacity:1;text-transform:capitalize}.lib-white-space-nowrap{white-space:nowrap}.lib-xaxis-labels-texts-drilldown-alt{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto;font-size:10px;letter-spacing:0px;color:#000;opacity:1;text-transform:capitalize}.lib-yaxis-labels-texts-drilldown{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto;font-size:14px;letter-spacing:0px;color:#000!important;opacity:1}.lib-ylabel-drilldowncharts,.lib-xlabel-drilldowncharts{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto;font-size:16px;letter-spacing:-.1px;color:#000!important;opacity:1}.lib-donut-justified-label-icon-drilldown{display:inline-block;width:14px;height:14px;margin-right:10px;border-radius:50%}.marginright-2{margin-right:2%}.margintop-5{margin-top:5%}.width-100{width:100%}.float-right{float:right}.marginBottom-10{margin-bottom:10px}.header-alt{align-items:center;margin-bottom:10px}input::placeholder{font-size:20px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto;letter-spacing:0px;color:#000;opacity:1}.padding-5{padding:5px}.hidden{visibility:hidden}.font-weight-bold{font-weight:900}.textalign-center{text-align:center}.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}.font-weight-600{font-weight:600}.marginRight-15{margin-right:15px}.marginRight-20{margin-right:20px}.switch{position:relative;display:inline-block;width:46px;height:24px;margin-left:5px;margin-right:5px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:#2d5ca0;-webkit-transition:.4s;transition:.4s}.slider:before{position:absolute;content:\"\";height:18px;width:18px;right:3px;bottom:3px;background-color:#fff;-webkit-transition:.4s;transition:.4s}.slider.round{border-radius:18px}.slider.round:before{border-radius:50%}.slider1{position:absolute;cursor:pointer;inset:0;background-color:#015ba2cf;-webkit-transition:.4s;transition:.4s}.slider1:before{position:absolute;content:\"\";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;-webkit-transition:.4s;transition:.4s}.slider1.round1{border-radius:18px}.slider1.round1:before{border-radius:50%}.lib-display-flex{display:flex}.lib-align-items-center{align-items:center}.lib-flex-direction-column{flex-direction:column}.lib-justify-content-space-between{justify-content:space-between}.lib-justify-content-space-around{justify-content:space-around}.lib-justify-content-center{justify-content:center}.lib-justify-content-start{justify-content:start}.lib-justify-content-end{justify-content:end}.lib-ml-20{margin-left:20px}.lib-position-absolute{position:absolute}.lib-z-index-9{z-index:9}.marginright-3{margin-right:3px}@media (min-height: 900px){.lib-chart-wrapper{border-radius:8px}.header-font-size-1{font-size:18px!important}.font-size-1{font-size:14px!important}.font-size-2{font-size:16px!important}.font-size-3{font-size:14px!important}.font-size-4{font-size:22px!important}.font-size-5{font-size:24px!important}}\n"] }]
3600
- }], ctorParameters: () => [], propDecorators: { dropdownHeaderName: [{
3601
- type: Input
3602
- }], isDropdownOpen: [{
3603
- type: Input
3604
- }], dropdownData: [{
3605
- type: Input
3606
- }], isCheckboxVisible: [{
3607
- type: Input
3608
- }], ddClicked: [{
3609
- type: Output
3610
- }], selectedFromDropdown: [{
3611
- type: Output
3612
- }], clickout: [{
3613
- type: HostListener,
3614
- args: ['document:click', ['$event']]
3615
- }] } });
3616
-
3617
3380
  class ChartHeaderV3Component {
3618
3381
  constructor() {
3619
3382
  this.compareByFilterSelection = new EventEmitter();
@@ -3649,11 +3412,11 @@ class ChartHeaderV3Component {
3649
3412
  this.zoomInZoomOutClick.emit({ isZoomOut: this.isZoomedOut, event: event });
3650
3413
  }
3651
3414
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChartHeaderV3Component, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3652
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ChartHeaderV3Component, selector: "lib-chart-header-v3", inputs: { chartData: "chartData", chartConfiguration: "chartConfiguration" }, outputs: { compareByFilterSelection: "compareByFilterSelection", zoomInZoomOutClick: "zoomInZoomOutClick" }, ngImport: i0, template: "<div class=\"lib-display-flex header-title-styles\" [ngClass]=\"\r\n !chartData.dropdownData2 &&\r\n !chartData.dropdownData1 &&\r\n chartData.data.length <= 8\r\n ? 'lib-justify-content-start'\r\n : 'lib-justify-content-space-between'\r\n \">\r\n <span class=\"legend-latest-holder\" *ngIf=\"\r\n chartData.data &&\r\n chartData.metaData.default_dept &&\r\n (chartConfiguration.isToggleVisible || chartData.metaData.isToggleVisible)\r\n \">\r\n <span *ngFor=\"let item of chartData.metaData.colors | keyvalue : keepOrder\"><span class=\"legends-latest\"\r\n *ngIf=\"chartData.metaData.default_dept == item.key\" [style.background-color]=\"item.value\"></span></span>\r\n <span class=\"marginRight-30 legend-style font-size-2\" *ngIf=\"chartData.metaData.default_dept\">\r\n Default Dept: {{ chartData.metaData.default_dept }}\r\n </span>\r\n <span *ngFor=\"let item of chartData.metaData.colors | keyvalue : keepOrder\"><span *ngIf=\"\r\n item.key != chartData.metaData.default_dept &&\r\n chartData.metaData.default_dept\r\n \" class=\"legends-latest\" [style.background-color]=\"item.value\"></span></span>\r\n <span class=\"legend-style font-size-2\" *ngIf=\"isLegendVisible() && chartData.metaData.default_dept\">Cross Train\r\n Dept</span>\r\n </span>\r\n <span class=\"legend-latest-holder legend-width\"\r\n [ngClass]=\"chartData.metaData.colorLegendVisibleOnTopLeft ? '' : 'invisible'\"\r\n *ngIf=\"chartData.data && !chartData.metaData.default_dept\">\r\n <span class=\"lib-display-flex lib-align-items-center\"\r\n *ngFor=\"let item of chartData.metaData.colors | keyvalue : keepOrder\"><span class=\"legends-latest\"\r\n [style.background-color]=\"item.value\"></span>\r\n <span class=\"marginRight-20 legend-style font-size-1 lib-white-space-nowrap\">\r\n {{ item.key }}\r\n </span>\r\n </span>\r\n </span>\r\n <span class=\"display-flex\">\r\n <span *ngIf=\"\r\n chartData.dropdownData1 &&\r\n chartData.metaData.breadcrumbLength &&\r\n chartData.metaData.breadcrumbLength == 1\r\n \">\r\n <lib-dropdown [dropdownData]=\"chartData.dropdownData1\" [isDropdownOpen]=\"this.isDD1Open\"\r\n (ddClicked)=\"handleDD1Click()\" (selectedFromDropdown)=\"handleCompareByFilterSelection($event)\"></lib-dropdown>\r\n </span>\r\n <span *ngIf=\"\r\n chartData.dropdownData2 &&\r\n chartData.metaData.breadcrumbLength &&\r\n chartData.metaData.breadcrumbLength == 1\r\n \">\r\n <lib-dropdown [dropdownData]=\"chartData.dropdownData2\" [isDropdownOpen]=\"this.isDD2Open\"\r\n (ddClicked)=\"handleDD2Click()\" (selectedFromDropdown)=\"handleCompareByFilterSelection($event)\"\r\n [isCheckboxVisible]=\"chartData.metaData.isCheckboxVisible\"\r\n [dropdownHeaderName]=\"chartData.metaData.dropdownHeaderName\"></lib-dropdown>\r\n </span>\r\n <span class=\"zoomIcons-holder\" *ngIf=\"chartData.data && chartData.data.length > 8\">\r\n <span class=\"zoomIcons\" title=\"Zoom In\" [ngClass]=\"!isZoomedOut ? 'zoom-active' : 'zoom-inactive'\"\r\n (click)=\"isZoomOutSelected(false, $event)\">\r\n <i class=\"fa fa-search-plus\"></i>\r\n </span>\r\n <span class=\"zoomIcons\" title=\"Zoom Out\" [ngClass]=\"isZoomedOut ? 'zoom-active' : 'zoom-inactive'\"\r\n (click)=\"isZoomOutSelected(true, $event)\">\r\n <i class=\"fa fa-search-minus\"></i>\r\n </span>\r\n </span>\r\n </span>\r\n</div>", styles: [".invisible{visibility:hidden}.hidden{visibility:hidden!important}.content-hidden{visibility:hidden}.opacity-hidden{opacity:0;pointer-events:none}@media (min-height: 500px){.legend-width{max-width:550px;overflow:auto}}@media (min-height: 900px){.header-title-styles{margin-left:35px;margin-top:12px;margin-bottom:25px}.legend-width{max-width:700px;overflow:auto}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DropdownComponent, selector: "lib-dropdown", inputs: ["dropdownHeaderName", "isDropdownOpen", "dropdownData", "isCheckboxVisible"], outputs: ["ddClicked", "selectedFromDropdown"] }, { kind: "pipe", type: i1.KeyValuePipe, name: "keyvalue" }] }); }
3415
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ChartHeaderV3Component, selector: "lib-chart-header-v3", inputs: { chartData: "chartData", chartConfiguration: "chartConfiguration" }, outputs: { compareByFilterSelection: "compareByFilterSelection", zoomInZoomOutClick: "zoomInZoomOutClick" }, ngImport: i0, template: "<div class=\"lib-display-flex header-title-styles\" [ngClass]=\"\r\n !chartData.dropdownData2 &&\r\n !chartData.dropdownData1 &&\r\n chartData.data.length <= 8\r\n ? 'lib-justify-content-start'\r\n : 'lib-justify-content-space-between'\r\n \">\r\n <span class=\"legend-latest-holder\" *ngIf=\"\r\n chartData.data &&\r\n chartData.metaData.default_dept &&\r\n (chartConfiguration.isToggleVisible || chartData.metaData.isToggleVisible)\r\n \">\r\n <span *ngFor=\"let item of chartData.metaData.colors | keyvalue : keepOrder\"><span class=\"legends-latest\"\r\n *ngIf=\"chartData.metaData.default_dept == item.key\" [style.background-color]=\"item.value\"></span></span>\r\n <span class=\"marginRight-30 legend-style font-size-2\" *ngIf=\"chartData.metaData.default_dept\">\r\n Default Dept: {{ chartData.metaData.default_dept }}\r\n </span>\r\n <span *ngFor=\"let item of chartData.metaData.colors | keyvalue : keepOrder\"><span *ngIf=\"\r\n item.key != chartData.metaData.default_dept &&\r\n chartData.metaData.default_dept\r\n \" class=\"legends-latest\" [style.background-color]=\"item.value\"></span></span>\r\n <span class=\"legend-style font-size-2\" *ngIf=\"isLegendVisible() && chartData.metaData.default_dept\">Cross Train\r\n Dept</span>\r\n </span>\r\n <span class=\"legend-latest-holder legend-width\"\r\n [ngClass]=\"chartData.metaData.colorLegendVisibleOnTopLeft ? '' : 'invisible'\"\r\n *ngIf=\"chartData.data && !chartData.metaData.default_dept\">\r\n <span class=\"lib-display-flex lib-align-items-center\"\r\n *ngFor=\"let item of chartData.metaData.colors | keyvalue : keepOrder\"><span class=\"legends-latest\"\r\n [style.background-color]=\"item.value\"></span>\r\n <span class=\"marginRight-20 legend-style font-size-1 lib-white-space-nowrap\">\r\n {{ item.key }}\r\n </span>\r\n </span>\r\n </span>\r\n <span class=\"display-flex\">\r\n <!-- <span *ngIf=\"\r\n chartData.dropdownData1 &&\r\n chartData.metaData.breadcrumbLength &&\r\n chartData.metaData.breadcrumbLength == 1\r\n \">\r\n <lib-dropdown [dropdownData]=\"chartData.dropdownData1\" [isDropdownOpen]=\"this.isDD1Open\"\r\n (ddClicked)=\"handleDD1Click()\" (selectedFromDropdown)=\"handleCompareByFilterSelection($event)\"></lib-dropdown>\r\n </span>\r\n <span *ngIf=\"\r\n chartData.dropdownData2 &&\r\n chartData.metaData.breadcrumbLength &&\r\n chartData.metaData.breadcrumbLength == 1\r\n \">\r\n <lib-dropdown [dropdownData]=\"chartData.dropdownData2\" [isDropdownOpen]=\"this.isDD2Open\"\r\n (ddClicked)=\"handleDD2Click()\" (selectedFromDropdown)=\"handleCompareByFilterSelection($event)\"\r\n [isCheckboxVisible]=\"chartData.metaData.isCheckboxVisible\"\r\n [dropdownHeaderName]=\"chartData.metaData.dropdownHeaderName\"></lib-dropdown>\r\n </span> -->\r\n <span class=\"zoomIcons-holder\" *ngIf=\"chartData.data && chartData.data.length > 8\">\r\n <span class=\"zoomIcons\" title=\"Zoom In\" [ngClass]=\"!isZoomedOut ? 'zoom-active' : 'zoom-inactive'\"\r\n (click)=\"isZoomOutSelected(false, $event)\">\r\n <i class=\"fa fa-search-plus\"></i>\r\n </span>\r\n <span class=\"zoomIcons\" title=\"Zoom Out\" [ngClass]=\"isZoomedOut ? 'zoom-active' : 'zoom-inactive'\"\r\n (click)=\"isZoomOutSelected(true, $event)\">\r\n <i class=\"fa fa-search-minus\"></i>\r\n </span>\r\n </span>\r\n </span>\r\n</div>", styles: [".invisible{visibility:hidden}.hidden{visibility:hidden!important}.content-hidden{visibility:hidden}.opacity-hidden{opacity:0;pointer-events:none}@media (min-height: 500px){.legend-width{max-width:550px;overflow:auto}}@media (min-height: 900px){.header-title-styles{margin-left:35px;margin-top:12px;margin-bottom:25px}.legend-width{max-width:700px;overflow:auto}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.KeyValuePipe, name: "keyvalue" }] }); }
3653
3416
  }
3654
3417
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChartHeaderV3Component, decorators: [{
3655
3418
  type: Component,
3656
- args: [{ selector: 'lib-chart-header-v3', template: "<div class=\"lib-display-flex header-title-styles\" [ngClass]=\"\r\n !chartData.dropdownData2 &&\r\n !chartData.dropdownData1 &&\r\n chartData.data.length <= 8\r\n ? 'lib-justify-content-start'\r\n : 'lib-justify-content-space-between'\r\n \">\r\n <span class=\"legend-latest-holder\" *ngIf=\"\r\n chartData.data &&\r\n chartData.metaData.default_dept &&\r\n (chartConfiguration.isToggleVisible || chartData.metaData.isToggleVisible)\r\n \">\r\n <span *ngFor=\"let item of chartData.metaData.colors | keyvalue : keepOrder\"><span class=\"legends-latest\"\r\n *ngIf=\"chartData.metaData.default_dept == item.key\" [style.background-color]=\"item.value\"></span></span>\r\n <span class=\"marginRight-30 legend-style font-size-2\" *ngIf=\"chartData.metaData.default_dept\">\r\n Default Dept: {{ chartData.metaData.default_dept }}\r\n </span>\r\n <span *ngFor=\"let item of chartData.metaData.colors | keyvalue : keepOrder\"><span *ngIf=\"\r\n item.key != chartData.metaData.default_dept &&\r\n chartData.metaData.default_dept\r\n \" class=\"legends-latest\" [style.background-color]=\"item.value\"></span></span>\r\n <span class=\"legend-style font-size-2\" *ngIf=\"isLegendVisible() && chartData.metaData.default_dept\">Cross Train\r\n Dept</span>\r\n </span>\r\n <span class=\"legend-latest-holder legend-width\"\r\n [ngClass]=\"chartData.metaData.colorLegendVisibleOnTopLeft ? '' : 'invisible'\"\r\n *ngIf=\"chartData.data && !chartData.metaData.default_dept\">\r\n <span class=\"lib-display-flex lib-align-items-center\"\r\n *ngFor=\"let item of chartData.metaData.colors | keyvalue : keepOrder\"><span class=\"legends-latest\"\r\n [style.background-color]=\"item.value\"></span>\r\n <span class=\"marginRight-20 legend-style font-size-1 lib-white-space-nowrap\">\r\n {{ item.key }}\r\n </span>\r\n </span>\r\n </span>\r\n <span class=\"display-flex\">\r\n <span *ngIf=\"\r\n chartData.dropdownData1 &&\r\n chartData.metaData.breadcrumbLength &&\r\n chartData.metaData.breadcrumbLength == 1\r\n \">\r\n <lib-dropdown [dropdownData]=\"chartData.dropdownData1\" [isDropdownOpen]=\"this.isDD1Open\"\r\n (ddClicked)=\"handleDD1Click()\" (selectedFromDropdown)=\"handleCompareByFilterSelection($event)\"></lib-dropdown>\r\n </span>\r\n <span *ngIf=\"\r\n chartData.dropdownData2 &&\r\n chartData.metaData.breadcrumbLength &&\r\n chartData.metaData.breadcrumbLength == 1\r\n \">\r\n <lib-dropdown [dropdownData]=\"chartData.dropdownData2\" [isDropdownOpen]=\"this.isDD2Open\"\r\n (ddClicked)=\"handleDD2Click()\" (selectedFromDropdown)=\"handleCompareByFilterSelection($event)\"\r\n [isCheckboxVisible]=\"chartData.metaData.isCheckboxVisible\"\r\n [dropdownHeaderName]=\"chartData.metaData.dropdownHeaderName\"></lib-dropdown>\r\n </span>\r\n <span class=\"zoomIcons-holder\" *ngIf=\"chartData.data && chartData.data.length > 8\">\r\n <span class=\"zoomIcons\" title=\"Zoom In\" [ngClass]=\"!isZoomedOut ? 'zoom-active' : 'zoom-inactive'\"\r\n (click)=\"isZoomOutSelected(false, $event)\">\r\n <i class=\"fa fa-search-plus\"></i>\r\n </span>\r\n <span class=\"zoomIcons\" title=\"Zoom Out\" [ngClass]=\"isZoomedOut ? 'zoom-active' : 'zoom-inactive'\"\r\n (click)=\"isZoomOutSelected(true, $event)\">\r\n <i class=\"fa fa-search-minus\"></i>\r\n </span>\r\n </span>\r\n </span>\r\n</div>", styles: [".invisible{visibility:hidden}.hidden{visibility:hidden!important}.content-hidden{visibility:hidden}.opacity-hidden{opacity:0;pointer-events:none}@media (min-height: 500px){.legend-width{max-width:550px;overflow:auto}}@media (min-height: 900px){.header-title-styles{margin-left:35px;margin-top:12px;margin-bottom:25px}.legend-width{max-width:700px;overflow:auto}}\n"] }]
3419
+ args: [{ selector: 'lib-chart-header-v3', template: "<div class=\"lib-display-flex header-title-styles\" [ngClass]=\"\r\n !chartData.dropdownData2 &&\r\n !chartData.dropdownData1 &&\r\n chartData.data.length <= 8\r\n ? 'lib-justify-content-start'\r\n : 'lib-justify-content-space-between'\r\n \">\r\n <span class=\"legend-latest-holder\" *ngIf=\"\r\n chartData.data &&\r\n chartData.metaData.default_dept &&\r\n (chartConfiguration.isToggleVisible || chartData.metaData.isToggleVisible)\r\n \">\r\n <span *ngFor=\"let item of chartData.metaData.colors | keyvalue : keepOrder\"><span class=\"legends-latest\"\r\n *ngIf=\"chartData.metaData.default_dept == item.key\" [style.background-color]=\"item.value\"></span></span>\r\n <span class=\"marginRight-30 legend-style font-size-2\" *ngIf=\"chartData.metaData.default_dept\">\r\n Default Dept: {{ chartData.metaData.default_dept }}\r\n </span>\r\n <span *ngFor=\"let item of chartData.metaData.colors | keyvalue : keepOrder\"><span *ngIf=\"\r\n item.key != chartData.metaData.default_dept &&\r\n chartData.metaData.default_dept\r\n \" class=\"legends-latest\" [style.background-color]=\"item.value\"></span></span>\r\n <span class=\"legend-style font-size-2\" *ngIf=\"isLegendVisible() && chartData.metaData.default_dept\">Cross Train\r\n Dept</span>\r\n </span>\r\n <span class=\"legend-latest-holder legend-width\"\r\n [ngClass]=\"chartData.metaData.colorLegendVisibleOnTopLeft ? '' : 'invisible'\"\r\n *ngIf=\"chartData.data && !chartData.metaData.default_dept\">\r\n <span class=\"lib-display-flex lib-align-items-center\"\r\n *ngFor=\"let item of chartData.metaData.colors | keyvalue : keepOrder\"><span class=\"legends-latest\"\r\n [style.background-color]=\"item.value\"></span>\r\n <span class=\"marginRight-20 legend-style font-size-1 lib-white-space-nowrap\">\r\n {{ item.key }}\r\n </span>\r\n </span>\r\n </span>\r\n <span class=\"display-flex\">\r\n <!-- <span *ngIf=\"\r\n chartData.dropdownData1 &&\r\n chartData.metaData.breadcrumbLength &&\r\n chartData.metaData.breadcrumbLength == 1\r\n \">\r\n <lib-dropdown [dropdownData]=\"chartData.dropdownData1\" [isDropdownOpen]=\"this.isDD1Open\"\r\n (ddClicked)=\"handleDD1Click()\" (selectedFromDropdown)=\"handleCompareByFilterSelection($event)\"></lib-dropdown>\r\n </span>\r\n <span *ngIf=\"\r\n chartData.dropdownData2 &&\r\n chartData.metaData.breadcrumbLength &&\r\n chartData.metaData.breadcrumbLength == 1\r\n \">\r\n <lib-dropdown [dropdownData]=\"chartData.dropdownData2\" [isDropdownOpen]=\"this.isDD2Open\"\r\n (ddClicked)=\"handleDD2Click()\" (selectedFromDropdown)=\"handleCompareByFilterSelection($event)\"\r\n [isCheckboxVisible]=\"chartData.metaData.isCheckboxVisible\"\r\n [dropdownHeaderName]=\"chartData.metaData.dropdownHeaderName\"></lib-dropdown>\r\n </span> -->\r\n <span class=\"zoomIcons-holder\" *ngIf=\"chartData.data && chartData.data.length > 8\">\r\n <span class=\"zoomIcons\" title=\"Zoom In\" [ngClass]=\"!isZoomedOut ? 'zoom-active' : 'zoom-inactive'\"\r\n (click)=\"isZoomOutSelected(false, $event)\">\r\n <i class=\"fa fa-search-plus\"></i>\r\n </span>\r\n <span class=\"zoomIcons\" title=\"Zoom Out\" [ngClass]=\"isZoomedOut ? 'zoom-active' : 'zoom-inactive'\"\r\n (click)=\"isZoomOutSelected(true, $event)\">\r\n <i class=\"fa fa-search-minus\"></i>\r\n </span>\r\n </span>\r\n </span>\r\n</div>", styles: [".invisible{visibility:hidden}.hidden{visibility:hidden!important}.content-hidden{visibility:hidden}.opacity-hidden{opacity:0;pointer-events:none}@media (min-height: 500px){.legend-width{max-width:550px;overflow:auto}}@media (min-height: 900px){.header-title-styles{margin-left:35px;margin-top:12px;margin-bottom:25px}.legend-width{max-width:700px;overflow:auto}}\n"] }]
3657
3420
  }], propDecorators: { chartData: [{
3658
3421
  type: Input
3659
3422
  }], chartConfiguration: [{
@@ -7176,57 +6939,21 @@ class HorizontalBarsWithScrollZoomComponent extends ComponentUniqueId {
7176
6939
  }
7177
6940
  isZoomOutSelected(isZoomOut) {
7178
6941
  this.isZoomedOut = isZoomOut;
7179
- this.clearChart();
7180
- setTimeout(() => {
7181
- this.initializeStackedChart();
7182
- }, 10);
6942
+ this.ngOnChanges();
7183
6943
  }
7184
- ngOnChanges(changes) {
7185
- // Only reinitialize if chartData actually changed and it's not the first change
7186
- if (changes.chartData && !changes.chartData.firstChange) {
7187
- this.clearChart();
7188
- // Small timeout to ensure DOM cleanup is complete
7189
- setTimeout(() => {
7190
- this.initializeStackedChart();
7191
- }, 10);
7192
- }
7193
- // Handle configuration changes
7194
- if (changes.customChartConfiguration && !changes.customChartConfiguration.firstChange) {
7195
- this.clearChart();
7196
- setTimeout(() => {
7197
- this.initializeStackedChart();
7198
- }, 10);
7199
- }
7200
- }
7201
- clearChart() {
7202
- try {
7203
- // Remove all content from container
7204
- const container = d3.select(this.containerElt.nativeElement);
7205
- container.selectAll('*').remove();
7206
- // Remove by unique ID as backup
7207
- d3.select('#' + this.uniqueId).remove();
7208
- // Clear any event listeners
7209
- container.on('click', null);
7210
- container.on('mouseenter', null);
7211
- container.on('mouseout', null);
7212
- }
7213
- catch (error) {
7214
- console.warn('Error clearing chart:', error);
7215
- }
6944
+ ngOnChanges() {
6945
+ let self = this;
6946
+ d3.select('#' + self.uniqueId).remove();
6947
+ this.initializeStackedChart();
7216
6948
  }
7217
6949
  onResized(event) {
7218
6950
  let self = this;
7219
- this.clearChart();
7220
- setTimeout(() => {
6951
+ setTimeout(function () {
6952
+ d3.select('#' + self.uniqueId).remove();
7221
6953
  self.initializeStackedChart();
7222
- }, 20); // Slightly longer timeout for resize events
7223
- }
7224
- ngOnInit() {
7225
- // Initialize chart on component init
7226
- if (this.chartData && this.chartData.data) {
7227
- this.initializeStackedChart();
7228
- }
6954
+ }.bind(self), 10);
7229
6955
  }
6956
+ ngOnInit() { }
7230
6957
  initializeStackedChart() {
7231
6958
  var self = this;
7232
6959
  let data = [];
@@ -9896,6 +9623,243 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
9896
9623
  type: Input
9897
9624
  }] } });
9898
9625
 
9626
+ class DropdownComponent {
9627
+ constructor() {
9628
+ this.dropdownHeaderName = 'Compare by';
9629
+ this.isDropdownOpen = false;
9630
+ this.selectedCompareBy = {};
9631
+ this.isCheckboxVisible = true;
9632
+ this.ddClicked = new EventEmitter();
9633
+ this.selectedFromDropdown = new EventEmitter();
9634
+ this.childDropdownListVisible = [];
9635
+ window.addEventListener('storage', this.onStorageChange.bind(this));
9636
+ }
9637
+ ngOnDestroy() {
9638
+ window.removeEventListener('storage', this.onStorageChange);
9639
+ }
9640
+ ngOnChanges(changes) {
9641
+ let valueFromStore = sessionStorage.getItem('childDropdownListVisible');
9642
+ if (valueFromStore) {
9643
+ this.childDropdownListVisible = JSON.parse(valueFromStore);
9644
+ }
9645
+ const selectedCompareByFromStotage = sessionStorage.getItem('selectedCompareBy');
9646
+ if (selectedCompareByFromStotage &&
9647
+ this.dropdownHeaderName == 'Compare by') {
9648
+ try {
9649
+ this.selectedCompareBy = JSON.parse(selectedCompareByFromStotage);
9650
+ }
9651
+ catch (e) {
9652
+ console.log('Error parsing selectedCompareBy from sessionStorage:', e);
9653
+ }
9654
+ }
9655
+ const selectedCompare2ByFromStotage = sessionStorage.getItem('selectedCompare2By');
9656
+ if (selectedCompare2ByFromStotage &&
9657
+ this.dropdownHeaderName != 'Compare by') {
9658
+ try {
9659
+ this.selectedCompareBy = JSON.parse(selectedCompare2ByFromStotage);
9660
+ this.dropdownHeaderName =
9661
+ Object.keys(this.selectedCompareBy) &&
9662
+ Object.keys(this.selectedCompareBy).length > 0
9663
+ ? Object.keys(this.selectedCompareBy)[0]
9664
+ : '';
9665
+ }
9666
+ catch (e) {
9667
+ console.log('Error parsing selectedCompareBy from sessionStorage:', e);
9668
+ }
9669
+ }
9670
+ if (sessionStorage.getItem('chartHeaderDropdown') &&
9671
+ this.dropdownHeaderName == 'Compare by')
9672
+ this.isDropdownOpen =
9673
+ sessionStorage.getItem('chartHeaderDropdown') == 'true';
9674
+ }
9675
+ headerClicked(event) {
9676
+ event.stopPropagation();
9677
+ this.ddClicked.emit(true);
9678
+ this.isDropdownOpen = !this.isDropdownOpen;
9679
+ if (this.dropdownHeaderName == 'Compare by')
9680
+ this.setDropDownStatus();
9681
+ else
9682
+ this.setDropDown2Status();
9683
+ sessionStorage.setItem('isPerformanceClosed', 'true');
9684
+ }
9685
+ setDropDownStatus() {
9686
+ sessionStorage.setItem('chartHeaderDropdown', this.isDropdownOpen.toString());
9687
+ sessionStorage.setItem('chartHeaderDropdown2', 'false');
9688
+ }
9689
+ setDropDown2Status() {
9690
+ sessionStorage.setItem('chartHeaderDropdown', 'false');
9691
+ sessionStorage.setItem('chartHeaderDropdown2', this.isDropdownOpen.toString());
9692
+ }
9693
+ clickout() {
9694
+ if (this.isDropdownOpen) {
9695
+ this.isDropdownOpen = false;
9696
+ this.childDropdownListVisible = [];
9697
+ sessionStorage.setItem('childDropdownListVisible', JSON.stringify([]));
9698
+ }
9699
+ if (this.dropdownHeaderName != 'Compare by')
9700
+ sessionStorage.setItem('chartHeaderDropdown2', 'false');
9701
+ if (this.dropdownHeaderName == 'Compare by')
9702
+ this.setDropDownStatus();
9703
+ }
9704
+ handleListHeaderClick(event, data, entireList) {
9705
+ this.handleListPanelClick(event);
9706
+ if (this.dropdownHeaderName != 'Compare By' && !data.children) {
9707
+ this.dropdownHeaderName = data.name;
9708
+ this.isDropdownOpen = false;
9709
+ if (this.dropdownHeaderName == 'Compare by')
9710
+ this.setDropDownStatus();
9711
+ else
9712
+ sessionStorage.setItem('chartHeaderDropdown2', 'false');
9713
+ this.selectedCompareBy = {};
9714
+ }
9715
+ let keysArray = Object.keys(this.selectedCompareBy);
9716
+ if (!keysArray.length || !keysArray.includes(data.name)) {
9717
+ this.selectedCompareBy[data.name] = data.children ? data.children : data;
9718
+ }
9719
+ else if (data.children) {
9720
+ delete this.selectedCompareBy[data.name];
9721
+ }
9722
+ if (this.dropdownHeaderName != 'Compare by' &&
9723
+ ((sessionStorage.getItem('selectedCompare2By') &&
9724
+ sessionStorage.getItem('selectedCompare2By') != '{}' &&
9725
+ JSON.stringify(this.selectedCompareBy) ==
9726
+ sessionStorage.getItem('selectedCompare2By')) ||
9727
+ (!sessionStorage.getItem('selectedCompare2By') &&
9728
+ JSON.stringify(this.selectedCompareBy)
9729
+ .toLowerCase()
9730
+ .includes(this.dropdownHeaderName.toLowerCase())))) {
9731
+ }
9732
+ else {
9733
+ this.selectedFromDropdown.emit({
9734
+ compareByFilters: this.selectedCompareBy,
9735
+ entireList: entireList,
9736
+ });
9737
+ }
9738
+ if (this.dropdownHeaderName == 'Compare by' && data.children)
9739
+ sessionStorage.setItem('selectedCompareBy', JSON.stringify(this.selectedCompareBy));
9740
+ else {
9741
+ sessionStorage.setItem('selectedCompare2By', JSON.stringify(this.selectedCompareBy));
9742
+ }
9743
+ }
9744
+ handleListChildrenClick(event, parent, child) {
9745
+ this.handleListPanelClick(event);
9746
+ let keysArray = Object.keys(this.selectedCompareBy);
9747
+ if (!keysArray.length || !keysArray.includes(parent.name)) {
9748
+ this.selectedCompareBy[parent.name] = [child];
9749
+ }
9750
+ else {
9751
+ /** check if the child is already present */
9752
+ let childObjFound = this.selectedCompareBy[parent.name].find((childObj) => childObj.name === child.name);
9753
+ if (!childObjFound) {
9754
+ /**child not found */
9755
+ this.selectedCompareBy[parent.name].push(child);
9756
+ }
9757
+ else {
9758
+ /**child already selected - hence delete that child*/
9759
+ this.selectedCompareBy[parent.name] = this.selectedCompareBy[parent.name].filter((childObj) => childObj.name !== child.name);
9760
+ if (this.selectedCompareBy[parent.name] &&
9761
+ !this.selectedCompareBy[parent.name].length) {
9762
+ delete this.selectedCompareBy[parent.name];
9763
+ }
9764
+ }
9765
+ }
9766
+ this.selectedFromDropdown.emit({
9767
+ compareByFilters: this.selectedCompareBy,
9768
+ entireList: parent?.children,
9769
+ });
9770
+ if (this.dropdownHeaderName == 'Compare by' && parent.children)
9771
+ sessionStorage.setItem('selectedCompareBy', JSON.stringify(this.selectedCompareBy));
9772
+ else {
9773
+ sessionStorage.setItem('selectedCompare2By', JSON.stringify(this.selectedCompareBy));
9774
+ }
9775
+ }
9776
+ handleIfPresent(data) {
9777
+ let parentObj = this.dropdownData.find((obj) => obj.name === data.name);
9778
+ if (this.selectedCompareBy[data.name] &&
9779
+ parentObj.children &&
9780
+ parentObj.children.length == this.selectedCompareBy[data.name]?.length) {
9781
+ return true;
9782
+ }
9783
+ if (this.selectedCompareBy[data.name] && !parentObj.children) {
9784
+ return true;
9785
+ }
9786
+ return false;
9787
+ }
9788
+ handleIfChildPresent(parent, child) {
9789
+ if (!Object.keys(this.selectedCompareBy).length) {
9790
+ return false;
9791
+ }
9792
+ let childObjFound = this.selectedCompareBy[parent.name] &&
9793
+ this.selectedCompareBy[parent.name].find((childObj) => childObj.name === child.name);
9794
+ if (childObjFound) {
9795
+ return true;
9796
+ }
9797
+ return false;
9798
+ }
9799
+ handleListPanelClick(event) {
9800
+ event.stopPropagation();
9801
+ }
9802
+ getDropdownHeaderName() {
9803
+ if (this.dropdownHeaderName != 'Compare by' &&
9804
+ sessionStorage.getItem('onHoveredElementClicked')) {
9805
+ const reqString = sessionStorage.getItem('onHoveredElementClicked');
9806
+ if (reqString)
9807
+ this.dropdownHeaderName = reqString.replace(/"/g, '');
9808
+ return this.dropdownHeaderName;
9809
+ }
9810
+ return this.dropdownHeaderName;
9811
+ }
9812
+ getDropdownVisibilityStatus() {
9813
+ if (sessionStorage.getItem('chartHeaderDropdown') &&
9814
+ this.dropdownHeaderName == 'Compare by')
9815
+ this.isDropdownOpen =
9816
+ sessionStorage.getItem('chartHeaderDropdown') == 'true';
9817
+ else if (sessionStorage.getItem('chartHeaderDropdown2') &&
9818
+ this.dropdownHeaderName != 'Compare by')
9819
+ this.isDropdownOpen =
9820
+ sessionStorage.getItem('chartHeaderDropdown2') == 'true';
9821
+ return this.isDropdownOpen;
9822
+ }
9823
+ onStorageChange(event) {
9824
+ if (event.storageArea === sessionStorage &&
9825
+ (event.key === 'chartHeaderDropdown' ||
9826
+ event.key == 'chartHeaderDropdown2')) {
9827
+ this.getDropdownVisibilityStatus();
9828
+ }
9829
+ }
9830
+ handleShowOrHideChildList(parentName, event) {
9831
+ event.stopPropagation();
9832
+ if (this.childDropdownListVisible.includes(parentName)) {
9833
+ this.childDropdownListVisible = [];
9834
+ }
9835
+ else {
9836
+ this.childDropdownListVisible = [parentName];
9837
+ }
9838
+ sessionStorage.setItem('childDropdownListVisible', JSON.stringify(this.childDropdownListVisible));
9839
+ }
9840
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9841
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DropdownComponent, selector: "lib-dropdown", inputs: { dropdownHeaderName: "dropdownHeaderName", isDropdownOpen: "isDropdownOpen", dropdownData: "dropdownData", isCheckboxVisible: "isCheckboxVisible" }, outputs: { ddClicked: "ddClicked", selectedFromDropdown: "selectedFromDropdown" }, host: { listeners: { "document:click": "clickout($event)" } }, usesOnChanges: true, ngImport: i0, template: "<div class=\"dropdown-container\">\r\n <button class=\"weeklycharts__weekbutton text-align-left\" type=\"button\" (click)=\"headerClicked($event)\"\r\n [ngClass]=\"{ 'weeklycharts__bordernormal': !isDropdownOpen }\">\r\n {{ getDropdownHeaderName() }}\r\n <div class=\"custom-select-caret\">\r\n <i class=\"bi\" [ngClass]=\"{\r\n 'bi-caret-down-fill': !isDropdownOpen,\r\n 'bi-caret-up-fill': isDropdownOpen\r\n }\"></i>\r\n </div>\r\n </button>\r\n\r\n <ul class=\"dropdown__list\" *ngIf=\"getDropdownVisibilityStatus()\" (click)=\"handleListPanelClick($event)\">\r\n <li *ngFor=\"let data of dropdownData\" class=\"position-relative\" \r\n [ngClass]=\"{\r\n 'weeklycharts-active': data.name === dropdownHeaderName,\r\n 'weeklycharts-inactive': data.name !== dropdownHeaderName\r\n }\">\r\n\r\n <!-- Parent Item -->\r\n <span class=\"display-flex align-items-center cursor-pointer gap-2\" (click)=\"handleListHeaderClick($event, data, dropdownData)\">\r\n <i class=\"fa\" [ngClass]=\"{\r\n 'fa-check-square': handleIfPresent(data),\r\n 'fa-square-o': !handleIfPresent(data)\r\n }\" *ngIf=\"isCheckboxVisible\"></i>\r\n <span class=\"list-text font-size-3\"\r\n [ngClass]=\"{ 'font-weight-600': data.name === dropdownHeaderName }\">\r\n {{ data.name }}\r\n </span>\r\n\r\n <!-- Expand/Collapse Icon -->\r\n <span class=\"sublist-arrow lib-display-flex\" *ngIf=\"data.children\" \r\n (click)=\"handleShowOrHideChildList(data.name, $event)\">\r\n <i class=\"fa font-size-1 font-weight-600\" \r\n [ngClass]=\"{\r\n 'fa-angle-right': !childDropdownListVisible.includes(data.name),\r\n 'fa-angle-down': childDropdownListVisible.includes(data.name)\r\n }\"></i>\r\n </span>\r\n </span>\r\n\r\n <!-- Children List -->\r\n <ul class=\"dropdown-sublist lib-ml-20 lib-list-children\"\r\n *ngIf=\"data.children && childDropdownListVisible.includes(data.name)\">\r\n <li *ngFor=\"let child of data.children\" \r\n class=\"display-flex align-items-center cursor-pointer gap-2\"\r\n (click)=\"handleListChildrenClick($event, data, child)\">\r\n <i class=\"fa\" [ngClass]=\"{\r\n 'fa-check-square': handleIfChildPresent(data, child),\r\n 'fa-square-o': !handleIfChildPresent(data, child)\r\n }\"></i>\r\n <span class=\"checkbox-text-styles\">{{ child.name }}</span>\r\n </li>\r\n </ul>\r\n\r\n </li>\r\n </ul>\r\n</div>\r\n", styles: [".dropdown-container{position:relative;display:inline-block;margin-right:15px}.weeklycharts__weekbutton{outline:none;background:var(--card-bg);border:1px solid #888;font:14px Arial;min-width:160px;height:35px;color:var(--color)!important;text-transform:capitalize;padding:2px 38px 2px 14px;position:relative;cursor:pointer}.custom-select-caret{position:absolute;top:0;right:0;height:100%;width:38px;background-color:#0056a3;display:flex;align-items:center;justify-content:center;pointer-events:none}.custom-select-caret i{color:#fff;font-size:.8rem}.dropdown__list{position:absolute;z-index:9;top:35px;width:100%;background:var(--dropdown-bg);color:var(--dropdown-text);box-shadow:var(--dropdown-shadow);border-radius:5px;padding:5px 0}.dropdown__list>li{list-style:none;padding:8px 16px;cursor:pointer;transition:background-color .2s ease,color .2s ease}.dropdown__list>li:hover,.dropdown__list>li.list-hovered{background-color:var(--dropdown-hover-bg);color:var(--dropdown-hover-color)}.weeklycharts-active{font-weight:700;color:var(--dropdown-active-color);background-color:var(--dropdown-active-bg);border-radius:4px}.weeklycharts-inactive{font:14px Arial;color:var(--dropdown-inactive-color);opacity:1}.dropdown-sublist{position:absolute;left:80%;top:0;background-color:var(--sublist-bg);box-shadow:var(--dropdown-shadow);border-radius:4px;padding:10px 12px;max-height:380px;overflow-y:auto}.dropdown-sublist>li{list-style:none;white-space:nowrap;padding:6px 10px;font-size:14px;color:var(--dropdown-text);border-radius:3px;cursor:pointer;transition:background-color .2s ease,color .2s ease}.dropdown-sublist>li:hover{background-color:var(--dropdown-hover-bg);color:var(--dropdown-hover-color)}.dropdown__list i.fa-angle-right,.dropdown__list i.fa-angle-down{margin-left:auto;font-size:.9rem}\n", ".lib-chart-wrapper{width:100%;height:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto;background:#fff 0% 0% no-repeat padding-box;position:relative}.lib-chart-wrapper-wo-shadow{width:100%;height:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto}.lib-chart-wrapper:hover .chart-header-v1{background-color:#2e3640}.lib-chart-wrapper:hover .chart-title{color:#fff}.lib-chart-svg{width:100%}.lib-chart-header{text-align:center;background-color:#052340;color:#fff;width:100%;height:17%;word-spacing:.5px;line-height:1.8;font-weight:700;padding-top:2%;letter-spacing:0;font-size:1.2em}.lib-donut-chart-footer{width:100%;text-align:right}.lib-donut-label-text{font-size:.9em;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto;font-weight:400;letter-spacing:0px;color:#000;opacity:1}.lib-donut-label-icon{display:inline-block;width:10px;height:10px;margin-right:20px;border-radius:3px}.lib-donut-label-item{font-weight:400;font-size:.85em;color:#2f2f2f}.lib-donut-justified-label-wrapper{width:100%;display:inline-block;text-align:center;list-style-type:none}.lib-donut-justified-label-item{font-weight:400;font-size:.85em;color:#2f2f2f;display:inline-block;text-align:left;padding:0 10px}.lib-donut-justified-label-icon{display:inline-block;width:10px;height:10px;margin-right:5px;border-radius:3px}.lib-no-background{background:none!important}.lib-display-hidden{display:none}.lib-ylabel-weeklyCharts{font-style:normal;font-variant:normal;font-weight:800;font-size:10px;line-height:12px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto;letter-spacing:-.07px;text-transform:capitalize;color:#000}.lib-data-labels-weeklycharts{font-style:normal;font-variant:normal;font-weight:400;font-size:12px;line-height:14px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto;letter-spacing:-.06px;color:#000}.lib-data-labels-angled-weeklycharts{font-style:normal;font-variant:normal;font-weight:800;font-size:9.5px;line-height:11px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto;letter-spacing:.4px;text-anchor:start}.lib-xaxis-labels-texts-weeklycharts{font-style:normal;font-variant:normal;font-weight:800;font-size:10px;line-height:11px;letter-spacing:-.05px;fill:#000}.lib-xaxis-labels-texts-drilldown{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto;font-size:14px;letter-spacing:-1px;color:#000;opacity:1;text-transform:capitalize}.lib-white-space-nowrap{white-space:nowrap}.lib-xaxis-labels-texts-drilldown-alt{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto;font-size:10px;letter-spacing:0px;color:#000;opacity:1;text-transform:capitalize}.lib-yaxis-labels-texts-drilldown{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto;font-size:14px;letter-spacing:0px;color:#000!important;opacity:1}.lib-ylabel-drilldowncharts,.lib-xlabel-drilldowncharts{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto;font-size:16px;letter-spacing:-.1px;color:#000!important;opacity:1}.lib-donut-justified-label-icon-drilldown{display:inline-block;width:14px;height:14px;margin-right:10px;border-radius:50%}.marginright-2{margin-right:2%}.margintop-5{margin-top:5%}.width-100{width:100%}.float-right{float:right}.marginBottom-10{margin-bottom:10px}.header-alt{align-items:center;margin-bottom:10px}input::placeholder{font-size:20px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto;letter-spacing:0px;color:#000;opacity:1}.padding-5{padding:5px}.hidden{visibility:hidden}.font-weight-bold{font-weight:900}.textalign-center{text-align:center}.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}.font-weight-600{font-weight:600}.marginRight-15{margin-right:15px}.marginRight-20{margin-right:20px}.switch{position:relative;display:inline-block;width:46px;height:24px;margin-left:5px;margin-right:5px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:#2d5ca0;-webkit-transition:.4s;transition:.4s}.slider:before{position:absolute;content:\"\";height:18px;width:18px;right:3px;bottom:3px;background-color:#fff;-webkit-transition:.4s;transition:.4s}.slider.round{border-radius:18px}.slider.round:before{border-radius:50%}.slider1{position:absolute;cursor:pointer;inset:0;background-color:#015ba2cf;-webkit-transition:.4s;transition:.4s}.slider1:before{position:absolute;content:\"\";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;-webkit-transition:.4s;transition:.4s}.slider1.round1{border-radius:18px}.slider1.round1:before{border-radius:50%}.lib-display-flex{display:flex}.lib-align-items-center{align-items:center}.lib-flex-direction-column{flex-direction:column}.lib-justify-content-space-between{justify-content:space-between}.lib-justify-content-space-around{justify-content:space-around}.lib-justify-content-center{justify-content:center}.lib-justify-content-start{justify-content:start}.lib-justify-content-end{justify-content:end}.lib-ml-20{margin-left:20px}.lib-position-absolute{position:absolute}.lib-z-index-9{z-index:9}.marginright-3{margin-right:3px}@media (min-height: 900px){.lib-chart-wrapper{border-radius:8px}.header-font-size-1{font-size:18px!important}.font-size-1{font-size:14px!important}.font-size-2{font-size:16px!important}.font-size-3{font-size:14px!important}.font-size-4{font-size:22px!important}.font-size-5{font-size:24px!important}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None }); }
9842
+ }
9843
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DropdownComponent, decorators: [{
9844
+ type: Component,
9845
+ args: [{ selector: 'lib-dropdown', encapsulation: ViewEncapsulation.None, template: "<div class=\"dropdown-container\">\r\n <button class=\"weeklycharts__weekbutton text-align-left\" type=\"button\" (click)=\"headerClicked($event)\"\r\n [ngClass]=\"{ 'weeklycharts__bordernormal': !isDropdownOpen }\">\r\n {{ getDropdownHeaderName() }}\r\n <div class=\"custom-select-caret\">\r\n <i class=\"bi\" [ngClass]=\"{\r\n 'bi-caret-down-fill': !isDropdownOpen,\r\n 'bi-caret-up-fill': isDropdownOpen\r\n }\"></i>\r\n </div>\r\n </button>\r\n\r\n <ul class=\"dropdown__list\" *ngIf=\"getDropdownVisibilityStatus()\" (click)=\"handleListPanelClick($event)\">\r\n <li *ngFor=\"let data of dropdownData\" class=\"position-relative\" \r\n [ngClass]=\"{\r\n 'weeklycharts-active': data.name === dropdownHeaderName,\r\n 'weeklycharts-inactive': data.name !== dropdownHeaderName\r\n }\">\r\n\r\n <!-- Parent Item -->\r\n <span class=\"display-flex align-items-center cursor-pointer gap-2\" (click)=\"handleListHeaderClick($event, data, dropdownData)\">\r\n <i class=\"fa\" [ngClass]=\"{\r\n 'fa-check-square': handleIfPresent(data),\r\n 'fa-square-o': !handleIfPresent(data)\r\n }\" *ngIf=\"isCheckboxVisible\"></i>\r\n <span class=\"list-text font-size-3\"\r\n [ngClass]=\"{ 'font-weight-600': data.name === dropdownHeaderName }\">\r\n {{ data.name }}\r\n </span>\r\n\r\n <!-- Expand/Collapse Icon -->\r\n <span class=\"sublist-arrow lib-display-flex\" *ngIf=\"data.children\" \r\n (click)=\"handleShowOrHideChildList(data.name, $event)\">\r\n <i class=\"fa font-size-1 font-weight-600\" \r\n [ngClass]=\"{\r\n 'fa-angle-right': !childDropdownListVisible.includes(data.name),\r\n 'fa-angle-down': childDropdownListVisible.includes(data.name)\r\n }\"></i>\r\n </span>\r\n </span>\r\n\r\n <!-- Children List -->\r\n <ul class=\"dropdown-sublist lib-ml-20 lib-list-children\"\r\n *ngIf=\"data.children && childDropdownListVisible.includes(data.name)\">\r\n <li *ngFor=\"let child of data.children\" \r\n class=\"display-flex align-items-center cursor-pointer gap-2\"\r\n (click)=\"handleListChildrenClick($event, data, child)\">\r\n <i class=\"fa\" [ngClass]=\"{\r\n 'fa-check-square': handleIfChildPresent(data, child),\r\n 'fa-square-o': !handleIfChildPresent(data, child)\r\n }\"></i>\r\n <span class=\"checkbox-text-styles\">{{ child.name }}</span>\r\n </li>\r\n </ul>\r\n\r\n </li>\r\n </ul>\r\n</div>\r\n", styles: [".dropdown-container{position:relative;display:inline-block;margin-right:15px}.weeklycharts__weekbutton{outline:none;background:var(--card-bg);border:1px solid #888;font:14px Arial;min-width:160px;height:35px;color:var(--color)!important;text-transform:capitalize;padding:2px 38px 2px 14px;position:relative;cursor:pointer}.custom-select-caret{position:absolute;top:0;right:0;height:100%;width:38px;background-color:#0056a3;display:flex;align-items:center;justify-content:center;pointer-events:none}.custom-select-caret i{color:#fff;font-size:.8rem}.dropdown__list{position:absolute;z-index:9;top:35px;width:100%;background:var(--dropdown-bg);color:var(--dropdown-text);box-shadow:var(--dropdown-shadow);border-radius:5px;padding:5px 0}.dropdown__list>li{list-style:none;padding:8px 16px;cursor:pointer;transition:background-color .2s ease,color .2s ease}.dropdown__list>li:hover,.dropdown__list>li.list-hovered{background-color:var(--dropdown-hover-bg);color:var(--dropdown-hover-color)}.weeklycharts-active{font-weight:700;color:var(--dropdown-active-color);background-color:var(--dropdown-active-bg);border-radius:4px}.weeklycharts-inactive{font:14px Arial;color:var(--dropdown-inactive-color);opacity:1}.dropdown-sublist{position:absolute;left:80%;top:0;background-color:var(--sublist-bg);box-shadow:var(--dropdown-shadow);border-radius:4px;padding:10px 12px;max-height:380px;overflow-y:auto}.dropdown-sublist>li{list-style:none;white-space:nowrap;padding:6px 10px;font-size:14px;color:var(--dropdown-text);border-radius:3px;cursor:pointer;transition:background-color .2s ease,color .2s ease}.dropdown-sublist>li:hover{background-color:var(--dropdown-hover-bg);color:var(--dropdown-hover-color)}.dropdown__list i.fa-angle-right,.dropdown__list i.fa-angle-down{margin-left:auto;font-size:.9rem}\n", ".lib-chart-wrapper{width:100%;height:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto;background:#fff 0% 0% no-repeat padding-box;position:relative}.lib-chart-wrapper-wo-shadow{width:100%;height:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto}.lib-chart-wrapper:hover .chart-header-v1{background-color:#2e3640}.lib-chart-wrapper:hover .chart-title{color:#fff}.lib-chart-svg{width:100%}.lib-chart-header{text-align:center;background-color:#052340;color:#fff;width:100%;height:17%;word-spacing:.5px;line-height:1.8;font-weight:700;padding-top:2%;letter-spacing:0;font-size:1.2em}.lib-donut-chart-footer{width:100%;text-align:right}.lib-donut-label-text{font-size:.9em;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto;font-weight:400;letter-spacing:0px;color:#000;opacity:1}.lib-donut-label-icon{display:inline-block;width:10px;height:10px;margin-right:20px;border-radius:3px}.lib-donut-label-item{font-weight:400;font-size:.85em;color:#2f2f2f}.lib-donut-justified-label-wrapper{width:100%;display:inline-block;text-align:center;list-style-type:none}.lib-donut-justified-label-item{font-weight:400;font-size:.85em;color:#2f2f2f;display:inline-block;text-align:left;padding:0 10px}.lib-donut-justified-label-icon{display:inline-block;width:10px;height:10px;margin-right:5px;border-radius:3px}.lib-no-background{background:none!important}.lib-display-hidden{display:none}.lib-ylabel-weeklyCharts{font-style:normal;font-variant:normal;font-weight:800;font-size:10px;line-height:12px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto;letter-spacing:-.07px;text-transform:capitalize;color:#000}.lib-data-labels-weeklycharts{font-style:normal;font-variant:normal;font-weight:400;font-size:12px;line-height:14px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto;letter-spacing:-.06px;color:#000}.lib-data-labels-angled-weeklycharts{font-style:normal;font-variant:normal;font-weight:800;font-size:9.5px;line-height:11px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto;letter-spacing:.4px;text-anchor:start}.lib-xaxis-labels-texts-weeklycharts{font-style:normal;font-variant:normal;font-weight:800;font-size:10px;line-height:11px;letter-spacing:-.05px;fill:#000}.lib-xaxis-labels-texts-drilldown{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto;font-size:14px;letter-spacing:-1px;color:#000;opacity:1;text-transform:capitalize}.lib-white-space-nowrap{white-space:nowrap}.lib-xaxis-labels-texts-drilldown-alt{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto;font-size:10px;letter-spacing:0px;color:#000;opacity:1;text-transform:capitalize}.lib-yaxis-labels-texts-drilldown{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto;font-size:14px;letter-spacing:0px;color:#000!important;opacity:1}.lib-ylabel-drilldowncharts,.lib-xlabel-drilldowncharts{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto;font-size:16px;letter-spacing:-.1px;color:#000!important;opacity:1}.lib-donut-justified-label-icon-drilldown{display:inline-block;width:14px;height:14px;margin-right:10px;border-radius:50%}.marginright-2{margin-right:2%}.margintop-5{margin-top:5%}.width-100{width:100%}.float-right{float:right}.marginBottom-10{margin-bottom:10px}.header-alt{align-items:center;margin-bottom:10px}input::placeholder{font-size:20px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto;letter-spacing:0px;color:#000;opacity:1}.padding-5{padding:5px}.hidden{visibility:hidden}.font-weight-bold{font-weight:900}.textalign-center{text-align:center}.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}.font-weight-600{font-weight:600}.marginRight-15{margin-right:15px}.marginRight-20{margin-right:20px}.switch{position:relative;display:inline-block;width:46px;height:24px;margin-left:5px;margin-right:5px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:#2d5ca0;-webkit-transition:.4s;transition:.4s}.slider:before{position:absolute;content:\"\";height:18px;width:18px;right:3px;bottom:3px;background-color:#fff;-webkit-transition:.4s;transition:.4s}.slider.round{border-radius:18px}.slider.round:before{border-radius:50%}.slider1{position:absolute;cursor:pointer;inset:0;background-color:#015ba2cf;-webkit-transition:.4s;transition:.4s}.slider1:before{position:absolute;content:\"\";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;-webkit-transition:.4s;transition:.4s}.slider1.round1{border-radius:18px}.slider1.round1:before{border-radius:50%}.lib-display-flex{display:flex}.lib-align-items-center{align-items:center}.lib-flex-direction-column{flex-direction:column}.lib-justify-content-space-between{justify-content:space-between}.lib-justify-content-space-around{justify-content:space-around}.lib-justify-content-center{justify-content:center}.lib-justify-content-start{justify-content:start}.lib-justify-content-end{justify-content:end}.lib-ml-20{margin-left:20px}.lib-position-absolute{position:absolute}.lib-z-index-9{z-index:9}.marginright-3{margin-right:3px}@media (min-height: 900px){.lib-chart-wrapper{border-radius:8px}.header-font-size-1{font-size:18px!important}.font-size-1{font-size:14px!important}.font-size-2{font-size:16px!important}.font-size-3{font-size:14px!important}.font-size-4{font-size:22px!important}.font-size-5{font-size:24px!important}}\n"] }]
9846
+ }], ctorParameters: () => [], propDecorators: { dropdownHeaderName: [{
9847
+ type: Input
9848
+ }], isDropdownOpen: [{
9849
+ type: Input
9850
+ }], dropdownData: [{
9851
+ type: Input
9852
+ }], isCheckboxVisible: [{
9853
+ type: Input
9854
+ }], ddClicked: [{
9855
+ type: Output
9856
+ }], selectedFromDropdown: [{
9857
+ type: Output
9858
+ }], clickout: [{
9859
+ type: HostListener,
9860
+ args: ['document:click', ['$event']]
9861
+ }] } });
9862
+
9899
9863
  class PlainTrendComponent extends ComponentUniqueId {
9900
9864
  constructor() {
9901
9865
  super(...arguments);