igniteui-angular-extras 19.0.0 → 19.0.1
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.
|
@@ -4,11 +4,10 @@ import { IgxCategoryXAxisComponent, IgxNumericYAxisComponent, IgxScatterLineSeri
|
|
|
4
4
|
import { Subject } from 'rxjs';
|
|
5
5
|
import { takeUntil, merge, debounceTime, filter } from 'rxjs/operators';
|
|
6
6
|
import * as i1 from 'igniteui-angular';
|
|
7
|
-
import { CloseScrollStrategy, AutoPositionStrategy, HorizontalAlignment, VerticalAlignment, IgxToggleDirective, IgxTabsComponent,
|
|
7
|
+
import { IgxIconComponent, CloseScrollStrategy, AutoPositionStrategy, HorizontalAlignment, VerticalAlignment, IgxToggleDirective, IgxTabsComponent, IgxTabItemComponent, IgxTabHeaderComponent, IgxTabContentComponent, IgxTabHeaderLabelDirective, AbsoluteScrollStrategy, IgxToggleActionDirective } from 'igniteui-angular';
|
|
8
8
|
import * as i1$2 from '@angular/common';
|
|
9
9
|
import { CommonModule, NgFor } from '@angular/common';
|
|
10
10
|
import { ResizeObserver } from '@juggle/resize-observer';
|
|
11
|
-
import { IgxIconComponent, IgxToggleActionDirective } from '@infragistics/igniteui-angular';
|
|
12
11
|
import * as i1$1 from '@angular/platform-browser';
|
|
13
12
|
|
|
14
13
|
var CHART_TYPE;
|
|
@@ -1490,7 +1489,7 @@ class IgxContextMenuComponent {
|
|
|
1490
1489
|
}
|
|
1491
1490
|
}
|
|
1492
1491
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.3", ngImport: i0, type: IgxContextMenuComponent, deps: [{ token: i1.IgxOverlayService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1493
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.3", type: IgxContextMenuComponent, isStandalone: true, selector: "igx-context-menu", viewQueries: [{ propertyName: "button", first: true, predicate: ["analyticsBtn"], descendants: true }, { propertyName: "tabsMenu", first: true, predicate: ["tabsMenu"], descendants: true, read: IgxToggleDirective }, { propertyName: "chartPreview", first: true, predicate: ["chartPreview"], descendants: true, read: ViewContainerRef }, { propertyName: "chartPreviewDialog", first: true, predicate: ["chartPreviewDialog"], descendants: true, read: IgxToggleDirective }, { propertyName: "tabs", first: true, predicate: IgxTabsComponent, descendants: true }], ngImport: i0, template: "<span #analyticsBtn class=\"analytics-btn\">\r\n <button #btn igxIconButton=\"flat\" (click)=\"toggleTabMenu()\">\r\n <igx-icon #icon class=\"icon\" family=\"material\">insert_chart_outlined</igx-icon>\r\n </button>\r\n</span>\r\n<div #tabsMenu igxToggle class=\"toggle-content ig-scrollbar\">\r\n <igx-tabs tabsType=\"fixed\" [selectedIndex]=\"!this.textFormatters.length && chartTypes.length ? 1 : 0\">\r\n <igx-tab-item [disabled]=\"!textFormatters.length\">\r\n <igx-tab-header>\r\n <span igxTabHeaderLabel>Conditional Formatting</span>\r\n </igx-tab-header>\r\n <igx-tab-content>\r\n <igc-trial-watermark></igc-trial-watermark>\r\n <div class=\"tabs\">\r\n <span class=\"tab-option\">\r\n <span *ngFor=\"let condition of textFormatters\" class=\"action btn condition\"\r\n [ngClass]=\"{'selected--condition': condition === currentFormatter}\"\r\n (click)=\"formatCells(condition)\">\r\n <div class=\"imgSize\" [innerHTML]=\"conditionImages[condition.replace(' ', '')] | svg\">\r\n </div>\r\n <span class=\"name\">{{condition.replace('10', '10%')}}</span>\r\n </span>\r\n </span>\r\n <span class=\"clear action\"\r\n [ngClass]=\"{'disableButton': contextDirective.textFormatter ? !contextDirective.textFormatter.formatter : true }\"\r\n (click)=\"clearFormat()\">\r\n <div class=\"imgSize\" [innerHTML]=\"conditionImages['Clear'] | svg\">\r\n </div>\r\n <span class=\"btn name\">Clear All</span>\r\n </span>\r\n </div>\r\n </igx-tab-content>\r\n </igx-tab-item>\r\n <igx-tab-item [disabled]=\"!chartTypes.length\">\r\n <igx-tab-header>\r\n <span igxTabHeaderLabel>Create Chart</span>\r\n </igx-tab-header>\r\n <igx-tab-content>\r\n <igc-trial-watermark></igc-trial-watermark>\r\n <div class=\"tabs\">\r\n <span class=\"tab-option\">\r\n <span *ngFor=\"let chart of chartTypes | slice:0:4\" class=\"action btn chart\"\r\n [ngClass]=\"{'selected': chart === currentChartType}\" (mouseenter)=\"previewChart(chart)\"\r\n (mouseleave)=\"hidePreview()\" (click)=\"openDialog(chart)\">\r\n <span [innerHTML]=\"chartImages[chart] | svg\" class=\"imgSize\">\r\n </span>\r\n <span class=\"name\">{{chart}}</span>\r\n </span>\r\n </span>\r\n <span class=\"more-action chart\" [ngClass]=\"{'disableButton': !chartTypes.length}\"\r\n (click)=\"openDialog()\">\r\n <button class=\"more-btn more-icon\" igxIconButton=\"flat\" [style.--background]=\"'#EBEBEB'\"\r\n [style.--foreground]=\"'black'\">\r\n <igx-icon class=\"icon\" family=\"material\">more_horiz</igx-icon>\r\n </button>\r\n <span class=\"name btn\">More...</span>\r\n </span>\r\n </div>\r\n </igx-tab-content>\r\n </igx-tab-item>\r\n </igx-tabs>\r\n</div>\r\n<div igxToggle #chartPreviewDialog class=\"chart-preview\">\r\n <div class=\"chart-preview-title\">\r\n <h5>Preview Chart</h5>\r\n </div>\r\n <div class=\"chart-preview-area\">\r\n <ng-template #chartPreview></ng-template>\r\n </div>\r\n</div>", styles: [".analytics-btn,.analytics-btn [igxButton=flat],.analytics-btn .igx-button--flat{--shadow-color: var(--igx-button-shadow-color, transparent);--border-color: var(--igx-button-border-color, transparent);--hover-border-color: var(--igx-button-hover-border-color, transparent);--focus-border-color: var(--igx-button-focus-border-color, transparent);--focus-visible-border-color: var(--igx-button-focus-visible-border-color, transparent);--active-border-color: var(--igx-button-active-border-color, transparent);--disabled-border-color: var(--igx-button-disabled-border-color, transparent);--disabled-background: var(--igx-button-disabled-background, transparent);--disabled-foreground: var(--igx-button-disabled-foreground, hsl(from var(--ig-gray-500) h s l/1));--disabled-icon-color: var(--igx-button-disabled-icon-color, hsl(from var(--ig-gray-500) h s l/1));--size: var(--igx-button-size, max(var(--is-large, 1) * max(2.25rem, -1 * 2.25rem), var(--is-medium, 1) * max(1.875rem, -1 * 1.875rem), var(--is-small, 1) * max(1.5rem, -1 * 1.5rem)));--default-size: var(--igx-button-default-size, 3);--resting-elevation: var(--igx-button-resting-elevation, var(--ig-elevation-0));--hover-elevation: var(--igx-button-hover-elevation, var(--ig-elevation-0));--focus-elevation: var(--igx-button-focus-elevation, var(--ig-elevation-0));--active-elevation: var(--igx-button-active-elevation, var(--ig-elevation-0));--background: var(--igx-button-background, #335e3b);--focus-foreground: var(--igx-button-focus-foreground, white);--border-radius: var(--igx-button-border-radius, 0);--foreground: var(--igx-button-foreground, #fff);--icon-color: var(--igx-button-icon-color, #fff);--icon-color-hover: var(--igx-button-icon-color-hover, black);--hover-background: var(--igx-button-hover-background, #459a55);--hover-foreground: var(--igx-button-hover-foreground, black);--focus-background: var(--igx-button-focus-background, rgb(57.4189655172, 105.8310344828, 66.425862069));--focus-visible-background: var(--igx-button-focus-visible-background, rgb(57.4189655172, 105.8310344828, 66.425862069));--focus-hover-background: var(--igx-button-focus-hover-background, rgb(57.4189655172, 105.8310344828, 66.425862069));--focus-hover-foreground: var(--igx-button-focus-hover-foreground, white);--focus-visible-foreground: var(--igx-button-focus-visible-foreground, white);--active-background: var(--igx-button-active-background, hsl(from var(--ig-secondary-500) h s l/.16));--active-foreground: var(--igx-button-active-foreground, hsl(from var(--ig-secondary-500) h s l/1));--resting-shadow: var(--igx-button-resting-shadow, var(--ig-elevation-0));--hover-shadow: var(--igx-button-hover-shadow, var(--ig-elevation-0));--focus-shadow: var(--igx-button-focus-shadow, var(--ig-elevation-0));--active-shadow: var(--igx-button-active-shadow, var(--ig-elevation-0));--theme: var(--igx-button-theme, material)}.analytics-btn,.analytics-btn [igxButton=outlined],.analytics-btn .igx-button--outlined{--shadow-color: var(--igx-button-shadow-color, transparent);--border-color: var(--igx-button-border-color, hsl(from var(--ig-secondary-500) h s l/1));--hover-border-color: var(--igx-button-hover-border-color, hsl(from var(--ig-secondary-500) h s l/1));--focus-border-color: var(--igx-button-focus-border-color, hsl(from var(--ig-secondary-500) h s l/1));--focus-visible-border-color: var(--igx-button-focus-visible-border-color, hsl(from var(--ig-secondary-500) h s l/1));--active-border-color: var(--igx-button-active-border-color, hsl(from var(--ig-secondary-500) h s l/1));--disabled-border-color: var(--igx-button-disabled-border-color, hsl(from var(--ig-gray-300) h s l/1));--disabled-background: var(--igx-button-disabled-background, transparent);--disabled-foreground: var(--igx-button-disabled-foreground, hsl(from var(--ig-gray-500) h s l/1));--disabled-icon-color: var(--igx-button-disabled-icon-color, hsl(from var(--ig-gray-500) h s l/1));--size: var(--igx-button-size, max(var(--is-large, 1) * max(2.25rem, -1 * 2.25rem), var(--is-medium, 1) * max(1.875rem, -1 * 1.875rem), var(--is-small, 1) * max(1.5rem, -1 * 1.5rem)));--default-size: var(--igx-button-default-size, 3);--resting-elevation: var(--igx-button-resting-elevation, var(--ig-elevation-0));--hover-elevation: var(--igx-button-hover-elevation, var(--ig-elevation-0));--focus-elevation: var(--igx-button-focus-elevation, var(--ig-elevation-0));--active-elevation: var(--igx-button-active-elevation, var(--ig-elevation-0));--background: var(--igx-button-background, #335e3b);--focus-foreground: var(--igx-button-focus-foreground, white);--border-radius: var(--igx-button-border-radius, 0);--foreground: var(--igx-button-foreground, #fff);--icon-color: var(--igx-button-icon-color, #fff);--icon-color-hover: var(--igx-button-icon-color-hover, black);--hover-background: var(--igx-button-hover-background, #459a55);--hover-foreground: var(--igx-button-hover-foreground, black);--focus-background: var(--igx-button-focus-background, rgb(57.4189655172, 105.8310344828, 66.425862069));--focus-visible-background: var(--igx-button-focus-visible-background, rgb(57.4189655172, 105.8310344828, 66.425862069));--focus-hover-background: var(--igx-button-focus-hover-background, rgb(57.4189655172, 105.8310344828, 66.425862069));--focus-hover-foreground: var(--igx-button-focus-hover-foreground, white);--focus-visible-foreground: var(--igx-button-focus-visible-foreground, white);--active-background: var(--igx-button-active-background, hsl(from var(--ig-secondary-500) h s l/.16));--active-foreground: var(--igx-button-active-foreground, hsl(from var(--ig-secondary-500) h s l/1));--resting-shadow: var(--igx-button-resting-shadow, var(--ig-elevation-0));--hover-shadow: var(--igx-button-hover-shadow, var(--ig-elevation-0));--focus-shadow: var(--igx-button-focus-shadow, var(--ig-elevation-0));--active-shadow: var(--igx-button-active-shadow, var(--ig-elevation-0));--theme: var(--igx-button-theme, material)}.analytics-btn,.analytics-btn [igxButton=contained],.analytics-btn .igx-button--contained{--shadow-color: var(--igx-button-shadow-color, transparent);--border-color: var(--igx-button-border-color, transparent);--hover-border-color: var(--igx-button-hover-border-color, transparent);--focus-border-color: var(--igx-button-focus-border-color, transparent);--focus-visible-border-color: var(--igx-button-focus-visible-border-color, transparent);--active-border-color: var(--igx-button-active-border-color, transparent);--disabled-border-color: var(--igx-button-disabled-border-color, transparent);--disabled-background: var(--igx-button-disabled-background, hsl(from var(--ig-gray-100) h s l/1));--disabled-foreground: var(--igx-button-disabled-foreground, hsl(from var(--ig-gray-500) h s l/1));--disabled-icon-color: var(--igx-button-disabled-icon-color, hsl(from var(--ig-gray-500) h s l/1));--size: var(--igx-button-size, max(var(--is-large, 1) * max(2.25rem, -1 * 2.25rem), var(--is-medium, 1) * max(1.875rem, -1 * 1.875rem), var(--is-small, 1) * max(1.5rem, -1 * 1.5rem)));--default-size: var(--igx-button-default-size, 3);--resting-elevation: var(--igx-button-resting-elevation, var(--ig-elevation-2));--hover-elevation: var(--igx-button-hover-elevation, var(--ig-elevation-4));--focus-elevation: var(--igx-button-focus-elevation, var(--ig-elevation-8));--active-elevation: var(--igx-button-active-elevation, var(--ig-elevation-8));--background: var(--igx-button-background, #335e3b);--active-background: var(--igx-button-active-background, hsl(from var(--ig-secondary-300) h s l/1));--border-radius: var(--igx-button-border-radius, 0);--foreground: var(--igx-button-foreground, #fff);--icon-color: var(--igx-button-icon-color, #fff);--icon-color-hover: var(--igx-button-icon-color-hover, black);--hover-background: var(--igx-button-hover-background, #459a55);--hover-foreground: var(--igx-button-hover-foreground, black);--focus-background: var(--igx-button-focus-background, rgb(57.4189655172, 105.8310344828, 66.425862069));--focus-foreground: var(--igx-button-focus-foreground, white);--focus-hover-background: var(--igx-button-focus-hover-background, rgb(57.4189655172, 105.8310344828, 66.425862069));--focus-hover-foreground: var(--igx-button-focus-hover-foreground, white);--focus-visible-background: var(--igx-button-focus-visible-background, rgb(57.4189655172, 105.8310344828, 66.425862069));--focus-visible-foreground: var(--igx-button-focus-visible-foreground, white);--active-foreground: var(--igx-button-active-foreground, color-mix(in oklch, var(--ig-secondary-300-contrast) 100%, transparent));--resting-shadow: var(--igx-button-resting-shadow, var(--ig-elevation-2));--hover-shadow: var(--igx-button-hover-shadow, var(--ig-elevation-4));--focus-shadow: var(--igx-button-focus-shadow, var(--ig-elevation-8));--active-shadow: var(--igx-button-active-shadow, var(--ig-elevation-8));--theme: var(--igx-button-theme, material)}.analytics-btn,.analytics-btn [igxButton=fab],.analytics-btn .igx-button--fab{--shadow-color: var(--igx-button-shadow-color, transparent);--border-color: var(--igx-button-border-color, transparent);--hover-border-color: var(--igx-button-hover-border-color, transparent);--focus-border-color: var(--igx-button-focus-border-color, transparent);--focus-visible-border-color: var(--igx-button-focus-visible-border-color, transparent);--active-border-color: var(--igx-button-active-border-color, transparent);--disabled-border-color: var(--igx-button-disabled-border-color, transparent);--disabled-background: var(--igx-button-disabled-background, hsl(from var(--ig-gray-100) h s l/1));--disabled-foreground: var(--igx-button-disabled-foreground, hsl(from var(--ig-gray-500) h s l/1));--disabled-icon-color: var(--igx-button-disabled-icon-color, hsl(from var(--ig-gray-500) h s l/1));--size: var(--igx-button-size, max(var(--is-large, 1) * max(3rem, -1 * 3rem), var(--is-medium, 1) * max(2.5rem, -1 * 2.5rem), var(--is-small, 1) * max(2rem, -1 * 2rem)));--default-size: var(--igx-button-default-size, 3);--resting-elevation: var(--igx-button-resting-elevation, var(--ig-elevation-6));--hover-elevation: var(--igx-button-hover-elevation, var(--ig-elevation-12));--focus-elevation: var(--igx-button-focus-elevation, var(--ig-elevation-12));--active-elevation: var(--igx-button-active-elevation, var(--ig-elevation-12));--background: var(--igx-button-background, #335e3b);--active-background: var(--igx-button-active-background, hsl(from var(--ig-secondary-300) h s l/1));--border-radius: var(--igx-button-border-radius, 0);--foreground: var(--igx-button-foreground, #fff);--icon-color: var(--igx-button-icon-color, #fff);--icon-color-hover: var(--igx-button-icon-color-hover, black);--hover-background: var(--igx-button-hover-background, #459a55);--hover-foreground: var(--igx-button-hover-foreground, black);--focus-background: var(--igx-button-focus-background, rgb(57.4189655172, 105.8310344828, 66.425862069));--focus-foreground: var(--igx-button-focus-foreground, white);--focus-hover-background: var(--igx-button-focus-hover-background, rgb(57.4189655172, 105.8310344828, 66.425862069));--focus-hover-foreground: var(--igx-button-focus-hover-foreground, white);--focus-visible-background: var(--igx-button-focus-visible-background, rgb(57.4189655172, 105.8310344828, 66.425862069));--focus-visible-foreground: var(--igx-button-focus-visible-foreground, white);--active-foreground: var(--igx-button-active-foreground, color-mix(in oklch, var(--ig-secondary-300-contrast) 100%, transparent));--resting-shadow: var(--igx-button-resting-shadow, var(--ig-elevation-6));--hover-shadow: var(--igx-button-hover-shadow, var(--ig-elevation-12));--focus-shadow: var(--igx-button-focus-shadow, var(--ig-elevation-12));--active-shadow: var(--igx-button-active-shadow, var(--ig-elevation-12));--theme: var(--igx-button-theme, material)}.disableButton{opacity:.4;pointer-events:none}.clear,.more-action{display:flex;flex-flow:column;justify-content:center;border-left:1px solid #bdbdbd}.clear .btn,.clear .more-btn,.more-action .btn,.more-action .more-btn{width:68px;margin:0 0 7px;padding:0}.clear .more-btn,.more-action .more-btn{width:36px;height:36px;align-self:center;border-radius:20px}.clear .name,.more-action .name{font-size:.9rem;font-weight:400;text-align:center}.icon{pointer-events:none}.btn{display:inline-flex;flex-flow:column;align-items:center}.btn.condition{padding-right:16px}.btn.chart{padding-right:24px}.btn img,.btn span{pointer-events:none}.chart-preview{width:350px;height:300px;background-color:#fff;overflow:hidden}.chart-preview .chart-preview-title{margin:1rem;justify-content:center}.chart-preview .chart-preview-area{height:270px}::ng-deep .toggle-content,::ng-deep .toggle-content .ig-scrollbar{--sb-size: var(--ig-scrollbar-sb-size, 1rem);--sb-thumb-min-height: var(--ig-scrollbar-sb-thumb-min-height, 2rem);--sb-thumb-bg-color: var(--ig-scrollbar-sb-thumb-bg-color, hsl(from var(--ig-gray-400) h s l/1));--sb-thumb-bg-color-hover: var(--ig-scrollbar-sb-thumb-bg-color-hover, hsl(from var(--ig-gray-400) h s l/1));--sb-thumb-border-color: var(--ig-scrollbar-sb-thumb-border-color, transparent);--sb-thumb-border-size: var(--ig-scrollbar-sb-thumb-border-size, 0);--sb-thumb-border-radius: var(--ig-scrollbar-sb-thumb-border-radius, 0);--sb-track-bg-color: var(--ig-scrollbar-sb-track-bg-color, hsl(from var(--ig-gray-100) h s l/1));--sb-track-bg-color-hover: var(--ig-scrollbar-sb-track-bg-color-hover, hsl(from var(--ig-gray-100) h s l/1));--sb-track-border-color: var(--ig-scrollbar-sb-track-border-color, transparent);--sb-track-border-size: var(--ig-scrollbar-sb-track-border-size, 0);--sb-corner-bg: var(--ig-scrollbar-sb-corner-bg, hsl(from var(--ig-gray-100) h s l/1));--sb-corner-border-color: var(--ig-scrollbar-sb-corner-border-color, transparent);--sb-corner-border-size: var(--ig-scrollbar-sb-corner-border-size, 0);--theme: var(--ig-scrollbar-theme, material)}@-moz-document url-prefix(){}::ng-deep .toggle-content{width:354px;max-width:358px;height:148px;background-color:#fff}::ng-deep .toggle-content .tabs{display:flex!important;border:.2px solid;border-color:#d3d3d3}::ng-deep .toggle-content .tab-option{padding:.9rem;height:100px;width:358px;display:inline-flex;overflow-x:auto;overflow-y:hidden;white-space:nowrap;align-content:center}::ng-deep .toggle-content .tab-option .chartImgButton{width:48px;height:48px}::ng-deep .toggle-content .tab-option .imgSize,::ng-deep .toggle-content .clear.action .imgSize{width:36px;height:36px;align-self:center}::ng-deep .toggle-content .action{cursor:pointer;opacity:1}::ng-deep .toggle-content .action.selected{opacity:.62}::ng-deep .toggle-content .action.selected--condition{pointer-events:none;opacity:.62}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i1$2.SlicePipe, name: "slice" }, { kind: "pipe", type: SvgPipe, name: "svg" }, { kind: "directive", type: IgxToggleDirective, selector: "[igxToggle]", inputs: ["id"], outputs: ["opened", "opening", "closed", "closing", "appended"], exportAs: ["toggle"] }, { kind: "component", type: IgxIconComponent$1, selector: "igx-icon", inputs: ["family", "name", "active"] }, { kind: "component", type: IgxTabsComponent, selector: "igx-tabs", inputs: ["tabAlignment", "activation"] }, { kind: "component", type: IgxTabItemComponent, selector: "igx-tab-item" }, { kind: "component", type: IgxTabHeaderComponent, selector: "igx-tab-header" }, { kind: "component", type: IgxTabContentComponent, selector: "igx-tab-content" }, { kind: "directive", type: IgxTabHeaderLabelDirective, selector: "igx-tab-header-label,[igxTabHeaderLabel]" }, { kind: "ngmodule", type: IgxBarSeriesModule }, { kind: "ngmodule", type: IgxCategoryChartModule }, { kind: "ngmodule", type: IgxCategoryXAxisModule }, { kind: "ngmodule", type: IgxDataChartCategoryModule }, { kind: "ngmodule", type: IgxDataChartCoreModule }, { kind: "ngmodule", type: IgxDataChartInteractivityModule }, { kind: "ngmodule", type: IgxDataChartScatterModule }, { kind: "ngmodule", type: IgxDataChartStackedModule }, { kind: "ngmodule", type: IgxItemLegendModule }, { kind: "ngmodule", type: IgxLegendModule }, { kind: "ngmodule", type: IgxNumericXAxisModule }, { kind: "ngmodule", type: IgxNumericYAxisModule }] }); }
|
|
1492
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.3", type: IgxContextMenuComponent, isStandalone: true, selector: "igx-context-menu", viewQueries: [{ propertyName: "button", first: true, predicate: ["analyticsBtn"], descendants: true }, { propertyName: "tabsMenu", first: true, predicate: ["tabsMenu"], descendants: true, read: IgxToggleDirective }, { propertyName: "chartPreview", first: true, predicate: ["chartPreview"], descendants: true, read: ViewContainerRef }, { propertyName: "chartPreviewDialog", first: true, predicate: ["chartPreviewDialog"], descendants: true, read: IgxToggleDirective }, { propertyName: "tabs", first: true, predicate: IgxTabsComponent, descendants: true }], ngImport: i0, template: "<span #analyticsBtn class=\"analytics-btn\">\r\n <button #btn igxIconButton=\"flat\" (click)=\"toggleTabMenu()\">\r\n <igx-icon #icon class=\"icon\" family=\"material\">insert_chart_outlined</igx-icon>\r\n </button>\r\n</span>\r\n<div #tabsMenu igxToggle class=\"toggle-content ig-scrollbar\">\r\n <igx-tabs tabsType=\"fixed\" [selectedIndex]=\"!this.textFormatters.length && chartTypes.length ? 1 : 0\">\r\n <igx-tab-item [disabled]=\"!textFormatters.length\">\r\n <igx-tab-header>\r\n <span igxTabHeaderLabel>Conditional Formatting</span>\r\n </igx-tab-header>\r\n <igx-tab-content>\r\n <igc-trial-watermark></igc-trial-watermark>\r\n <div class=\"tabs\">\r\n <span class=\"tab-option\">\r\n <span *ngFor=\"let condition of textFormatters\" class=\"action btn condition\"\r\n [ngClass]=\"{'selected--condition': condition === currentFormatter}\"\r\n (click)=\"formatCells(condition)\">\r\n <div class=\"imgSize\" [innerHTML]=\"conditionImages[condition.replace(' ', '')] | svg\">\r\n </div>\r\n <span class=\"name\">{{condition.replace('10', '10%')}}</span>\r\n </span>\r\n </span>\r\n <span class=\"clear action\"\r\n [ngClass]=\"{'disableButton': contextDirective.textFormatter ? !contextDirective.textFormatter.formatter : true }\"\r\n (click)=\"clearFormat()\">\r\n <div class=\"imgSize\" [innerHTML]=\"conditionImages['Clear'] | svg\">\r\n </div>\r\n <span class=\"btn name\">Clear All</span>\r\n </span>\r\n </div>\r\n </igx-tab-content>\r\n </igx-tab-item>\r\n <igx-tab-item [disabled]=\"!chartTypes.length\">\r\n <igx-tab-header>\r\n <span igxTabHeaderLabel>Create Chart</span>\r\n </igx-tab-header>\r\n <igx-tab-content>\r\n <igc-trial-watermark></igc-trial-watermark>\r\n <div class=\"tabs\">\r\n <span class=\"tab-option\">\r\n <span *ngFor=\"let chart of chartTypes | slice:0:4\" class=\"action btn chart\"\r\n [ngClass]=\"{'selected': chart === currentChartType}\" (mouseenter)=\"previewChart(chart)\"\r\n (mouseleave)=\"hidePreview()\" (click)=\"openDialog(chart)\">\r\n <span [innerHTML]=\"chartImages[chart] | svg\" class=\"imgSize\">\r\n </span>\r\n <span class=\"name\">{{chart}}</span>\r\n </span>\r\n </span>\r\n <span class=\"more-action chart\" [ngClass]=\"{'disableButton': !chartTypes.length}\"\r\n (click)=\"openDialog()\">\r\n <button class=\"more-btn more-icon\" igxIconButton=\"flat\" [style.--background]=\"'#EBEBEB'\"\r\n [style.--foreground]=\"'black'\">\r\n <igx-icon class=\"icon\" family=\"material\">more_horiz</igx-icon>\r\n </button>\r\n <span class=\"name btn\">More...</span>\r\n </span>\r\n </div>\r\n </igx-tab-content>\r\n </igx-tab-item>\r\n </igx-tabs>\r\n</div>\r\n<div igxToggle #chartPreviewDialog class=\"chart-preview\">\r\n <div class=\"chart-preview-title\">\r\n <h5>Preview Chart</h5>\r\n </div>\r\n <div class=\"chart-preview-area\">\r\n <ng-template #chartPreview></ng-template>\r\n </div>\r\n</div>", styles: [".analytics-btn,.analytics-btn [igxButton=flat],.analytics-btn .igx-button--flat{--shadow-color: var(--igx-button-shadow-color, transparent);--border-color: var(--igx-button-border-color, transparent);--hover-border-color: var(--igx-button-hover-border-color, transparent);--focus-border-color: var(--igx-button-focus-border-color, transparent);--focus-visible-border-color: var(--igx-button-focus-visible-border-color, transparent);--active-border-color: var(--igx-button-active-border-color, transparent);--disabled-border-color: var(--igx-button-disabled-border-color, transparent);--disabled-background: var(--igx-button-disabled-background, transparent);--disabled-foreground: var(--igx-button-disabled-foreground, hsl(from var(--ig-gray-500) h s l/1));--disabled-icon-color: var(--igx-button-disabled-icon-color, hsl(from var(--ig-gray-500) h s l/1));--size: var(--igx-button-size, max(var(--is-large, 1) * max(2.25rem, -1 * 2.25rem), var(--is-medium, 1) * max(1.875rem, -1 * 1.875rem), var(--is-small, 1) * max(1.5rem, -1 * 1.5rem)));--default-size: var(--igx-button-default-size, 3);--resting-elevation: var(--igx-button-resting-elevation, var(--ig-elevation-0));--hover-elevation: var(--igx-button-hover-elevation, var(--ig-elevation-0));--focus-elevation: var(--igx-button-focus-elevation, var(--ig-elevation-0));--active-elevation: var(--igx-button-active-elevation, var(--ig-elevation-0));--background: var(--igx-button-background, #335e3b);--focus-foreground: var(--igx-button-focus-foreground, white);--border-radius: var(--igx-button-border-radius, 0);--foreground: var(--igx-button-foreground, #fff);--icon-color: var(--igx-button-icon-color, #fff);--icon-color-hover: var(--igx-button-icon-color-hover, black);--hover-background: var(--igx-button-hover-background, #459a55);--hover-foreground: var(--igx-button-hover-foreground, black);--focus-background: var(--igx-button-focus-background, rgb(57.4189655172, 105.8310344828, 66.425862069));--focus-visible-background: var(--igx-button-focus-visible-background, rgb(57.4189655172, 105.8310344828, 66.425862069));--focus-hover-background: var(--igx-button-focus-hover-background, rgb(57.4189655172, 105.8310344828, 66.425862069));--focus-hover-foreground: var(--igx-button-focus-hover-foreground, white);--focus-visible-foreground: var(--igx-button-focus-visible-foreground, white);--active-background: var(--igx-button-active-background, hsl(from var(--ig-secondary-500) h s l/.16));--active-foreground: var(--igx-button-active-foreground, hsl(from var(--ig-secondary-500) h s l/1));--resting-shadow: var(--igx-button-resting-shadow, var(--ig-elevation-0));--hover-shadow: var(--igx-button-hover-shadow, var(--ig-elevation-0));--focus-shadow: var(--igx-button-focus-shadow, var(--ig-elevation-0));--active-shadow: var(--igx-button-active-shadow, var(--ig-elevation-0));--theme: var(--igx-button-theme, material)}.analytics-btn,.analytics-btn [igxButton=outlined],.analytics-btn .igx-button--outlined{--shadow-color: var(--igx-button-shadow-color, transparent);--border-color: var(--igx-button-border-color, hsl(from var(--ig-secondary-500) h s l/1));--hover-border-color: var(--igx-button-hover-border-color, hsl(from var(--ig-secondary-500) h s l/1));--focus-border-color: var(--igx-button-focus-border-color, hsl(from var(--ig-secondary-500) h s l/1));--focus-visible-border-color: var(--igx-button-focus-visible-border-color, hsl(from var(--ig-secondary-500) h s l/1));--active-border-color: var(--igx-button-active-border-color, hsl(from var(--ig-secondary-500) h s l/1));--disabled-border-color: var(--igx-button-disabled-border-color, hsl(from var(--ig-gray-300) h s l/1));--disabled-background: var(--igx-button-disabled-background, transparent);--disabled-foreground: var(--igx-button-disabled-foreground, hsl(from var(--ig-gray-500) h s l/1));--disabled-icon-color: var(--igx-button-disabled-icon-color, hsl(from var(--ig-gray-500) h s l/1));--size: var(--igx-button-size, max(var(--is-large, 1) * max(2.25rem, -1 * 2.25rem), var(--is-medium, 1) * max(1.875rem, -1 * 1.875rem), var(--is-small, 1) * max(1.5rem, -1 * 1.5rem)));--default-size: var(--igx-button-default-size, 3);--resting-elevation: var(--igx-button-resting-elevation, var(--ig-elevation-0));--hover-elevation: var(--igx-button-hover-elevation, var(--ig-elevation-0));--focus-elevation: var(--igx-button-focus-elevation, var(--ig-elevation-0));--active-elevation: var(--igx-button-active-elevation, var(--ig-elevation-0));--background: var(--igx-button-background, #335e3b);--focus-foreground: var(--igx-button-focus-foreground, white);--border-radius: var(--igx-button-border-radius, 0);--foreground: var(--igx-button-foreground, #fff);--icon-color: var(--igx-button-icon-color, #fff);--icon-color-hover: var(--igx-button-icon-color-hover, black);--hover-background: var(--igx-button-hover-background, #459a55);--hover-foreground: var(--igx-button-hover-foreground, black);--focus-background: var(--igx-button-focus-background, rgb(57.4189655172, 105.8310344828, 66.425862069));--focus-visible-background: var(--igx-button-focus-visible-background, rgb(57.4189655172, 105.8310344828, 66.425862069));--focus-hover-background: var(--igx-button-focus-hover-background, rgb(57.4189655172, 105.8310344828, 66.425862069));--focus-hover-foreground: var(--igx-button-focus-hover-foreground, white);--focus-visible-foreground: var(--igx-button-focus-visible-foreground, white);--active-background: var(--igx-button-active-background, hsl(from var(--ig-secondary-500) h s l/.16));--active-foreground: var(--igx-button-active-foreground, hsl(from var(--ig-secondary-500) h s l/1));--resting-shadow: var(--igx-button-resting-shadow, var(--ig-elevation-0));--hover-shadow: var(--igx-button-hover-shadow, var(--ig-elevation-0));--focus-shadow: var(--igx-button-focus-shadow, var(--ig-elevation-0));--active-shadow: var(--igx-button-active-shadow, var(--ig-elevation-0));--theme: var(--igx-button-theme, material)}.analytics-btn,.analytics-btn [igxButton=contained],.analytics-btn .igx-button--contained{--shadow-color: var(--igx-button-shadow-color, transparent);--border-color: var(--igx-button-border-color, transparent);--hover-border-color: var(--igx-button-hover-border-color, transparent);--focus-border-color: var(--igx-button-focus-border-color, transparent);--focus-visible-border-color: var(--igx-button-focus-visible-border-color, transparent);--active-border-color: var(--igx-button-active-border-color, transparent);--disabled-border-color: var(--igx-button-disabled-border-color, transparent);--disabled-background: var(--igx-button-disabled-background, hsl(from var(--ig-gray-100) h s l/1));--disabled-foreground: var(--igx-button-disabled-foreground, hsl(from var(--ig-gray-500) h s l/1));--disabled-icon-color: var(--igx-button-disabled-icon-color, hsl(from var(--ig-gray-500) h s l/1));--size: var(--igx-button-size, max(var(--is-large, 1) * max(2.25rem, -1 * 2.25rem), var(--is-medium, 1) * max(1.875rem, -1 * 1.875rem), var(--is-small, 1) * max(1.5rem, -1 * 1.5rem)));--default-size: var(--igx-button-default-size, 3);--resting-elevation: var(--igx-button-resting-elevation, var(--ig-elevation-2));--hover-elevation: var(--igx-button-hover-elevation, var(--ig-elevation-4));--focus-elevation: var(--igx-button-focus-elevation, var(--ig-elevation-8));--active-elevation: var(--igx-button-active-elevation, var(--ig-elevation-8));--background: var(--igx-button-background, #335e3b);--active-background: var(--igx-button-active-background, hsl(from var(--ig-secondary-300) h s l/1));--border-radius: var(--igx-button-border-radius, 0);--foreground: var(--igx-button-foreground, #fff);--icon-color: var(--igx-button-icon-color, #fff);--icon-color-hover: var(--igx-button-icon-color-hover, black);--hover-background: var(--igx-button-hover-background, #459a55);--hover-foreground: var(--igx-button-hover-foreground, black);--focus-background: var(--igx-button-focus-background, rgb(57.4189655172, 105.8310344828, 66.425862069));--focus-foreground: var(--igx-button-focus-foreground, white);--focus-hover-background: var(--igx-button-focus-hover-background, rgb(57.4189655172, 105.8310344828, 66.425862069));--focus-hover-foreground: var(--igx-button-focus-hover-foreground, white);--focus-visible-background: var(--igx-button-focus-visible-background, rgb(57.4189655172, 105.8310344828, 66.425862069));--focus-visible-foreground: var(--igx-button-focus-visible-foreground, white);--active-foreground: var(--igx-button-active-foreground, color-mix(in oklch, var(--ig-secondary-300-contrast) 100%, transparent));--resting-shadow: var(--igx-button-resting-shadow, var(--ig-elevation-2));--hover-shadow: var(--igx-button-hover-shadow, var(--ig-elevation-4));--focus-shadow: var(--igx-button-focus-shadow, var(--ig-elevation-8));--active-shadow: var(--igx-button-active-shadow, var(--ig-elevation-8));--theme: var(--igx-button-theme, material)}.analytics-btn,.analytics-btn [igxButton=fab],.analytics-btn .igx-button--fab{--shadow-color: var(--igx-button-shadow-color, transparent);--border-color: var(--igx-button-border-color, transparent);--hover-border-color: var(--igx-button-hover-border-color, transparent);--focus-border-color: var(--igx-button-focus-border-color, transparent);--focus-visible-border-color: var(--igx-button-focus-visible-border-color, transparent);--active-border-color: var(--igx-button-active-border-color, transparent);--disabled-border-color: var(--igx-button-disabled-border-color, transparent);--disabled-background: var(--igx-button-disabled-background, hsl(from var(--ig-gray-100) h s l/1));--disabled-foreground: var(--igx-button-disabled-foreground, hsl(from var(--ig-gray-500) h s l/1));--disabled-icon-color: var(--igx-button-disabled-icon-color, hsl(from var(--ig-gray-500) h s l/1));--size: var(--igx-button-size, max(var(--is-large, 1) * max(3rem, -1 * 3rem), var(--is-medium, 1) * max(2.5rem, -1 * 2.5rem), var(--is-small, 1) * max(2rem, -1 * 2rem)));--default-size: var(--igx-button-default-size, 3);--resting-elevation: var(--igx-button-resting-elevation, var(--ig-elevation-6));--hover-elevation: var(--igx-button-hover-elevation, var(--ig-elevation-12));--focus-elevation: var(--igx-button-focus-elevation, var(--ig-elevation-12));--active-elevation: var(--igx-button-active-elevation, var(--ig-elevation-12));--background: var(--igx-button-background, #335e3b);--active-background: var(--igx-button-active-background, hsl(from var(--ig-secondary-300) h s l/1));--border-radius: var(--igx-button-border-radius, 0);--foreground: var(--igx-button-foreground, #fff);--icon-color: var(--igx-button-icon-color, #fff);--icon-color-hover: var(--igx-button-icon-color-hover, black);--hover-background: var(--igx-button-hover-background, #459a55);--hover-foreground: var(--igx-button-hover-foreground, black);--focus-background: var(--igx-button-focus-background, rgb(57.4189655172, 105.8310344828, 66.425862069));--focus-foreground: var(--igx-button-focus-foreground, white);--focus-hover-background: var(--igx-button-focus-hover-background, rgb(57.4189655172, 105.8310344828, 66.425862069));--focus-hover-foreground: var(--igx-button-focus-hover-foreground, white);--focus-visible-background: var(--igx-button-focus-visible-background, rgb(57.4189655172, 105.8310344828, 66.425862069));--focus-visible-foreground: var(--igx-button-focus-visible-foreground, white);--active-foreground: var(--igx-button-active-foreground, color-mix(in oklch, var(--ig-secondary-300-contrast) 100%, transparent));--resting-shadow: var(--igx-button-resting-shadow, var(--ig-elevation-6));--hover-shadow: var(--igx-button-hover-shadow, var(--ig-elevation-12));--focus-shadow: var(--igx-button-focus-shadow, var(--ig-elevation-12));--active-shadow: var(--igx-button-active-shadow, var(--ig-elevation-12));--theme: var(--igx-button-theme, material)}.disableButton{opacity:.4;pointer-events:none}.clear,.more-action{display:flex;flex-flow:column;justify-content:center;border-left:1px solid #bdbdbd}.clear .btn,.clear .more-btn,.more-action .btn,.more-action .more-btn{width:68px;margin:0 0 7px;padding:0}.clear .more-btn,.more-action .more-btn{width:36px;height:36px;align-self:center;border-radius:20px}.clear .name,.more-action .name{font-size:.9rem;font-weight:400;text-align:center}.icon{pointer-events:none}.btn{display:inline-flex;flex-flow:column;align-items:center}.btn.condition{padding-right:16px}.btn.chart{padding-right:24px}.btn img,.btn span{pointer-events:none}.chart-preview{width:350px;height:300px;background-color:#fff;overflow:hidden}.chart-preview .chart-preview-title{margin:1rem;justify-content:center}.chart-preview .chart-preview-area{height:270px}::ng-deep .toggle-content,::ng-deep .toggle-content .ig-scrollbar{--sb-size: var(--ig-scrollbar-sb-size, 1rem);--sb-thumb-min-height: var(--ig-scrollbar-sb-thumb-min-height, 2rem);--sb-thumb-bg-color: var(--ig-scrollbar-sb-thumb-bg-color, hsl(from var(--ig-gray-400) h s l/1));--sb-thumb-bg-color-hover: var(--ig-scrollbar-sb-thumb-bg-color-hover, hsl(from var(--ig-gray-400) h s l/1));--sb-thumb-border-color: var(--ig-scrollbar-sb-thumb-border-color, transparent);--sb-thumb-border-size: var(--ig-scrollbar-sb-thumb-border-size, 0);--sb-thumb-border-radius: var(--ig-scrollbar-sb-thumb-border-radius, 0);--sb-track-bg-color: var(--ig-scrollbar-sb-track-bg-color, hsl(from var(--ig-gray-100) h s l/1));--sb-track-bg-color-hover: var(--ig-scrollbar-sb-track-bg-color-hover, hsl(from var(--ig-gray-100) h s l/1));--sb-track-border-color: var(--ig-scrollbar-sb-track-border-color, transparent);--sb-track-border-size: var(--ig-scrollbar-sb-track-border-size, 0);--sb-corner-bg: var(--ig-scrollbar-sb-corner-bg, hsl(from var(--ig-gray-100) h s l/1));--sb-corner-border-color: var(--ig-scrollbar-sb-corner-border-color, transparent);--sb-corner-border-size: var(--ig-scrollbar-sb-corner-border-size, 0);--theme: var(--ig-scrollbar-theme, material)}@-moz-document url-prefix(){}::ng-deep .toggle-content{width:354px;max-width:358px;height:148px;background-color:#fff}::ng-deep .toggle-content .tabs{display:flex!important;border:.2px solid;border-color:#d3d3d3}::ng-deep .toggle-content .tab-option{padding:.9rem;height:100px;width:358px;display:inline-flex;overflow-x:auto;overflow-y:hidden;white-space:nowrap;align-content:center}::ng-deep .toggle-content .tab-option .chartImgButton{width:48px;height:48px}::ng-deep .toggle-content .tab-option .imgSize,::ng-deep .toggle-content .clear.action .imgSize{width:36px;height:36px;align-self:center}::ng-deep .toggle-content .action{cursor:pointer;opacity:1}::ng-deep .toggle-content .action.selected{opacity:.62}::ng-deep .toggle-content .action.selected--condition{pointer-events:none;opacity:.62}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i1$2.SlicePipe, name: "slice" }, { kind: "pipe", type: SvgPipe, name: "svg" }, { kind: "directive", type: IgxToggleDirective, selector: "[igxToggle]", inputs: ["id"], outputs: ["opened", "opening", "closed", "closing", "appended"], exportAs: ["toggle"] }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["family", "name", "active"] }, { kind: "component", type: IgxTabsComponent, selector: "igx-tabs", inputs: ["tabAlignment", "activation"] }, { kind: "component", type: IgxTabItemComponent, selector: "igx-tab-item" }, { kind: "component", type: IgxTabHeaderComponent, selector: "igx-tab-header" }, { kind: "component", type: IgxTabContentComponent, selector: "igx-tab-content" }, { kind: "directive", type: IgxTabHeaderLabelDirective, selector: "igx-tab-header-label,[igxTabHeaderLabel]" }, { kind: "ngmodule", type: IgxBarSeriesModule }, { kind: "ngmodule", type: IgxCategoryChartModule }, { kind: "ngmodule", type: IgxCategoryXAxisModule }, { kind: "ngmodule", type: IgxDataChartCategoryModule }, { kind: "ngmodule", type: IgxDataChartCoreModule }, { kind: "ngmodule", type: IgxDataChartInteractivityModule }, { kind: "ngmodule", type: IgxDataChartScatterModule }, { kind: "ngmodule", type: IgxDataChartStackedModule }, { kind: "ngmodule", type: IgxItemLegendModule }, { kind: "ngmodule", type: IgxLegendModule }, { kind: "ngmodule", type: IgxNumericXAxisModule }, { kind: "ngmodule", type: IgxNumericYAxisModule }] }); }
|
|
1494
1493
|
}
|
|
1495
1494
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.3", ngImport: i0, type: IgxContextMenuComponent, decorators: [{
|
|
1496
1495
|
type: Component,
|
|
@@ -1499,7 +1498,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.3", ngImpor
|
|
|
1499
1498
|
NgFor,
|
|
1500
1499
|
SvgPipe,
|
|
1501
1500
|
IgxToggleDirective,
|
|
1502
|
-
IgxIconComponent
|
|
1501
|
+
IgxIconComponent,
|
|
1503
1502
|
IgxTabsComponent,
|
|
1504
1503
|
IgxTabItemComponent,
|
|
1505
1504
|
IgxTabHeaderComponent,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igniteui-angular-extras.mjs","sources":["../../../projects/igniteui-angular-extras/src/lib/directives/chart-integration/chart-types.ts","../../../projects/igniteui-angular-extras/src/lib/directives/chart-integration/initializers.ts","../../../projects/igniteui-angular-extras/src/lib/directives/chart-integration/chart-integration.directive.ts","../../../projects/igniteui-angular-extras/src/lib/directives/conditional-formatting/conditional-formatting.directive.ts","../../../projects/igniteui-angular-extras/src/images/charts.ts","../../../projects/igniteui-angular-extras/src/lib/pipes/svg.pipe.ts","../../../projects/igniteui-angular-extras/src/lib/context-menu/chart-dialog/chart-dialog.component.ts","../../../projects/igniteui-angular-extras/src/lib/context-menu/chart-dialog/chart-dialog.component.html","../../../projects/igniteui-angular-extras/src/images/conditions.ts","../../../projects/igniteui-angular-extras/src/lib/context-menu/context-menu.component.ts","../../../projects/igniteui-angular-extras/src/lib/context-menu/context-menu.component.html","../../../projects/igniteui-angular-extras/src/lib/context-menu/igx-context-menu.directive.ts","../../../projects/igniteui-angular-extras/src/lib/page-header/page-header.component.ts","../../../projects/igniteui-angular-extras/src/lib/page-header/page-header.component.html","../../../projects/igniteui-angular-extras/src/public-api.ts","../../../projects/igniteui-angular-extras/src/igniteui-angular-extras.ts"],"sourcesContent":["export enum CHART_TYPE {\r\n PIE= 'Pie',\r\n COLUMN_GROUPED = 'ColumnGrouped',\r\n AREA_GROUPED = 'AreaGrouped',\r\n LINE_GROUPED = 'LineGrouped',\r\n BAR_GROUPED = 'BarGrouped',\r\n COLUMN_STACKED = 'ColumnStacked',\r\n AREA_STACKED = 'AreaStacked',\r\n LINE_STACKED = 'LineStacked',\r\n BAR_STACKED = 'BarStacked',\r\n COLUMN_100_STACKED = 'Column100Stacked',\r\n AREA_100_STACKED = 'Area100Stacked',\r\n LINE_100_STACKED = 'Line100Stacked',\r\n BAR_100_STACKED = 'Bar100Stacked',\r\n SCATTER_POINT = 'ScatterPoint',\r\n SCATTER_BUBBLE = 'ScatterBubble',\r\n SCATTER_LINE = 'ScatterLine'\r\n}\r\n\r\nexport enum OPTIONS_TYPE {\r\n CHART = 'chartOptions',\r\n SERIES = 'seriesModel',\r\n X_AXIS = 'xAxisOptions',\r\n Y_AXIS = 'yAxisOptions',\r\n STACKED_SERIES = 'stackedFragmentOptions'\r\n}\r\n","// tslint:disable: max-line-length\r\nimport { EventEmitter, Type } from '@angular/core';\r\nimport { IgxBarSeriesComponent, IgxBubbleSeriesComponent, IgxCategoryXAxisComponent,\r\n IgxCategoryYAxisComponent, IgxDataChartComponent, IgxNumericXAxisComponent,\r\n IgxNumericYAxisComponent, IgxPieChartComponent, IgxScatterLineSeriesComponent,\r\n IgxScatterSeriesComponent, IgxStacked100BarSeriesComponent, IgxStackedBarSeriesComponent,\r\n IgxStackedFragmentSeriesComponent } from 'igniteui-angular-charts';\r\n\r\nclass SeriesFactory {\r\n public create<T>(type: (new () => T)): T {\r\n return new type();\r\n }\r\n}\r\n\r\nexport interface IOptions {\r\n [key: string]: any;\r\n}\r\n\r\nexport interface IChartComponentOptions {\r\n chartOptions?: IOptions;\r\n seriesOptions?: IOptions[];\r\n xAxisOptions?: IOptions;\r\n seriesModel?: IOptions;\r\n yAxisOptions?: IOptions;\r\n stackedFragmentOptions?: IOptions;\r\n}\r\n\r\nexport abstract class ChartInitializer {\r\n protected yAxis;\r\n protected xAxis;\r\n protected seriesFactory = new SeriesFactory();\r\n constructor() { }\r\n\r\n public applyOptions(target: any, options: IOptions) {\r\n if (options) {\r\n Object.keys(options).forEach(key => {\r\n if (target[key] instanceof EventEmitter) {\r\n target[key].subscribe(options[key]);\r\n } else {\r\n target[key] = options[key];\r\n }\r\n });\r\n }\r\n }\r\n\r\n public abstract initChart(chart: any, options?: IChartComponentOptions): any;\r\n}\r\n\r\nexport class IgxPieChartInitializer extends ChartInitializer {\r\n constructor() {\r\n super();\r\n }\r\n\r\n public initChart(chart: IgxPieChartComponent, options: IChartComponentOptions) {\r\n\r\n this.applyOptions(chart, options.chartOptions);\r\n return chart;\r\n }\r\n}\r\n\r\nexport class IgxDataChartInitializer extends ChartInitializer {\r\n public seriesType: Type<any>;\r\n\r\n constructor(seriesType: Type<any>) {\r\n super();\r\n switch (seriesType) {\r\n case IgxBarSeriesComponent:\r\n this.xAxis = new IgxNumericXAxisComponent();\r\n this.yAxis = new IgxCategoryYAxisComponent();\r\n break;\r\n case IgxScatterSeriesComponent:\r\n case IgxBubbleSeriesComponent:\r\n case IgxScatterLineSeriesComponent:\r\n this.xAxis = new IgxNumericXAxisComponent();\r\n this.yAxis = new IgxNumericYAxisComponent();\r\n break;\r\n default:\r\n this.xAxis = new IgxCategoryXAxisComponent();\r\n this.yAxis = new IgxNumericYAxisComponent();\r\n }\r\n\r\n this.seriesType = seriesType;\r\n }\r\n\r\n public initChart(chart: IgxDataChartComponent, options: IChartComponentOptions): IgxDataChartComponent {\r\n options.seriesOptions.forEach((option) => {\r\n const series = this.seriesFactory.create(this.seriesType);\r\n series.xAxis = this.xAxis;\r\n series.yAxis = this.yAxis;\r\n this.applyOptions(series, option);\r\n chart.series.add(series);\r\n });\r\n this.applyOptions(chart, options.chartOptions);\r\n this.applyOptions(this.xAxis, options.xAxisOptions);\r\n this.applyOptions(this.yAxis, options.yAxisOptions);\r\n chart.axes.add(this.xAxis);\r\n chart.axes.add(this.yAxis);\r\n return chart;\r\n }\r\n}\r\n\r\nexport class IgxStackedDataChartInitializer extends ChartInitializer {\r\n public seriesType: Type<any>;\r\n\r\n constructor(seriesType: Type<any>) {\r\n super();\r\n if (seriesType === IgxStackedBarSeriesComponent || seriesType === IgxStacked100BarSeriesComponent) {\r\n this.xAxis = new IgxNumericXAxisComponent();\r\n this.yAxis = new IgxCategoryYAxisComponent();\r\n } else {\r\n this.xAxis = new IgxCategoryXAxisComponent();\r\n this.yAxis = new IgxNumericYAxisComponent();\r\n }\r\n this.seriesType = seriesType;\r\n }\r\n public initChart(chart: IgxDataChartComponent, options?: IChartComponentOptions): IgxDataChartComponent {\r\n const series = this.seriesFactory.create(this.seriesType);\r\n series.xAxis = this.xAxis;\r\n series.yAxis = this.yAxis;\r\n options.stackedFragmentOptions.forEach(fragOpt => {\r\n const frag = new IgxStackedFragmentSeriesComponent();\r\n this.applyOptions(frag, fragOpt);\r\n series.series.add(frag);\r\n });\r\n this.applyOptions(series, options.seriesOptions);\r\n this.applyOptions(chart, options.chartOptions);\r\n this.applyOptions(this.xAxis, options.xAxisOptions);\r\n this.applyOptions(this.yAxis, options.yAxisOptions);\r\n chart.series.add(series);\r\n chart.axes.add(this.xAxis);\r\n chart.axes.add(this.yAxis);\r\n return chart;\r\n }\r\n}\r\n","import { ComponentFactory, ComponentFactoryResolver, ComponentRef, Directive,\r\n EventEmitter, Input, Output, Type, ViewContainerRef } from '@angular/core';\r\nimport {\r\n IgxAreaSeriesComponent, IgxBarSeriesComponent, IgxBubbleSeriesComponent, IgxColumnSeriesComponent,\r\n IgxDataChartComponent, IgxItemLegendComponent, IgxLegendComponent, IgxLineSeriesComponent, IgxPieChartComponent,\r\n IgxScatterLineSeriesComponent, IgxScatterSeriesComponent, IgxSizeScaleComponent, IgxStacked100AreaSeriesComponent,\r\n IgxStacked100BarSeriesComponent, IgxStacked100ColumnSeriesComponent, IgxStacked100LineSeriesComponent,\r\n IgxStackedAreaSeriesComponent, IgxStackedBarSeriesComponent, IgxStackedColumnSeriesComponent,\r\n IgxStackedLineSeriesComponent\r\n} from 'igniteui-angular-charts';\r\nimport { CHART_TYPE, OPTIONS_TYPE } from './chart-types';\r\nimport { ChartInitializer, IChartComponentOptions, IgxDataChartInitializer,\r\n IgxPieChartInitializer, IgxStackedDataChartInitializer, IOptions } from './initializers';\r\n\r\nexport interface IDeterminedChartTypesArgs {\r\n chartsAvailabilty: Map<CHART_TYPE, boolean>;\r\n chartsForCreation: CHART_TYPE[];\r\n}\r\n\r\n@Directive({\r\n selector: '[igxChartIntegration]',\r\n})\r\nexport class IgxChartIntegrationDirective {\r\n @Input()\r\n public get chartData() {\r\n return this._chartData;\r\n }\r\n\r\n public set chartData(selectedData: any[]) {\r\n const charts = new Set(this._dataChartTypes);\r\n const dataModel = selectedData.length ? selectedData[0] : {};\r\n this._labelMemberPaths = Object.keys(dataModel).filter(key => typeof dataModel[key] === 'string');\r\n this._valueMemberPaths = Object.keys(dataModel).filter(key => typeof dataModel[key] === 'number');\r\n this._chartData = selectedData.map((dataRecord, index) => this.addIndexMemberPath(dataRecord, index + 1));\r\n const args: IDeterminedChartTypesArgs = {\r\n chartsAvailabilty: new Map<CHART_TYPE, boolean>(),\r\n chartsForCreation: []\r\n };\r\n\r\n if (selectedData.length === 0 || this._valueMemberPaths.length === 0) {\r\n this.onChartTypesDetermined.emit(args);\r\n return;\r\n }\r\n if (selectedData.length === 1) {\r\n charts.forEach((chart, _, set) => {\r\n const isColumnChart = chart.indexOf('Column') !== -1;\r\n const isBarChart = chart.indexOf('Bar') !== -1;\r\n const isPieChart = chart.indexOf('Pie') !== -1;\r\n if (!(isColumnChart || isBarChart || isPieChart)) {\r\n set.delete(chart);\r\n }\r\n });\r\n }\r\n // Config pie chart\r\n const cannotCreatePieChart = selectedData.some(record => record[this._valueMemberPaths[0]] <= 0);\r\n if (cannotCreatePieChart) {\r\n charts.delete(CHART_TYPE.PIE);\r\n }\r\n // Config scatter chart member paths\r\n const canCreateScatterChart = this._valueMemberPaths.length >= 2;\r\n const canCreateBubbleChart = this._valueMemberPaths.length >= 3;\r\n if (!canCreateScatterChart) {\r\n charts.delete(CHART_TYPE.SCATTER_BUBBLE);\r\n charts.delete(CHART_TYPE.SCATTER_LINE);\r\n charts.delete(CHART_TYPE.SCATTER_POINT);\r\n }\r\n if (!canCreateBubbleChart) {\r\n charts.delete(CHART_TYPE.SCATTER_BUBBLE);\r\n }\r\n\r\n args.chartsAvailabilty = this.chartTypesAvailability;\r\n args.chartsForCreation = [...charts];\r\n this.onChartTypesDetermined.emit(args);\r\n }\r\n\r\n @Output()\r\n public onChartTypesDetermined = new EventEmitter<IDeterminedChartTypesArgs>();\r\n\r\n @Output()\r\n public onChartCreationDone = new EventEmitter<any>();\r\n\r\n @Input()\r\n public useLegend = true;\r\n\r\n @Input()\r\n public defaultLabelMemberPath: string = undefined;\r\n\r\n @Input()\r\n public set scatterChartYAxisValueMemberPath(path: string) {\r\n this._scatterChartYAxisValueMemberPath = path;\r\n }\r\n\r\n public get scatterChartYAxisValueMemberPath() {\r\n return this._scatterChartYAxisValueMemberPath &&\r\n this._valueMemberPaths.indexOf(this._scatterChartYAxisValueMemberPath) !== -1 ?\r\n this._scatterChartYAxisValueMemberPath : this._valueMemberPaths[0];\r\n }\r\n\r\n @Input()\r\n public set bubbleChartRadiusMemberPath(path: string) {\r\n this._bubbleChartRadiusMemberPath = path;\r\n }\r\n\r\n public get bubbleChartRadiusMemberPath() {\r\n return this._bubbleChartRadiusMemberPath &&\r\n this._valueMemberPaths.indexOf(this._bubbleChartRadiusMemberPath) !== -1 ?\r\n this._bubbleChartRadiusMemberPath : this._valueMemberPaths[1];\r\n }\r\n\r\n private chartTypesAvailability = new Map<CHART_TYPE, boolean>();\r\n private customChartComponentOptions = new Map<CHART_TYPE, IChartComponentOptions>();\r\n private dataCharts = new Map<string, Type<any>>();\r\n private _scatterChartYAxisValueMemberPath = undefined;\r\n private _bubbleChartRadiusMemberPath = undefined;\r\n private _valueMemberPaths = [];\r\n private _labelMemberPaths = [];\r\n private _chartData: any[];\r\n private _sizeScale = new IgxSizeScaleComponent();\r\n private _dataChartTypes = new Set<CHART_TYPE>();\r\n private get _labelMemberPath(): string {\r\n return this.defaultLabelMemberPath && this._chartData.some(r => r[this.defaultLabelMemberPath] !== undefined) ?\r\n this.defaultLabelMemberPath : this._labelMemberPaths.length > 0 ? this._labelMemberPaths[0] : 'Index';\r\n }\r\n\r\n private get pieChartOptions(): IOptions {\r\n return {\r\n width: '85%',\r\n height: '75%',\r\n dataSource: this.chartData,\r\n valueMemberPath: this._valueMemberPaths[0],\r\n legendLabelMemberPath: this._labelMemberPath,\r\n labelMemberPath: this._labelMemberPath,\r\n };\r\n }\r\n\r\n private dataChartSeriesOptionsModel: IOptions = {\r\n isHighlightingEnabled: true,\r\n areaFillOpacity: .4,\r\n markerType: 3,\r\n showDefaultTooltip: true\r\n };\r\n\r\n private scatterChartSeriesOptionsModel: IOptions = {\r\n markerType: 3,\r\n showDefaultTooltip: true\r\n };\r\n\r\n private bubbleChartSeriesOptionsModel: IOptions = {\r\n radiusScale: this._sizeScale\r\n };\r\n\r\n private get dataChartOptions(): IOptions {\r\n return {\r\n width: '100%',\r\n height: '85%',\r\n autoMarginWidth: 50,\r\n isVerticalZoomEnabled: true,\r\n isHorizontalZoomEnabled: true,\r\n dataSource: this.chartData\r\n };\r\n }\r\n constructor(private factoryResolver: ComponentFactoryResolver) {\r\n this.dataCharts.set(CHART_TYPE.COLUMN_GROUPED, IgxColumnSeriesComponent);\r\n this.dataCharts.set(CHART_TYPE.AREA_GROUPED, IgxAreaSeriesComponent);\r\n this.dataCharts.set(CHART_TYPE.LINE_GROUPED, IgxLineSeriesComponent);\r\n this.dataCharts.set(CHART_TYPE.BAR_GROUPED, IgxBarSeriesComponent);\r\n\r\n this.dataCharts.set(CHART_TYPE.COLUMN_STACKED, IgxStackedColumnSeriesComponent);\r\n this.dataCharts.set(CHART_TYPE.AREA_STACKED, IgxStackedAreaSeriesComponent);\r\n this.dataCharts.set(CHART_TYPE.LINE_STACKED, IgxStackedLineSeriesComponent);\r\n this.dataCharts.set(CHART_TYPE.BAR_STACKED, IgxStackedBarSeriesComponent);\r\n\r\n this.dataCharts.set(CHART_TYPE.COLUMN_100_STACKED, IgxStacked100ColumnSeriesComponent);\r\n this.dataCharts.set(CHART_TYPE.AREA_100_STACKED, IgxStacked100AreaSeriesComponent);\r\n this.dataCharts.set(CHART_TYPE.LINE_100_STACKED, IgxStacked100LineSeriesComponent);\r\n this.dataCharts.set(CHART_TYPE.BAR_100_STACKED, IgxStacked100BarSeriesComponent);\r\n\r\n this.dataCharts.set(CHART_TYPE.SCATTER_POINT, IgxScatterSeriesComponent);\r\n this.dataCharts.set(CHART_TYPE.SCATTER_BUBBLE, IgxBubbleSeriesComponent);\r\n this.dataCharts.set(CHART_TYPE.SCATTER_LINE, IgxScatterLineSeriesComponent);\r\n\r\n this.dataCharts.set(CHART_TYPE.PIE, IgxPieChartComponent);\r\n const iterable = this.dataCharts.keys();\r\n for (let head = iterable.next().value; head !== undefined; head = iterable.next().value) {\r\n this._dataChartTypes.add(head);\r\n this.chartTypesAvailability.set(head, true);\r\n this.customChartComponentOptions.set(head, {});\r\n }\r\n }\r\n\r\n public getAvailableCharts() {\r\n const res = [];\r\n this.chartTypesAvailability.forEach((isAvailable, chartType) => {\r\n if (isAvailable) {\r\n res.push(chartType);\r\n }\r\n });\r\n return res;\r\n }\r\n\r\n public disableCharts(types: CHART_TYPE[]) {\r\n types.forEach(type => {\r\n if (this.chartTypesAvailability.get(type)) {\r\n this.chartTypesAvailability.set(type, false);\r\n }\r\n });\r\n }\r\n\r\n public enableCharts(types: CHART_TYPE[]) {\r\n types.forEach(type => {\r\n if (!this.chartTypesAvailability.get(type)) {\r\n this.chartTypesAvailability.set(type, true);\r\n }\r\n });\r\n }\r\n\r\n public chartFactory(type: CHART_TYPE, viewContainerRef: ViewContainerRef) {\r\n if (!this.chartTypesAvailability.get(type)) {\r\n return;\r\n }\r\n let componentFactory: ComponentFactory<any>;\r\n let componentRef: ComponentRef<any>;\r\n this._sizeScale.maximumValue = 60;\r\n this._sizeScale.minimumValue = 10;\r\n const chartType = this.dataCharts.get(type);\r\n\r\n if (type === CHART_TYPE.PIE) {\r\n componentFactory = this.factoryResolver.resolveComponentFactory(IgxPieChartComponent);\r\n componentRef = viewContainerRef.createComponent(componentFactory);\r\n } else {\r\n componentFactory = this.factoryResolver.resolveComponentFactory(IgxDataChartComponent);\r\n componentRef = viewContainerRef.createComponent(componentFactory);\r\n }\r\n const options: IChartComponentOptions = this.getChartOptions(type);\r\n const initializer: ChartInitializer = this.getInitializer(type, chartType);\r\n if (this.useLegend) {\r\n const legendType = type === CHART_TYPE.PIE ? IgxItemLegendComponent : IgxLegendComponent;\r\n const legendFactory = this.factoryResolver.resolveComponentFactory(legendType as any);\r\n const legendComponentRef: ComponentRef<any> = viewContainerRef.createComponent(legendFactory);\r\n options.chartOptions['legend'] = legendComponentRef.instance;\r\n }\r\n const chart = initializer.initChart(componentRef.instance, options);\r\n this.onChartCreationDone.emit(chart);\r\n }\r\n\r\n private getInitializer(chartType: CHART_TYPE, componentClassRef): ChartInitializer {\r\n if (chartType.includes('Pie')) {\r\n return new IgxPieChartInitializer();\r\n } else if (chartType.includes('Stacked')) {\r\n return new IgxStackedDataChartInitializer(componentClassRef);\r\n } else {\r\n return new IgxDataChartInitializer(componentClassRef);\r\n }\r\n }\r\n\r\n private getChartOptions(type: CHART_TYPE): IChartComponentOptions {\r\n const chartComponentOptions: IChartComponentOptions = {};\r\n return type === CHART_TYPE.PIE ? this.addPieChartDataOptions(chartComponentOptions) :\r\n this.addDataChartDataOptions(type, chartComponentOptions, type.includes('Stacked'));\r\n }\r\n\r\n private addPieChartDataOptions(chartComponentOptions: IChartComponentOptions) {\r\n // tslint:disable-next-line: max-line-length\r\n chartComponentOptions.chartOptions = Object.assign(this.pieChartOptions, this.customChartComponentOptions.get(CHART_TYPE.PIE).chartOptions);\r\n return chartComponentOptions;\r\n }\r\n\r\n private addDataChartDataOptions(type: CHART_TYPE, chartComponentOptions: IChartComponentOptions, stacked: boolean) {\r\n chartComponentOptions.chartOptions = Object.assign(this.dataChartOptions, this.customChartComponentOptions.get(type));\r\n if (type.indexOf('Scatter') !== -1) {\r\n this.addScatterChartDataOptions(type, chartComponentOptions);\r\n } else {\r\n // tslint:disable-next-line: max-line-length\r\n chartComponentOptions.seriesModel = Object.assign(this.dataChartSeriesOptionsModel, this.customChartComponentOptions.get(type).seriesModel);\r\n this.setAxisLabelOption(type, chartComponentOptions);\r\n const options: IOptions[] = [];\r\n this._valueMemberPaths.forEach(valueMemberPath => {\r\n const dataOptions = {\r\n title: valueMemberPath,\r\n valueMemberPath\r\n };\r\n if (stacked) {\r\n options.push({ ...dataOptions });\r\n } else {\r\n options.push({ ...dataOptions, ...chartComponentOptions.seriesModel });\r\n }\r\n });\r\n stacked ? chartComponentOptions.stackedFragmentOptions = options :\r\n chartComponentOptions.seriesOptions = options;\r\n }\r\n return chartComponentOptions;\r\n }\r\n\r\n private addScatterChartDataOptions(scatterChart: CHART_TYPE, chartComponentOptions: IChartComponentOptions) {\r\n // tslint:disable-next-line: max-line-length\r\n chartComponentOptions.seriesModel = Object.assign(this.scatterChartSeriesOptionsModel, this.customChartComponentOptions.get(scatterChart).seriesModel);\r\n chartComponentOptions.seriesModel['yMemberPath'] = this.scatterChartYAxisValueMemberPath;\r\n if (scatterChart === CHART_TYPE.SCATTER_BUBBLE) {\r\n chartComponentOptions.seriesModel = Object.assign(chartComponentOptions.seriesModel, this.bubbleChartSeriesOptionsModel);\r\n chartComponentOptions.seriesModel['radiusMemberPath'] = this.bubbleChartRadiusMemberPath;\r\n }\r\n\r\n const model = chartComponentOptions.seriesModel;\r\n const seriesOptions: IOptions[] = [];\r\n this._valueMemberPaths.filter(v => !(v === model['yMemberPath'] ||\r\n v === model['radiusMemberPath'])).forEach(valueMemberPath => {\r\n const dataOptions = {\r\n title: `${model['yMemberPath']} vs ${valueMemberPath}`,\r\n xMemberPath: valueMemberPath,\r\n labelMemberPath: this._labelMemberPath\r\n };\r\n seriesOptions.push({ ...dataOptions, ...model });\r\n });\r\n chartComponentOptions.seriesOptions = seriesOptions;\r\n }\r\n\r\n private addIndexMemberPath(dataRecord, index) {\r\n dataRecord = { ...{ [this._labelMemberPath]: index }, ...dataRecord };\r\n return dataRecord;\r\n }\r\n\r\n private setAxisLabelOption(type: CHART_TYPE, options: IChartComponentOptions) {\r\n if (type.indexOf('Bar') !== -1) {\r\n options.yAxisOptions = Object.assign({\r\n label: this._labelMemberPath\r\n }, this.customChartComponentOptions.get(type).yAxisOptions);\r\n } else {\r\n options.xAxisOptions = Object.assign({\r\n label: this._labelMemberPath\r\n }, this.customChartComponentOptions.get(type).xAxisOptions);\r\n }\r\n }\r\n\r\n public setChartComponentOptions(chart: CHART_TYPE, optionsType: OPTIONS_TYPE, options: IOptions) {\r\n if (!this.customChartComponentOptions.get(chart)[optionsType]) {\r\n this.customChartComponentOptions.get(chart)[optionsType] = {};\r\n }\r\n Object.keys(options).forEach(property => {\r\n this.customChartComponentOptions.get(chart)[optionsType][property] = options[property];\r\n });\r\n }\r\n\r\n}\r\n","import { AfterViewInit, Directive, EventEmitter, Inject, Input, OnDestroy, Output } from '@angular/core';\r\nimport { IgxGridComponent } from 'igniteui-angular';\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\n\r\nexport enum ConditionalFormattingType {\r\n dataBars = 'Data Bars',\r\n colorScale = 'Color Scale',\r\n top10 = 'Top 10',\r\n textContains = 'Text Contains',\r\n single = 'Duplicate Values',\r\n unique = 'Unique Values',\r\n empty = 'Empty'\r\n}\r\nexport interface IFormatColors {\r\n success: string;\r\n error: string;\r\n info: string;\r\n warning: string;\r\n text: string;\r\n}\r\n\r\n@Directive({\r\n selector: '[igxConditionalFormatting]',\r\n})\r\nexport class IgxConditionalFormattingDirective implements AfterViewInit, OnDestroy {\r\n @Input()\r\n public formatter: string | ConditionalFormattingType;\r\n\r\n @Input()\r\n public set formatColors(val: IFormatColors) {\r\n this._formatColors = val;\r\n }\r\n public get formatColors() {\r\n return this._formatColors;\r\n }\r\n\r\n @Output()\r\n public onFormattersReady = new EventEmitter<string[]>();\r\n\r\n public colorScale = {\r\n backgroundColor: (rowData, colname, cellValue, rowIndex) => {\r\n if (!(typeof cellValue === 'number' && this.isWithInFormattedRange(rowIndex, colname))) { return; }\r\n return this.lowTresholdValue >= cellValue ? this.formatColors.error :\r\n this.middleTresholdValue >= cellValue ? this.formatColors.warning : this.formatColors.success;\r\n }\r\n };\r\n\r\n public dataBars = {\r\n backgroundImage: (rowData, colname, cellValue, rowIndex) => {\r\n if (!(typeof cellValue === 'number' && this.isWithInFormattedRange(rowIndex, colname))) { return; }\r\n const treshold = this.threshold;\r\n let gradientPercents;\r\n if (cellValue < 0) {\r\n const negativeStartingPoint = 100 - treshold;\r\n gradientPercents = this.getNegativePercentage(cellValue);\r\n return `linear-gradient(to left, transparent 0% ${negativeStartingPoint}%,\r\n ${ this.formatColors.error} ${negativeStartingPoint}% ${negativeStartingPoint + gradientPercents}%,\r\n transparent ${gradientPercents}% 100%)`;\r\n } else {\r\n gradientPercents = this.getPositivePercentage(cellValue);\r\n return `linear-gradient(to right, transparent 0% ${treshold}%,\r\n ${ this.formatColors.success} ${treshold}% ${treshold + gradientPercents}%,\r\n transparent ${treshold + gradientPercents}% 100%)`;\r\n }\r\n },\r\n backgroundSize: '100% 80%',\r\n backgroundRepeat: 'no-repeat',\r\n backgroundPositionY: 'center'\r\n };\r\n\r\n public top10Percent = {\r\n backgroundColor: (rowData, colname, cellValue, rowIndex) => {\r\n if (typeof cellValue === 'number' && this.isWithInFormattedRange(rowIndex, colname)\r\n && cellValue > this.top10PercentTreshold) {\r\n return this.formatColors.info;\r\n }\r\n },\r\n color: (rowData, colname, cellValue, rowIndex) => {\r\n if (typeof cellValue === 'number' && this.isWithInFormattedRange(rowIndex, colname)\r\n && cellValue > this.top10PercentTreshold) {\r\n return this.formatColors.text;\r\n }\r\n }\r\n };\r\n\r\n public greaterThan = {\r\n backgroundColor: (rowData, colname, cellValue, rowIndex) => {\r\n if (typeof cellValue === 'number' && this.isWithInFormattedRange(rowIndex, colname)\r\n && cellValue > this.avgValue) {\r\n return this.formatColors.info;\r\n }\r\n },\r\n color: (rowData, colname, cellValue, rowIndex) => {\r\n if (typeof cellValue === 'number' && this.isWithInFormattedRange(rowIndex, colname)\r\n && cellValue > this.avgValue) {\r\n return this.formatColors.text;\r\n }\r\n }\r\n };\r\n\r\n public empty = {\r\n backgroundColor: (rowData, colname, cellValue, rowIndex) => {\r\n if (this.isWithInFormattedRange(rowIndex, colname) && cellValue === undefined) {\r\n return this.formatColors.info;\r\n }\r\n },\r\n color: (rowData, colname, cellValue, rowIndex) => {\r\n if (this.isWithInFormattedRange(rowIndex, colname) && cellValue === undefined) {\r\n return this.formatColors.text;\r\n }\r\n }\r\n };\r\n\r\n public duplicates = {\r\n backgroundColor: (rowData, colname, cellValue, rowIndex) => {\r\n if (!this.isWithInFormattedRange(rowIndex, colname)) { return; }\r\n const arr: any[] = typeof cellValue === 'number' ? this.numericData : this.textData;\r\n return arr.indexOf(cellValue) !== arr.lastIndexOf(cellValue) ? this.formatColors.info : '';\r\n\r\n },\r\n color: (rowData, colname, cellValue, rowIndex) => {\r\n if (!this.isWithInFormattedRange(rowIndex, colname)) { return; }\r\n const arr: any[] = typeof cellValue === 'number' ? this.numericData : this.textData;\r\n return arr.indexOf(cellValue) !== arr.lastIndexOf(cellValue) ? this.formatColors.text : '';\r\n }\r\n };\r\n\r\n public textContains = {\r\n backgroundColor: (rowData, colname, cellValue, rowIndex) => {\r\n if (typeof cellValue === 'string' && this.isWithInFormattedRange(rowIndex, colname) &&\r\n cellValue.toLowerCase().indexOf(this._valueForComparison.toLowerCase()) !== -1) {\r\n return this.formatColors.info;\r\n }\r\n },\r\n color: (rowData, colname, cellValue, rowIndex) => {\r\n if (typeof cellValue === 'string' && this.isWithInFormattedRange(rowIndex, colname) &&\r\n cellValue.toLowerCase().indexOf(this._valueForComparison.toLowerCase()) !== -1) {\r\n return this.formatColors.text;\r\n }\r\n }\r\n };\r\n\r\n public uniques = {\r\n backgroundColor: (rowData, colname, cellValue, rowIndex) => {\r\n if (!this.isWithInFormattedRange(rowIndex, colname)) { return; }\r\n const arr: any[] = typeof cellValue === 'number' ? this.numericData : this.textData;\r\n return arr.indexOf(cellValue) === arr.lastIndexOf(cellValue) ? this.formatColors.info : '';\r\n },\r\n color: (rowData, colname, cellValue, rowIndex) => {\r\n if (!this.isWithInFormattedRange(rowIndex, colname)) { return; }\r\n const arr: any[] = typeof cellValue === 'number' ? this.numericData : this.textData;\r\n return arr.indexOf(cellValue) === arr.lastIndexOf(cellValue) ? this.formatColors.text : '';\r\n }\r\n };\r\n\r\n private get selectedData() {\r\n if (!this._selectedData.length) { this._selectedData = this.toArray(this.grid.getSelectedData()); }\r\n return this._selectedData;\r\n }\r\n\r\n private get textData() {\r\n return this.selectedData.filter(val => typeof val === 'string');\r\n }\r\n\r\n private get numericData() {\r\n return this.selectedData.filter(val => typeof val === 'number');\r\n }\r\n private _formatColors: IFormatColors = {\r\n success: '#4EB862',\r\n error: '#FF134A',\r\n warning: '#FBB13C',\r\n info: '#1377D5',\r\n text: '#FFF'\r\n };\r\n private _numericFormatters = ['Data Bars', 'Color Scale', 'Top 10', 'Greater Than'];\r\n private _textFormatters = ['Text Contains'];\r\n private _commonFormattersName = ['Duplicate Values', 'Unique Values', 'Empty'];\r\n private _selectedData = [];\r\n private _minValue;\r\n private _maxValue;\r\n private _startColumn;\r\n private _endColumn;\r\n private _valueForComparison;\r\n private _formattersData = new Map<string, any>();\r\n private destroy$ = new Subject<any>();\r\n private formatedRange: Map<number, Set<number>> = new Map<number, Set<number>>();\r\n\r\n constructor(public grid: IgxGridComponent) {\r\n this._formattersData.set('Data Bars', this.dataBars);\r\n this._formattersData.set('Color Scale', this.colorScale);\r\n this._formattersData.set('Top 10', this.top10Percent);\r\n this._formattersData.set('Greater Than', this.greaterThan);\r\n this._formattersData.set('Text Contains', this.textContains);\r\n this._formattersData.set('Duplicate Values', this.duplicates);\r\n this._formattersData.set('Unique Values', this.uniques);\r\n this._formattersData.set('Empty', this.empty);\r\n }\r\n\r\n public ngAfterViewInit(): void {\r\n this.grid.rangeSelected.pipe(takeUntil(this.destroy$)).subscribe(() => {\r\n this.determineFormatters();\r\n });\r\n this.grid.cellEdit.pipe(takeUntil(this.destroy$)).subscribe((args: any) => {\r\n if ((args.newValue === args.oldValue || !this.formatter)) { return; }\r\n if (this.isWithInFormattedRange(args.cellID.rowIndex, args.cellID.columnID - 1)) {\r\n const value = Number(args.newValue);\r\n const valueToBeAdded = !Number.isNaN(value) && Number.isFinite(value) ? value : args.newValue;\r\n this.selectedData.splice(this.selectedData.indexOf(args.oldValue), 1, valueToBeAdded);\r\n this.recalcCachedValues();\r\n this.formatCells(this.formatter, undefined, false);\r\n }\r\n });\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n this.destroy$.next(true);\r\n this.destroy$.complete();\r\n }\r\n\r\n public formatCells(formatterName, formatRange?: [], reset = true) {\r\n if (reset) { this.resetRange(formatRange); }\r\n this.clearFormatting();\r\n this.formatter = formatterName;\r\n this.grid.visibleColumns.forEach(c => {\r\n if (c.visibleIndex >= this._startColumn && c.visibleIndex <= this._endColumn) {\r\n c.cellStyles = this._formattersData.get(this.formatter);\r\n this.grid.notifyChanges();\r\n }\r\n });\r\n }\r\n\r\n public clearFormatting() {\r\n this.formatter = undefined;\r\n this.grid.visibleColumns.forEach(c => {\r\n c.cellStyles = undefined;\r\n this.grid.cdr.detectChanges();\r\n });\r\n }\r\n\r\n public determineFormatters() {\r\n const numericData = this.toArray(this.grid.getSelectedData()).some(rec => typeof rec === 'number');\r\n const textData = this.toArray(this.grid.getSelectedData()).some(rec => typeof rec === 'string');\r\n const formatters = Array.of(...this._commonFormattersName);\r\n if (!(numericData) && textData) {\r\n formatters.splice(0, 0, ...this._textFormatters);\r\n } else if (numericData && !textData) {\r\n formatters.splice(0, 0, ...this._numericFormatters);\r\n } else {\r\n formatters.splice(0, 0, ...['Data Bars', 'Color Scale', 'Text Contains']);\r\n }\r\n this.onFormattersReady.emit(formatters);\r\n }\r\n\r\n public recalcCachedValues(clearAll = false) {\r\n if (clearAll) {\r\n this._startColumn = Math.min(...this.grid.getSelectedRanges().map(r => Number(r.columnStart)));\r\n this._endColumn = Math.max(...this.grid.getSelectedRanges().map(r => Number(r.columnEnd)));\r\n this._selectedData = [];\r\n }\r\n this._valueForComparison = this.textData[0];\r\n this._maxValue = Math.max(...this.numericData);\r\n this._minValue = Math.min(...this.numericData.filter(value => value < 0)) | 0;\r\n }\r\n\r\n public isWithInFormattedRange(rowIndex, colID) {\r\n const visibleIndex = typeof colID === 'string' ? this.grid.getColumnByName(colID).visibleIndex : colID;\r\n if (!this.formatedRange.size) { return false; }\r\n return this.formatedRange.has(rowIndex) && this.formatedRange.get(rowIndex).has(visibleIndex);\r\n }\r\n\r\n private get middleTresholdValue() { return 0.66 * Math.ceil(this._maxValue); }\r\n\r\n private get lowTresholdValue() { return 0.33 * Math.ceil(this._maxValue); }\r\n\r\n private get top10PercentTreshold() { return 0.9 * Math.ceil(this._maxValue); }\r\n\r\n private get avgValue() {\r\n return Math.ceil((this.numericData.reduce((a, b) => a + b, 0)) / this.numericData.length);\r\n }\r\n\r\n private get threshold() {\r\n return Math.ceil(Math.abs(this._minValue) / (this._maxValue + Math.abs(this._minValue)) * 100);\r\n }\r\n\r\n private getPositivePercentage(val) {\r\n const result = (Math.ceil(val) / (this._maxValue + Math.abs(this._minValue))) * 100;\r\n return Math.ceil(result);\r\n }\r\n\r\n private getNegativePercentage(val) {\r\n const result = (Math.abs(val) / (this._maxValue + Math.abs(this._minValue))) * 100;\r\n return Math.ceil(result);\r\n }\r\n\r\n private resetRange(formatRange?: []) {\r\n this.formatedRange.clear();\r\n const customRange = formatRange ? formatRange : this.grid.getSelectedRanges();\r\n customRange.forEach(range => {\r\n for (let ri = range.rowStart; ri <= Number(range.rowEnd); ri++) {\r\n for (let ci = Number(range.columnStart); ci <= Number(range.columnEnd); ci++) {\r\n this.addToCache(ri, ci);\r\n }\r\n }\r\n });\r\n this.recalcCachedValues(true);\r\n }\r\n\r\n private addToCache(rowIndex, colIndex, selection = true) {\r\n this.formatedRange.has(rowIndex) ? this.formatedRange.get(rowIndex).add(colIndex) :\r\n this.formatedRange.set(rowIndex, new Set<number>()).get(rowIndex).add(colIndex);\r\n }\r\n\r\n private toArray(data: any[]) {\r\n let result = [];\r\n data.forEach(rec => result = result.concat(Object.values(rec)));\r\n return result;\r\n }\r\n}\r\n","// tslint:disable: max-line-length\r\nexport const Area100Stacked = `\r\n <svg id=\"Layer_1\" data-name=\"Layer 1\"\r\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 96 96\">\r\n <defs>\r\n <style>.cls-Area100Stacked-1{fill:#ab4191;}.cls-Area100Stacked-2{fill:#f05951;}.cls-Area100Stacked-2,.cls-Area100Stacked-3,.cls-Area100Stacked-4{fill-rule:evenodd;}.cls-Area100Stacked-3{fill:#fa8d3d;}.cls-Area100Stacked-4{fill:#0f6860;}</style>\r\n </defs>\r\n <rect class=\"cls-Area100Stacked-1\" width=\"96\" height=\"95.7\"/>\r\n <polygon class=\"cls-Area100Stacked-2\" points=\"0 11.1 3.78 11.99 11.33 25.27 20.15 13.04 30.53 15.31 43.12 26.54 50.13 28.07 65.78 24.5 72.08 16.84 82.15 17.61 88.45 11.99 91.91 9.57 96 6.13 96 95.7 0 95.7 0 11.1\"/>\r\n <path class=\"cls-Area100Stacked-3\" d=\"M0,54V95.7H96V18.37l-3.79,6.51-3.79,18-3.16,6.51-5.68,3.06-2.84,3.45s-3.42,6-3.48,6.12-7.58,4.6-7.58,4.6L60,67l-2.21.77-7.9-4.6-3.78,1.15-7.58-3.44L34.42,62.4l-3.79-1.15-4.1,3.44-3.48-.76L15.16,53.21,7.26,54,3.47,49Z\"/>\r\n <polygon class=\"cls-Area100Stacked-4\" points=\"0 78.75 4.72 77.11 7.87 78.2 15.42 76.56 19.52 80.39 26.44 83.67 36.2 83.67 45.33 85.31 50.05 78.75 58.23 84.22 68.3 85.86 87.82 90.23 96 83.12 96 95.7 0 95.7 0 78.75\"/>\r\n</svg>\r\n`;\r\nexport const AreaGrouped = `\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 96 96\">\r\n <defs>\r\n <style>.cls-AreaGrouped-1{fill:#ab4191;}.cls-AreaGrouped-1,.cls-AreaGrouped-2,.cls-AreaGrouped-3,.cls-AreaGrouped-4{fill-rule:evenodd;}.cls-AreaGrouped-2{fill:#f05951;}.cls-AreaGrouped-3{fill:#fa8d3d;}.cls-AreaGrouped-4{fill:#0f6860;}</style>\r\n </defs>\r\n <g id=\"ChartNames\">\r\n <polygon class=\"cls-AreaGrouped-1\" points=\"96 69.18 96 13.76 80.22 37.03 64.11 42.35 48.34 63.44 32.56 72.38 16.45 70.78 0 86.13 0 96 96 96 96 69.18\"/>\r\n <polygon class=\"cls-AreaGrouped-2\" points=\"96 84.43 96 38.72 80.22 48.72 64.11 72.86 48.34 72.62 32.56 81.54 16.78 79.11 0 90.25 0 96 96 96 96 84.43\"/>\r\n <path class=\"cls-AreaGrouped-3\" d=\"M96,91V62.08L80.22,66.71l-16.11,15-15.77.9L32.56,88s-16.12-.84-16.11-.76S0,92.65,0,92.65V96H96Z\"/>\r\n <polygon class=\"cls-AreaGrouped-4\" points=\"96 93.77 96 77.49 80.22 81.31 64.11 91.54 48.34 93.13 32.56 94.09 0 95.37 0 96 96 96 96 93.77\"/>\r\n </g>\r\n</svg>\r\n`;\r\nexport const AreaStacked = `\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 96 96\">\r\n <defs>\r\n <style>.cls-AreaStacked-1{fill:#ab4191;}.cls-AreaStacked-1,.cls-AreaStacked-2,.cls-AreaStacked-3,.cls-AreaStacked-4{fill-rule:evenodd;}.cls-AreaStacked-2{fill:#f05951;}.cls-AreaStacked-3{fill:#fa8d3d;}.cls-AreaStacked-4{fill:#0f6860;}</style>\r\n </defs>\r\n <g id=\"ChartNames\">\r\n <path class=\"cls-AreaStacked-1\" d=\"M0,17.24,3.73,4.7l7.56,19.2,4.09-.78,7.87,11.75,3.46,1.57,3.78-3.13,4.41,2,3.46-2.75,4.72,2.35L45.91,38s4-.26,4.09-.39,7.45,4.57,7.56,4.7a35.11,35.11,0,0,0,3.77-1.57h4.41L72,43.49,82.11,28.21,88.4,10.32,91.86,0,96,12.15V96H0Z\"/>\r\n <path class=\"cls-AreaStacked-2\" d=\"M0,53.29V96H96V16.85l-3.79,6.66L88.38,41.93l-3.16,6.66-5.68,3.13-2.85,3.53s-3.42,6.14-3.47,6.27-7.58,4.7-7.58,4.7L60,66.61l-2.21.79-7.9-4.71-3.79,1.18-7.58-3.53-4.1,1.57-3.79-1.18-4.11,3.53L23,63.48l-7.89-11-7.9.78L3.43,48.2Z\"/>\r\n <polygon class=\"cls-AreaStacked-3\" points=\"0.14 78.65 4.85 76.97 7.99 78.09 15.54 76.41 19.62 80.33 26.53 83.69 36.27 83.69 45.38 85.37 50.09 78.65 58.26 84.25 68.31 85.93 87.79 90.4 95.96 83.12 95.96 96 0.14 96 0.14 78.65\"/>\r\n <polygon class=\"cls-AreaStacked-4\" points=\"0.14 96 95.96 96 95.96 74.45 92.19 79.15 80.56 83.07 69.25 91.3 58.57 91.69 54.17 92.08 49.78 90.12 45.38 91.3 38.47 91.3 28.73 91.69 23.7 91.3 18.99 92.86 13.96 92.08 0.14 93.65 0.14 96\"/>\r\n </g>\r\n</svg>\r\n`;\r\nexport const Bar100Stacked = `\r\n <svg id=\"Layer_1\" data-name=\"Layer 1\"\r\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 96 96\">\r\n <defs>\r\n <style>.cls-Bar100Stacked-1{fill:#ab4191;}.cls-Bar100Stacked-1,.cls-Bar100Stacked-2,.cls-Bar100Stacked-3,.cls-Bar100Stacked-4{fill-rule:evenodd;}.cls-Bar100Stacked-2{fill:#f05951;}.cls-Bar100Stacked-3{fill:#fa8d3d;}.cls-Bar100Stacked-4,.cls-Bar100Stacked-5{fill:#0f6860;}</style>\r\n </defs>\r\n <path class=\"cls-Bar100Stacked-1\" d=\"M96,7.84H45.71v11.1H96Zm0,13.38H47.67V32.33H96Zm0,13.39H42.45V46H96Zm0,13.72H48.33v11.1H96Zm0,13.38H43.43V72.82H96ZM96,75.1H42.12V86.2H96Z\"/>\r\n <path class=\"cls-Bar100Stacked-2\" d=\"M75.76,21.22H29.71V32.33H75.76ZM66,61.71H27.1V72.82H66Zm4.24-27.1h-48V46h48ZM56.82,48.33H30v11.1H56.82ZM73.47,75.1H25.8V86.2H73.47ZM60.73,7.84h-33v11.1h33Z\"/>\r\n <path class=\"cls-Bar100Stacked-3\" d=\"M47.67,21.22H8.16V32.33H47.67ZM39.51,61.71H5.88V72.82H39.51Zm3.59-27.1H1.63V46H43.1ZM31.35,48.33H8.16v11.1H31.35ZM45.71,75.1H4.57V86.2H45.71ZM34.61,7.84H6.2v11.1H34.61Z\"/>\r\n <path class=\"cls-Bar100Stacked-4\" d=\"M14,34.61H0V46H14Zm4.25,13.72H0v11.1H18.29ZM15,75.1H0V86.2H15ZM22.2,21.22H0V32.33H22.2ZM11.43,61.71H0V72.82H11.43Z\"/>\r\n <rect class=\"cls-Bar100Stacked-5\" y=\"7.84\" width=\"10.78\" height=\"11.1\"/>\r\n</svg>\r\n`;\r\nexport const BarGrouped = `\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 96 96\">\r\n <defs>\r\n <style>.cls-BarGrouped-1{fill:#f05951;}.cls-BarGrouped-2{fill:#ab4191;}.cls-BarGrouped-3{fill:#0f6860;}.cls-BarGrouped-4{fill:#fa8d3d;}</style>\r\n </defs>\r\n <g id=\"ChartNames\">\r\n <rect class=\"cls-BarGrouped-1\" y=\"77.13\" width=\"21.19\" height=\"6.29\"/>\r\n <rect class=\"cls-BarGrouped-1\" y=\"49.66\" width=\"48.99\" height=\"6.29\"/>\r\n <rect class=\"cls-BarGrouped-1\" y=\"22.18\" width=\"72.5\" height=\"6.29\"/>\r\n <rect class=\"cls-BarGrouped-2\" y=\"70.84\" width=\"81.43\" height=\"6.29\"/>\r\n <rect class=\"cls-BarGrouped-3\" y=\"89.71\" width=\"60.25\" height=\"6.29\"/>\r\n <rect class=\"cls-BarGrouped-2\" y=\"43.37\" width=\"96\" height=\"6.29\"/>\r\n <rect class=\"cls-BarGrouped-3\" y=\"62.23\" width=\"33.43\" height=\"6.29\"/>\r\n <rect class=\"cls-BarGrouped-2\" y=\"15.89\" width=\"55.61\" height=\"6.29\"/>\r\n <rect class=\"cls-BarGrouped-3\" y=\"34.76\" width=\"45.35\" height=\"6.29\"/>\r\n <rect class=\"cls-BarGrouped-4\" y=\"83.42\" width=\"89.38\" height=\"6.29\"/>\r\n <rect class=\"cls-BarGrouped-4\" y=\"55.94\" width=\"70.84\" height=\"6.29\"/>\r\n <rect class=\"cls-BarGrouped-4\" y=\"28.47\" width=\"33.43\" height=\"6.29\"/>\r\n </g>\r\n</svg>\r\n`;\r\nexport const BarStacked = `\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 96 96\">\r\n <defs>\r\n <style>.cls-BarStacked-1{fill:#ab4191;}.cls-BarStacked-1,.cls-BarStacked-2,.cls-BarStacked-3,.cls-BarStacked-4{fill-rule:evenodd;}.cls-BarStacked-2{fill:#f05951;}.cls-BarStacked-3{fill:#fa8d3d;}.cls-BarStacked-4{fill:#0f6860;}</style>\r\n </defs>\r\n <g id=\"ChartNames\">\r\n <path class=\"cls-BarStacked-1\" d=\"M53.9,8.85H14.58V19.66H53.9ZM86.33,22.28H21.46V33.09H86.33ZM71.26,35.71H14.91V46.85H71.26ZM53.57,49.47H11.63V60.29H53.57ZM95.84,62.91H21.46V73.72H95.84Zm-36,13.43H14.91V87.15H59.8Z\"/>\r\n <path class=\"cls-BarStacked-2\" d=\"M41.12,8.85H14.58V19.66H41.12ZM61.76,22.28H21.46V33.09h40.3ZM46.69,35.71H14.91V46.85H46.69ZM41.77,49.47H11.63V60.29H41.77ZM62.09,62.91H21.46V73.72H62.09ZM42.76,76.34H14.91V87.15H42.76Z\"/>\r\n <path class=\"cls-BarStacked-3\" d=\"M31.62,8.85h-17V19.66h17ZM45.38,22.28H21.46V33.09H45.38Zm-9.5,13.43h-21V46.85h21Zm-2.3,13.76H11.63V60.29H33.58Zm8.85,13.44h-21V73.72h21ZM31,76.34h-16V87.15H31Z\"/>\r\n <path class=\"cls-BarStacked-4\" d=\"M14.91,8.85H.16V19.66H14.91ZM27.36,22.28H.16V33.09h27.2ZM19.17,35.71H.16V46.85h19ZM15.56,49.47H.16V60.29h15.4ZM27.69,62.91H.16V73.72H27.69ZM16.22,76.34H.16V87.15H16.22Z\"/>\r\n </g>\r\n</svg>\r\n`;\r\nexport const Column100Stacked = `\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 96 96\">\r\n <defs>\r\n <style>.cls-Column100Stacked-1{fill:#ab4191;}.cls-Column100Stacked-1,.cls-Column100Stacked-2,.cls-Column100Stacked-3,.cls-Column100Stacked-4{fill-rule:evenodd;}.cls-Column100Stacked-2{fill:#f05951;}.cls-Column100Stacked-3{fill:#fa8d3d;}.cls-Column100Stacked-4{fill:#0f6860;}</style>\r\n </defs>\r\n <g id=\"ChartNames\">\r\n <path class=\"cls-Column100Stacked-1\" d=\"M0,0V50.28H13.81V0ZM16.44,0V48.44H30.25V0ZM32.88,0V53.51h13.8V0ZM49.32,0V47.78h13.8V0ZM65.75,0V52.68H79.56V0ZM82.19,0V54H96V0Z\"/>\r\n <path class=\"cls-Column100Stacked-2\" d=\"M16.44,20.35V66.43H30.25V20.35ZM65.75,30V68.74H79.56V30ZM32.88,25.73v48h13.8v-48ZM49.32,39.17V66.05h13.8V39.17ZM82.19,22.66V70.27H96V22.66ZM0,35.33v33H13.81v-33Z\"/>\r\n <path class=\"cls-Column100Stacked-3\" d=\"M16.44,48.38V87.94H30.25V48.38Zm49.31,8.07V90.24H79.56V56.45ZM32.88,53V94.46h13.8V53ZM49.32,64.51V87.94h13.8V64.51ZM82.19,50.3V91.39H96V50.3ZM0,61.44V89.86H13.81V61.44Z\"/>\r\n <path class=\"cls-Column100Stacked-4\" d=\"M32.88,82.11V96h13.8V82.11Zm16.44-4.45V96h13.8V77.66Zm32.87,3.41V96H96V81.07ZM16.44,73.73V96H30.25V73.73ZM65.75,84.47V96H79.56V84.47ZM0,85.08V96H13.81V85.08Z\"/>\r\n </g>\r\n</svg>\r\n`;\r\nexport const ColumnGrouped = `\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 96 96\">\r\n <defs>\r\n <style>.cls-ColumnGrouped-1{fill:#fa8d3d;}.cls-ColumnGrouped-2{fill:#f05951;}.cls-ColumnGrouped-3{fill:#0f6860;}.cls-ColumnGrouped-4{fill:#ab4191;}</style>\r\n </defs>\r\n <g id=\"ChartNames\">\r\n <rect class=\"cls-ColumnGrouped-1\" x=\"14.87\" y=\"30.42\" width=\"7.44\" height=\"65.58\"/>\r\n <rect class=\"cls-ColumnGrouped-1\" x=\"48\" y=\"8.11\" width=\"7.44\" height=\"87.89\"/>\r\n <rect class=\"cls-ColumnGrouped-1\" x=\"81.13\" y=\"38.2\" width=\"7.44\" height=\"57.8\"/>\r\n <rect class=\"cls-ColumnGrouped-2\" x=\"7.44\" y=\"43.61\" width=\"7.44\" height=\"52.39\"/>\r\n <rect class=\"cls-ColumnGrouped-3\" x=\"22.31\" y=\"52.06\" width=\"7.44\" height=\"43.94\"/>\r\n <rect class=\"cls-ColumnGrouped-2\" x=\"40.56\" y=\"34.48\" width=\"7.44\" height=\"61.52\"/>\r\n <rect class=\"cls-ColumnGrouped-3\" x=\"55.44\" y=\"19.27\" width=\"7.44\" height=\"76.73\"/>\r\n <rect class=\"cls-ColumnGrouped-2\" x=\"73.69\" y=\"12.17\" width=\"7.44\" height=\"83.83\"/>\r\n <rect class=\"cls-ColumnGrouped-4\" y=\"20.28\" width=\"7.44\" height=\"75.72\"/>\r\n <rect class=\"cls-ColumnGrouped-4\" x=\"33.13\" y=\"71.32\" width=\"7.44\" height=\"24.68\"/>\r\n <rect class=\"cls-ColumnGrouped-4\" x=\"66.25\" y=\"51.04\" width=\"7.44\" height=\"44.96\"/>\r\n <rect class=\"cls-ColumnGrouped-3\" x=\"88.56\" y=\"63.21\" width=\"7.44\" height=\"32.79\"/>\r\n </g>\r\n</svg>\r\n`;\r\nexport const ColumnStacked = `\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 96 96\">\r\n <defs>\r\n <style>.cls-ColumnStacked-1{fill:#ab4191;}.cls-ColumnStacked-1,.cls-ColumnStacked-2,.cls-ColumnStacked-3,.cls-ColumnStacked-4{fill-rule:evenodd;}.cls-ColumnStacked-2{fill:#f05951;}.cls-ColumnStacked-3{fill:#fa8d3d;}.cls-ColumnStacked-4{fill:#0f6860;}</style>\r\n </defs>\r\n <g id=\"ChartNames\">\r\n <path class=\"cls-ColumnStacked-1\" d=\"M0,44.4V78.55H13.81V44.4ZM16.44,9.87V78.55H30.25V9.87ZM32.88,25.8V78.55h13.8V25.8Zm16.44,19V82.34h13.8V44.77ZM65.75,0V78.55H79.56V0ZM82.19,37.94V86.13H96V37.94Z\"/>\r\n <path class=\"cls-ColumnStacked-2\" d=\"M16.44,36.05v42.5H30.25V36.05Zm49.31-.38V78.55H79.56V35.67ZM32.88,52V78.55h13.8V52ZM49.32,57.3v25h13.8v-25Zm32.87-1.14v30H96v-30ZM0,57.68V78.55H13.81V57.68Z\"/>\r\n <path class=\"cls-ColumnStacked-3\" d=\"M32.88,63.37V78.55h13.8V63.37Zm16.44,2.27v16.7h13.8V65.64Zm32.87,3V86.13H96V68.68ZM16.44,53.5v25H30.25v-25Zm49.31,3v22H79.56v-22ZM0,67.54v14H13.81v-14Z\"/>\r\n <path class=\"cls-ColumnStacked-4\" d=\"M16.44,71.72V96H30.25V71.72Zm49.31,1.51V96H79.56V73.23ZM32.88,77V96h13.8V77Zm16.44,3.79V96h13.8V80.82Zm32.87,3V96H96V83.86ZM0,81.2V96H13.81V81.2Z\"/>\r\n </g>\r\n</svg>\r\n`;\r\nexport const Line100Stacked = `\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 96 96\">\r\n <defs>\r\n <style>.cls-Line100Stacked-1,.cls-Line100Stacked-2,.cls-Line100Stacked-3,.cls-Line100Stacked-4{fill:none;stroke-miterlimit:10;stroke-width:2px;fill-rule:evenodd;}.cls-Line100Stacked-1{stroke:#ab4191;}.cls-Line100Stacked-2{stroke:#f05951;}.cls-Line100Stacked-3{stroke:#fa8d3d;}.cls-Line100Stacked-4{stroke:#0f6860;}</style>\r\n </defs>\r\n <g id=\"ChartNames\">\r\n <polyline class=\"cls-Line100Stacked-1\" points=\"0 29.37 17.34 19.88 38.74 29.52 58.65 32.18 80.42 28.87 96 24.56\"/>\r\n <polyline class=\"cls-Line100Stacked-2\" points=\"0 42.5 17.34 37.81 38.37 41.12 59.02 42.11 80.42 37.81 96 41.85\"/>\r\n <polyline class=\"cls-Line100Stacked-3\" points=\"0 66.68 17.34 59.32 38.37 72.9 59.76 55.35 96 65.16\"/>\r\n <polyline class=\"cls-Line100Stacked-4\" points=\"0 85.81 17.34 78.52 59.39 88.12 80.78 76.87 96 82.48\"/>\r\n </g>\r\n</svg>\r\n`;\r\nexport const LineGrouped = `\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 96 96\">\r\n <defs>\r\n <style>.cls-LineGrouped-1,.cls-LineGrouped-2,.cls-LineGrouped-3,.cls-LineGrouped-4{fill:none;stroke-miterlimit:10;stroke-width:2px;}.cls-LineGrouped-1{stroke:#ab4191;}.cls-LineGrouped-2{stroke:#f05951;}.cls-LineGrouped-3{stroke:#fa8d3d;}.cls-LineGrouped-4{stroke:#0f6860;}</style>\r\n </defs>\r\n <g id=\"ChartNames\">\r\n <polyline class=\"cls-LineGrouped-1\" points=\"0 31.14 4.12 20.49 11.66 36.91 16.09 36.66 24.41 46.48 27.96 47.14 32.04 44.59 36.46 46.81 40.19 44.59 45.04 45.82 47.99 49.2 51.98 48.87 59.96 52.84 63.95 51.52 68.28 51.52 74.78 53.74 85.36 41.04 96 17.86 96 18.27\"/>\r\n <polyline class=\"cls-LineGrouped-2\" points=\"0 61.42 3.9 56.96 7.98 61.25 15.61 60.59 24.28 69.75 27.57 71.15 31.99 67.52 35.81 69.17 40.06 67.19 48.04 70.08 51.76 69.17 59.07 73.36 68.06 72.06 75.87 68.01 79.25 63.06 82.37 59.93 88.01 57.37 91.99 52.01 96 36.5 96 35.45\"/>\r\n <polyline class=\"cls-LineGrouped-3\" points=\"0 79.47 5.11 77.91 8.5 78.81 16.13 77.41 20.72 80.71 27.4 84.17 37.8 83.52 46.91 85.58 52.02 79.31 60.35 84.59 90.95 89.87 96 85.5\"/>\r\n <polyline class=\"cls-LineGrouped-4\" points=\"0 92.26 14.7 90.69 19.9 92.1 24.93 90.03 30.13 91.1 47.13 90.78 51.72 89.12 56.75 90.69 71.06 90.11 83.63 83.1 96 79.33\"/>\r\n </g>\r\n</svg>\r\n`;\r\nexport const LineStacked = `\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 96 96\">\r\n <defs>\r\n <style>.cls-LineStacked-1,.cls-LineStacked-2,.cls-LineStacked-3,.cls-LineStacked-4{fill:none;stroke-miterlimit:10;stroke-width:2px;fill-rule:evenodd;}.cls-LineStacked-1{stroke:#ab4191;}.cls-LineStacked-2{stroke:#f05951;}.cls-LineStacked-3{stroke:#fa8d3d;}.cls-LineStacked-4{stroke:#0f6860;}</style>\r\n </defs>\r\n <g id=\"ChartNames\">\r\n <polyline class=\"cls-LineStacked-1\" points=\"0 80.39 14.23 67.93 31.11 68.6 47.9 59.83 65.4 39.39 81.92 33.46 96 14.25\"/>\r\n <polyline class=\"cls-LineStacked-2\" points=\"0 85.07 14.32 75.65 31.47 78.74 48.25 68.72 64.86 68.97 82.1 43.77 96 36.04\"/>\r\n <polyline class=\"cls-LineStacked-3\" points=\"0 90.45 14.14 83.91 30.93 84.66 48.17 79.07 64.86 78.07 82.28 62.38 96 59.21\"/>\r\n <polyline class=\"cls-LineStacked-4\" points=\"0 96 31.16 90.78 64.95 88.38 82.19 77.78 96 74.53\"/>\r\n </g>\r\n</svg>\r\n`;\r\nexport const Pie = `\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 96 96\">\r\n <defs>\r\n <style>.cls-Pie-1{fill:#f05951;}.cls-Pie-1,.cls-Pie-2,.cls-Pie-3,.cls-Pie-4{fill-rule:evenodd;}.cls-Pie-2{fill:#fa8d3d;}.cls-Pie-3{fill:#0f6860;}.cls-Pie-4{fill:#ab4191;}</style>\r\n </defs>\r\n <g id=\"ChartNames\">\r\n <path class=\"cls-Pie-1\" d=\"M44.19,48V3.79A43.27,43.27,0,0,0,3,32.3,43.45,43.45,0,0,0,15,81Z\"/>\r\n <path class=\"cls-Pie-2\" d=\"M44.19,48,15,81a42.63,42.63,0,0,0,37.7,10.28,42.72,42.72,0,0,0,31-23.78Z\"/>\r\n <path class=\"cls-Pie-3\" d=\"M51.77,48,91.29,67.53a42.87,42.87,0,0,0,.53-38Z\"/>\r\n <path class=\"cls-Pie-4\" d=\"M44.19,48,84.24,29.52a43.13,43.13,0,0,0-40-25.73Z\"/>\r\n </g>\r\n</svg>\r\n`;\r\nexport const ScatterBubble = `\r\n <svg id=\"Layer_1\" data-name=\"Layer 1\"\r\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 96 96\">\r\n <defs>\r\n <style>.cls-ScatterBubble-1{fill:#f05951;}.cls-ScatterBubble-1,.cls-ScatterBubble-2{stroke:#fff;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.5px;}.cls-ScatterBubble-2{fill:#ab4191;}</style>\r\n </defs>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"6.06\" cy=\"85.05\" r=\"2.33\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"16.57\" cy=\"83.89\" r=\"2.33\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"13.07\" cy=\"78.83\" r=\"2.33\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"39.52\" cy=\"59.38\" r=\"2.33\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"35.63\" cy=\"53.94\" r=\"2.33\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"7.62\" cy=\"70.27\" r=\"2.33\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"20.85\" cy=\"71.44\" r=\"2.33\"/>\r\n <circle class=\"cls-ScatterBubble-2\" cx=\"8.79\" cy=\"84.28\" r=\"3.11\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"18.9\" cy=\"67.16\" r=\"3.11\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"36.4\" cy=\"59.77\" r=\"3.11\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"63.24\" cy=\"21.26\" r=\"3.11\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"25.12\" cy=\"70.27\" r=\"3.11\"/>\r\n <circle class=\"cls-ScatterBubble-2\" cx=\"9.18\" cy=\"71.83\" r=\"3.11\"/>\r\n <circle class=\"cls-ScatterBubble-2\" cx=\"13.07\" cy=\"47.32\" r=\"3.11\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"8.01\" cy=\"60.94\" r=\"4.28\"/>\r\n <circle class=\"cls-ScatterBubble-2\" cx=\"22.4\" cy=\"74.94\" r=\"4.28\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"29.79\" cy=\"54.33\" r=\"4.28\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"73.75\" cy=\"30.99\" r=\"4.28\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"62.47\" cy=\"34.88\" r=\"4.28\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"16.57\" cy=\"48.88\" r=\"4.28\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"44.18\" cy=\"28.26\" r=\"4.28\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"16.57\" cy=\"61.33\" r=\"4.28\"/>\r\n <circle class=\"cls-ScatterBubble-2\" cx=\"29.79\" cy=\"49.66\" r=\"5.06\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"47.68\" cy=\"53.94\" r=\"5.83\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"62.08\" cy=\"26.32\" r=\"5.06\"/>\r\n <circle class=\"cls-ScatterBubble-2\" cx=\"86.58\" cy=\"39.93\" r=\"5.06\"/>\r\n <circle class=\"cls-ScatterBubble-2\" cx=\"70.63\" cy=\"33.32\" r=\"5.06\"/>\r\n <circle class=\"cls-ScatterBubble-2\" cx=\"64.8\" cy=\"33.32\" r=\"6.22\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"25.9\" cy=\"32.15\" r=\"6.22\"/>\r\n <circle class=\"cls-ScatterBubble-2\" cx=\"39.52\" cy=\"74.16\" r=\"6.61\"/>\r\n <circle class=\"cls-ScatterBubble-2\" cx=\"56.23\" cy=\"81.54\" r=\"6.22\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"51.19\" cy=\"74.16\" r=\"8.17\"/>\r\n <circle class=\"cls-ScatterBubble-2\" cx=\"42.24\" cy=\"38.77\" r=\"8.17\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"50.8\" cy=\"60.94\" r=\"8.17\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"41.85\" cy=\"34.88\" r=\"9.34\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"52.35\" cy=\"31.76\" r=\"11.28\"/>\r\n <circle class=\"cls-ScatterBubble-2\" cx=\"58.97\" cy=\"53.55\" r=\"12.84\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"37.57\" cy=\"81.55\" r=\"9.72\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"58.58\" cy=\"50.44\" r=\"6.22\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"51.57\" cy=\"53.55\" r=\"7\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"53.52\" cy=\"34.49\" r=\"7\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"57.41\" cy=\"11.93\" r=\"7\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"86.19\" cy=\"57.83\" r=\"5.45\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"20.85\" cy=\"66.38\" r=\"5.45\"/>\r\n <circle class=\"cls-ScatterBubble-2\" cx=\"38.35\" cy=\"58.6\" r=\"5.06\"/>\r\n <circle class=\"cls-ScatterBubble-2\" cx=\"15.79\" cy=\"64.05\" r=\"5.06\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"28.24\" cy=\"74.55\" r=\"5.06\"/>\r\n <circle class=\"cls-ScatterBubble-2\" cx=\"57.02\" cy=\"22.04\" r=\"4.28\"/>\r\n</svg>\r\n`;\r\nexport const ScatterLine = `\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 96 96\">\r\n <defs>\r\n <style>.cls-ScatterLine-1,.cls-ScatterLine-2,.cls-ScatterLine-3,.cls-ScatterLine-4{fill:none;stroke-miterlimit:10;stroke-width:2px;}.cls-ScatterLine-1{stroke:#0f6860;}.cls-ScatterLine-1,.cls-ScatterLine-2,.cls-ScatterLine-3,.cls-ScatterLine-4,.cls-ScatterLine-5,.cls-ScatterLine-7,.cls-ScatterLine-8,.cls-ScatterLine-9{fill-rule:evenodd;}.cls-ScatterLine-2{stroke:#fa8d3d;}.cls-ScatterLine-3{stroke:#f05951;}.cls-ScatterLine-4{stroke:#ab4191;}.cls-ScatterLine-5{fill:#ab4191;}.cls-ScatterLine-6{fill:#fff;}.cls-ScatterLine-7{fill:#f05951;}.cls-ScatterLine-8{fill:#0f6860;}.cls-ScatterLine-9{fill:#fa8d3d;}</style>\r\n </defs>\r\n <g id=\"ChartNames\">\r\n <polyline class=\"cls-ScatterLine-1\" points=\"26.86 87.32 37.71 81.09 60.66 85.34 75.57 71.13 82.69 60.02 88.09 48.86\"/>\r\n <polyline class=\"cls-ScatterLine-2\" points=\"10.6 85.36 16.86 76.38 32.22 58.89 55.26 41.45 60.02 31.09 69.79 23.41 88.32 6.3\"/>\r\n <polyline class=\"cls-ScatterLine-3\" points=\"60.19 7.22 47.42 10.06 35.31 14.73 18.95 32.1 17.53 50.04 10.44 58.56\"/>\r\n <polyline class=\"cls-ScatterLine-4\" points=\"23.58 4.76 10.97 12.44 8.47 29.72\"/>\r\n <path class=\"cls-ScatterLine-5\" d=\"M8.69,12.61a2.51,2.51,0,1,0,2.5-2.51A2.5,2.5,0,0,0,8.69,12.61Zm1,0a1.5,1.5,0,1,1,1.5,1.5A1.5,1.5,0,0,1,9.69,12.61Z\"/>\r\n <circle class=\"cls-ScatterLine-6\" cx=\"11.19\" cy=\"12.61\" r=\"1.5\"/>\r\n <path class=\"cls-ScatterLine-5\" d=\"M21,4.59a2.51,2.51,0,1,0,2.51-2.5A2.51,2.51,0,0,0,21,4.59Zm1,0A1.51,1.51,0,1,1,23.55,6.1,1.5,1.5,0,0,1,22,4.59Z\"/>\r\n <circle class=\"cls-ScatterLine-6\" cx=\"23.55\" cy=\"4.59\" r=\"1.5\"/>\r\n <path class=\"cls-ScatterLine-5\" d=\"M6,29.64a2.5,2.5,0,1,0,2.5-2.51A2.5,2.5,0,0,0,6,29.64Zm1,0a1.5,1.5,0,1,1,1.5,1.5A1.5,1.5,0,0,1,7,29.64Z\"/>\r\n <circle class=\"cls-ScatterLine-6\" cx=\"8.52\" cy=\"29.64\" r=\"1.5\"/>\r\n <path class=\"cls-ScatterLine-7\" d=\"M57.43,7.26a2.51,2.51,0,1,0,2.51-2.5A2.51,2.51,0,0,0,57.43,7.26Zm1,0a1.51,1.51,0,1,1,1.51,1.51A1.51,1.51,0,0,1,58.43,7.26Z\"/>\r\n <circle class=\"cls-ScatterLine-6\" cx=\"59.94\" cy=\"7.26\" r=\"1.5\"/>\r\n <path class=\"cls-ScatterLine-7\" d=\"M44.74,10.24a2.51,2.51,0,1,0,2.51-2.51A2.51,2.51,0,0,0,44.74,10.24Zm1,0a1.5,1.5,0,1,1,1.5,1.5A1.5,1.5,0,0,1,45.75,10.24Z\"/>\r\n <circle class=\"cls-ScatterLine-6\" cx=\"47.25\" cy=\"10.24\" r=\"1.5\"/>\r\n <path class=\"cls-ScatterLine-7\" d=\"M33.06,14.94a2.51,2.51,0,1,0,2.5-2.5A2.5,2.5,0,0,0,33.06,14.94Zm1,0a1.5,1.5,0,1,1,1.5,1.51A1.5,1.5,0,0,1,34.06,14.94Z\"/>\r\n <circle class=\"cls-ScatterLine-6\" cx=\"35.56\" cy=\"14.94\" r=\"1.5\"/>\r\n <path class=\"cls-ScatterLine-7\" d=\"M16.36,32.08a2.51,2.51,0,1,0,2.51-2.5A2.51,2.51,0,0,0,16.36,32.08Zm1,0a1.51,1.51,0,1,1,1.51,1.5A1.5,1.5,0,0,1,17.36,32.08Z\"/>\r\n <circle class=\"cls-ScatterLine-6\" cx=\"18.87\" cy=\"32.08\" r=\"1.5\"/>\r\n <path class=\"cls-ScatterLine-7\" d=\"M14.69,50.34a2.51,2.51,0,1,0,2.51-2.51A2.5,2.5,0,0,0,14.69,50.34Zm1,0a1.51,1.51,0,1,1,3,0,1.51,1.51,0,0,1-3,0Z\"/>\r\n <circle class=\"cls-ScatterLine-6\" cx=\"17.2\" cy=\"50.34\" r=\"1.5\"/>\r\n <path class=\"cls-ScatterLine-7\" d=\"M8,58.24a2.51,2.51,0,1,0,2.5-2.51A2.5,2.5,0,0,0,8,58.24Zm1,0a1.5,1.5,0,1,1,1.5,1.5A1.5,1.5,0,0,1,9,58.24Z\"/>\r\n <circle class=\"cls-ScatterLine-6\" cx=\"10.48\" cy=\"58.24\" r=\"1.5\"/>\r\n <path class=\"cls-ScatterLine-8\" d=\"M80.54,60a2.5,2.5,0,1,0,2.5-2.5A2.51,2.51,0,0,0,80.54,60Zm1,0a1.5,1.5,0,1,1,1.5,1.5A1.5,1.5,0,0,1,81.54,60Z\"/>\r\n <circle class=\"cls-ScatterLine-6\" cx=\"83.04\" cy=\"60.02\" r=\"1.5\"/>\r\n <path class=\"cls-ScatterLine-8\" d=\"M85.58,49a2.51,2.51,0,1,0,2.51-2.5A2.51,2.51,0,0,0,85.58,49Zm1,0a1.51,1.51,0,1,1,1.51,1.5A1.51,1.51,0,0,1,86.58,49Z\"/>\r\n <circle class=\"cls-ScatterLine-6\" cx=\"88.09\" cy=\"49\" r=\"1.5\"/>\r\n <path class=\"cls-ScatterLine-8\" d=\"M73.27,71.18a2.51,2.51,0,1,0,2.5-2.5A2.51,2.51,0,0,0,73.27,71.18Zm1,0a1.5,1.5,0,1,1,1.5,1.51A1.5,1.5,0,0,1,74.27,71.18Z\"/>\r\n <circle class=\"cls-ScatterLine-6\" cx=\"75.77\" cy=\"71.18\" r=\"1.5\"/>\r\n <path class=\"cls-ScatterLine-8\" d=\"M58.16,85.65a2.5,2.5,0,1,0,2.5-2.51A2.5,2.5,0,0,0,58.16,85.65Zm1,0a1.5,1.5,0,1,1,1.5,1.5A1.51,1.51,0,0,1,59.16,85.65Z\"/>\r\n <circle class=\"cls-ScatterLine-6\" cx=\"60.66\" cy=\"85.65\" r=\"1.5\"/>\r\n <path class=\"cls-ScatterLine-8\" d=\"M35.2,81.53A2.51,2.51,0,1,0,37.71,79,2.52,2.52,0,0,0,35.2,81.53Zm1,0A1.51,1.51,0,1,1,37.71,83,1.51,1.51,0,0,1,36.2,81.53Z\"/>\r\n <circle class=\"cls-ScatterLine-6\" cx=\"37.71\" cy=\"81.53\" r=\"1.5\"/>\r\n <path class=\"cls-ScatterLine-8\" d=\"M24.35,87.32a2.51,2.51,0,1,0,2.51-2.51A2.5,2.5,0,0,0,24.35,87.32Zm1,0a1.51,1.51,0,1,1,1.51,1.5A1.51,1.51,0,0,1,25.35,87.32Z\"/>\r\n <circle class=\"cls-ScatterLine-6\" cx=\"26.86\" cy=\"87.32\" r=\"1.5\"/>\r\n <path class=\"cls-ScatterLine-9\" d=\"M8,85.73a2.51,2.51,0,1,0,2.51-2.5A2.52,2.52,0,0,0,8,85.73Zm1,0a1.5,1.5,0,1,1,1.5,1.5A1.5,1.5,0,0,1,9,85.73Z\"/>\r\n <circle class=\"cls-ScatterLine-6\" cx=\"10.48\" cy=\"85.73\" r=\"1.5\"/>\r\n <path class=\"cls-ScatterLine-9\" d=\"M13.36,77.38a2.51,2.51,0,1,0,2.5-2.5A2.5,2.5,0,0,0,13.36,77.38Zm1,0a1.51,1.51,0,1,1,1.5,1.51A1.5,1.5,0,0,1,14.36,77.38Z\"/>\r\n <circle class=\"cls-ScatterLine-6\" cx=\"15.86\" cy=\"77.38\" r=\"1.5\"/>\r\n <path class=\"cls-ScatterLine-9\" d=\"M19,70.71a2.51,2.51,0,1,0,2.51-2.51A2.5,2.5,0,0,0,19,70.71Zm1,0a1.51,1.51,0,1,1,1.51,1.5A1.51,1.51,0,0,1,20,70.71Z\"/>\r\n <circle class=\"cls-ScatterLine-6\" cx=\"21.54\" cy=\"70.71\" r=\"1.5\"/>\r\n <path class=\"cls-ScatterLine-9\" d=\"M29.44,58.91a2.51,2.51,0,1,0,2.5-2.51A2.5,2.5,0,0,0,29.44,58.91Zm1,0a1.5,1.5,0,1,1,1.5,1.5A1.51,1.51,0,0,1,30.44,58.91Z\"/>\r\n <circle class=\"cls-ScatterLine-6\" cx=\"31.94\" cy=\"58.91\" r=\"1.5\"/>\r\n <path class=\"cls-ScatterLine-9\" d=\"M41.41,49.67a2.5,2.5,0,1,0,2.5-2.5A2.5,2.5,0,0,0,41.41,49.67Zm1,0a1.5,1.5,0,1,1,1.5,1.5A1.5,1.5,0,0,1,42.41,49.67Z\"/>\r\n <circle class=\"cls-ScatterLine-6\" cx=\"43.91\" cy=\"49.67\" r=\"1.5\"/>\r\n <path class=\"cls-ScatterLine-9\" d=\"M52.76,41.66a2.51,2.51,0,1,0,2.5-2.51A2.5,2.5,0,0,0,52.76,41.66Zm1,0a1.51,1.51,0,1,1,1.5,1.5A1.5,1.5,0,0,1,53.76,41.66Z\"/>\r\n <circle class=\"cls-ScatterLine-6\" cx=\"55.26\" cy=\"41.66\" r=\"1.5\"/>\r\n <path class=\"cls-ScatterLine-9\" d=\"M57.77,31.3a2.51,2.51,0,1,0,2.5-2.5A2.5,2.5,0,0,0,57.77,31.3Zm1,0a1.5,1.5,0,1,1,1.5,1.51A1.5,1.5,0,0,1,58.77,31.3Z\"/>\r\n <circle class=\"cls-ScatterLine-6\" cx=\"60.27\" cy=\"31.3\" r=\"1.5\"/>\r\n <path class=\"cls-ScatterLine-9\" d=\"M67.45,23.62a2.51,2.51,0,1,0,2.5-2.5A2.5,2.5,0,0,0,67.45,23.62Zm1,0A1.51,1.51,0,1,1,70,25.13,1.5,1.5,0,0,1,68.45,23.62Z\"/>\r\n <circle class=\"cls-ScatterLine-6\" cx=\"69.95\" cy=\"23.62\" r=\"1.5\"/>\r\n <path class=\"cls-ScatterLine-9\" d=\"M85.82,6.59a2.5,2.5,0,1,0,2.5-2.5A2.5,2.5,0,0,0,85.82,6.59Zm1,0a1.5,1.5,0,1,1,1.5,1.51A1.5,1.5,0,0,1,86.82,6.59Z\"/>\r\n <circle class=\"cls-ScatterLine-6\" cx=\"88.32\" cy=\"6.59\" r=\"1.5\"/>\r\n </g>\r\n</svg>\r\n`;\r\nexport const ScatterPoint = `\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 96 96\">\r\n <defs>\r\n <style>.cls-ScatterPoint-1{fill:#ab4191;}.cls-ScatterPoint-1,.cls-ScatterPoint-3,.cls-ScatterPoint-4{fill-rule:evenodd;}.cls-ScatterPoint-2{fill:#fff;}.cls-ScatterPoint-3{fill:#f05951;}.cls-ScatterPoint-4{fill:#fa8d3d;}</style>\r\n </defs>\r\n <g id=\"ChartNames\">\r\n <path class=\"cls-ScatterPoint-1\" d=\"M6.42,7.64A2.37,2.37,0,1,0,8.79,5.28,2.37,2.37,0,0,0,6.42,7.64Zm1,0A1.42,1.42,0,1,1,8.79,9.06,1.41,1.41,0,0,1,7.37,7.64Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"8.79\" cy=\"7.64\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-1\" d=\"M12.09,10a2.37,2.37,0,1,0,2.37-2.37A2.37,2.37,0,0,0,12.09,10ZM13,10a1.42,1.42,0,1,1,1.42,1.41A1.41,1.41,0,0,1,13,10Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"14.46\" cy=\"10.01\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-1\" d=\"M22,8.59a2.37,2.37,0,1,0,2.37-2.36A2.37,2.37,0,0,0,22,8.59Zm.95,0A1.42,1.42,0,1,1,24.38,10,1.41,1.41,0,0,1,23,8.59Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"24.38\" cy=\"8.59\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-1\" d=\"M14.46,14.73a2.36,2.36,0,1,0,2.36-2.36A2.36,2.36,0,0,0,14.46,14.73Zm.94,0a1.42,1.42,0,1,1,1.42,1.42A1.42,1.42,0,0,1,15.4,14.73Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"16.82\" cy=\"14.73\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-1\" d=\"M11.62,31.27A2.37,2.37,0,1,0,14,28.9,2.36,2.36,0,0,0,11.62,31.27Zm1,0A1.42,1.42,0,1,1,14,32.68,1.41,1.41,0,0,1,12.57,31.27Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"13.98\" cy=\"31.27\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-1\" d=\"M3.12,28.9a2.36,2.36,0,1,0,2.36-2.36A2.36,2.36,0,0,0,3.12,28.9Zm.94,0a1.42,1.42,0,1,1,1.42,1.42A1.41,1.41,0,0,1,4.06,28.9Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"5.48\" cy=\"28.9\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-1\" d=\"M2.64,34.57A2.37,2.37,0,1,0,5,32.21,2.37,2.37,0,0,0,2.64,34.57Zm.95,0A1.42,1.42,0,1,1,5,36,1.41,1.41,0,0,1,3.59,34.57Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"5.01\" cy=\"34.57\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-1\" d=\"M.75,37.88a2.37,2.37,0,1,0,2.37-2.36A2.36,2.36,0,0,0,.75,37.88Zm1,0A1.42,1.42,0,1,1,3.12,39.3,1.42,1.42,0,0,1,1.7,37.88Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"3.12\" cy=\"37.88\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-1\" d=\"M1.23,44.5a2.36,2.36,0,1,0,2.36-2.37A2.36,2.36,0,0,0,1.23,44.5Zm.94,0a1.42,1.42,0,1,1,1.42,1.41A1.41,1.41,0,0,1,2.17,44.5Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"3.59\" cy=\"44.5\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-1\" d=\"M2.64,66.23A2.37,2.37,0,1,0,5,63.87,2.37,2.37,0,0,0,2.64,66.23Zm.95,0A1.42,1.42,0,1,1,5,67.65,1.41,1.41,0,0,1,3.59,66.23Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"5.01\" cy=\"66.23\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-1\" d=\"M26.27,75.21a2.36,2.36,0,1,0,2.36-2.37A2.36,2.36,0,0,0,26.27,75.21Zm.94,0a1.42,1.42,0,1,1,1.42,1.41A1.41,1.41,0,0,1,27.21,75.21Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"28.63\" cy=\"75.21\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-1\" d=\"M9.73,52.06a2.37,2.37,0,1,0,2.36-2.37A2.36,2.36,0,0,0,9.73,52.06Zm.95,0a1.42,1.42,0,1,1,1.41,1.41A1.41,1.41,0,0,1,10.68,52.06Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"12.09\" cy=\"52.06\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-1\" d=\"M14.46,48.75a2.36,2.36,0,1,0,2.36-2.36A2.36,2.36,0,0,0,14.46,48.75Zm.94,0a1.42,1.42,0,1,1,1.42,1.42A1.41,1.41,0,0,1,15.4,48.75Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"16.82\" cy=\"48.75\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-1\" d=\"M14.46,41.66a2.36,2.36,0,1,0,2.36-2.36A2.36,2.36,0,0,0,14.46,41.66Zm.94,0a1.42,1.42,0,1,1,1.42,1.42A1.42,1.42,0,0,1,15.4,41.66Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"16.82\" cy=\"41.66\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-1\" d=\"M22.49,44.5a2.36,2.36,0,1,0,2.36-2.37A2.36,2.36,0,0,0,22.49,44.5Zm.94,0a1.42,1.42,0,1,1,1.42,1.41A1.42,1.42,0,0,1,23.43,44.5Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"24.85\" cy=\"44.5\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-1\" d=\"M30.52,44a2.36,2.36,0,1,0,2.36-2.36A2.37,2.37,0,0,0,30.52,44Zm.94,0a1.42,1.42,0,1,1,1.42,1.42A1.42,1.42,0,0,1,31.46,44Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"32.88\" cy=\"44.02\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-3\" d=\"M19.18,87.88a2.36,2.36,0,1,0,2.36-2.36A2.37,2.37,0,0,0,19.18,87.88Zm.94,0a1.42,1.42,0,1,1,1.42,1.42A1.42,1.42,0,0,1,20.12,87.88Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"21.54\" cy=\"87.88\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-3\" d=\"M30.52,67.65a2.36,2.36,0,1,0,2.36-2.37A2.36,2.36,0,0,0,30.52,67.65Zm.94,0a1.42,1.42,0,1,1,1.42,1.41A1.42,1.42,0,0,1,31.46,67.65Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"32.88\" cy=\"67.65\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-3\" d=\"M41.86,51.58a2.36,2.36,0,1,0,2.36-2.36A2.36,2.36,0,0,0,41.86,51.58Zm.94,0A1.42,1.42,0,1,1,44.22,53,1.42,1.42,0,0,1,42.8,51.58Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"44.22\" cy=\"51.58\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-3\" d=\"M41.86,53.94a2.36,2.36,0,1,0,2.36-2.36A2.37,2.37,0,0,0,41.86,53.94Zm.94,0a1.42,1.42,0,1,1,1.42,1.42A1.42,1.42,0,0,1,42.8,53.94Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"44.22\" cy=\"53.94\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-3\" d=\"M41.86,63.39A2.36,2.36,0,1,0,44.22,61,2.37,2.37,0,0,0,41.86,63.39Zm.94,0a1.42,1.42,0,1,1,1.42,1.42A1.42,1.42,0,0,1,42.8,63.39Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"44.22\" cy=\"63.39\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-3\" d=\"M41.86,71.43a2.36,2.36,0,1,0,2.36-2.37A2.36,2.36,0,0,0,41.86,71.43Zm.94,0a1.42,1.42,0,1,1,1.42,1.41A1.42,1.42,0,0,1,42.8,71.43Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"44.22\" cy=\"71.43\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-3\" d=\"M53.2,83.24a2.36,2.36,0,1,0,2.36-2.36A2.36,2.36,0,0,0,53.2,83.24Zm.94,0a1.42,1.42,0,1,1,1.42,1.41A1.42,1.42,0,0,1,54.14,83.24Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"55.56\" cy=\"83.24\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-3\" d=\"M64.06,75.21a2.37,2.37,0,1,0,2.37-2.37A2.37,2.37,0,0,0,64.06,75.21Zm1,0a1.42,1.42,0,1,1,1.42,1.41A1.41,1.41,0,0,1,65,75.21Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"66.43\" cy=\"75.21\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-3\" d=\"M64.06,63.39A2.37,2.37,0,1,0,66.43,61,2.37,2.37,0,0,0,64.06,63.39Zm1,0a1.42,1.42,0,1,1,1.42,1.42A1.41,1.41,0,0,1,65,63.39Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"66.43\" cy=\"63.39\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-3\" d=\"M75.4,71.43a2.37,2.37,0,1,0,2.36-2.37A2.36,2.36,0,0,0,75.4,71.43Zm.95,0a1.42,1.42,0,1,1,1.41,1.41A1.41,1.41,0,0,1,76.35,71.43Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"77.76\" cy=\"71.43\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-3\" d=\"M75.4,55.83a2.37,2.37,0,1,0,2.36-2.36A2.37,2.37,0,0,0,75.4,55.83Zm.95,0a1.42,1.42,0,1,1,1.41,1.42A1.41,1.41,0,0,1,76.35,55.83Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"77.76\" cy=\"55.83\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-3\" d=\"M75.4,24.81a2.37,2.37,0,1,0,2.36-2.36A2.36,2.36,0,0,0,75.4,24.81Zm.95,0a1.42,1.42,0,1,1,1.41,1.42A1.41,1.41,0,0,1,76.35,24.81Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"77.76\" cy=\"24.81\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-3\" d=\"M75.4,22a2.37,2.37,0,1,0,2.36-2.36A2.37,2.37,0,0,0,75.4,22Zm.95,0a1.42,1.42,0,1,1,1.41,1.42A1.41,1.41,0,0,1,76.35,22Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"77.76\" cy=\"21.97\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-3\" d=\"M86.74,84.1a2.37,2.37,0,1,0,2.36-2.36A2.37,2.37,0,0,0,86.74,84.1Zm1,0a1.42,1.42,0,1,1,1.41,1.42A1.41,1.41,0,0,1,87.69,84.1Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"89.1\" cy=\"84.1\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-3\" d=\"M86.74,71a2.37,2.37,0,1,0,2.36-2.36A2.37,2.37,0,0,0,86.74,71Zm1,0a1.42,1.42,0,1,1,1.41,1.42A1.41,1.41,0,0,1,87.69,71Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"89.1\" cy=\"70.95\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-3\" d=\"M41.86,88.36A2.36,2.36,0,1,0,44.22,86,2.36,2.36,0,0,0,41.86,88.36Zm.94,0a1.42,1.42,0,1,1,1.42,1.41A1.42,1.42,0,0,1,42.8,88.36Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"44.22\" cy=\"88.36\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-3\" d=\"M30.52,71.43a2.36,2.36,0,1,0,2.36-2.37A2.36,2.36,0,0,0,30.52,71.43Zm.94,0a1.42,1.42,0,1,1,1.42,1.41A1.42,1.42,0,0,1,31.46,71.43Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"32.88\" cy=\"71.43\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-4\" d=\"M19.65,64.34A2.37,2.37,0,1,0,22,62,2.36,2.36,0,0,0,19.65,64.34Zm1,0A1.42,1.42,0,1,1,22,65.76,1.41,1.41,0,0,1,20.6,64.34Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"22.01\" cy=\"64.34\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-4\" d=\"M30.52,50.64a2.36,2.36,0,1,0,2.36-2.36A2.36,2.36,0,0,0,30.52,50.64Zm.94,0a1.42,1.42,0,1,1,1.42,1.42A1.42,1.42,0,0,1,31.46,50.64Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"32.88\" cy=\"50.64\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-4\" d=\"M30.52,62.92a2.36,2.36,0,1,0,2.36-2.36A2.36,2.36,0,0,0,30.52,62.92Zm.94,0a1.42,1.42,0,1,1,1.42,1.42A1.43,1.43,0,0,1,31.46,62.92Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"32.88\" cy=\"62.92\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-4\" d=\"M30.52,79a2.36,2.36,0,1,0,2.36-2.37A2.36,2.36,0,0,0,30.52,79Zm.94,0a1.42,1.42,0,1,1,1.42,1.41A1.42,1.42,0,0,1,31.46,79Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"32.88\" cy=\"78.99\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-4\" d=\"M41.86,68.12a2.36,2.36,0,1,0,2.36-2.36A2.36,2.36,0,0,0,41.86,68.12Zm.94,0a1.42,1.42,0,1,1,1.42,1.42A1.42,1.42,0,0,1,42.8,68.12Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"44.22\" cy=\"68.12\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-4\" d=\"M53.2,56.78a2.36,2.36,0,1,0,2.36-2.36A2.36,2.36,0,0,0,53.2,56.78Zm.94,0a1.42,1.42,0,1,1,1.42,1.42A1.43,1.43,0,0,1,54.14,56.78Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"55.56\" cy=\"56.78\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-4\" d=\"M53.2,76.15a2.36,2.36,0,1,0,2.36-2.36A2.36,2.36,0,0,0,53.2,76.15Zm.94,0a1.42,1.42,0,1,1,1.42,1.42A1.43,1.43,0,0,1,54.14,76.15Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"55.56\" cy=\"76.15\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-4\" d=\"M41.86,85.52a2.36,2.36,0,1,0,2.36-2.36A2.36,2.36,0,0,0,41.86,85.52Zm.94,0a1.42,1.42,0,1,1,1.42,1.42A1.43,1.43,0,0,1,42.8,85.52Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"44.22\" cy=\"85.52\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-4\" d=\"M64.06,83.24a2.37,2.37,0,1,0,2.37-2.36A2.37,2.37,0,0,0,64.06,83.24Zm1,0a1.42,1.42,0,1,1,1.42,1.41A1.41,1.41,0,0,1,65,83.24Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"66.43\" cy=\"83.24\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-4\" d=\"M75.4,75.68a2.37,2.37,0,1,0,2.36-2.36A2.36,2.36,0,0,0,75.4,75.68Zm.95,0a1.42,1.42,0,1,1,1.41,1.42A1.41,1.41,0,0,1,76.35,75.68Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"77.76\" cy=\"75.68\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-4\" d=\"M77.76,75.21a2.37,2.37,0,1,0,2.37-2.37A2.37,2.37,0,0,0,77.76,75.21Zm.95,0a1.42,1.42,0,1,1,1.42,1.41A1.41,1.41,0,0,1,78.71,75.21Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"80.13\" cy=\"75.21\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-4\" d=\"M86.27,54.89a2.36,2.36,0,1,0,2.36-2.36A2.36,2.36,0,0,0,86.27,54.89Zm.94,0a1.42,1.42,0,1,1,1.42,1.42A1.43,1.43,0,0,1,87.21,54.89Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"88.63\" cy=\"54.89\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-4\" d=\"M90.52,71a2.37,2.37,0,1,0,2.36-2.36A2.37,2.37,0,0,0,90.52,71Zm1,0a1.42,1.42,0,1,1,1.41,1.42A1.41,1.41,0,0,1,91.47,71Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"92.88\" cy=\"70.95\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-4\" d=\"M86.74,88.36A2.37,2.37,0,1,0,89.1,86,2.36,2.36,0,0,0,86.74,88.36Zm1,0a1.42,1.42,0,1,1,1.41,1.41A1.41,1.41,0,0,1,87.69,88.36Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"89.1\" cy=\"88.36\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-4\" d=\"M30.52,83.71a2.36,2.36,0,1,0,2.36-2.36A2.36,2.36,0,0,0,30.52,83.71Zm.94,0a1.42,1.42,0,1,1,1.42,1.42A1.43,1.43,0,0,1,31.46,83.71Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"32.88\" cy=\"83.71\" r=\"1.42\"/>\r\n </g>\r\n</svg>\r\n`;\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\n\r\n@Pipe({\r\n name: 'svg',\r\n})\r\nexport class SvgPipe implements PipeTransform {\r\n\r\n constructor(private sanitizer: DomSanitizer) {}\r\n transform(markup: string): SafeHtml {\r\n return this.sanitizer.bypassSecurityTrustHtml(markup);\r\n }\r\n\r\n}\r\n","import {\r\n AfterViewInit,\r\n Component,\r\n EventEmitter,\r\n HostBinding,\r\n Output,\r\n ViewChild,\r\n ViewContainerRef,\r\n ViewEncapsulation,\r\n ElementRef,\r\n CUSTOM_ELEMENTS_SCHEMA\r\n} from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport * as charts from '../../../images/charts';\r\nimport { Subject } from 'rxjs';\r\nimport { ResizeObserver } from '@juggle/resize-observer';\r\nimport { IgxIconComponent } from '@infragistics/igniteui-angular';\r\nimport { SvgPipe } from '../../pipes/svg.pipe';\r\n\r\n@Component({\r\n selector: 'igx-chart-menu',\r\n templateUrl: './chart-dialog.component.html',\r\n styleUrls: ['./chart-dialog.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n imports: [CommonModule, IgxIconComponent, SvgPipe],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\nexport class IgxChartMenuComponent implements AfterViewInit {\r\n\r\n @ViewChild('chartArea', { read: ViewContainerRef }) public chartArea: ViewContainerRef;\r\n\r\n @Output()\r\n public onClose = new EventEmitter<any>();\r\n\r\n @HostBinding('style.width.px')\r\n public get width() {\r\n return this.fullScreen ? this._width : 0.7 * this._width;\r\n }\r\n public set width(value) {\r\n this._width = value;\r\n }\r\n\r\n @HostBinding('style.height.px')\r\n public get height() {\r\n return this.fullScreen ? this._height : 0.7 * this._height;\r\n }\r\n public set height(value) {\r\n this._height = value;\r\n }\r\n\r\n public chartDialogResizeNotify = new Subject();\r\n private contentObserver: ResizeObserver;\r\n public images;\r\n public chartDirective;\r\n public currentChartType;\r\n public title;\r\n public allCharts = [];\r\n public fullScreen = false;\r\n public isConfigAreaExpanded = false;\r\n public mainChartTypes = ['Column', 'Area', 'Bar', 'Line', 'Scatter', 'Pie'];\r\n private _width;\r\n private _height;\r\n\r\n constructor(private element: ElementRef<any>) {\r\n this.images = charts;\r\n }\r\n\r\n public ngAfterViewInit() {\r\n this.contentObserver = new ResizeObserver((args) => this.chartDialogResizeNotify.next(args));\r\n this.contentObserver.observe(this.element.nativeElement);\r\n\r\n this.createChart(this.currentChartType);\r\n }\r\n\r\n public toggleFullScreen() {\r\n this.fullScreen = !this.fullScreen;\r\n }\r\n\r\n public hasAvailableChart(chartType) {\r\n return this.allCharts.some(c => c.includes(chartType));\r\n }\r\n\r\n public createChart(chartType) {\r\n this.currentChartType = chartType;\r\n this.title = chartType.split(/(?=[A-Z])/).toString().replace(',', ' ');\r\n try {\r\n this.chartArea.clear();\r\n } catch (e) { }\r\n this.chartDirective.chartFactory(chartType, this.chartArea);\r\n }\r\n}\r\n","<div class=\"header\">\r\n <span class=\"header-text\">\r\n {{ title }} Chart\r\n </span>\r\n <span class=\"action-buttons-wrapper\">\r\n <button igxIconButton=\"flat\" (click)=\"toggleFullScreen()\">\r\n <igx-icon class=\"material\">fullscreen{{fullScreen ? '_exit' : ''}}</igx-icon>\r\n </button>\r\n <button igxIconButton=\"flat\" (click)=\"onClose.emit()\">\r\n <igx-icon class=\"material\">close</igx-icon>\r\n </button>\r\n </span>\r\n</div>\r\n<div class=\"selection-area ig-scrollbar\">\r\n <igc-trial-watermark></igc-trial-watermark>\r\n <div class=\"chart-area\" [ngClass]=\"{'expanded': isConfigAreaExpanded}\">\r\n <ng-template #chartArea ></ng-template>\r\n </div>\r\n <div>\r\n <button igxIconButton=\"flat\" igxRipple (click)=\"isConfigAreaExpanded = !isConfigAreaExpanded\">\r\n <igx-icon family=\"material\">chevron_{{ isConfigAreaExpanded ? 'left': 'right'}}</igx-icon>\r\n </button>\r\n </div>\r\n <div #configArea [ngClass]=\"{'chart-config-area': true, 'opened': !isConfigAreaExpanded, 'closed': isConfigAreaExpanded }\">\r\n <div class=\"config-area-header\">\r\n <span>Chart Types</span>\r\n </div>\r\n <igx-divider class=\"divider\"></igx-divider>\r\n <div class=\"wrapper\" *ngFor=\"let chartType of mainChartTypes\">\r\n <ng-container *ngIf=\"hasAvailableChart(chartType)\">\r\n <div>{{chartType | titlecase}} Chart</div>\r\n <div class=\"types-section\">\r\n <ng-container *ngFor=\"let chart of allCharts\">\r\n <span *ngIf=\"chart.startsWith(chartType)\" class=\"types-section-btn\" title=\"{{chart}}\"\r\n [ngClass]=\"{'selected': chart === currentChartType}\" (click)=\"createChart(chart)\">\r\n <div [innerHTML]=\"images[chart] | svg\">\r\n </div>\r\n </span>\r\n </ng-container>\r\n </div>\r\n <igx-divider></igx-divider>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n","// tslint:disable: max-line-length\r\nexport const Clear = `\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\r\n <defs>\r\n <style>.cls-Clear-1{fill-rule:evenodd;}.cls-Clear-2{fill:none;}</style>\r\n </defs>\r\n <g id=\"Layer_2\" data-name=\"Layer 2\">\r\n <g id=\"Layer_1-2\" data-name=\"Layer 1\">\r\n <g id=\"Conditional-formating\">\r\n <g id=\"Artboard\">\r\n <g id=\"refresh-24px\">\r\n <path id=\"Path\" class=\"cls-Clear-1\" d=\"M17.65,6.35A8,8,0,1,0,19.73,14H17.65A6,6,0,1,1,12,6a5.91,5.91,0,0,1,4.22,1.78L13,11h7V4Z\"/>\r\n <polygon class=\"cls-Clear-2\" points=\"0 0 24 0 24 24 0 24 0 0\"/>\r\n </g>\r\n </g>\r\n </g>\r\n </g>\r\n </g>\r\n</svg>\r\n`;\r\nexport const ColorScale = `\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\r\n <path d=\"M13 13.65h5a5.63 5.63 0 00-.09-1H13zM13 10.65h4.19a6.29 6.29 0 00-.74-1H13zM13 19.58a5.87 5.87 0 002.34-.93H13zM13 6.18v1.48h1.48l-1-1-.48-.48zM13 15.65v1h4.2a5.68 5.68 0 00.46-1zM11 6.18L7.76 9.43A6 6 0 0011 19.58z\" fill=\"none\"/>\r\n <path d=\"M16.45 9.65H13v1h4.19a6.29 6.29 0 00-.74-1zM13.48 6.66L13 6.18v1.48h1.48l-1-1zM6 13.66a6 6 0 005 5.92V6.18L7.76 9.42A6 6 0 006 13.66zM13 19.58a5.87 5.87 0 002.34-.93H13zM13 16.65h4.2a5.68 5.68 0 00.46-1H13zM13 12.65v1h5a5.63 5.63 0 00-.09-1z\" fill=\"none\"/>\r\n <path d=\"M19.93 12.66a7.84 7.84 0 00-.51-2 8.48 8.48 0 00-.5-1A7.8 7.8 0 0017.66 8l-.35-.36-.31-.26-.73-.73-2-2-.85-.84L12 2.34 6.34 8A8 8 0 0011 21.58h.21a7 7 0 00.79 0 7.14 7.14 0 00.8 0h.2a7.94 7.94 0 006.93-8.92zM11 19.58A6 6 0 017.76 9.42L11 6.18zm2-12.93v-.47l.48.47 1 1H13zm0 3h3.45a6.29 6.29 0 01.74 1H13zm0 9.93v-.93h2.34a5.87 5.87 0 01-2.34.93zm4.2-2.93H13v-1h4.66a5.68 5.68 0 01-.46 1zm-4.2-3v-1h4.91a5.63 5.63 0 01.09 1z\"/>\r\n <path d=\"M0 0h24v24H0z\" fill=\"none\"/>\r\n</svg>\r\n\r\n`;\r\nexport const DataBars = `\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\r\n <path d=\"M3 7h12v2H3zM3 15h12v2H3zM3 19h18v2H3zM3 11h18v2H3zM3 3h18v2H3z\"/>\r\n <path d=\"M0 0h24v24H0z\" fill=\"none\"/>\r\n</svg>\r\n\r\n`;\r\nexport const DuplicateValues = `\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\r\n <path d=\"M4.94 10.56a1 1 0 00-.38.79.79.79 0 00.25.63 1.06 1.06 0 00.74.24 1.9 1.9 0 001.06-.3 1.48 1.48 0 00.63-.67v-1H6a1.58 1.58 0 00-1.06.31zM16.94 14.69a1 1 0 00-.38.79.82.82 0 00.25.63 1.11 1.11 0 00.74.23 2 2 0 001.06-.29 1.5 1.5 0 00.63-.68v-1H18a1.54 1.54 0 00-1.06.32z\" fill=\"none\"/>\r\n <path d=\"M4.94 10.56a1 1 0 00-.38.79.79.79 0 00.25.63 1.06 1.06 0 00.74.24 1.9 1.9 0 001.06-.3 1.48 1.48 0 00.63-.67v-1H6a1.58 1.58 0 00-1.06.31zM16.94 14.69a1 1 0 00-.38.79.82.82 0 00.25.63 1.11 1.11 0 00.74.23 2 2 0 001.06-.29 1.5 1.5 0 00.63-.68v-1H18a1.54 1.54 0 00-1.06.32z\" fill=\"none\"/>\r\n <path d=\"M20.76 15.87v-3.06a2.17 2.17 0 00-.76-1.76 3 3 0 00-1.94-.61 3.06 3.06 0 00-2 .63 1.7 1.7 0 00-.73 1.45h1.49a.83.83 0 01.31-.66 1.29 1.29 0 01.84-.25 1.26 1.26 0 01.91.3 1.09 1.09 0 01.32.85v.6H18a3.81 3.81 0 00-2.22.56 1.78 1.78 0 00-.78 1.59 2 2 0 00.58 1.49 2.31 2.31 0 001.65.55 2.12 2.12 0 001.16-.33 2.79 2.79 0 00.83-.81 4.33 4.33 0 00.08.5c0 .16.08.33.13.51H21a4.29 4.29 0 01-.18-.77 5.46 5.46 0 01-.06-.78zm-1.52-.5a1.5 1.5 0 01-.63.68 2 2 0 01-1.06.29 1.11 1.11 0 01-.74-.23.82.82 0 01-.25-.63 1 1 0 01.38-.79 1.54 1.54 0 011.06-.34h1.24zM8.76 11.75V8.69A2.16 2.16 0 008 6.93a2.93 2.93 0 00-1.94-.61 3.06 3.06 0 00-2 .63 1.69 1.69 0 00-.73 1.44h1.5a.83.83 0 01.31-.65A1.3 1.3 0 016 7.52a1.23 1.23 0 01.91.31 1.07 1.07 0 01.32.84v.61H6a3.74 3.74 0 00-2.22.56A1.78 1.78 0 003 11.39a2 2 0 00.58 1.52 2.27 2.27 0 001.65.56 2.12 2.12 0 001.16-.33 2.79 2.79 0 00.83-.81 4.17 4.17 0 00.08.49 4.77 4.77 0 00.13.51H9a4 4 0 01-.18-.76 5.55 5.55 0 01-.06-.82zm-1.52-.5a1.48 1.48 0 01-.63.67 1.9 1.9 0 01-1.06.3 1.06 1.06 0 01-.74-.22.79.79 0 01-.25-.63 1 1 0 01.38-.79A1.58 1.58 0 016 10.23h1.24zM7 19h2v2H7zM7 15h2v2H7zM3 15h2v2H3zM15 7h2v2h-2zM15 3h2v2h-2zM3 19h2v2H3zM19 19h2v2h-2zM19 7h2v2h-2zM15 19h2v2h-2zM19 3h2v2h-2zM11 11h2v2h-2zM11 19h2v2h-2zM11 15h2v2h-2zM11 7h2v2h-2zM11 3h2v2h-2zM7 3h2v2H7zM3 3h2v2H3z\"/>\r\n <path d=\"M0 0h24v24H0z\" fill=\"none\"/>\r\n</svg>\r\n\r\n`;\r\nexport const Empty = `\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\r\n <path d=\"M0 0h24v24H0z\" fill=\"none\"/>\r\n <path d=\"M5 17h2v2H5zM13 17h2v2h-2zM5 13h2v2H5zM17 17h2v2h-2zM13 5h2v2h-2zM9 17h2v2H9zM17 9h2v2h-2zM17 13h2v2h-2zM17 5h2v2h-2zM5 9h2v2H5zM5 5h2v2H5zM9 5h2v2H9z\"/>\r\n <path d=\"M0 0h24v24H0z\" fill=\"none\"/>\r\n</svg>\r\n\r\n`;\r\nexport const Equal = `\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\r\n <path d=\"M5 13.5h14v2H5zM5 8.5h14v2H5z\"/>\r\n</svg>\r\n\r\n`;\r\nexport const GreaterThan = `\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\r\n <path d=\"M6 7.11L15.09 12 6 16.89V19l12-6.46v-1.08L6 5v2.11z\"/>\r\n</svg>\r\n\r\n`;\r\nexport const TextContains = `\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\r\n <path d=\"M10.79 12.77a1.16 1.16 0 00-.44.9.92.92 0 00.3.72 1.18 1.18 0 00.84.27 2.27 2.27 0 001.21-.34 1.61 1.61 0 00.71-.77v-1.17H12a1.76 1.76 0 00-1.21.39z\" fill=\"none\"/>\r\n <path d=\"M5 19h14V5H5zm8-9.36a1.45 1.45 0 00-1-.35 1.5 1.5 0 00-1 .29.93.93 0 00-.35.75H9a1.93 1.93 0 01.83-1.65 3.54 3.54 0 012.3-.72 3.34 3.34 0 012.22.7 2.44 2.44 0 01.84 2v3.5a5.57 5.57 0 00.07.93 4.51 4.51 0 00.21.88h-1.83c-.06-.2-.12-.39-.16-.58a3.72 3.72 0 01-.08-.57 3.05 3.05 0 01-1 .93 2.39 2.39 0 01-1.32.37 2.63 2.63 0 01-1.89-.63 2.29 2.29 0 01-.66-1.74 2.07 2.07 0 01.9-1.78A4.39 4.39 0 0112 11.3h1.38v-.69a1.3 1.3 0 00-.38-.97z\" fill=\"none\"/>\r\n <path d=\"M3 3v18h18V3zm16 16H5V5h14z\"/>\r\n <path d=\"M12 11.3a4.39 4.39 0 00-2.54.63 2.07 2.07 0 00-.9 1.78 2.29 2.29 0 00.66 1.74 2.63 2.63 0 001.89.63 2.39 2.39 0 001.32-.37 3.05 3.05 0 001-.93 3.72 3.72 0 00.08.57c0 .19.1.38.16.58h1.79a4.51 4.51 0 01-.21-.88 5.57 5.57 0 01-.07-.93v-3.5a2.44 2.44 0 00-.84-2 3.34 3.34 0 00-2.22-.7 3.54 3.54 0 00-2.3.72A1.93 1.93 0 009 10.29h1.71a.93.93 0 01.29-.71 1.5 1.5 0 011-.29 1.45 1.45 0 011 .35 1.3 1.3 0 01.37 1v.69zm1.4 1.08v1.17a1.61 1.61 0 01-.71.77 2.27 2.27 0 01-1.21.34 1.18 1.18 0 01-.84-.27.92.92 0 01-.3-.72 1.16 1.16 0 01.44-.9 1.76 1.76 0 011.22-.39z\"/>\r\n <path d=\"M0 0h24v24H0z\" fill=\"none\"/>\r\n</svg>\r\n\r\n`;\r\nexport const Top10 = `\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\r\n <path d=\"M17.34 7.14a.5.5 0 00-.13.33v.33a.48.48 0 00.13.33.41.41 0 00.31.14.37.37 0 00.42-.37v-.41a.49.49 0 00-.07-.34.45.45 0 00-.62 0zM10.84 8a.54.54 0 00.51-.3 2.05 2.05 0 00.17-.92V5.3a2 2 0 00-.17-.94.6.6 0 00-1 0 2.13 2.13 0 00-.17.88V6.7a2.14 2.14 0 00.17 1 .55.55 0 00.49.3zM14.88 5c.28 0 .42-.18.42-.53v-.26a.53.53 0 00-.11-.34.4.4 0 00-.32-.14.42.42 0 00-.31.13.52.52 0 00-.12.36v.29a.49.49 0 00.12.34.39.39 0 00.32.15z\" fill=\"none\"/>\r\n <path d=\"M9 18h2v3h2v-3h2l-3-3-3 3zM4 11h16v2H4zM6.38 8.92h1.36V3.08h-.12l-2.57.89V5l1.33-.39v4.31zM10.84 9a1.85 1.85 0 001.5-.64 2.82 2.82 0 00.53-1.82V5.47a2.76 2.76 0 00-.54-1.82 1.83 1.83 0 00-1.5-.65 1.83 1.83 0 00-1.5.65 2.78 2.78 0 00-.53 1.82v1.07a2.79 2.79 0 00.53 1.81 1.86 1.86 0 001.51.65zm-.69-3.79a2.13 2.13 0 01.17-.88.6.6 0 011 0 2 2 0 01.17.94v1.47a2.05 2.05 0 01-.17.92.59.59 0 01-1 0 2.14 2.14 0 01-.17-1zM14.88 5.71a1.31 1.31 0 00.94-.33 1.11 1.11 0 00.35-.86v-.29a1.19 1.19 0 00-.35-.9 1.32 1.32 0 00-1-.33 1.34 1.34 0 00-.95.33 1.17 1.17 0 00-.35.88v.28a1.16 1.16 0 00.36.9 1.4 1.4 0 001 .32zm-.44-1.49a.52.52 0 01.12-.36.42.42 0 01.31-.13.4.4 0 01.32.14.53.53 0 01.11.34v.24c0 .35-.14.53-.42.53a.39.39 0 01-.32-.13.49.49 0 01-.12-.34zM15.13 8.48l2.85-4.56-.62-.32-2.85 4.57.62.31zM16.7 6.62a1.1 1.1 0 00-.35.87v.29a1.12 1.12 0 00.35.89 1.36 1.36 0 00.95.33 1.32 1.32 0 001-.33A1.15 1.15 0 0019 7.8v-.28a1.17 1.17 0 00-.36-.91 1.54 1.54 0 00-1.89 0zm1.38.87v.41a.37.37 0 01-.42.37.41.41 0 01-.31-.14.48.48 0 01-.13-.33v-.33a.5.5 0 01.13-.33.45.45 0 01.62 0 .49.49 0 01.11.35z\"/>\r\n <path d=\"M0 0h24v24H0z\" fill=\"none\"/>\r\n</svg>\r\n\r\n`;\r\nexport const UniqueValues = `\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\r\n <path d=\"M0 0h24v24H0z\" fill=\"none\"/>\r\n <path d=\"M8.94 10.56a1 1 0 00-.38.79.79.79 0 00.25.63 1.06 1.06 0 00.74.24 1.9 1.9 0 001.06-.3 1.48 1.48 0 00.63-.67v-1H10a1.58 1.58 0 00-1.06.31z\" fill=\"none\"/>\r\n <path d=\"M8.94 10.56a1 1 0 00-.38.79.79.79 0 00.25.63 1.06 1.06 0 00.74.24 1.9 1.9 0 001.06-.3 1.48 1.48 0 00.63-.67v-1H10a1.58 1.58 0 00-1.06.31z\" fill=\"none\"/>\r\n <path d=\"M12.76 11.75V8.69A2.16 2.16 0 0012 6.93a2.93 2.93 0 00-1.94-.61 3.06 3.06 0 00-2 .63 1.69 1.69 0 00-.73 1.44h1.5a.83.83 0 01.31-.65 1.3 1.3 0 01.86-.22 1.23 1.23 0 01.91.31 1.07 1.07 0 01.32.84v.61H10a3.74 3.74 0 00-2.22.56A1.78 1.78 0 007 11.39a2 2 0 00.58 1.52 2.27 2.27 0 001.65.56 2.12 2.12 0 001.16-.33 2.79 2.79 0 00.83-.81 4.17 4.17 0 00.08.49 4.77 4.77 0 00.13.51H13a4 4 0 01-.18-.76 5.55 5.55 0 01-.06-.82zm-1.52-.5a1.48 1.48 0 01-.63.67 1.9 1.9 0 01-1.06.3 1.06 1.06 0 01-.74-.22.79.79 0 01-.25-.63 1 1 0 01.38-.79 1.58 1.58 0 011.06-.35h1.24zM7 19h2v2H7zM7 15h2v2H7zM3 15h2v2H3zM15 7h2v2h-2zM15 3h2v2h-2zM3 19h2v2H3zM19 19h2v2h-2zM19 7h2v2h-2zM15 19h2v2h-2zM19 3h2v2h-2zM15 11h2v2h-2zM19 11h2v2h-2zM15 15h2v2h-2zM19 15h2v2h-2zM11 19h2v2h-2zM11 15h2v2h-2zM11 3h2v2h-2zM7 3h2v2H7zM3 3h2v2H3zM3 7h2v2H3zM3 11h2v2H3z\"/>\r\n <path d=\"M0 0h24v24H0z\" fill=\"none\"/>\r\n <path d=\"M0 0h24v24H0z\" fill=\"none\"/>\r\n</svg>\r\n\r\n`;\r\n","import { AfterViewInit, Component, ElementRef, ViewChild, ViewContainerRef, OnDestroy, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { CommonModule, NgFor } from '@angular/common';\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport {\r\n IgxBarSeriesModule, IgxCategoryChartModule, IgxCategoryXAxisModule,\r\n IgxDataChartCategoryModule, IgxDataChartCoreModule,\r\n IgxDataChartInteractivityModule, IgxDataChartScatterModule, IgxDataChartStackedModule,\r\n IgxItemLegendModule, IgxLegendModule,\r\n IgxNumericXAxisModule, IgxNumericYAxisModule\r\n} from 'igniteui-angular-charts';\r\n\r\nimport {\r\n IgxOverlayService,\r\n IgxToggleDirective,\r\n OverlayCancelableEventArgs,\r\n OverlayEventArgs,\r\n OverlaySettings,\r\n CloseScrollStrategy,\r\n AutoPositionStrategy,\r\n HorizontalAlignment,\r\n VerticalAlignment,\r\n IgxTabsComponent,\r\n IgxIconComponent,\r\n IgxTabItemComponent,\r\n IgxTabHeaderComponent,\r\n IgxTabContentComponent,\r\n IgxTabHeaderLabelDirective,\r\n} from 'igniteui-angular';\r\n\r\nimport { IgxContextMenuDirective } from './igx-context-menu.directive';\r\nimport { IgxChartMenuComponent } from './chart-dialog/chart-dialog.component';\r\nimport { SvgPipe } from '../pipes/svg.pipe';\r\nimport * as charts from '../../images/charts';\r\nimport * as conditions from '../../images/conditions';\r\nimport { CHART_TYPE } from '../directives/chart-integration/chart-types';\r\n\r\n@Component({\r\n selector: 'igx-context-menu',\r\n templateUrl: './context-menu.component.html',\r\n styleUrls: ['./context-menu.component.scss'],\r\n imports: [\r\n CommonModule,\r\n NgFor,\r\n SvgPipe,\r\n IgxToggleDirective,\r\n IgxIconComponent,\r\n IgxTabsComponent,\r\n IgxTabItemComponent,\r\n IgxTabHeaderComponent,\r\n IgxTabContentComponent,\r\n IgxTabHeaderLabelDirective,\r\n IgxBarSeriesModule,\r\n IgxCategoryChartModule,\r\n IgxCategoryXAxisModule,\r\n IgxDataChartCategoryModule,\r\n IgxDataChartCoreModule,\r\n IgxDataChartInteractivityModule,\r\n IgxDataChartScatterModule,\r\n IgxDataChartStackedModule,\r\n IgxItemLegendModule,\r\n IgxLegendModule,\r\n IgxNumericXAxisModule,\r\n IgxNumericYAxisModule,\r\n ],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\nexport class IgxContextMenuComponent implements AfterViewInit, OnDestroy {\r\n @ViewChild('analyticsBtn') public button: ElementRef;\r\n @ViewChild('tabsMenu', { read: IgxToggleDirective }) public tabsMenu: IgxToggleDirective;\r\n @ViewChild('chartPreview', { read: ViewContainerRef }) public chartPreview: ViewContainerRef;\r\n @ViewChild('chartPreviewDialog', { read: IgxToggleDirective }) public chartPreviewDialog: IgxToggleDirective;\r\n @ViewChild(IgxTabsComponent) public tabs: IgxTabsComponent;\r\n\r\n public contextDirective: IgxContextMenuDirective;\r\n public chartTypes = [];\r\n public textFormatters = [];\r\n public currentChartType;\r\n public currentFormatter;\r\n private destroy$ = new Subject<any>();\r\n private _dialogId;\r\n private _chartDialogOS: OverlaySettings = { closeOnOutsideClick: false };\r\n\r\n private _tabsMenuOverlaySettings: OverlaySettings = {\r\n closeOnOutsideClick: false,\r\n modal: false,\r\n outlet: null,\r\n scrollStrategy: new CloseScrollStrategy(),\r\n positionStrategy: new AutoPositionStrategy({\r\n horizontalDirection: HorizontalAlignment.Center,\r\n horizontalStartPoint: HorizontalAlignment.Center,\r\n verticalStartPoint: VerticalAlignment.Bottom,\r\n verticalDirection: VerticalAlignment.Bottom,\r\n openAnimation: null,\r\n closeAnimation: null,\r\n }),\r\n };\r\n\r\n private _chartPreviewDialogOverlaySettings: OverlaySettings = {\r\n closeOnOutsideClick: false,\r\n modal: false,\r\n outlet: null,\r\n scrollStrategy: new CloseScrollStrategy(),\r\n positionStrategy: new AutoPositionStrategy({\r\n horizontalDirection: HorizontalAlignment.Center,\r\n horizontalStartPoint: HorizontalAlignment.Center,\r\n verticalStartPoint: VerticalAlignment.Top,\r\n verticalDirection: VerticalAlignment.Top,\r\n openAnimation: null,\r\n closeAnimation: null,\r\n }),\r\n };\r\n\r\n public chartImages;\r\n public conditionImages;\r\n\r\n constructor(private overlayService: IgxOverlayService) {\r\n this.chartImages = charts;\r\n this.conditionImages = conditions;\r\n }\r\n\r\n public ngAfterViewInit() {\r\n this.chartTypes = this.contextDirective.charts;\r\n this.textFormatters = this.contextDirective.formatters;\r\n\r\n if (this.contextDirective.chartsDirective) {\r\n this.contextDirective.chartsDirective.onChartTypesDetermined.pipe(takeUntil(this.destroy$))\r\n .subscribe((args) => (this.chartTypes = args.chartsForCreation));\r\n }\r\n\r\n if (this.contextDirective.textFormatter) {\r\n this.contextDirective.textFormatter.onFormattersReady.pipe(takeUntil(this.destroy$))\r\n .subscribe((names) => (this.textFormatters = names));\r\n }\r\n\r\n this.contextDirective.onButtonClose.pipe(takeUntil(this.destroy$))\r\n .subscribe(() => {\r\n if (this.tabsMenu && !this.tabsMenu.collapsed) {\r\n this.tabsMenu.close();\r\n }\r\n });\r\n\r\n this.contextDirective.gridResizeNotify.pipe(takeUntil(this.destroy$))\r\n .subscribe(() => {\r\n if (!this.tabsMenu.collapsed) {\r\n this.tabsMenu.close();\r\n }\r\n });\r\n\r\n this.overlayService.opening.pipe(takeUntil(this.destroy$))\r\n .subscribe((args: OverlayCancelableEventArgs) => {\r\n if (args.componentRef) {\r\n const instance = args.componentRef.instance as IgxChartMenuComponent;\r\n instance.width = this.contextDirective.grid.nativeElement.clientWidth;\r\n instance.height = this.contextDirective.grid.nativeElement.clientHeight;\r\n instance.currentChartType = this.currentChartType;\r\n instance.allCharts = this.chartTypes;\r\n instance.chartDirective = this.contextDirective.chartsDirective;\r\n instance.onClose?.subscribe(() => this.closeDialog());\r\n }\r\n });\r\n\r\n this.overlayService.closing.pipe(takeUntil(this.destroy$))\r\n .subscribe((args: OverlayEventArgs) => {\r\n if (args.componentRef && args.componentRef.instance instanceof IgxChartMenuComponent) {\r\n if (this._dialogId) {\r\n this.tabsMenu.open(this._tabsMenuOverlaySettings);\r\n }\r\n }\r\n });\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n this.destroy$.next(true);\r\n this.destroy$.complete();\r\n }\r\n\r\n public toggleTabMenu() {\r\n this.currentChartType = this.currentChartType || CHART_TYPE.COLUMN_GROUPED;\r\n this._tabsMenuOverlaySettings.target = this.button.nativeElement;\r\n this.tabsMenu.collapsed ? this.tabsMenu.open(this._tabsMenuOverlaySettings) : this.tabsMenu.close();\r\n }\r\n\r\n public formatCells(condition) {\r\n this.currentFormatter = condition;\r\n this.contextDirective.textFormatter.formatCells(condition);\r\n }\r\n\r\n public clearFormat() {\r\n this.contextDirective.textFormatter.clearFormatting();\r\n this.currentFormatter = undefined;\r\n }\r\n\r\n public previewChart(currentChartType) {\r\n this.currentChartType = currentChartType;\r\n this.chartPreview.clear();\r\n this.contextDirective.chartsDirective.chartFactory(currentChartType, this.chartPreview);\r\n this._chartPreviewDialogOverlaySettings.target = this.tabsMenu.element;\r\n this.chartPreviewDialog.open(this._chartPreviewDialogOverlaySettings);\r\n }\r\n\r\n public hidePreview() {\r\n this.chartPreviewDialog.close();\r\n }\r\n\r\n public openDialog(type?: CHART_TYPE) {\r\n this.currentChartType =\r\n type || this.currentChartType || CHART_TYPE.COLUMN_GROUPED;\r\n this._dialogId = this._dialogId || this.overlayService.attach(IgxChartMenuComponent, this._chartDialogOS);\r\n this.tabsMenu.close();\r\n this.overlayService.show(this._dialogId);\r\n }\r\n\r\n public closeDialog() {\r\n const info = this.overlayService.getOverlayById(this._dialogId);\r\n if (info) {\r\n this.overlayService.hide(this._dialogId);\r\n this.overlayService.detach(this._dialogId);\r\n this._dialogId = undefined;\r\n }\r\n }\r\n}\r\n","<span #analyticsBtn class=\"analytics-btn\">\r\n <button #btn igxIconButton=\"flat\" (click)=\"toggleTabMenu()\">\r\n <igx-icon #icon class=\"icon\" family=\"material\">insert_chart_outlined</igx-icon>\r\n </button>\r\n</span>\r\n<div #tabsMenu igxToggle class=\"toggle-content ig-scrollbar\">\r\n <igx-tabs tabsType=\"fixed\" [selectedIndex]=\"!this.textFormatters.length && chartTypes.length ? 1 : 0\">\r\n <igx-tab-item [disabled]=\"!textFormatters.length\">\r\n <igx-tab-header>\r\n <span igxTabHeaderLabel>Conditional Formatting</span>\r\n </igx-tab-header>\r\n <igx-tab-content>\r\n <igc-trial-watermark></igc-trial-watermark>\r\n <div class=\"tabs\">\r\n <span class=\"tab-option\">\r\n <span *ngFor=\"let condition of textFormatters\" class=\"action btn condition\"\r\n [ngClass]=\"{'selected--condition': condition === currentFormatter}\"\r\n (click)=\"formatCells(condition)\">\r\n <div class=\"imgSize\" [innerHTML]=\"conditionImages[condition.replace(' ', '')] | svg\">\r\n </div>\r\n <span class=\"name\">{{condition.replace('10', '10%')}}</span>\r\n </span>\r\n </span>\r\n <span class=\"clear action\"\r\n [ngClass]=\"{'disableButton': contextDirective.textFormatter ? !contextDirective.textFormatter.formatter : true }\"\r\n (click)=\"clearFormat()\">\r\n <div class=\"imgSize\" [innerHTML]=\"conditionImages['Clear'] | svg\">\r\n </div>\r\n <span class=\"btn name\">Clear All</span>\r\n </span>\r\n </div>\r\n </igx-tab-content>\r\n </igx-tab-item>\r\n <igx-tab-item [disabled]=\"!chartTypes.length\">\r\n <igx-tab-header>\r\n <span igxTabHeaderLabel>Create Chart</span>\r\n </igx-tab-header>\r\n <igx-tab-content>\r\n <igc-trial-watermark></igc-trial-watermark>\r\n <div class=\"tabs\">\r\n <span class=\"tab-option\">\r\n <span *ngFor=\"let chart of chartTypes | slice:0:4\" class=\"action btn chart\"\r\n [ngClass]=\"{'selected': chart === currentChartType}\" (mouseenter)=\"previewChart(chart)\"\r\n (mouseleave)=\"hidePreview()\" (click)=\"openDialog(chart)\">\r\n <span [innerHTML]=\"chartImages[chart] | svg\" class=\"imgSize\">\r\n </span>\r\n <span class=\"name\">{{chart}}</span>\r\n </span>\r\n </span>\r\n <span class=\"more-action chart\" [ngClass]=\"{'disableButton': !chartTypes.length}\"\r\n (click)=\"openDialog()\">\r\n <button class=\"more-btn more-icon\" igxIconButton=\"flat\" [style.--background]=\"'#EBEBEB'\"\r\n [style.--foreground]=\"'black'\">\r\n <igx-icon class=\"icon\" family=\"material\">more_horiz</igx-icon>\r\n </button>\r\n <span class=\"name btn\">More...</span>\r\n </span>\r\n </div>\r\n </igx-tab-content>\r\n </igx-tab-item>\r\n </igx-tabs>\r\n</div>\r\n<div igxToggle #chartPreviewDialog class=\"chart-preview\">\r\n <div class=\"chart-preview-title\">\r\n <h5>Preview Chart</h5>\r\n </div>\r\n <div class=\"chart-preview-area\">\r\n <ng-template #chartPreview></ng-template>\r\n </div>\r\n</div>","import {\r\n AfterViewInit,\r\n Directive,\r\n EventEmitter,\r\n Output,\r\n OnInit,\r\n OnDestroy,\r\n Optional,\r\n} from '@angular/core';\r\nimport {\r\n AbsoluteScrollStrategy,\r\n AutoPositionStrategy,\r\n HorizontalAlignment,\r\n IgxGridComponent,\r\n IgxOverlayService,\r\n OverlayCancelableEventArgs,\r\n VerticalAlignment,\r\n OverlaySettings\r\n} from 'igniteui-angular';\r\nimport { Subject } from 'rxjs';\r\nimport { debounceTime, filter, merge, takeUntil } from 'rxjs/operators';\r\nimport { IgxChartIntegrationDirective } from '../directives/chart-integration/chart-integration.directive';\r\nimport { IgxConditionalFormattingDirective } from '../directives/conditional-formatting/conditional-formatting.directive';\r\nimport { IgxContextMenuComponent } from './context-menu.component';\r\nimport { ResizeObserver } from '@juggle/resize-observer';\r\n\r\n@Directive({\r\n selector: '[igxContextMenu]',\r\n})\r\nexport class IgxContextMenuDirective implements OnInit, AfterViewInit, OnDestroy {\r\n\r\n @Output() public onButtonClose = new EventEmitter<any>();\r\n\r\n public formatters = [];\r\n public charts = [];\r\n public gridResizeNotify = new Subject<void>();\r\n private contentObserver: ResizeObserver;\r\n private _range;\r\n private _id;\r\n private _collapsed = true;\r\n private destroy$ = new Subject<boolean>();\r\n private _analyticsBtnSettings: OverlaySettings = {\r\n closeOnOutsideClick: false,\r\n modal: false\r\n };\r\n\r\n constructor(\r\n public grid: IgxGridComponent,\r\n @Optional() public textFormatter: IgxConditionalFormattingDirective,\r\n @Optional() public chartsDirective: IgxChartIntegrationDirective,\r\n private overlayService: IgxOverlayService\r\n ) { }\r\n\r\n public ngOnInit() {\r\n this.gridResizeNotify.pipe(takeUntil(this.destroy$))\r\n .subscribe(() => {\r\n if (this._id && !this._collapsed) {\r\n this.renderButton();\r\n }\r\n });\r\n }\r\n\r\n public ngAfterViewInit() {\r\n this.setUpGridListeners();\r\n if (this.textFormatter) {\r\n this.textFormatter.onFormattersReady.pipe(takeUntil(this.destroy$))\r\n .subscribe(names => this.formatters = names);\r\n }\r\n if (this.chartsDirective) {\r\n this.chartsDirective.onChartTypesDetermined.pipe(takeUntil(this.destroy$))\r\n .subscribe((args) => this.charts = args.chartsForCreation);\r\n }\r\n this.overlayService.opening.pipe(takeUntil(this.destroy$))\r\n .subscribe((args: OverlayCancelableEventArgs) => {\r\n if (args.componentRef) {\r\n const instance = (args.componentRef.instance as IgxContextMenuComponent);\r\n instance.contextDirective = this;\r\n }\r\n });\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n this.destroy$.next(true);\r\n this.destroy$.complete();\r\n if (!this._collapsed) {\r\n this.close();\r\n }\r\n }\r\n\r\n private setUpGridListeners() {\r\n this.contentObserver = new ResizeObserver(() => this.gridResizeNotify.next());\r\n this.contentObserver.observe(this.grid.nativeElement);\r\n\r\n this.grid.rangeSelected.pipe(takeUntil(this.destroy$))\r\n .subscribe((args) => {\r\n this._range = args;\r\n if (this.chartsDirective) {\r\n if (this.grid.getSelectedRanges().length === 1) {\r\n this.chartsDirective.chartData = this.grid.getSelectedData();\r\n } else {\r\n this.chartsDirective.chartData = [];\r\n }\r\n }\r\n if (!this._collapsed) {\r\n this.onButtonClose.emit();\r\n }\r\n this.renderButton();\r\n });\r\n this.grid.verticalScrollContainer.chunkLoad.pipe(\r\n merge(this.grid.parentVirtDir.chunkLoad, this.grid.filteringDone, this.grid.columnResized,\r\n this.grid.columnVisibilityChanged.pipe(debounceTime(30))),\r\n filter(() => this._range), takeUntil(this.destroy$)).subscribe(() => {\r\n this.onButtonClose.emit();\r\n this.renderButton();\r\n });\r\n this.grid.selected.pipe(merge(this.grid.groupingDone),\r\n takeUntil(this.destroy$)).subscribe((args: any) => {\r\n if (this.grid.selectedCells.length < 2 || args.expressions) {\r\n this._range = undefined;\r\n this.close();\r\n }\r\n });\r\n }\r\n\r\n private renderButton() {\r\n if (!this._range) { return; }\r\n let rowIndex = this._range.rowEnd;\r\n let colIndex = +this._range.columnEnd;\r\n while (colIndex >= this._range.columnStart && !this.grid.navigation.isColumnFullyVisible(colIndex)) {\r\n colIndex--;\r\n }\r\n while (rowIndex >= this._range.rowStart && this.grid.navigation.shouldPerformVerticalScroll(rowIndex, -1)) {\r\n rowIndex--;\r\n }\r\n const field = this.grid.visibleColumns[colIndex] ? this.grid.visibleColumns[colIndex].field : '';\r\n const cell = this.grid.gridAPI.get_cell_by_index(rowIndex, field);\r\n if (!cell || !this.isWithInRange(cell.row.key, cell.column.index - 1)) {\r\n this.close();\r\n return;\r\n }\r\n this._analyticsBtnSettings.positionStrategy = new AutoPositionStrategy({\r\n horizontalDirection: HorizontalAlignment.Right,\r\n horizontalStartPoint: HorizontalAlignment.Right,\r\n verticalStartPoint: VerticalAlignment.Bottom,\r\n verticalDirection: VerticalAlignment.Bottom, closeAnimation: null\r\n });\r\n this._analyticsBtnSettings.target = cell.nativeElement;\r\n this._analyticsBtnSettings.scrollStrategy = new AbsoluteScrollStrategy();\r\n const info = this.overlayService.getOverlayById(this._id);\r\n if (info) {\r\n info.settings.positionStrategy = this._analyticsBtnSettings.positionStrategy;\r\n }\r\n this._collapsed ? this.show() : this.overlayService.reposition(this._id);\r\n }\r\n\r\n private show() {\r\n if (!this._collapsed) { return; }\r\n this._collapsed = false;\r\n this._id = this._id ? this._id :\r\n this.overlayService.attach(IgxContextMenuComponent, this._analyticsBtnSettings);\r\n this.overlayService.show(this._id);\r\n }\r\n\r\n private close() {\r\n if (this._collapsed) { return; }\r\n this._collapsed = true;\r\n this.overlayService.hide(this._id);\r\n this.onButtonClose.emit();\r\n this._id = undefined;\r\n }\r\n\r\n private isWithInRange(rInex, cIndex) {\r\n return rInex >= this._range.rowStart && rInex <= this._range.rowEnd\r\n && cIndex >= this._range.columnStart && cIndex <= this._range.columnEnd;\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { IgxIconComponent, IgxToggleActionDirective } from '@infragistics/igniteui-angular';\r\n\r\n@Component({\r\n selector: 'app-page-header',\r\n templateUrl: './page-header.component.html',\r\n styleUrls: ['./page-header.component.scss'],\r\n imports: [IgxIconComponent, IgxToggleActionDirective]\r\n})\r\nexport class PageHeaderComponent {\r\n @Input()\r\n title: string;\r\n}\r\n","<div class=\"sample-header\">\r\n <h1 class=\"title ig-typography__h3\">\r\n <button igxIconButton=\"flat\"\r\n igxRipple\r\n igxRippleCentered=\"true\"\r\n igxToggleAction=\"navdrawer\"\r\n class=\"hamburger\">\r\n <igx-icon family=\"material\">menu</igx-icon>\r\n </button>\r\n {{ title }}\r\n </h1>\r\n <p class=\"description\">\r\n <ng-content></ng-content>\r\n </p>\r\n</div>\r\n","/*\r\n * Public API Surface of igniteui-angular-extras\r\n */\r\n\r\n/**\r\n * Directives\r\n */\r\nexport * from './lib/directives/chart-integration/chart-integration.directive';\r\nexport * from './lib/directives/conditional-formatting/conditional-formatting.directive';\r\nexport * from './lib/context-menu/igx-context-menu.directive';\r\n\r\n/**\r\n * Components\r\n */\r\nexport * from './lib/context-menu/context-menu.component';\r\nexport * from './lib/context-menu/chart-dialog/chart-dialog.component';\r\nexport * from './lib/page-header/page-header.component';\r\n\r\n/**\r\n * Pipes\r\n */\r\nexport * from './lib/pipes/svg.pipe';\r\n\r\n/**\r\n * Exporter classes, interfaces and enums\r\n */\r\nexport * from './lib/directives/chart-integration/chart-types';\r\nexport * from './lib/directives/chart-integration/initializers';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","IgxIconComponent","i2.IgxConditionalFormattingDirective","i3.IgxChartIntegrationDirective"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"igniteui-angular-extras.mjs","sources":["../../../projects/igniteui-angular-extras/src/lib/directives/chart-integration/chart-types.ts","../../../projects/igniteui-angular-extras/src/lib/directives/chart-integration/initializers.ts","../../../projects/igniteui-angular-extras/src/lib/directives/chart-integration/chart-integration.directive.ts","../../../projects/igniteui-angular-extras/src/lib/directives/conditional-formatting/conditional-formatting.directive.ts","../../../projects/igniteui-angular-extras/src/images/charts.ts","../../../projects/igniteui-angular-extras/src/lib/pipes/svg.pipe.ts","../../../projects/igniteui-angular-extras/src/lib/context-menu/chart-dialog/chart-dialog.component.ts","../../../projects/igniteui-angular-extras/src/lib/context-menu/chart-dialog/chart-dialog.component.html","../../../projects/igniteui-angular-extras/src/images/conditions.ts","../../../projects/igniteui-angular-extras/src/lib/context-menu/context-menu.component.ts","../../../projects/igniteui-angular-extras/src/lib/context-menu/context-menu.component.html","../../../projects/igniteui-angular-extras/src/lib/context-menu/igx-context-menu.directive.ts","../../../projects/igniteui-angular-extras/src/lib/page-header/page-header.component.ts","../../../projects/igniteui-angular-extras/src/lib/page-header/page-header.component.html","../../../projects/igniteui-angular-extras/src/public-api.ts","../../../projects/igniteui-angular-extras/src/igniteui-angular-extras.ts"],"sourcesContent":["export enum CHART_TYPE {\r\n PIE= 'Pie',\r\n COLUMN_GROUPED = 'ColumnGrouped',\r\n AREA_GROUPED = 'AreaGrouped',\r\n LINE_GROUPED = 'LineGrouped',\r\n BAR_GROUPED = 'BarGrouped',\r\n COLUMN_STACKED = 'ColumnStacked',\r\n AREA_STACKED = 'AreaStacked',\r\n LINE_STACKED = 'LineStacked',\r\n BAR_STACKED = 'BarStacked',\r\n COLUMN_100_STACKED = 'Column100Stacked',\r\n AREA_100_STACKED = 'Area100Stacked',\r\n LINE_100_STACKED = 'Line100Stacked',\r\n BAR_100_STACKED = 'Bar100Stacked',\r\n SCATTER_POINT = 'ScatterPoint',\r\n SCATTER_BUBBLE = 'ScatterBubble',\r\n SCATTER_LINE = 'ScatterLine'\r\n}\r\n\r\nexport enum OPTIONS_TYPE {\r\n CHART = 'chartOptions',\r\n SERIES = 'seriesModel',\r\n X_AXIS = 'xAxisOptions',\r\n Y_AXIS = 'yAxisOptions',\r\n STACKED_SERIES = 'stackedFragmentOptions'\r\n}\r\n","// tslint:disable: max-line-length\r\nimport { EventEmitter, Type } from '@angular/core';\r\nimport { IgxBarSeriesComponent, IgxBubbleSeriesComponent, IgxCategoryXAxisComponent,\r\n IgxCategoryYAxisComponent, IgxDataChartComponent, IgxNumericXAxisComponent,\r\n IgxNumericYAxisComponent, IgxPieChartComponent, IgxScatterLineSeriesComponent,\r\n IgxScatterSeriesComponent, IgxStacked100BarSeriesComponent, IgxStackedBarSeriesComponent,\r\n IgxStackedFragmentSeriesComponent } from 'igniteui-angular-charts';\r\n\r\nclass SeriesFactory {\r\n public create<T>(type: (new () => T)): T {\r\n return new type();\r\n }\r\n}\r\n\r\nexport interface IOptions {\r\n [key: string]: any;\r\n}\r\n\r\nexport interface IChartComponentOptions {\r\n chartOptions?: IOptions;\r\n seriesOptions?: IOptions[];\r\n xAxisOptions?: IOptions;\r\n seriesModel?: IOptions;\r\n yAxisOptions?: IOptions;\r\n stackedFragmentOptions?: IOptions;\r\n}\r\n\r\nexport abstract class ChartInitializer {\r\n protected yAxis;\r\n protected xAxis;\r\n protected seriesFactory = new SeriesFactory();\r\n constructor() { }\r\n\r\n public applyOptions(target: any, options: IOptions) {\r\n if (options) {\r\n Object.keys(options).forEach(key => {\r\n if (target[key] instanceof EventEmitter) {\r\n target[key].subscribe(options[key]);\r\n } else {\r\n target[key] = options[key];\r\n }\r\n });\r\n }\r\n }\r\n\r\n public abstract initChart(chart: any, options?: IChartComponentOptions): any;\r\n}\r\n\r\nexport class IgxPieChartInitializer extends ChartInitializer {\r\n constructor() {\r\n super();\r\n }\r\n\r\n public initChart(chart: IgxPieChartComponent, options: IChartComponentOptions) {\r\n\r\n this.applyOptions(chart, options.chartOptions);\r\n return chart;\r\n }\r\n}\r\n\r\nexport class IgxDataChartInitializer extends ChartInitializer {\r\n public seriesType: Type<any>;\r\n\r\n constructor(seriesType: Type<any>) {\r\n super();\r\n switch (seriesType) {\r\n case IgxBarSeriesComponent:\r\n this.xAxis = new IgxNumericXAxisComponent();\r\n this.yAxis = new IgxCategoryYAxisComponent();\r\n break;\r\n case IgxScatterSeriesComponent:\r\n case IgxBubbleSeriesComponent:\r\n case IgxScatterLineSeriesComponent:\r\n this.xAxis = new IgxNumericXAxisComponent();\r\n this.yAxis = new IgxNumericYAxisComponent();\r\n break;\r\n default:\r\n this.xAxis = new IgxCategoryXAxisComponent();\r\n this.yAxis = new IgxNumericYAxisComponent();\r\n }\r\n\r\n this.seriesType = seriesType;\r\n }\r\n\r\n public initChart(chart: IgxDataChartComponent, options: IChartComponentOptions): IgxDataChartComponent {\r\n options.seriesOptions.forEach((option) => {\r\n const series = this.seriesFactory.create(this.seriesType);\r\n series.xAxis = this.xAxis;\r\n series.yAxis = this.yAxis;\r\n this.applyOptions(series, option);\r\n chart.series.add(series);\r\n });\r\n this.applyOptions(chart, options.chartOptions);\r\n this.applyOptions(this.xAxis, options.xAxisOptions);\r\n this.applyOptions(this.yAxis, options.yAxisOptions);\r\n chart.axes.add(this.xAxis);\r\n chart.axes.add(this.yAxis);\r\n return chart;\r\n }\r\n}\r\n\r\nexport class IgxStackedDataChartInitializer extends ChartInitializer {\r\n public seriesType: Type<any>;\r\n\r\n constructor(seriesType: Type<any>) {\r\n super();\r\n if (seriesType === IgxStackedBarSeriesComponent || seriesType === IgxStacked100BarSeriesComponent) {\r\n this.xAxis = new IgxNumericXAxisComponent();\r\n this.yAxis = new IgxCategoryYAxisComponent();\r\n } else {\r\n this.xAxis = new IgxCategoryXAxisComponent();\r\n this.yAxis = new IgxNumericYAxisComponent();\r\n }\r\n this.seriesType = seriesType;\r\n }\r\n public initChart(chart: IgxDataChartComponent, options?: IChartComponentOptions): IgxDataChartComponent {\r\n const series = this.seriesFactory.create(this.seriesType);\r\n series.xAxis = this.xAxis;\r\n series.yAxis = this.yAxis;\r\n options.stackedFragmentOptions.forEach(fragOpt => {\r\n const frag = new IgxStackedFragmentSeriesComponent();\r\n this.applyOptions(frag, fragOpt);\r\n series.series.add(frag);\r\n });\r\n this.applyOptions(series, options.seriesOptions);\r\n this.applyOptions(chart, options.chartOptions);\r\n this.applyOptions(this.xAxis, options.xAxisOptions);\r\n this.applyOptions(this.yAxis, options.yAxisOptions);\r\n chart.series.add(series);\r\n chart.axes.add(this.xAxis);\r\n chart.axes.add(this.yAxis);\r\n return chart;\r\n }\r\n}\r\n","import { ComponentFactory, ComponentFactoryResolver, ComponentRef, Directive,\r\n EventEmitter, Input, Output, Type, ViewContainerRef } from '@angular/core';\r\nimport {\r\n IgxAreaSeriesComponent, IgxBarSeriesComponent, IgxBubbleSeriesComponent, IgxColumnSeriesComponent,\r\n IgxDataChartComponent, IgxItemLegendComponent, IgxLegendComponent, IgxLineSeriesComponent, IgxPieChartComponent,\r\n IgxScatterLineSeriesComponent, IgxScatterSeriesComponent, IgxSizeScaleComponent, IgxStacked100AreaSeriesComponent,\r\n IgxStacked100BarSeriesComponent, IgxStacked100ColumnSeriesComponent, IgxStacked100LineSeriesComponent,\r\n IgxStackedAreaSeriesComponent, IgxStackedBarSeriesComponent, IgxStackedColumnSeriesComponent,\r\n IgxStackedLineSeriesComponent\r\n} from 'igniteui-angular-charts';\r\nimport { CHART_TYPE, OPTIONS_TYPE } from './chart-types';\r\nimport { ChartInitializer, IChartComponentOptions, IgxDataChartInitializer,\r\n IgxPieChartInitializer, IgxStackedDataChartInitializer, IOptions } from './initializers';\r\n\r\nexport interface IDeterminedChartTypesArgs {\r\n chartsAvailabilty: Map<CHART_TYPE, boolean>;\r\n chartsForCreation: CHART_TYPE[];\r\n}\r\n\r\n@Directive({\r\n selector: '[igxChartIntegration]',\r\n})\r\nexport class IgxChartIntegrationDirective {\r\n @Input()\r\n public get chartData() {\r\n return this._chartData;\r\n }\r\n\r\n public set chartData(selectedData: any[]) {\r\n const charts = new Set(this._dataChartTypes);\r\n const dataModel = selectedData.length ? selectedData[0] : {};\r\n this._labelMemberPaths = Object.keys(dataModel).filter(key => typeof dataModel[key] === 'string');\r\n this._valueMemberPaths = Object.keys(dataModel).filter(key => typeof dataModel[key] === 'number');\r\n this._chartData = selectedData.map((dataRecord, index) => this.addIndexMemberPath(dataRecord, index + 1));\r\n const args: IDeterminedChartTypesArgs = {\r\n chartsAvailabilty: new Map<CHART_TYPE, boolean>(),\r\n chartsForCreation: []\r\n };\r\n\r\n if (selectedData.length === 0 || this._valueMemberPaths.length === 0) {\r\n this.onChartTypesDetermined.emit(args);\r\n return;\r\n }\r\n if (selectedData.length === 1) {\r\n charts.forEach((chart, _, set) => {\r\n const isColumnChart = chart.indexOf('Column') !== -1;\r\n const isBarChart = chart.indexOf('Bar') !== -1;\r\n const isPieChart = chart.indexOf('Pie') !== -1;\r\n if (!(isColumnChart || isBarChart || isPieChart)) {\r\n set.delete(chart);\r\n }\r\n });\r\n }\r\n // Config pie chart\r\n const cannotCreatePieChart = selectedData.some(record => record[this._valueMemberPaths[0]] <= 0);\r\n if (cannotCreatePieChart) {\r\n charts.delete(CHART_TYPE.PIE);\r\n }\r\n // Config scatter chart member paths\r\n const canCreateScatterChart = this._valueMemberPaths.length >= 2;\r\n const canCreateBubbleChart = this._valueMemberPaths.length >= 3;\r\n if (!canCreateScatterChart) {\r\n charts.delete(CHART_TYPE.SCATTER_BUBBLE);\r\n charts.delete(CHART_TYPE.SCATTER_LINE);\r\n charts.delete(CHART_TYPE.SCATTER_POINT);\r\n }\r\n if (!canCreateBubbleChart) {\r\n charts.delete(CHART_TYPE.SCATTER_BUBBLE);\r\n }\r\n\r\n args.chartsAvailabilty = this.chartTypesAvailability;\r\n args.chartsForCreation = [...charts];\r\n this.onChartTypesDetermined.emit(args);\r\n }\r\n\r\n @Output()\r\n public onChartTypesDetermined = new EventEmitter<IDeterminedChartTypesArgs>();\r\n\r\n @Output()\r\n public onChartCreationDone = new EventEmitter<any>();\r\n\r\n @Input()\r\n public useLegend = true;\r\n\r\n @Input()\r\n public defaultLabelMemberPath: string = undefined;\r\n\r\n @Input()\r\n public set scatterChartYAxisValueMemberPath(path: string) {\r\n this._scatterChartYAxisValueMemberPath = path;\r\n }\r\n\r\n public get scatterChartYAxisValueMemberPath() {\r\n return this._scatterChartYAxisValueMemberPath &&\r\n this._valueMemberPaths.indexOf(this._scatterChartYAxisValueMemberPath) !== -1 ?\r\n this._scatterChartYAxisValueMemberPath : this._valueMemberPaths[0];\r\n }\r\n\r\n @Input()\r\n public set bubbleChartRadiusMemberPath(path: string) {\r\n this._bubbleChartRadiusMemberPath = path;\r\n }\r\n\r\n public get bubbleChartRadiusMemberPath() {\r\n return this._bubbleChartRadiusMemberPath &&\r\n this._valueMemberPaths.indexOf(this._bubbleChartRadiusMemberPath) !== -1 ?\r\n this._bubbleChartRadiusMemberPath : this._valueMemberPaths[1];\r\n }\r\n\r\n private chartTypesAvailability = new Map<CHART_TYPE, boolean>();\r\n private customChartComponentOptions = new Map<CHART_TYPE, IChartComponentOptions>();\r\n private dataCharts = new Map<string, Type<any>>();\r\n private _scatterChartYAxisValueMemberPath = undefined;\r\n private _bubbleChartRadiusMemberPath = undefined;\r\n private _valueMemberPaths = [];\r\n private _labelMemberPaths = [];\r\n private _chartData: any[];\r\n private _sizeScale = new IgxSizeScaleComponent();\r\n private _dataChartTypes = new Set<CHART_TYPE>();\r\n private get _labelMemberPath(): string {\r\n return this.defaultLabelMemberPath && this._chartData.some(r => r[this.defaultLabelMemberPath] !== undefined) ?\r\n this.defaultLabelMemberPath : this._labelMemberPaths.length > 0 ? this._labelMemberPaths[0] : 'Index';\r\n }\r\n\r\n private get pieChartOptions(): IOptions {\r\n return {\r\n width: '85%',\r\n height: '75%',\r\n dataSource: this.chartData,\r\n valueMemberPath: this._valueMemberPaths[0],\r\n legendLabelMemberPath: this._labelMemberPath,\r\n labelMemberPath: this._labelMemberPath,\r\n };\r\n }\r\n\r\n private dataChartSeriesOptionsModel: IOptions = {\r\n isHighlightingEnabled: true,\r\n areaFillOpacity: .4,\r\n markerType: 3,\r\n showDefaultTooltip: true\r\n };\r\n\r\n private scatterChartSeriesOptionsModel: IOptions = {\r\n markerType: 3,\r\n showDefaultTooltip: true\r\n };\r\n\r\n private bubbleChartSeriesOptionsModel: IOptions = {\r\n radiusScale: this._sizeScale\r\n };\r\n\r\n private get dataChartOptions(): IOptions {\r\n return {\r\n width: '100%',\r\n height: '85%',\r\n autoMarginWidth: 50,\r\n isVerticalZoomEnabled: true,\r\n isHorizontalZoomEnabled: true,\r\n dataSource: this.chartData\r\n };\r\n }\r\n constructor(private factoryResolver: ComponentFactoryResolver) {\r\n this.dataCharts.set(CHART_TYPE.COLUMN_GROUPED, IgxColumnSeriesComponent);\r\n this.dataCharts.set(CHART_TYPE.AREA_GROUPED, IgxAreaSeriesComponent);\r\n this.dataCharts.set(CHART_TYPE.LINE_GROUPED, IgxLineSeriesComponent);\r\n this.dataCharts.set(CHART_TYPE.BAR_GROUPED, IgxBarSeriesComponent);\r\n\r\n this.dataCharts.set(CHART_TYPE.COLUMN_STACKED, IgxStackedColumnSeriesComponent);\r\n this.dataCharts.set(CHART_TYPE.AREA_STACKED, IgxStackedAreaSeriesComponent);\r\n this.dataCharts.set(CHART_TYPE.LINE_STACKED, IgxStackedLineSeriesComponent);\r\n this.dataCharts.set(CHART_TYPE.BAR_STACKED, IgxStackedBarSeriesComponent);\r\n\r\n this.dataCharts.set(CHART_TYPE.COLUMN_100_STACKED, IgxStacked100ColumnSeriesComponent);\r\n this.dataCharts.set(CHART_TYPE.AREA_100_STACKED, IgxStacked100AreaSeriesComponent);\r\n this.dataCharts.set(CHART_TYPE.LINE_100_STACKED, IgxStacked100LineSeriesComponent);\r\n this.dataCharts.set(CHART_TYPE.BAR_100_STACKED, IgxStacked100BarSeriesComponent);\r\n\r\n this.dataCharts.set(CHART_TYPE.SCATTER_POINT, IgxScatterSeriesComponent);\r\n this.dataCharts.set(CHART_TYPE.SCATTER_BUBBLE, IgxBubbleSeriesComponent);\r\n this.dataCharts.set(CHART_TYPE.SCATTER_LINE, IgxScatterLineSeriesComponent);\r\n\r\n this.dataCharts.set(CHART_TYPE.PIE, IgxPieChartComponent);\r\n const iterable = this.dataCharts.keys();\r\n for (let head = iterable.next().value; head !== undefined; head = iterable.next().value) {\r\n this._dataChartTypes.add(head);\r\n this.chartTypesAvailability.set(head, true);\r\n this.customChartComponentOptions.set(head, {});\r\n }\r\n }\r\n\r\n public getAvailableCharts() {\r\n const res = [];\r\n this.chartTypesAvailability.forEach((isAvailable, chartType) => {\r\n if (isAvailable) {\r\n res.push(chartType);\r\n }\r\n });\r\n return res;\r\n }\r\n\r\n public disableCharts(types: CHART_TYPE[]) {\r\n types.forEach(type => {\r\n if (this.chartTypesAvailability.get(type)) {\r\n this.chartTypesAvailability.set(type, false);\r\n }\r\n });\r\n }\r\n\r\n public enableCharts(types: CHART_TYPE[]) {\r\n types.forEach(type => {\r\n if (!this.chartTypesAvailability.get(type)) {\r\n this.chartTypesAvailability.set(type, true);\r\n }\r\n });\r\n }\r\n\r\n public chartFactory(type: CHART_TYPE, viewContainerRef: ViewContainerRef) {\r\n if (!this.chartTypesAvailability.get(type)) {\r\n return;\r\n }\r\n let componentFactory: ComponentFactory<any>;\r\n let componentRef: ComponentRef<any>;\r\n this._sizeScale.maximumValue = 60;\r\n this._sizeScale.minimumValue = 10;\r\n const chartType = this.dataCharts.get(type);\r\n\r\n if (type === CHART_TYPE.PIE) {\r\n componentFactory = this.factoryResolver.resolveComponentFactory(IgxPieChartComponent);\r\n componentRef = viewContainerRef.createComponent(componentFactory);\r\n } else {\r\n componentFactory = this.factoryResolver.resolveComponentFactory(IgxDataChartComponent);\r\n componentRef = viewContainerRef.createComponent(componentFactory);\r\n }\r\n const options: IChartComponentOptions = this.getChartOptions(type);\r\n const initializer: ChartInitializer = this.getInitializer(type, chartType);\r\n if (this.useLegend) {\r\n const legendType = type === CHART_TYPE.PIE ? IgxItemLegendComponent : IgxLegendComponent;\r\n const legendFactory = this.factoryResolver.resolveComponentFactory(legendType as any);\r\n const legendComponentRef: ComponentRef<any> = viewContainerRef.createComponent(legendFactory);\r\n options.chartOptions['legend'] = legendComponentRef.instance;\r\n }\r\n const chart = initializer.initChart(componentRef.instance, options);\r\n this.onChartCreationDone.emit(chart);\r\n }\r\n\r\n private getInitializer(chartType: CHART_TYPE, componentClassRef): ChartInitializer {\r\n if (chartType.includes('Pie')) {\r\n return new IgxPieChartInitializer();\r\n } else if (chartType.includes('Stacked')) {\r\n return new IgxStackedDataChartInitializer(componentClassRef);\r\n } else {\r\n return new IgxDataChartInitializer(componentClassRef);\r\n }\r\n }\r\n\r\n private getChartOptions(type: CHART_TYPE): IChartComponentOptions {\r\n const chartComponentOptions: IChartComponentOptions = {};\r\n return type === CHART_TYPE.PIE ? this.addPieChartDataOptions(chartComponentOptions) :\r\n this.addDataChartDataOptions(type, chartComponentOptions, type.includes('Stacked'));\r\n }\r\n\r\n private addPieChartDataOptions(chartComponentOptions: IChartComponentOptions) {\r\n // tslint:disable-next-line: max-line-length\r\n chartComponentOptions.chartOptions = Object.assign(this.pieChartOptions, this.customChartComponentOptions.get(CHART_TYPE.PIE).chartOptions);\r\n return chartComponentOptions;\r\n }\r\n\r\n private addDataChartDataOptions(type: CHART_TYPE, chartComponentOptions: IChartComponentOptions, stacked: boolean) {\r\n chartComponentOptions.chartOptions = Object.assign(this.dataChartOptions, this.customChartComponentOptions.get(type));\r\n if (type.indexOf('Scatter') !== -1) {\r\n this.addScatterChartDataOptions(type, chartComponentOptions);\r\n } else {\r\n // tslint:disable-next-line: max-line-length\r\n chartComponentOptions.seriesModel = Object.assign(this.dataChartSeriesOptionsModel, this.customChartComponentOptions.get(type).seriesModel);\r\n this.setAxisLabelOption(type, chartComponentOptions);\r\n const options: IOptions[] = [];\r\n this._valueMemberPaths.forEach(valueMemberPath => {\r\n const dataOptions = {\r\n title: valueMemberPath,\r\n valueMemberPath\r\n };\r\n if (stacked) {\r\n options.push({ ...dataOptions });\r\n } else {\r\n options.push({ ...dataOptions, ...chartComponentOptions.seriesModel });\r\n }\r\n });\r\n stacked ? chartComponentOptions.stackedFragmentOptions = options :\r\n chartComponentOptions.seriesOptions = options;\r\n }\r\n return chartComponentOptions;\r\n }\r\n\r\n private addScatterChartDataOptions(scatterChart: CHART_TYPE, chartComponentOptions: IChartComponentOptions) {\r\n // tslint:disable-next-line: max-line-length\r\n chartComponentOptions.seriesModel = Object.assign(this.scatterChartSeriesOptionsModel, this.customChartComponentOptions.get(scatterChart).seriesModel);\r\n chartComponentOptions.seriesModel['yMemberPath'] = this.scatterChartYAxisValueMemberPath;\r\n if (scatterChart === CHART_TYPE.SCATTER_BUBBLE) {\r\n chartComponentOptions.seriesModel = Object.assign(chartComponentOptions.seriesModel, this.bubbleChartSeriesOptionsModel);\r\n chartComponentOptions.seriesModel['radiusMemberPath'] = this.bubbleChartRadiusMemberPath;\r\n }\r\n\r\n const model = chartComponentOptions.seriesModel;\r\n const seriesOptions: IOptions[] = [];\r\n this._valueMemberPaths.filter(v => !(v === model['yMemberPath'] ||\r\n v === model['radiusMemberPath'])).forEach(valueMemberPath => {\r\n const dataOptions = {\r\n title: `${model['yMemberPath']} vs ${valueMemberPath}`,\r\n xMemberPath: valueMemberPath,\r\n labelMemberPath: this._labelMemberPath\r\n };\r\n seriesOptions.push({ ...dataOptions, ...model });\r\n });\r\n chartComponentOptions.seriesOptions = seriesOptions;\r\n }\r\n\r\n private addIndexMemberPath(dataRecord, index) {\r\n dataRecord = { ...{ [this._labelMemberPath]: index }, ...dataRecord };\r\n return dataRecord;\r\n }\r\n\r\n private setAxisLabelOption(type: CHART_TYPE, options: IChartComponentOptions) {\r\n if (type.indexOf('Bar') !== -1) {\r\n options.yAxisOptions = Object.assign({\r\n label: this._labelMemberPath\r\n }, this.customChartComponentOptions.get(type).yAxisOptions);\r\n } else {\r\n options.xAxisOptions = Object.assign({\r\n label: this._labelMemberPath\r\n }, this.customChartComponentOptions.get(type).xAxisOptions);\r\n }\r\n }\r\n\r\n public setChartComponentOptions(chart: CHART_TYPE, optionsType: OPTIONS_TYPE, options: IOptions) {\r\n if (!this.customChartComponentOptions.get(chart)[optionsType]) {\r\n this.customChartComponentOptions.get(chart)[optionsType] = {};\r\n }\r\n Object.keys(options).forEach(property => {\r\n this.customChartComponentOptions.get(chart)[optionsType][property] = options[property];\r\n });\r\n }\r\n\r\n}\r\n","import { AfterViewInit, Directive, EventEmitter, Inject, Input, OnDestroy, Output } from '@angular/core';\r\nimport { IgxGridComponent } from 'igniteui-angular';\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\n\r\nexport enum ConditionalFormattingType {\r\n dataBars = 'Data Bars',\r\n colorScale = 'Color Scale',\r\n top10 = 'Top 10',\r\n textContains = 'Text Contains',\r\n single = 'Duplicate Values',\r\n unique = 'Unique Values',\r\n empty = 'Empty'\r\n}\r\nexport interface IFormatColors {\r\n success: string;\r\n error: string;\r\n info: string;\r\n warning: string;\r\n text: string;\r\n}\r\n\r\n@Directive({\r\n selector: '[igxConditionalFormatting]',\r\n})\r\nexport class IgxConditionalFormattingDirective implements AfterViewInit, OnDestroy {\r\n @Input()\r\n public formatter: string | ConditionalFormattingType;\r\n\r\n @Input()\r\n public set formatColors(val: IFormatColors) {\r\n this._formatColors = val;\r\n }\r\n public get formatColors() {\r\n return this._formatColors;\r\n }\r\n\r\n @Output()\r\n public onFormattersReady = new EventEmitter<string[]>();\r\n\r\n public colorScale = {\r\n backgroundColor: (rowData, colname, cellValue, rowIndex) => {\r\n if (!(typeof cellValue === 'number' && this.isWithInFormattedRange(rowIndex, colname))) { return; }\r\n return this.lowTresholdValue >= cellValue ? this.formatColors.error :\r\n this.middleTresholdValue >= cellValue ? this.formatColors.warning : this.formatColors.success;\r\n }\r\n };\r\n\r\n public dataBars = {\r\n backgroundImage: (rowData, colname, cellValue, rowIndex) => {\r\n if (!(typeof cellValue === 'number' && this.isWithInFormattedRange(rowIndex, colname))) { return; }\r\n const treshold = this.threshold;\r\n let gradientPercents;\r\n if (cellValue < 0) {\r\n const negativeStartingPoint = 100 - treshold;\r\n gradientPercents = this.getNegativePercentage(cellValue);\r\n return `linear-gradient(to left, transparent 0% ${negativeStartingPoint}%,\r\n ${ this.formatColors.error} ${negativeStartingPoint}% ${negativeStartingPoint + gradientPercents}%,\r\n transparent ${gradientPercents}% 100%)`;\r\n } else {\r\n gradientPercents = this.getPositivePercentage(cellValue);\r\n return `linear-gradient(to right, transparent 0% ${treshold}%,\r\n ${ this.formatColors.success} ${treshold}% ${treshold + gradientPercents}%,\r\n transparent ${treshold + gradientPercents}% 100%)`;\r\n }\r\n },\r\n backgroundSize: '100% 80%',\r\n backgroundRepeat: 'no-repeat',\r\n backgroundPositionY: 'center'\r\n };\r\n\r\n public top10Percent = {\r\n backgroundColor: (rowData, colname, cellValue, rowIndex) => {\r\n if (typeof cellValue === 'number' && this.isWithInFormattedRange(rowIndex, colname)\r\n && cellValue > this.top10PercentTreshold) {\r\n return this.formatColors.info;\r\n }\r\n },\r\n color: (rowData, colname, cellValue, rowIndex) => {\r\n if (typeof cellValue === 'number' && this.isWithInFormattedRange(rowIndex, colname)\r\n && cellValue > this.top10PercentTreshold) {\r\n return this.formatColors.text;\r\n }\r\n }\r\n };\r\n\r\n public greaterThan = {\r\n backgroundColor: (rowData, colname, cellValue, rowIndex) => {\r\n if (typeof cellValue === 'number' && this.isWithInFormattedRange(rowIndex, colname)\r\n && cellValue > this.avgValue) {\r\n return this.formatColors.info;\r\n }\r\n },\r\n color: (rowData, colname, cellValue, rowIndex) => {\r\n if (typeof cellValue === 'number' && this.isWithInFormattedRange(rowIndex, colname)\r\n && cellValue > this.avgValue) {\r\n return this.formatColors.text;\r\n }\r\n }\r\n };\r\n\r\n public empty = {\r\n backgroundColor: (rowData, colname, cellValue, rowIndex) => {\r\n if (this.isWithInFormattedRange(rowIndex, colname) && cellValue === undefined) {\r\n return this.formatColors.info;\r\n }\r\n },\r\n color: (rowData, colname, cellValue, rowIndex) => {\r\n if (this.isWithInFormattedRange(rowIndex, colname) && cellValue === undefined) {\r\n return this.formatColors.text;\r\n }\r\n }\r\n };\r\n\r\n public duplicates = {\r\n backgroundColor: (rowData, colname, cellValue, rowIndex) => {\r\n if (!this.isWithInFormattedRange(rowIndex, colname)) { return; }\r\n const arr: any[] = typeof cellValue === 'number' ? this.numericData : this.textData;\r\n return arr.indexOf(cellValue) !== arr.lastIndexOf(cellValue) ? this.formatColors.info : '';\r\n\r\n },\r\n color: (rowData, colname, cellValue, rowIndex) => {\r\n if (!this.isWithInFormattedRange(rowIndex, colname)) { return; }\r\n const arr: any[] = typeof cellValue === 'number' ? this.numericData : this.textData;\r\n return arr.indexOf(cellValue) !== arr.lastIndexOf(cellValue) ? this.formatColors.text : '';\r\n }\r\n };\r\n\r\n public textContains = {\r\n backgroundColor: (rowData, colname, cellValue, rowIndex) => {\r\n if (typeof cellValue === 'string' && this.isWithInFormattedRange(rowIndex, colname) &&\r\n cellValue.toLowerCase().indexOf(this._valueForComparison.toLowerCase()) !== -1) {\r\n return this.formatColors.info;\r\n }\r\n },\r\n color: (rowData, colname, cellValue, rowIndex) => {\r\n if (typeof cellValue === 'string' && this.isWithInFormattedRange(rowIndex, colname) &&\r\n cellValue.toLowerCase().indexOf(this._valueForComparison.toLowerCase()) !== -1) {\r\n return this.formatColors.text;\r\n }\r\n }\r\n };\r\n\r\n public uniques = {\r\n backgroundColor: (rowData, colname, cellValue, rowIndex) => {\r\n if (!this.isWithInFormattedRange(rowIndex, colname)) { return; }\r\n const arr: any[] = typeof cellValue === 'number' ? this.numericData : this.textData;\r\n return arr.indexOf(cellValue) === arr.lastIndexOf(cellValue) ? this.formatColors.info : '';\r\n },\r\n color: (rowData, colname, cellValue, rowIndex) => {\r\n if (!this.isWithInFormattedRange(rowIndex, colname)) { return; }\r\n const arr: any[] = typeof cellValue === 'number' ? this.numericData : this.textData;\r\n return arr.indexOf(cellValue) === arr.lastIndexOf(cellValue) ? this.formatColors.text : '';\r\n }\r\n };\r\n\r\n private get selectedData() {\r\n if (!this._selectedData.length) { this._selectedData = this.toArray(this.grid.getSelectedData()); }\r\n return this._selectedData;\r\n }\r\n\r\n private get textData() {\r\n return this.selectedData.filter(val => typeof val === 'string');\r\n }\r\n\r\n private get numericData() {\r\n return this.selectedData.filter(val => typeof val === 'number');\r\n }\r\n private _formatColors: IFormatColors = {\r\n success: '#4EB862',\r\n error: '#FF134A',\r\n warning: '#FBB13C',\r\n info: '#1377D5',\r\n text: '#FFF'\r\n };\r\n private _numericFormatters = ['Data Bars', 'Color Scale', 'Top 10', 'Greater Than'];\r\n private _textFormatters = ['Text Contains'];\r\n private _commonFormattersName = ['Duplicate Values', 'Unique Values', 'Empty'];\r\n private _selectedData = [];\r\n private _minValue;\r\n private _maxValue;\r\n private _startColumn;\r\n private _endColumn;\r\n private _valueForComparison;\r\n private _formattersData = new Map<string, any>();\r\n private destroy$ = new Subject<any>();\r\n private formatedRange: Map<number, Set<number>> = new Map<number, Set<number>>();\r\n\r\n constructor(public grid: IgxGridComponent) {\r\n this._formattersData.set('Data Bars', this.dataBars);\r\n this._formattersData.set('Color Scale', this.colorScale);\r\n this._formattersData.set('Top 10', this.top10Percent);\r\n this._formattersData.set('Greater Than', this.greaterThan);\r\n this._formattersData.set('Text Contains', this.textContains);\r\n this._formattersData.set('Duplicate Values', this.duplicates);\r\n this._formattersData.set('Unique Values', this.uniques);\r\n this._formattersData.set('Empty', this.empty);\r\n }\r\n\r\n public ngAfterViewInit(): void {\r\n this.grid.rangeSelected.pipe(takeUntil(this.destroy$)).subscribe(() => {\r\n this.determineFormatters();\r\n });\r\n this.grid.cellEdit.pipe(takeUntil(this.destroy$)).subscribe((args: any) => {\r\n if ((args.newValue === args.oldValue || !this.formatter)) { return; }\r\n if (this.isWithInFormattedRange(args.cellID.rowIndex, args.cellID.columnID - 1)) {\r\n const value = Number(args.newValue);\r\n const valueToBeAdded = !Number.isNaN(value) && Number.isFinite(value) ? value : args.newValue;\r\n this.selectedData.splice(this.selectedData.indexOf(args.oldValue), 1, valueToBeAdded);\r\n this.recalcCachedValues();\r\n this.formatCells(this.formatter, undefined, false);\r\n }\r\n });\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n this.destroy$.next(true);\r\n this.destroy$.complete();\r\n }\r\n\r\n public formatCells(formatterName, formatRange?: [], reset = true) {\r\n if (reset) { this.resetRange(formatRange); }\r\n this.clearFormatting();\r\n this.formatter = formatterName;\r\n this.grid.visibleColumns.forEach(c => {\r\n if (c.visibleIndex >= this._startColumn && c.visibleIndex <= this._endColumn) {\r\n c.cellStyles = this._formattersData.get(this.formatter);\r\n this.grid.notifyChanges();\r\n }\r\n });\r\n }\r\n\r\n public clearFormatting() {\r\n this.formatter = undefined;\r\n this.grid.visibleColumns.forEach(c => {\r\n c.cellStyles = undefined;\r\n this.grid.cdr.detectChanges();\r\n });\r\n }\r\n\r\n public determineFormatters() {\r\n const numericData = this.toArray(this.grid.getSelectedData()).some(rec => typeof rec === 'number');\r\n const textData = this.toArray(this.grid.getSelectedData()).some(rec => typeof rec === 'string');\r\n const formatters = Array.of(...this._commonFormattersName);\r\n if (!(numericData) && textData) {\r\n formatters.splice(0, 0, ...this._textFormatters);\r\n } else if (numericData && !textData) {\r\n formatters.splice(0, 0, ...this._numericFormatters);\r\n } else {\r\n formatters.splice(0, 0, ...['Data Bars', 'Color Scale', 'Text Contains']);\r\n }\r\n this.onFormattersReady.emit(formatters);\r\n }\r\n\r\n public recalcCachedValues(clearAll = false) {\r\n if (clearAll) {\r\n this._startColumn = Math.min(...this.grid.getSelectedRanges().map(r => Number(r.columnStart)));\r\n this._endColumn = Math.max(...this.grid.getSelectedRanges().map(r => Number(r.columnEnd)));\r\n this._selectedData = [];\r\n }\r\n this._valueForComparison = this.textData[0];\r\n this._maxValue = Math.max(...this.numericData);\r\n this._minValue = Math.min(...this.numericData.filter(value => value < 0)) | 0;\r\n }\r\n\r\n public isWithInFormattedRange(rowIndex, colID) {\r\n const visibleIndex = typeof colID === 'string' ? this.grid.getColumnByName(colID).visibleIndex : colID;\r\n if (!this.formatedRange.size) { return false; }\r\n return this.formatedRange.has(rowIndex) && this.formatedRange.get(rowIndex).has(visibleIndex);\r\n }\r\n\r\n private get middleTresholdValue() { return 0.66 * Math.ceil(this._maxValue); }\r\n\r\n private get lowTresholdValue() { return 0.33 * Math.ceil(this._maxValue); }\r\n\r\n private get top10PercentTreshold() { return 0.9 * Math.ceil(this._maxValue); }\r\n\r\n private get avgValue() {\r\n return Math.ceil((this.numericData.reduce((a, b) => a + b, 0)) / this.numericData.length);\r\n }\r\n\r\n private get threshold() {\r\n return Math.ceil(Math.abs(this._minValue) / (this._maxValue + Math.abs(this._minValue)) * 100);\r\n }\r\n\r\n private getPositivePercentage(val) {\r\n const result = (Math.ceil(val) / (this._maxValue + Math.abs(this._minValue))) * 100;\r\n return Math.ceil(result);\r\n }\r\n\r\n private getNegativePercentage(val) {\r\n const result = (Math.abs(val) / (this._maxValue + Math.abs(this._minValue))) * 100;\r\n return Math.ceil(result);\r\n }\r\n\r\n private resetRange(formatRange?: []) {\r\n this.formatedRange.clear();\r\n const customRange = formatRange ? formatRange : this.grid.getSelectedRanges();\r\n customRange.forEach(range => {\r\n for (let ri = range.rowStart; ri <= Number(range.rowEnd); ri++) {\r\n for (let ci = Number(range.columnStart); ci <= Number(range.columnEnd); ci++) {\r\n this.addToCache(ri, ci);\r\n }\r\n }\r\n });\r\n this.recalcCachedValues(true);\r\n }\r\n\r\n private addToCache(rowIndex, colIndex, selection = true) {\r\n this.formatedRange.has(rowIndex) ? this.formatedRange.get(rowIndex).add(colIndex) :\r\n this.formatedRange.set(rowIndex, new Set<number>()).get(rowIndex).add(colIndex);\r\n }\r\n\r\n private toArray(data: any[]) {\r\n let result = [];\r\n data.forEach(rec => result = result.concat(Object.values(rec)));\r\n return result;\r\n }\r\n}\r\n","// tslint:disable: max-line-length\r\nexport const Area100Stacked = `\r\n <svg id=\"Layer_1\" data-name=\"Layer 1\"\r\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 96 96\">\r\n <defs>\r\n <style>.cls-Area100Stacked-1{fill:#ab4191;}.cls-Area100Stacked-2{fill:#f05951;}.cls-Area100Stacked-2,.cls-Area100Stacked-3,.cls-Area100Stacked-4{fill-rule:evenodd;}.cls-Area100Stacked-3{fill:#fa8d3d;}.cls-Area100Stacked-4{fill:#0f6860;}</style>\r\n </defs>\r\n <rect class=\"cls-Area100Stacked-1\" width=\"96\" height=\"95.7\"/>\r\n <polygon class=\"cls-Area100Stacked-2\" points=\"0 11.1 3.78 11.99 11.33 25.27 20.15 13.04 30.53 15.31 43.12 26.54 50.13 28.07 65.78 24.5 72.08 16.84 82.15 17.61 88.45 11.99 91.91 9.57 96 6.13 96 95.7 0 95.7 0 11.1\"/>\r\n <path class=\"cls-Area100Stacked-3\" d=\"M0,54V95.7H96V18.37l-3.79,6.51-3.79,18-3.16,6.51-5.68,3.06-2.84,3.45s-3.42,6-3.48,6.12-7.58,4.6-7.58,4.6L60,67l-2.21.77-7.9-4.6-3.78,1.15-7.58-3.44L34.42,62.4l-3.79-1.15-4.1,3.44-3.48-.76L15.16,53.21,7.26,54,3.47,49Z\"/>\r\n <polygon class=\"cls-Area100Stacked-4\" points=\"0 78.75 4.72 77.11 7.87 78.2 15.42 76.56 19.52 80.39 26.44 83.67 36.2 83.67 45.33 85.31 50.05 78.75 58.23 84.22 68.3 85.86 87.82 90.23 96 83.12 96 95.7 0 95.7 0 78.75\"/>\r\n</svg>\r\n`;\r\nexport const AreaGrouped = `\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 96 96\">\r\n <defs>\r\n <style>.cls-AreaGrouped-1{fill:#ab4191;}.cls-AreaGrouped-1,.cls-AreaGrouped-2,.cls-AreaGrouped-3,.cls-AreaGrouped-4{fill-rule:evenodd;}.cls-AreaGrouped-2{fill:#f05951;}.cls-AreaGrouped-3{fill:#fa8d3d;}.cls-AreaGrouped-4{fill:#0f6860;}</style>\r\n </defs>\r\n <g id=\"ChartNames\">\r\n <polygon class=\"cls-AreaGrouped-1\" points=\"96 69.18 96 13.76 80.22 37.03 64.11 42.35 48.34 63.44 32.56 72.38 16.45 70.78 0 86.13 0 96 96 96 96 69.18\"/>\r\n <polygon class=\"cls-AreaGrouped-2\" points=\"96 84.43 96 38.72 80.22 48.72 64.11 72.86 48.34 72.62 32.56 81.54 16.78 79.11 0 90.25 0 96 96 96 96 84.43\"/>\r\n <path class=\"cls-AreaGrouped-3\" d=\"M96,91V62.08L80.22,66.71l-16.11,15-15.77.9L32.56,88s-16.12-.84-16.11-.76S0,92.65,0,92.65V96H96Z\"/>\r\n <polygon class=\"cls-AreaGrouped-4\" points=\"96 93.77 96 77.49 80.22 81.31 64.11 91.54 48.34 93.13 32.56 94.09 0 95.37 0 96 96 96 96 93.77\"/>\r\n </g>\r\n</svg>\r\n`;\r\nexport const AreaStacked = `\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 96 96\">\r\n <defs>\r\n <style>.cls-AreaStacked-1{fill:#ab4191;}.cls-AreaStacked-1,.cls-AreaStacked-2,.cls-AreaStacked-3,.cls-AreaStacked-4{fill-rule:evenodd;}.cls-AreaStacked-2{fill:#f05951;}.cls-AreaStacked-3{fill:#fa8d3d;}.cls-AreaStacked-4{fill:#0f6860;}</style>\r\n </defs>\r\n <g id=\"ChartNames\">\r\n <path class=\"cls-AreaStacked-1\" d=\"M0,17.24,3.73,4.7l7.56,19.2,4.09-.78,7.87,11.75,3.46,1.57,3.78-3.13,4.41,2,3.46-2.75,4.72,2.35L45.91,38s4-.26,4.09-.39,7.45,4.57,7.56,4.7a35.11,35.11,0,0,0,3.77-1.57h4.41L72,43.49,82.11,28.21,88.4,10.32,91.86,0,96,12.15V96H0Z\"/>\r\n <path class=\"cls-AreaStacked-2\" d=\"M0,53.29V96H96V16.85l-3.79,6.66L88.38,41.93l-3.16,6.66-5.68,3.13-2.85,3.53s-3.42,6.14-3.47,6.27-7.58,4.7-7.58,4.7L60,66.61l-2.21.79-7.9-4.71-3.79,1.18-7.58-3.53-4.1,1.57-3.79-1.18-4.11,3.53L23,63.48l-7.89-11-7.9.78L3.43,48.2Z\"/>\r\n <polygon class=\"cls-AreaStacked-3\" points=\"0.14 78.65 4.85 76.97 7.99 78.09 15.54 76.41 19.62 80.33 26.53 83.69 36.27 83.69 45.38 85.37 50.09 78.65 58.26 84.25 68.31 85.93 87.79 90.4 95.96 83.12 95.96 96 0.14 96 0.14 78.65\"/>\r\n <polygon class=\"cls-AreaStacked-4\" points=\"0.14 96 95.96 96 95.96 74.45 92.19 79.15 80.56 83.07 69.25 91.3 58.57 91.69 54.17 92.08 49.78 90.12 45.38 91.3 38.47 91.3 28.73 91.69 23.7 91.3 18.99 92.86 13.96 92.08 0.14 93.65 0.14 96\"/>\r\n </g>\r\n</svg>\r\n`;\r\nexport const Bar100Stacked = `\r\n <svg id=\"Layer_1\" data-name=\"Layer 1\"\r\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 96 96\">\r\n <defs>\r\n <style>.cls-Bar100Stacked-1{fill:#ab4191;}.cls-Bar100Stacked-1,.cls-Bar100Stacked-2,.cls-Bar100Stacked-3,.cls-Bar100Stacked-4{fill-rule:evenodd;}.cls-Bar100Stacked-2{fill:#f05951;}.cls-Bar100Stacked-3{fill:#fa8d3d;}.cls-Bar100Stacked-4,.cls-Bar100Stacked-5{fill:#0f6860;}</style>\r\n </defs>\r\n <path class=\"cls-Bar100Stacked-1\" d=\"M96,7.84H45.71v11.1H96Zm0,13.38H47.67V32.33H96Zm0,13.39H42.45V46H96Zm0,13.72H48.33v11.1H96Zm0,13.38H43.43V72.82H96ZM96,75.1H42.12V86.2H96Z\"/>\r\n <path class=\"cls-Bar100Stacked-2\" d=\"M75.76,21.22H29.71V32.33H75.76ZM66,61.71H27.1V72.82H66Zm4.24-27.1h-48V46h48ZM56.82,48.33H30v11.1H56.82ZM73.47,75.1H25.8V86.2H73.47ZM60.73,7.84h-33v11.1h33Z\"/>\r\n <path class=\"cls-Bar100Stacked-3\" d=\"M47.67,21.22H8.16V32.33H47.67ZM39.51,61.71H5.88V72.82H39.51Zm3.59-27.1H1.63V46H43.1ZM31.35,48.33H8.16v11.1H31.35ZM45.71,75.1H4.57V86.2H45.71ZM34.61,7.84H6.2v11.1H34.61Z\"/>\r\n <path class=\"cls-Bar100Stacked-4\" d=\"M14,34.61H0V46H14Zm4.25,13.72H0v11.1H18.29ZM15,75.1H0V86.2H15ZM22.2,21.22H0V32.33H22.2ZM11.43,61.71H0V72.82H11.43Z\"/>\r\n <rect class=\"cls-Bar100Stacked-5\" y=\"7.84\" width=\"10.78\" height=\"11.1\"/>\r\n</svg>\r\n`;\r\nexport const BarGrouped = `\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 96 96\">\r\n <defs>\r\n <style>.cls-BarGrouped-1{fill:#f05951;}.cls-BarGrouped-2{fill:#ab4191;}.cls-BarGrouped-3{fill:#0f6860;}.cls-BarGrouped-4{fill:#fa8d3d;}</style>\r\n </defs>\r\n <g id=\"ChartNames\">\r\n <rect class=\"cls-BarGrouped-1\" y=\"77.13\" width=\"21.19\" height=\"6.29\"/>\r\n <rect class=\"cls-BarGrouped-1\" y=\"49.66\" width=\"48.99\" height=\"6.29\"/>\r\n <rect class=\"cls-BarGrouped-1\" y=\"22.18\" width=\"72.5\" height=\"6.29\"/>\r\n <rect class=\"cls-BarGrouped-2\" y=\"70.84\" width=\"81.43\" height=\"6.29\"/>\r\n <rect class=\"cls-BarGrouped-3\" y=\"89.71\" width=\"60.25\" height=\"6.29\"/>\r\n <rect class=\"cls-BarGrouped-2\" y=\"43.37\" width=\"96\" height=\"6.29\"/>\r\n <rect class=\"cls-BarGrouped-3\" y=\"62.23\" width=\"33.43\" height=\"6.29\"/>\r\n <rect class=\"cls-BarGrouped-2\" y=\"15.89\" width=\"55.61\" height=\"6.29\"/>\r\n <rect class=\"cls-BarGrouped-3\" y=\"34.76\" width=\"45.35\" height=\"6.29\"/>\r\n <rect class=\"cls-BarGrouped-4\" y=\"83.42\" width=\"89.38\" height=\"6.29\"/>\r\n <rect class=\"cls-BarGrouped-4\" y=\"55.94\" width=\"70.84\" height=\"6.29\"/>\r\n <rect class=\"cls-BarGrouped-4\" y=\"28.47\" width=\"33.43\" height=\"6.29\"/>\r\n </g>\r\n</svg>\r\n`;\r\nexport const BarStacked = `\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 96 96\">\r\n <defs>\r\n <style>.cls-BarStacked-1{fill:#ab4191;}.cls-BarStacked-1,.cls-BarStacked-2,.cls-BarStacked-3,.cls-BarStacked-4{fill-rule:evenodd;}.cls-BarStacked-2{fill:#f05951;}.cls-BarStacked-3{fill:#fa8d3d;}.cls-BarStacked-4{fill:#0f6860;}</style>\r\n </defs>\r\n <g id=\"ChartNames\">\r\n <path class=\"cls-BarStacked-1\" d=\"M53.9,8.85H14.58V19.66H53.9ZM86.33,22.28H21.46V33.09H86.33ZM71.26,35.71H14.91V46.85H71.26ZM53.57,49.47H11.63V60.29H53.57ZM95.84,62.91H21.46V73.72H95.84Zm-36,13.43H14.91V87.15H59.8Z\"/>\r\n <path class=\"cls-BarStacked-2\" d=\"M41.12,8.85H14.58V19.66H41.12ZM61.76,22.28H21.46V33.09h40.3ZM46.69,35.71H14.91V46.85H46.69ZM41.77,49.47H11.63V60.29H41.77ZM62.09,62.91H21.46V73.72H62.09ZM42.76,76.34H14.91V87.15H42.76Z\"/>\r\n <path class=\"cls-BarStacked-3\" d=\"M31.62,8.85h-17V19.66h17ZM45.38,22.28H21.46V33.09H45.38Zm-9.5,13.43h-21V46.85h21Zm-2.3,13.76H11.63V60.29H33.58Zm8.85,13.44h-21V73.72h21ZM31,76.34h-16V87.15H31Z\"/>\r\n <path class=\"cls-BarStacked-4\" d=\"M14.91,8.85H.16V19.66H14.91ZM27.36,22.28H.16V33.09h27.2ZM19.17,35.71H.16V46.85h19ZM15.56,49.47H.16V60.29h15.4ZM27.69,62.91H.16V73.72H27.69ZM16.22,76.34H.16V87.15H16.22Z\"/>\r\n </g>\r\n</svg>\r\n`;\r\nexport const Column100Stacked = `\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 96 96\">\r\n <defs>\r\n <style>.cls-Column100Stacked-1{fill:#ab4191;}.cls-Column100Stacked-1,.cls-Column100Stacked-2,.cls-Column100Stacked-3,.cls-Column100Stacked-4{fill-rule:evenodd;}.cls-Column100Stacked-2{fill:#f05951;}.cls-Column100Stacked-3{fill:#fa8d3d;}.cls-Column100Stacked-4{fill:#0f6860;}</style>\r\n </defs>\r\n <g id=\"ChartNames\">\r\n <path class=\"cls-Column100Stacked-1\" d=\"M0,0V50.28H13.81V0ZM16.44,0V48.44H30.25V0ZM32.88,0V53.51h13.8V0ZM49.32,0V47.78h13.8V0ZM65.75,0V52.68H79.56V0ZM82.19,0V54H96V0Z\"/>\r\n <path class=\"cls-Column100Stacked-2\" d=\"M16.44,20.35V66.43H30.25V20.35ZM65.75,30V68.74H79.56V30ZM32.88,25.73v48h13.8v-48ZM49.32,39.17V66.05h13.8V39.17ZM82.19,22.66V70.27H96V22.66ZM0,35.33v33H13.81v-33Z\"/>\r\n <path class=\"cls-Column100Stacked-3\" d=\"M16.44,48.38V87.94H30.25V48.38Zm49.31,8.07V90.24H79.56V56.45ZM32.88,53V94.46h13.8V53ZM49.32,64.51V87.94h13.8V64.51ZM82.19,50.3V91.39H96V50.3ZM0,61.44V89.86H13.81V61.44Z\"/>\r\n <path class=\"cls-Column100Stacked-4\" d=\"M32.88,82.11V96h13.8V82.11Zm16.44-4.45V96h13.8V77.66Zm32.87,3.41V96H96V81.07ZM16.44,73.73V96H30.25V73.73ZM65.75,84.47V96H79.56V84.47ZM0,85.08V96H13.81V85.08Z\"/>\r\n </g>\r\n</svg>\r\n`;\r\nexport const ColumnGrouped = `\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 96 96\">\r\n <defs>\r\n <style>.cls-ColumnGrouped-1{fill:#fa8d3d;}.cls-ColumnGrouped-2{fill:#f05951;}.cls-ColumnGrouped-3{fill:#0f6860;}.cls-ColumnGrouped-4{fill:#ab4191;}</style>\r\n </defs>\r\n <g id=\"ChartNames\">\r\n <rect class=\"cls-ColumnGrouped-1\" x=\"14.87\" y=\"30.42\" width=\"7.44\" height=\"65.58\"/>\r\n <rect class=\"cls-ColumnGrouped-1\" x=\"48\" y=\"8.11\" width=\"7.44\" height=\"87.89\"/>\r\n <rect class=\"cls-ColumnGrouped-1\" x=\"81.13\" y=\"38.2\" width=\"7.44\" height=\"57.8\"/>\r\n <rect class=\"cls-ColumnGrouped-2\" x=\"7.44\" y=\"43.61\" width=\"7.44\" height=\"52.39\"/>\r\n <rect class=\"cls-ColumnGrouped-3\" x=\"22.31\" y=\"52.06\" width=\"7.44\" height=\"43.94\"/>\r\n <rect class=\"cls-ColumnGrouped-2\" x=\"40.56\" y=\"34.48\" width=\"7.44\" height=\"61.52\"/>\r\n <rect class=\"cls-ColumnGrouped-3\" x=\"55.44\" y=\"19.27\" width=\"7.44\" height=\"76.73\"/>\r\n <rect class=\"cls-ColumnGrouped-2\" x=\"73.69\" y=\"12.17\" width=\"7.44\" height=\"83.83\"/>\r\n <rect class=\"cls-ColumnGrouped-4\" y=\"20.28\" width=\"7.44\" height=\"75.72\"/>\r\n <rect class=\"cls-ColumnGrouped-4\" x=\"33.13\" y=\"71.32\" width=\"7.44\" height=\"24.68\"/>\r\n <rect class=\"cls-ColumnGrouped-4\" x=\"66.25\" y=\"51.04\" width=\"7.44\" height=\"44.96\"/>\r\n <rect class=\"cls-ColumnGrouped-3\" x=\"88.56\" y=\"63.21\" width=\"7.44\" height=\"32.79\"/>\r\n </g>\r\n</svg>\r\n`;\r\nexport const ColumnStacked = `\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 96 96\">\r\n <defs>\r\n <style>.cls-ColumnStacked-1{fill:#ab4191;}.cls-ColumnStacked-1,.cls-ColumnStacked-2,.cls-ColumnStacked-3,.cls-ColumnStacked-4{fill-rule:evenodd;}.cls-ColumnStacked-2{fill:#f05951;}.cls-ColumnStacked-3{fill:#fa8d3d;}.cls-ColumnStacked-4{fill:#0f6860;}</style>\r\n </defs>\r\n <g id=\"ChartNames\">\r\n <path class=\"cls-ColumnStacked-1\" d=\"M0,44.4V78.55H13.81V44.4ZM16.44,9.87V78.55H30.25V9.87ZM32.88,25.8V78.55h13.8V25.8Zm16.44,19V82.34h13.8V44.77ZM65.75,0V78.55H79.56V0ZM82.19,37.94V86.13H96V37.94Z\"/>\r\n <path class=\"cls-ColumnStacked-2\" d=\"M16.44,36.05v42.5H30.25V36.05Zm49.31-.38V78.55H79.56V35.67ZM32.88,52V78.55h13.8V52ZM49.32,57.3v25h13.8v-25Zm32.87-1.14v30H96v-30ZM0,57.68V78.55H13.81V57.68Z\"/>\r\n <path class=\"cls-ColumnStacked-3\" d=\"M32.88,63.37V78.55h13.8V63.37Zm16.44,2.27v16.7h13.8V65.64Zm32.87,3V86.13H96V68.68ZM16.44,53.5v25H30.25v-25Zm49.31,3v22H79.56v-22ZM0,67.54v14H13.81v-14Z\"/>\r\n <path class=\"cls-ColumnStacked-4\" d=\"M16.44,71.72V96H30.25V71.72Zm49.31,1.51V96H79.56V73.23ZM32.88,77V96h13.8V77Zm16.44,3.79V96h13.8V80.82Zm32.87,3V96H96V83.86ZM0,81.2V96H13.81V81.2Z\"/>\r\n </g>\r\n</svg>\r\n`;\r\nexport const Line100Stacked = `\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 96 96\">\r\n <defs>\r\n <style>.cls-Line100Stacked-1,.cls-Line100Stacked-2,.cls-Line100Stacked-3,.cls-Line100Stacked-4{fill:none;stroke-miterlimit:10;stroke-width:2px;fill-rule:evenodd;}.cls-Line100Stacked-1{stroke:#ab4191;}.cls-Line100Stacked-2{stroke:#f05951;}.cls-Line100Stacked-3{stroke:#fa8d3d;}.cls-Line100Stacked-4{stroke:#0f6860;}</style>\r\n </defs>\r\n <g id=\"ChartNames\">\r\n <polyline class=\"cls-Line100Stacked-1\" points=\"0 29.37 17.34 19.88 38.74 29.52 58.65 32.18 80.42 28.87 96 24.56\"/>\r\n <polyline class=\"cls-Line100Stacked-2\" points=\"0 42.5 17.34 37.81 38.37 41.12 59.02 42.11 80.42 37.81 96 41.85\"/>\r\n <polyline class=\"cls-Line100Stacked-3\" points=\"0 66.68 17.34 59.32 38.37 72.9 59.76 55.35 96 65.16\"/>\r\n <polyline class=\"cls-Line100Stacked-4\" points=\"0 85.81 17.34 78.52 59.39 88.12 80.78 76.87 96 82.48\"/>\r\n </g>\r\n</svg>\r\n`;\r\nexport const LineGrouped = `\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 96 96\">\r\n <defs>\r\n <style>.cls-LineGrouped-1,.cls-LineGrouped-2,.cls-LineGrouped-3,.cls-LineGrouped-4{fill:none;stroke-miterlimit:10;stroke-width:2px;}.cls-LineGrouped-1{stroke:#ab4191;}.cls-LineGrouped-2{stroke:#f05951;}.cls-LineGrouped-3{stroke:#fa8d3d;}.cls-LineGrouped-4{stroke:#0f6860;}</style>\r\n </defs>\r\n <g id=\"ChartNames\">\r\n <polyline class=\"cls-LineGrouped-1\" points=\"0 31.14 4.12 20.49 11.66 36.91 16.09 36.66 24.41 46.48 27.96 47.14 32.04 44.59 36.46 46.81 40.19 44.59 45.04 45.82 47.99 49.2 51.98 48.87 59.96 52.84 63.95 51.52 68.28 51.52 74.78 53.74 85.36 41.04 96 17.86 96 18.27\"/>\r\n <polyline class=\"cls-LineGrouped-2\" points=\"0 61.42 3.9 56.96 7.98 61.25 15.61 60.59 24.28 69.75 27.57 71.15 31.99 67.52 35.81 69.17 40.06 67.19 48.04 70.08 51.76 69.17 59.07 73.36 68.06 72.06 75.87 68.01 79.25 63.06 82.37 59.93 88.01 57.37 91.99 52.01 96 36.5 96 35.45\"/>\r\n <polyline class=\"cls-LineGrouped-3\" points=\"0 79.47 5.11 77.91 8.5 78.81 16.13 77.41 20.72 80.71 27.4 84.17 37.8 83.52 46.91 85.58 52.02 79.31 60.35 84.59 90.95 89.87 96 85.5\"/>\r\n <polyline class=\"cls-LineGrouped-4\" points=\"0 92.26 14.7 90.69 19.9 92.1 24.93 90.03 30.13 91.1 47.13 90.78 51.72 89.12 56.75 90.69 71.06 90.11 83.63 83.1 96 79.33\"/>\r\n </g>\r\n</svg>\r\n`;\r\nexport const LineStacked = `\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 96 96\">\r\n <defs>\r\n <style>.cls-LineStacked-1,.cls-LineStacked-2,.cls-LineStacked-3,.cls-LineStacked-4{fill:none;stroke-miterlimit:10;stroke-width:2px;fill-rule:evenodd;}.cls-LineStacked-1{stroke:#ab4191;}.cls-LineStacked-2{stroke:#f05951;}.cls-LineStacked-3{stroke:#fa8d3d;}.cls-LineStacked-4{stroke:#0f6860;}</style>\r\n </defs>\r\n <g id=\"ChartNames\">\r\n <polyline class=\"cls-LineStacked-1\" points=\"0 80.39 14.23 67.93 31.11 68.6 47.9 59.83 65.4 39.39 81.92 33.46 96 14.25\"/>\r\n <polyline class=\"cls-LineStacked-2\" points=\"0 85.07 14.32 75.65 31.47 78.74 48.25 68.72 64.86 68.97 82.1 43.77 96 36.04\"/>\r\n <polyline class=\"cls-LineStacked-3\" points=\"0 90.45 14.14 83.91 30.93 84.66 48.17 79.07 64.86 78.07 82.28 62.38 96 59.21\"/>\r\n <polyline class=\"cls-LineStacked-4\" points=\"0 96 31.16 90.78 64.95 88.38 82.19 77.78 96 74.53\"/>\r\n </g>\r\n</svg>\r\n`;\r\nexport const Pie = `\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 96 96\">\r\n <defs>\r\n <style>.cls-Pie-1{fill:#f05951;}.cls-Pie-1,.cls-Pie-2,.cls-Pie-3,.cls-Pie-4{fill-rule:evenodd;}.cls-Pie-2{fill:#fa8d3d;}.cls-Pie-3{fill:#0f6860;}.cls-Pie-4{fill:#ab4191;}</style>\r\n </defs>\r\n <g id=\"ChartNames\">\r\n <path class=\"cls-Pie-1\" d=\"M44.19,48V3.79A43.27,43.27,0,0,0,3,32.3,43.45,43.45,0,0,0,15,81Z\"/>\r\n <path class=\"cls-Pie-2\" d=\"M44.19,48,15,81a42.63,42.63,0,0,0,37.7,10.28,42.72,42.72,0,0,0,31-23.78Z\"/>\r\n <path class=\"cls-Pie-3\" d=\"M51.77,48,91.29,67.53a42.87,42.87,0,0,0,.53-38Z\"/>\r\n <path class=\"cls-Pie-4\" d=\"M44.19,48,84.24,29.52a43.13,43.13,0,0,0-40-25.73Z\"/>\r\n </g>\r\n</svg>\r\n`;\r\nexport const ScatterBubble = `\r\n <svg id=\"Layer_1\" data-name=\"Layer 1\"\r\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 96 96\">\r\n <defs>\r\n <style>.cls-ScatterBubble-1{fill:#f05951;}.cls-ScatterBubble-1,.cls-ScatterBubble-2{stroke:#fff;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.5px;}.cls-ScatterBubble-2{fill:#ab4191;}</style>\r\n </defs>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"6.06\" cy=\"85.05\" r=\"2.33\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"16.57\" cy=\"83.89\" r=\"2.33\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"13.07\" cy=\"78.83\" r=\"2.33\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"39.52\" cy=\"59.38\" r=\"2.33\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"35.63\" cy=\"53.94\" r=\"2.33\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"7.62\" cy=\"70.27\" r=\"2.33\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"20.85\" cy=\"71.44\" r=\"2.33\"/>\r\n <circle class=\"cls-ScatterBubble-2\" cx=\"8.79\" cy=\"84.28\" r=\"3.11\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"18.9\" cy=\"67.16\" r=\"3.11\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"36.4\" cy=\"59.77\" r=\"3.11\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"63.24\" cy=\"21.26\" r=\"3.11\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"25.12\" cy=\"70.27\" r=\"3.11\"/>\r\n <circle class=\"cls-ScatterBubble-2\" cx=\"9.18\" cy=\"71.83\" r=\"3.11\"/>\r\n <circle class=\"cls-ScatterBubble-2\" cx=\"13.07\" cy=\"47.32\" r=\"3.11\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"8.01\" cy=\"60.94\" r=\"4.28\"/>\r\n <circle class=\"cls-ScatterBubble-2\" cx=\"22.4\" cy=\"74.94\" r=\"4.28\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"29.79\" cy=\"54.33\" r=\"4.28\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"73.75\" cy=\"30.99\" r=\"4.28\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"62.47\" cy=\"34.88\" r=\"4.28\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"16.57\" cy=\"48.88\" r=\"4.28\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"44.18\" cy=\"28.26\" r=\"4.28\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"16.57\" cy=\"61.33\" r=\"4.28\"/>\r\n <circle class=\"cls-ScatterBubble-2\" cx=\"29.79\" cy=\"49.66\" r=\"5.06\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"47.68\" cy=\"53.94\" r=\"5.83\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"62.08\" cy=\"26.32\" r=\"5.06\"/>\r\n <circle class=\"cls-ScatterBubble-2\" cx=\"86.58\" cy=\"39.93\" r=\"5.06\"/>\r\n <circle class=\"cls-ScatterBubble-2\" cx=\"70.63\" cy=\"33.32\" r=\"5.06\"/>\r\n <circle class=\"cls-ScatterBubble-2\" cx=\"64.8\" cy=\"33.32\" r=\"6.22\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"25.9\" cy=\"32.15\" r=\"6.22\"/>\r\n <circle class=\"cls-ScatterBubble-2\" cx=\"39.52\" cy=\"74.16\" r=\"6.61\"/>\r\n <circle class=\"cls-ScatterBubble-2\" cx=\"56.23\" cy=\"81.54\" r=\"6.22\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"51.19\" cy=\"74.16\" r=\"8.17\"/>\r\n <circle class=\"cls-ScatterBubble-2\" cx=\"42.24\" cy=\"38.77\" r=\"8.17\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"50.8\" cy=\"60.94\" r=\"8.17\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"41.85\" cy=\"34.88\" r=\"9.34\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"52.35\" cy=\"31.76\" r=\"11.28\"/>\r\n <circle class=\"cls-ScatterBubble-2\" cx=\"58.97\" cy=\"53.55\" r=\"12.84\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"37.57\" cy=\"81.55\" r=\"9.72\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"58.58\" cy=\"50.44\" r=\"6.22\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"51.57\" cy=\"53.55\" r=\"7\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"53.52\" cy=\"34.49\" r=\"7\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"57.41\" cy=\"11.93\" r=\"7\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"86.19\" cy=\"57.83\" r=\"5.45\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"20.85\" cy=\"66.38\" r=\"5.45\"/>\r\n <circle class=\"cls-ScatterBubble-2\" cx=\"38.35\" cy=\"58.6\" r=\"5.06\"/>\r\n <circle class=\"cls-ScatterBubble-2\" cx=\"15.79\" cy=\"64.05\" r=\"5.06\"/>\r\n <circle class=\"cls-ScatterBubble-1\" cx=\"28.24\" cy=\"74.55\" r=\"5.06\"/>\r\n <circle class=\"cls-ScatterBubble-2\" cx=\"57.02\" cy=\"22.04\" r=\"4.28\"/>\r\n</svg>\r\n`;\r\nexport const ScatterLine = `\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 96 96\">\r\n <defs>\r\n <style>.cls-ScatterLine-1,.cls-ScatterLine-2,.cls-ScatterLine-3,.cls-ScatterLine-4{fill:none;stroke-miterlimit:10;stroke-width:2px;}.cls-ScatterLine-1{stroke:#0f6860;}.cls-ScatterLine-1,.cls-ScatterLine-2,.cls-ScatterLine-3,.cls-ScatterLine-4,.cls-ScatterLine-5,.cls-ScatterLine-7,.cls-ScatterLine-8,.cls-ScatterLine-9{fill-rule:evenodd;}.cls-ScatterLine-2{stroke:#fa8d3d;}.cls-ScatterLine-3{stroke:#f05951;}.cls-ScatterLine-4{stroke:#ab4191;}.cls-ScatterLine-5{fill:#ab4191;}.cls-ScatterLine-6{fill:#fff;}.cls-ScatterLine-7{fill:#f05951;}.cls-ScatterLine-8{fill:#0f6860;}.cls-ScatterLine-9{fill:#fa8d3d;}</style>\r\n </defs>\r\n <g id=\"ChartNames\">\r\n <polyline class=\"cls-ScatterLine-1\" points=\"26.86 87.32 37.71 81.09 60.66 85.34 75.57 71.13 82.69 60.02 88.09 48.86\"/>\r\n <polyline class=\"cls-ScatterLine-2\" points=\"10.6 85.36 16.86 76.38 32.22 58.89 55.26 41.45 60.02 31.09 69.79 23.41 88.32 6.3\"/>\r\n <polyline class=\"cls-ScatterLine-3\" points=\"60.19 7.22 47.42 10.06 35.31 14.73 18.95 32.1 17.53 50.04 10.44 58.56\"/>\r\n <polyline class=\"cls-ScatterLine-4\" points=\"23.58 4.76 10.97 12.44 8.47 29.72\"/>\r\n <path class=\"cls-ScatterLine-5\" d=\"M8.69,12.61a2.51,2.51,0,1,0,2.5-2.51A2.5,2.5,0,0,0,8.69,12.61Zm1,0a1.5,1.5,0,1,1,1.5,1.5A1.5,1.5,0,0,1,9.69,12.61Z\"/>\r\n <circle class=\"cls-ScatterLine-6\" cx=\"11.19\" cy=\"12.61\" r=\"1.5\"/>\r\n <path class=\"cls-ScatterLine-5\" d=\"M21,4.59a2.51,2.51,0,1,0,2.51-2.5A2.51,2.51,0,0,0,21,4.59Zm1,0A1.51,1.51,0,1,1,23.55,6.1,1.5,1.5,0,0,1,22,4.59Z\"/>\r\n <circle class=\"cls-ScatterLine-6\" cx=\"23.55\" cy=\"4.59\" r=\"1.5\"/>\r\n <path class=\"cls-ScatterLine-5\" d=\"M6,29.64a2.5,2.5,0,1,0,2.5-2.51A2.5,2.5,0,0,0,6,29.64Zm1,0a1.5,1.5,0,1,1,1.5,1.5A1.5,1.5,0,0,1,7,29.64Z\"/>\r\n <circle class=\"cls-ScatterLine-6\" cx=\"8.52\" cy=\"29.64\" r=\"1.5\"/>\r\n <path class=\"cls-ScatterLine-7\" d=\"M57.43,7.26a2.51,2.51,0,1,0,2.51-2.5A2.51,2.51,0,0,0,57.43,7.26Zm1,0a1.51,1.51,0,1,1,1.51,1.51A1.51,1.51,0,0,1,58.43,7.26Z\"/>\r\n <circle class=\"cls-ScatterLine-6\" cx=\"59.94\" cy=\"7.26\" r=\"1.5\"/>\r\n <path class=\"cls-ScatterLine-7\" d=\"M44.74,10.24a2.51,2.51,0,1,0,2.51-2.51A2.51,2.51,0,0,0,44.74,10.24Zm1,0a1.5,1.5,0,1,1,1.5,1.5A1.5,1.5,0,0,1,45.75,10.24Z\"/>\r\n <circle class=\"cls-ScatterLine-6\" cx=\"47.25\" cy=\"10.24\" r=\"1.5\"/>\r\n <path class=\"cls-ScatterLine-7\" d=\"M33.06,14.94a2.51,2.51,0,1,0,2.5-2.5A2.5,2.5,0,0,0,33.06,14.94Zm1,0a1.5,1.5,0,1,1,1.5,1.51A1.5,1.5,0,0,1,34.06,14.94Z\"/>\r\n <circle class=\"cls-ScatterLine-6\" cx=\"35.56\" cy=\"14.94\" r=\"1.5\"/>\r\n <path class=\"cls-ScatterLine-7\" d=\"M16.36,32.08a2.51,2.51,0,1,0,2.51-2.5A2.51,2.51,0,0,0,16.36,32.08Zm1,0a1.51,1.51,0,1,1,1.51,1.5A1.5,1.5,0,0,1,17.36,32.08Z\"/>\r\n <circle class=\"cls-ScatterLine-6\" cx=\"18.87\" cy=\"32.08\" r=\"1.5\"/>\r\n <path class=\"cls-ScatterLine-7\" d=\"M14.69,50.34a2.51,2.51,0,1,0,2.51-2.51A2.5,2.5,0,0,0,14.69,50.34Zm1,0a1.51,1.51,0,1,1,3,0,1.51,1.51,0,0,1-3,0Z\"/>\r\n <circle class=\"cls-ScatterLine-6\" cx=\"17.2\" cy=\"50.34\" r=\"1.5\"/>\r\n <path class=\"cls-ScatterLine-7\" d=\"M8,58.24a2.51,2.51,0,1,0,2.5-2.51A2.5,2.5,0,0,0,8,58.24Zm1,0a1.5,1.5,0,1,1,1.5,1.5A1.5,1.5,0,0,1,9,58.24Z\"/>\r\n <circle class=\"cls-ScatterLine-6\" cx=\"10.48\" cy=\"58.24\" r=\"1.5\"/>\r\n <path class=\"cls-ScatterLine-8\" d=\"M80.54,60a2.5,2.5,0,1,0,2.5-2.5A2.51,2.51,0,0,0,80.54,60Zm1,0a1.5,1.5,0,1,1,1.5,1.5A1.5,1.5,0,0,1,81.54,60Z\"/>\r\n <circle class=\"cls-ScatterLine-6\" cx=\"83.04\" cy=\"60.02\" r=\"1.5\"/>\r\n <path class=\"cls-ScatterLine-8\" d=\"M85.58,49a2.51,2.51,0,1,0,2.51-2.5A2.51,2.51,0,0,0,85.58,49Zm1,0a1.51,1.51,0,1,1,1.51,1.5A1.51,1.51,0,0,1,86.58,49Z\"/>\r\n <circle class=\"cls-ScatterLine-6\" cx=\"88.09\" cy=\"49\" r=\"1.5\"/>\r\n <path class=\"cls-ScatterLine-8\" d=\"M73.27,71.18a2.51,2.51,0,1,0,2.5-2.5A2.51,2.51,0,0,0,73.27,71.18Zm1,0a1.5,1.5,0,1,1,1.5,1.51A1.5,1.5,0,0,1,74.27,71.18Z\"/>\r\n <circle class=\"cls-ScatterLine-6\" cx=\"75.77\" cy=\"71.18\" r=\"1.5\"/>\r\n <path class=\"cls-ScatterLine-8\" d=\"M58.16,85.65a2.5,2.5,0,1,0,2.5-2.51A2.5,2.5,0,0,0,58.16,85.65Zm1,0a1.5,1.5,0,1,1,1.5,1.5A1.51,1.51,0,0,1,59.16,85.65Z\"/>\r\n <circle class=\"cls-ScatterLine-6\" cx=\"60.66\" cy=\"85.65\" r=\"1.5\"/>\r\n <path class=\"cls-ScatterLine-8\" d=\"M35.2,81.53A2.51,2.51,0,1,0,37.71,79,2.52,2.52,0,0,0,35.2,81.53Zm1,0A1.51,1.51,0,1,1,37.71,83,1.51,1.51,0,0,1,36.2,81.53Z\"/>\r\n <circle class=\"cls-ScatterLine-6\" cx=\"37.71\" cy=\"81.53\" r=\"1.5\"/>\r\n <path class=\"cls-ScatterLine-8\" d=\"M24.35,87.32a2.51,2.51,0,1,0,2.51-2.51A2.5,2.5,0,0,0,24.35,87.32Zm1,0a1.51,1.51,0,1,1,1.51,1.5A1.51,1.51,0,0,1,25.35,87.32Z\"/>\r\n <circle class=\"cls-ScatterLine-6\" cx=\"26.86\" cy=\"87.32\" r=\"1.5\"/>\r\n <path class=\"cls-ScatterLine-9\" d=\"M8,85.73a2.51,2.51,0,1,0,2.51-2.5A2.52,2.52,0,0,0,8,85.73Zm1,0a1.5,1.5,0,1,1,1.5,1.5A1.5,1.5,0,0,1,9,85.73Z\"/>\r\n <circle class=\"cls-ScatterLine-6\" cx=\"10.48\" cy=\"85.73\" r=\"1.5\"/>\r\n <path class=\"cls-ScatterLine-9\" d=\"M13.36,77.38a2.51,2.51,0,1,0,2.5-2.5A2.5,2.5,0,0,0,13.36,77.38Zm1,0a1.51,1.51,0,1,1,1.5,1.51A1.5,1.5,0,0,1,14.36,77.38Z\"/>\r\n <circle class=\"cls-ScatterLine-6\" cx=\"15.86\" cy=\"77.38\" r=\"1.5\"/>\r\n <path class=\"cls-ScatterLine-9\" d=\"M19,70.71a2.51,2.51,0,1,0,2.51-2.51A2.5,2.5,0,0,0,19,70.71Zm1,0a1.51,1.51,0,1,1,1.51,1.5A1.51,1.51,0,0,1,20,70.71Z\"/>\r\n <circle class=\"cls-ScatterLine-6\" cx=\"21.54\" cy=\"70.71\" r=\"1.5\"/>\r\n <path class=\"cls-ScatterLine-9\" d=\"M29.44,58.91a2.51,2.51,0,1,0,2.5-2.51A2.5,2.5,0,0,0,29.44,58.91Zm1,0a1.5,1.5,0,1,1,1.5,1.5A1.51,1.51,0,0,1,30.44,58.91Z\"/>\r\n <circle class=\"cls-ScatterLine-6\" cx=\"31.94\" cy=\"58.91\" r=\"1.5\"/>\r\n <path class=\"cls-ScatterLine-9\" d=\"M41.41,49.67a2.5,2.5,0,1,0,2.5-2.5A2.5,2.5,0,0,0,41.41,49.67Zm1,0a1.5,1.5,0,1,1,1.5,1.5A1.5,1.5,0,0,1,42.41,49.67Z\"/>\r\n <circle class=\"cls-ScatterLine-6\" cx=\"43.91\" cy=\"49.67\" r=\"1.5\"/>\r\n <path class=\"cls-ScatterLine-9\" d=\"M52.76,41.66a2.51,2.51,0,1,0,2.5-2.51A2.5,2.5,0,0,0,52.76,41.66Zm1,0a1.51,1.51,0,1,1,1.5,1.5A1.5,1.5,0,0,1,53.76,41.66Z\"/>\r\n <circle class=\"cls-ScatterLine-6\" cx=\"55.26\" cy=\"41.66\" r=\"1.5\"/>\r\n <path class=\"cls-ScatterLine-9\" d=\"M57.77,31.3a2.51,2.51,0,1,0,2.5-2.5A2.5,2.5,0,0,0,57.77,31.3Zm1,0a1.5,1.5,0,1,1,1.5,1.51A1.5,1.5,0,0,1,58.77,31.3Z\"/>\r\n <circle class=\"cls-ScatterLine-6\" cx=\"60.27\" cy=\"31.3\" r=\"1.5\"/>\r\n <path class=\"cls-ScatterLine-9\" d=\"M67.45,23.62a2.51,2.51,0,1,0,2.5-2.5A2.5,2.5,0,0,0,67.45,23.62Zm1,0A1.51,1.51,0,1,1,70,25.13,1.5,1.5,0,0,1,68.45,23.62Z\"/>\r\n <circle class=\"cls-ScatterLine-6\" cx=\"69.95\" cy=\"23.62\" r=\"1.5\"/>\r\n <path class=\"cls-ScatterLine-9\" d=\"M85.82,6.59a2.5,2.5,0,1,0,2.5-2.5A2.5,2.5,0,0,0,85.82,6.59Zm1,0a1.5,1.5,0,1,1,1.5,1.51A1.5,1.5,0,0,1,86.82,6.59Z\"/>\r\n <circle class=\"cls-ScatterLine-6\" cx=\"88.32\" cy=\"6.59\" r=\"1.5\"/>\r\n </g>\r\n</svg>\r\n`;\r\nexport const ScatterPoint = `\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 96 96\">\r\n <defs>\r\n <style>.cls-ScatterPoint-1{fill:#ab4191;}.cls-ScatterPoint-1,.cls-ScatterPoint-3,.cls-ScatterPoint-4{fill-rule:evenodd;}.cls-ScatterPoint-2{fill:#fff;}.cls-ScatterPoint-3{fill:#f05951;}.cls-ScatterPoint-4{fill:#fa8d3d;}</style>\r\n </defs>\r\n <g id=\"ChartNames\">\r\n <path class=\"cls-ScatterPoint-1\" d=\"M6.42,7.64A2.37,2.37,0,1,0,8.79,5.28,2.37,2.37,0,0,0,6.42,7.64Zm1,0A1.42,1.42,0,1,1,8.79,9.06,1.41,1.41,0,0,1,7.37,7.64Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"8.79\" cy=\"7.64\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-1\" d=\"M12.09,10a2.37,2.37,0,1,0,2.37-2.37A2.37,2.37,0,0,0,12.09,10ZM13,10a1.42,1.42,0,1,1,1.42,1.41A1.41,1.41,0,0,1,13,10Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"14.46\" cy=\"10.01\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-1\" d=\"M22,8.59a2.37,2.37,0,1,0,2.37-2.36A2.37,2.37,0,0,0,22,8.59Zm.95,0A1.42,1.42,0,1,1,24.38,10,1.41,1.41,0,0,1,23,8.59Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"24.38\" cy=\"8.59\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-1\" d=\"M14.46,14.73a2.36,2.36,0,1,0,2.36-2.36A2.36,2.36,0,0,0,14.46,14.73Zm.94,0a1.42,1.42,0,1,1,1.42,1.42A1.42,1.42,0,0,1,15.4,14.73Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"16.82\" cy=\"14.73\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-1\" d=\"M11.62,31.27A2.37,2.37,0,1,0,14,28.9,2.36,2.36,0,0,0,11.62,31.27Zm1,0A1.42,1.42,0,1,1,14,32.68,1.41,1.41,0,0,1,12.57,31.27Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"13.98\" cy=\"31.27\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-1\" d=\"M3.12,28.9a2.36,2.36,0,1,0,2.36-2.36A2.36,2.36,0,0,0,3.12,28.9Zm.94,0a1.42,1.42,0,1,1,1.42,1.42A1.41,1.41,0,0,1,4.06,28.9Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"5.48\" cy=\"28.9\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-1\" d=\"M2.64,34.57A2.37,2.37,0,1,0,5,32.21,2.37,2.37,0,0,0,2.64,34.57Zm.95,0A1.42,1.42,0,1,1,5,36,1.41,1.41,0,0,1,3.59,34.57Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"5.01\" cy=\"34.57\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-1\" d=\"M.75,37.88a2.37,2.37,0,1,0,2.37-2.36A2.36,2.36,0,0,0,.75,37.88Zm1,0A1.42,1.42,0,1,1,3.12,39.3,1.42,1.42,0,0,1,1.7,37.88Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"3.12\" cy=\"37.88\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-1\" d=\"M1.23,44.5a2.36,2.36,0,1,0,2.36-2.37A2.36,2.36,0,0,0,1.23,44.5Zm.94,0a1.42,1.42,0,1,1,1.42,1.41A1.41,1.41,0,0,1,2.17,44.5Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"3.59\" cy=\"44.5\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-1\" d=\"M2.64,66.23A2.37,2.37,0,1,0,5,63.87,2.37,2.37,0,0,0,2.64,66.23Zm.95,0A1.42,1.42,0,1,1,5,67.65,1.41,1.41,0,0,1,3.59,66.23Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"5.01\" cy=\"66.23\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-1\" d=\"M26.27,75.21a2.36,2.36,0,1,0,2.36-2.37A2.36,2.36,0,0,0,26.27,75.21Zm.94,0a1.42,1.42,0,1,1,1.42,1.41A1.41,1.41,0,0,1,27.21,75.21Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"28.63\" cy=\"75.21\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-1\" d=\"M9.73,52.06a2.37,2.37,0,1,0,2.36-2.37A2.36,2.36,0,0,0,9.73,52.06Zm.95,0a1.42,1.42,0,1,1,1.41,1.41A1.41,1.41,0,0,1,10.68,52.06Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"12.09\" cy=\"52.06\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-1\" d=\"M14.46,48.75a2.36,2.36,0,1,0,2.36-2.36A2.36,2.36,0,0,0,14.46,48.75Zm.94,0a1.42,1.42,0,1,1,1.42,1.42A1.41,1.41,0,0,1,15.4,48.75Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"16.82\" cy=\"48.75\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-1\" d=\"M14.46,41.66a2.36,2.36,0,1,0,2.36-2.36A2.36,2.36,0,0,0,14.46,41.66Zm.94,0a1.42,1.42,0,1,1,1.42,1.42A1.42,1.42,0,0,1,15.4,41.66Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"16.82\" cy=\"41.66\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-1\" d=\"M22.49,44.5a2.36,2.36,0,1,0,2.36-2.37A2.36,2.36,0,0,0,22.49,44.5Zm.94,0a1.42,1.42,0,1,1,1.42,1.41A1.42,1.42,0,0,1,23.43,44.5Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"24.85\" cy=\"44.5\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-1\" d=\"M30.52,44a2.36,2.36,0,1,0,2.36-2.36A2.37,2.37,0,0,0,30.52,44Zm.94,0a1.42,1.42,0,1,1,1.42,1.42A1.42,1.42,0,0,1,31.46,44Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"32.88\" cy=\"44.02\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-3\" d=\"M19.18,87.88a2.36,2.36,0,1,0,2.36-2.36A2.37,2.37,0,0,0,19.18,87.88Zm.94,0a1.42,1.42,0,1,1,1.42,1.42A1.42,1.42,0,0,1,20.12,87.88Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"21.54\" cy=\"87.88\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-3\" d=\"M30.52,67.65a2.36,2.36,0,1,0,2.36-2.37A2.36,2.36,0,0,0,30.52,67.65Zm.94,0a1.42,1.42,0,1,1,1.42,1.41A1.42,1.42,0,0,1,31.46,67.65Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"32.88\" cy=\"67.65\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-3\" d=\"M41.86,51.58a2.36,2.36,0,1,0,2.36-2.36A2.36,2.36,0,0,0,41.86,51.58Zm.94,0A1.42,1.42,0,1,1,44.22,53,1.42,1.42,0,0,1,42.8,51.58Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"44.22\" cy=\"51.58\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-3\" d=\"M41.86,53.94a2.36,2.36,0,1,0,2.36-2.36A2.37,2.37,0,0,0,41.86,53.94Zm.94,0a1.42,1.42,0,1,1,1.42,1.42A1.42,1.42,0,0,1,42.8,53.94Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"44.22\" cy=\"53.94\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-3\" d=\"M41.86,63.39A2.36,2.36,0,1,0,44.22,61,2.37,2.37,0,0,0,41.86,63.39Zm.94,0a1.42,1.42,0,1,1,1.42,1.42A1.42,1.42,0,0,1,42.8,63.39Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"44.22\" cy=\"63.39\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-3\" d=\"M41.86,71.43a2.36,2.36,0,1,0,2.36-2.37A2.36,2.36,0,0,0,41.86,71.43Zm.94,0a1.42,1.42,0,1,1,1.42,1.41A1.42,1.42,0,0,1,42.8,71.43Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"44.22\" cy=\"71.43\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-3\" d=\"M53.2,83.24a2.36,2.36,0,1,0,2.36-2.36A2.36,2.36,0,0,0,53.2,83.24Zm.94,0a1.42,1.42,0,1,1,1.42,1.41A1.42,1.42,0,0,1,54.14,83.24Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"55.56\" cy=\"83.24\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-3\" d=\"M64.06,75.21a2.37,2.37,0,1,0,2.37-2.37A2.37,2.37,0,0,0,64.06,75.21Zm1,0a1.42,1.42,0,1,1,1.42,1.41A1.41,1.41,0,0,1,65,75.21Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"66.43\" cy=\"75.21\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-3\" d=\"M64.06,63.39A2.37,2.37,0,1,0,66.43,61,2.37,2.37,0,0,0,64.06,63.39Zm1,0a1.42,1.42,0,1,1,1.42,1.42A1.41,1.41,0,0,1,65,63.39Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"66.43\" cy=\"63.39\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-3\" d=\"M75.4,71.43a2.37,2.37,0,1,0,2.36-2.37A2.36,2.36,0,0,0,75.4,71.43Zm.95,0a1.42,1.42,0,1,1,1.41,1.41A1.41,1.41,0,0,1,76.35,71.43Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"77.76\" cy=\"71.43\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-3\" d=\"M75.4,55.83a2.37,2.37,0,1,0,2.36-2.36A2.37,2.37,0,0,0,75.4,55.83Zm.95,0a1.42,1.42,0,1,1,1.41,1.42A1.41,1.41,0,0,1,76.35,55.83Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"77.76\" cy=\"55.83\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-3\" d=\"M75.4,24.81a2.37,2.37,0,1,0,2.36-2.36A2.36,2.36,0,0,0,75.4,24.81Zm.95,0a1.42,1.42,0,1,1,1.41,1.42A1.41,1.41,0,0,1,76.35,24.81Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"77.76\" cy=\"24.81\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-3\" d=\"M75.4,22a2.37,2.37,0,1,0,2.36-2.36A2.37,2.37,0,0,0,75.4,22Zm.95,0a1.42,1.42,0,1,1,1.41,1.42A1.41,1.41,0,0,1,76.35,22Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"77.76\" cy=\"21.97\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-3\" d=\"M86.74,84.1a2.37,2.37,0,1,0,2.36-2.36A2.37,2.37,0,0,0,86.74,84.1Zm1,0a1.42,1.42,0,1,1,1.41,1.42A1.41,1.41,0,0,1,87.69,84.1Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"89.1\" cy=\"84.1\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-3\" d=\"M86.74,71a2.37,2.37,0,1,0,2.36-2.36A2.37,2.37,0,0,0,86.74,71Zm1,0a1.42,1.42,0,1,1,1.41,1.42A1.41,1.41,0,0,1,87.69,71Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"89.1\" cy=\"70.95\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-3\" d=\"M41.86,88.36A2.36,2.36,0,1,0,44.22,86,2.36,2.36,0,0,0,41.86,88.36Zm.94,0a1.42,1.42,0,1,1,1.42,1.41A1.42,1.42,0,0,1,42.8,88.36Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"44.22\" cy=\"88.36\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-3\" d=\"M30.52,71.43a2.36,2.36,0,1,0,2.36-2.37A2.36,2.36,0,0,0,30.52,71.43Zm.94,0a1.42,1.42,0,1,1,1.42,1.41A1.42,1.42,0,0,1,31.46,71.43Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"32.88\" cy=\"71.43\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-4\" d=\"M19.65,64.34A2.37,2.37,0,1,0,22,62,2.36,2.36,0,0,0,19.65,64.34Zm1,0A1.42,1.42,0,1,1,22,65.76,1.41,1.41,0,0,1,20.6,64.34Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"22.01\" cy=\"64.34\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-4\" d=\"M30.52,50.64a2.36,2.36,0,1,0,2.36-2.36A2.36,2.36,0,0,0,30.52,50.64Zm.94,0a1.42,1.42,0,1,1,1.42,1.42A1.42,1.42,0,0,1,31.46,50.64Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"32.88\" cy=\"50.64\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-4\" d=\"M30.52,62.92a2.36,2.36,0,1,0,2.36-2.36A2.36,2.36,0,0,0,30.52,62.92Zm.94,0a1.42,1.42,0,1,1,1.42,1.42A1.43,1.43,0,0,1,31.46,62.92Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"32.88\" cy=\"62.92\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-4\" d=\"M30.52,79a2.36,2.36,0,1,0,2.36-2.37A2.36,2.36,0,0,0,30.52,79Zm.94,0a1.42,1.42,0,1,1,1.42,1.41A1.42,1.42,0,0,1,31.46,79Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"32.88\" cy=\"78.99\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-4\" d=\"M41.86,68.12a2.36,2.36,0,1,0,2.36-2.36A2.36,2.36,0,0,0,41.86,68.12Zm.94,0a1.42,1.42,0,1,1,1.42,1.42A1.42,1.42,0,0,1,42.8,68.12Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"44.22\" cy=\"68.12\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-4\" d=\"M53.2,56.78a2.36,2.36,0,1,0,2.36-2.36A2.36,2.36,0,0,0,53.2,56.78Zm.94,0a1.42,1.42,0,1,1,1.42,1.42A1.43,1.43,0,0,1,54.14,56.78Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"55.56\" cy=\"56.78\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-4\" d=\"M53.2,76.15a2.36,2.36,0,1,0,2.36-2.36A2.36,2.36,0,0,0,53.2,76.15Zm.94,0a1.42,1.42,0,1,1,1.42,1.42A1.43,1.43,0,0,1,54.14,76.15Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"55.56\" cy=\"76.15\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-4\" d=\"M41.86,85.52a2.36,2.36,0,1,0,2.36-2.36A2.36,2.36,0,0,0,41.86,85.52Zm.94,0a1.42,1.42,0,1,1,1.42,1.42A1.43,1.43,0,0,1,42.8,85.52Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"44.22\" cy=\"85.52\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-4\" d=\"M64.06,83.24a2.37,2.37,0,1,0,2.37-2.36A2.37,2.37,0,0,0,64.06,83.24Zm1,0a1.42,1.42,0,1,1,1.42,1.41A1.41,1.41,0,0,1,65,83.24Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"66.43\" cy=\"83.24\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-4\" d=\"M75.4,75.68a2.37,2.37,0,1,0,2.36-2.36A2.36,2.36,0,0,0,75.4,75.68Zm.95,0a1.42,1.42,0,1,1,1.41,1.42A1.41,1.41,0,0,1,76.35,75.68Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"77.76\" cy=\"75.68\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-4\" d=\"M77.76,75.21a2.37,2.37,0,1,0,2.37-2.37A2.37,2.37,0,0,0,77.76,75.21Zm.95,0a1.42,1.42,0,1,1,1.42,1.41A1.41,1.41,0,0,1,78.71,75.21Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"80.13\" cy=\"75.21\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-4\" d=\"M86.27,54.89a2.36,2.36,0,1,0,2.36-2.36A2.36,2.36,0,0,0,86.27,54.89Zm.94,0a1.42,1.42,0,1,1,1.42,1.42A1.43,1.43,0,0,1,87.21,54.89Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"88.63\" cy=\"54.89\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-4\" d=\"M90.52,71a2.37,2.37,0,1,0,2.36-2.36A2.37,2.37,0,0,0,90.52,71Zm1,0a1.42,1.42,0,1,1,1.41,1.42A1.41,1.41,0,0,1,91.47,71Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"92.88\" cy=\"70.95\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-4\" d=\"M86.74,88.36A2.37,2.37,0,1,0,89.1,86,2.36,2.36,0,0,0,86.74,88.36Zm1,0a1.42,1.42,0,1,1,1.41,1.41A1.41,1.41,0,0,1,87.69,88.36Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"89.1\" cy=\"88.36\" r=\"1.42\"/>\r\n <path class=\"cls-ScatterPoint-4\" d=\"M30.52,83.71a2.36,2.36,0,1,0,2.36-2.36A2.36,2.36,0,0,0,30.52,83.71Zm.94,0a1.42,1.42,0,1,1,1.42,1.42A1.43,1.43,0,0,1,31.46,83.71Z\"/>\r\n <circle class=\"cls-ScatterPoint-2\" cx=\"32.88\" cy=\"83.71\" r=\"1.42\"/>\r\n </g>\r\n</svg>\r\n`;\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\n\r\n@Pipe({\r\n name: 'svg',\r\n})\r\nexport class SvgPipe implements PipeTransform {\r\n\r\n constructor(private sanitizer: DomSanitizer) {}\r\n transform(markup: string): SafeHtml {\r\n return this.sanitizer.bypassSecurityTrustHtml(markup);\r\n }\r\n\r\n}\r\n","import {\r\n AfterViewInit,\r\n Component,\r\n EventEmitter,\r\n HostBinding,\r\n Output,\r\n ViewChild,\r\n ViewContainerRef,\r\n ViewEncapsulation,\r\n ElementRef,\r\n CUSTOM_ELEMENTS_SCHEMA\r\n} from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport * as charts from '../../../images/charts';\r\nimport { Subject } from 'rxjs';\r\nimport { ResizeObserver } from '@juggle/resize-observer';\r\nimport { IgxIconComponent } from 'igniteui-angular';\r\nimport { SvgPipe } from '../../pipes/svg.pipe';\r\n\r\n@Component({\r\n selector: 'igx-chart-menu',\r\n templateUrl: './chart-dialog.component.html',\r\n styleUrls: ['./chart-dialog.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n imports: [CommonModule, IgxIconComponent, SvgPipe],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\nexport class IgxChartMenuComponent implements AfterViewInit {\r\n\r\n @ViewChild('chartArea', { read: ViewContainerRef }) public chartArea: ViewContainerRef;\r\n\r\n @Output()\r\n public onClose = new EventEmitter<any>();\r\n\r\n @HostBinding('style.width.px')\r\n public get width() {\r\n return this.fullScreen ? this._width : 0.7 * this._width;\r\n }\r\n public set width(value) {\r\n this._width = value;\r\n }\r\n\r\n @HostBinding('style.height.px')\r\n public get height() {\r\n return this.fullScreen ? this._height : 0.7 * this._height;\r\n }\r\n public set height(value) {\r\n this._height = value;\r\n }\r\n\r\n public chartDialogResizeNotify = new Subject();\r\n private contentObserver: ResizeObserver;\r\n public images;\r\n public chartDirective;\r\n public currentChartType;\r\n public title;\r\n public allCharts = [];\r\n public fullScreen = false;\r\n public isConfigAreaExpanded = false;\r\n public mainChartTypes = ['Column', 'Area', 'Bar', 'Line', 'Scatter', 'Pie'];\r\n private _width;\r\n private _height;\r\n\r\n constructor(private element: ElementRef<any>) {\r\n this.images = charts;\r\n }\r\n\r\n public ngAfterViewInit() {\r\n this.contentObserver = new ResizeObserver((args) => this.chartDialogResizeNotify.next(args));\r\n this.contentObserver.observe(this.element.nativeElement);\r\n\r\n this.createChart(this.currentChartType);\r\n }\r\n\r\n public toggleFullScreen() {\r\n this.fullScreen = !this.fullScreen;\r\n }\r\n\r\n public hasAvailableChart(chartType) {\r\n return this.allCharts.some(c => c.includes(chartType));\r\n }\r\n\r\n public createChart(chartType) {\r\n this.currentChartType = chartType;\r\n this.title = chartType.split(/(?=[A-Z])/).toString().replace(',', ' ');\r\n try {\r\n this.chartArea.clear();\r\n } catch (e) { }\r\n this.chartDirective.chartFactory(chartType, this.chartArea);\r\n }\r\n}\r\n","<div class=\"header\">\r\n <span class=\"header-text\">\r\n {{ title }} Chart\r\n </span>\r\n <span class=\"action-buttons-wrapper\">\r\n <button igxIconButton=\"flat\" (click)=\"toggleFullScreen()\">\r\n <igx-icon class=\"material\">fullscreen{{fullScreen ? '_exit' : ''}}</igx-icon>\r\n </button>\r\n <button igxIconButton=\"flat\" (click)=\"onClose.emit()\">\r\n <igx-icon class=\"material\">close</igx-icon>\r\n </button>\r\n </span>\r\n</div>\r\n<div class=\"selection-area ig-scrollbar\">\r\n <igc-trial-watermark></igc-trial-watermark>\r\n <div class=\"chart-area\" [ngClass]=\"{'expanded': isConfigAreaExpanded}\">\r\n <ng-template #chartArea ></ng-template>\r\n </div>\r\n <div>\r\n <button igxIconButton=\"flat\" igxRipple (click)=\"isConfigAreaExpanded = !isConfigAreaExpanded\">\r\n <igx-icon family=\"material\">chevron_{{ isConfigAreaExpanded ? 'left': 'right'}}</igx-icon>\r\n </button>\r\n </div>\r\n <div #configArea [ngClass]=\"{'chart-config-area': true, 'opened': !isConfigAreaExpanded, 'closed': isConfigAreaExpanded }\">\r\n <div class=\"config-area-header\">\r\n <span>Chart Types</span>\r\n </div>\r\n <igx-divider class=\"divider\"></igx-divider>\r\n <div class=\"wrapper\" *ngFor=\"let chartType of mainChartTypes\">\r\n <ng-container *ngIf=\"hasAvailableChart(chartType)\">\r\n <div>{{chartType | titlecase}} Chart</div>\r\n <div class=\"types-section\">\r\n <ng-container *ngFor=\"let chart of allCharts\">\r\n <span *ngIf=\"chart.startsWith(chartType)\" class=\"types-section-btn\" title=\"{{chart}}\"\r\n [ngClass]=\"{'selected': chart === currentChartType}\" (click)=\"createChart(chart)\">\r\n <div [innerHTML]=\"images[chart] | svg\">\r\n </div>\r\n </span>\r\n </ng-container>\r\n </div>\r\n <igx-divider></igx-divider>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n","// tslint:disable: max-line-length\r\nexport const Clear = `\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\r\n <defs>\r\n <style>.cls-Clear-1{fill-rule:evenodd;}.cls-Clear-2{fill:none;}</style>\r\n </defs>\r\n <g id=\"Layer_2\" data-name=\"Layer 2\">\r\n <g id=\"Layer_1-2\" data-name=\"Layer 1\">\r\n <g id=\"Conditional-formating\">\r\n <g id=\"Artboard\">\r\n <g id=\"refresh-24px\">\r\n <path id=\"Path\" class=\"cls-Clear-1\" d=\"M17.65,6.35A8,8,0,1,0,19.73,14H17.65A6,6,0,1,1,12,6a5.91,5.91,0,0,1,4.22,1.78L13,11h7V4Z\"/>\r\n <polygon class=\"cls-Clear-2\" points=\"0 0 24 0 24 24 0 24 0 0\"/>\r\n </g>\r\n </g>\r\n </g>\r\n </g>\r\n </g>\r\n</svg>\r\n`;\r\nexport const ColorScale = `\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\r\n <path d=\"M13 13.65h5a5.63 5.63 0 00-.09-1H13zM13 10.65h4.19a6.29 6.29 0 00-.74-1H13zM13 19.58a5.87 5.87 0 002.34-.93H13zM13 6.18v1.48h1.48l-1-1-.48-.48zM13 15.65v1h4.2a5.68 5.68 0 00.46-1zM11 6.18L7.76 9.43A6 6 0 0011 19.58z\" fill=\"none\"/>\r\n <path d=\"M16.45 9.65H13v1h4.19a6.29 6.29 0 00-.74-1zM13.48 6.66L13 6.18v1.48h1.48l-1-1zM6 13.66a6 6 0 005 5.92V6.18L7.76 9.42A6 6 0 006 13.66zM13 19.58a5.87 5.87 0 002.34-.93H13zM13 16.65h4.2a5.68 5.68 0 00.46-1H13zM13 12.65v1h5a5.63 5.63 0 00-.09-1z\" fill=\"none\"/>\r\n <path d=\"M19.93 12.66a7.84 7.84 0 00-.51-2 8.48 8.48 0 00-.5-1A7.8 7.8 0 0017.66 8l-.35-.36-.31-.26-.73-.73-2-2-.85-.84L12 2.34 6.34 8A8 8 0 0011 21.58h.21a7 7 0 00.79 0 7.14 7.14 0 00.8 0h.2a7.94 7.94 0 006.93-8.92zM11 19.58A6 6 0 017.76 9.42L11 6.18zm2-12.93v-.47l.48.47 1 1H13zm0 3h3.45a6.29 6.29 0 01.74 1H13zm0 9.93v-.93h2.34a5.87 5.87 0 01-2.34.93zm4.2-2.93H13v-1h4.66a5.68 5.68 0 01-.46 1zm-4.2-3v-1h4.91a5.63 5.63 0 01.09 1z\"/>\r\n <path d=\"M0 0h24v24H0z\" fill=\"none\"/>\r\n</svg>\r\n\r\n`;\r\nexport const DataBars = `\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\r\n <path d=\"M3 7h12v2H3zM3 15h12v2H3zM3 19h18v2H3zM3 11h18v2H3zM3 3h18v2H3z\"/>\r\n <path d=\"M0 0h24v24H0z\" fill=\"none\"/>\r\n</svg>\r\n\r\n`;\r\nexport const DuplicateValues = `\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\r\n <path d=\"M4.94 10.56a1 1 0 00-.38.79.79.79 0 00.25.63 1.06 1.06 0 00.74.24 1.9 1.9 0 001.06-.3 1.48 1.48 0 00.63-.67v-1H6a1.58 1.58 0 00-1.06.31zM16.94 14.69a1 1 0 00-.38.79.82.82 0 00.25.63 1.11 1.11 0 00.74.23 2 2 0 001.06-.29 1.5 1.5 0 00.63-.68v-1H18a1.54 1.54 0 00-1.06.32z\" fill=\"none\"/>\r\n <path d=\"M4.94 10.56a1 1 0 00-.38.79.79.79 0 00.25.63 1.06 1.06 0 00.74.24 1.9 1.9 0 001.06-.3 1.48 1.48 0 00.63-.67v-1H6a1.58 1.58 0 00-1.06.31zM16.94 14.69a1 1 0 00-.38.79.82.82 0 00.25.63 1.11 1.11 0 00.74.23 2 2 0 001.06-.29 1.5 1.5 0 00.63-.68v-1H18a1.54 1.54 0 00-1.06.32z\" fill=\"none\"/>\r\n <path d=\"M20.76 15.87v-3.06a2.17 2.17 0 00-.76-1.76 3 3 0 00-1.94-.61 3.06 3.06 0 00-2 .63 1.7 1.7 0 00-.73 1.45h1.49a.83.83 0 01.31-.66 1.29 1.29 0 01.84-.25 1.26 1.26 0 01.91.3 1.09 1.09 0 01.32.85v.6H18a3.81 3.81 0 00-2.22.56 1.78 1.78 0 00-.78 1.59 2 2 0 00.58 1.49 2.31 2.31 0 001.65.55 2.12 2.12 0 001.16-.33 2.79 2.79 0 00.83-.81 4.33 4.33 0 00.08.5c0 .16.08.33.13.51H21a4.29 4.29 0 01-.18-.77 5.46 5.46 0 01-.06-.78zm-1.52-.5a1.5 1.5 0 01-.63.68 2 2 0 01-1.06.29 1.11 1.11 0 01-.74-.23.82.82 0 01-.25-.63 1 1 0 01.38-.79 1.54 1.54 0 011.06-.34h1.24zM8.76 11.75V8.69A2.16 2.16 0 008 6.93a2.93 2.93 0 00-1.94-.61 3.06 3.06 0 00-2 .63 1.69 1.69 0 00-.73 1.44h1.5a.83.83 0 01.31-.65A1.3 1.3 0 016 7.52a1.23 1.23 0 01.91.31 1.07 1.07 0 01.32.84v.61H6a3.74 3.74 0 00-2.22.56A1.78 1.78 0 003 11.39a2 2 0 00.58 1.52 2.27 2.27 0 001.65.56 2.12 2.12 0 001.16-.33 2.79 2.79 0 00.83-.81 4.17 4.17 0 00.08.49 4.77 4.77 0 00.13.51H9a4 4 0 01-.18-.76 5.55 5.55 0 01-.06-.82zm-1.52-.5a1.48 1.48 0 01-.63.67 1.9 1.9 0 01-1.06.3 1.06 1.06 0 01-.74-.22.79.79 0 01-.25-.63 1 1 0 01.38-.79A1.58 1.58 0 016 10.23h1.24zM7 19h2v2H7zM7 15h2v2H7zM3 15h2v2H3zM15 7h2v2h-2zM15 3h2v2h-2zM3 19h2v2H3zM19 19h2v2h-2zM19 7h2v2h-2zM15 19h2v2h-2zM19 3h2v2h-2zM11 11h2v2h-2zM11 19h2v2h-2zM11 15h2v2h-2zM11 7h2v2h-2zM11 3h2v2h-2zM7 3h2v2H7zM3 3h2v2H3z\"/>\r\n <path d=\"M0 0h24v24H0z\" fill=\"none\"/>\r\n</svg>\r\n\r\n`;\r\nexport const Empty = `\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\r\n <path d=\"M0 0h24v24H0z\" fill=\"none\"/>\r\n <path d=\"M5 17h2v2H5zM13 17h2v2h-2zM5 13h2v2H5zM17 17h2v2h-2zM13 5h2v2h-2zM9 17h2v2H9zM17 9h2v2h-2zM17 13h2v2h-2zM17 5h2v2h-2zM5 9h2v2H5zM5 5h2v2H5zM9 5h2v2H9z\"/>\r\n <path d=\"M0 0h24v24H0z\" fill=\"none\"/>\r\n</svg>\r\n\r\n`;\r\nexport const Equal = `\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\r\n <path d=\"M5 13.5h14v2H5zM5 8.5h14v2H5z\"/>\r\n</svg>\r\n\r\n`;\r\nexport const GreaterThan = `\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\r\n <path d=\"M6 7.11L15.09 12 6 16.89V19l12-6.46v-1.08L6 5v2.11z\"/>\r\n</svg>\r\n\r\n`;\r\nexport const TextContains = `\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\r\n <path d=\"M10.79 12.77a1.16 1.16 0 00-.44.9.92.92 0 00.3.72 1.18 1.18 0 00.84.27 2.27 2.27 0 001.21-.34 1.61 1.61 0 00.71-.77v-1.17H12a1.76 1.76 0 00-1.21.39z\" fill=\"none\"/>\r\n <path d=\"M5 19h14V5H5zm8-9.36a1.45 1.45 0 00-1-.35 1.5 1.5 0 00-1 .29.93.93 0 00-.35.75H9a1.93 1.93 0 01.83-1.65 3.54 3.54 0 012.3-.72 3.34 3.34 0 012.22.7 2.44 2.44 0 01.84 2v3.5a5.57 5.57 0 00.07.93 4.51 4.51 0 00.21.88h-1.83c-.06-.2-.12-.39-.16-.58a3.72 3.72 0 01-.08-.57 3.05 3.05 0 01-1 .93 2.39 2.39 0 01-1.32.37 2.63 2.63 0 01-1.89-.63 2.29 2.29 0 01-.66-1.74 2.07 2.07 0 01.9-1.78A4.39 4.39 0 0112 11.3h1.38v-.69a1.3 1.3 0 00-.38-.97z\" fill=\"none\"/>\r\n <path d=\"M3 3v18h18V3zm16 16H5V5h14z\"/>\r\n <path d=\"M12 11.3a4.39 4.39 0 00-2.54.63 2.07 2.07 0 00-.9 1.78 2.29 2.29 0 00.66 1.74 2.63 2.63 0 001.89.63 2.39 2.39 0 001.32-.37 3.05 3.05 0 001-.93 3.72 3.72 0 00.08.57c0 .19.1.38.16.58h1.79a4.51 4.51 0 01-.21-.88 5.57 5.57 0 01-.07-.93v-3.5a2.44 2.44 0 00-.84-2 3.34 3.34 0 00-2.22-.7 3.54 3.54 0 00-2.3.72A1.93 1.93 0 009 10.29h1.71a.93.93 0 01.29-.71 1.5 1.5 0 011-.29 1.45 1.45 0 011 .35 1.3 1.3 0 01.37 1v.69zm1.4 1.08v1.17a1.61 1.61 0 01-.71.77 2.27 2.27 0 01-1.21.34 1.18 1.18 0 01-.84-.27.92.92 0 01-.3-.72 1.16 1.16 0 01.44-.9 1.76 1.76 0 011.22-.39z\"/>\r\n <path d=\"M0 0h24v24H0z\" fill=\"none\"/>\r\n</svg>\r\n\r\n`;\r\nexport const Top10 = `\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\r\n <path d=\"M17.34 7.14a.5.5 0 00-.13.33v.33a.48.48 0 00.13.33.41.41 0 00.31.14.37.37 0 00.42-.37v-.41a.49.49 0 00-.07-.34.45.45 0 00-.62 0zM10.84 8a.54.54 0 00.51-.3 2.05 2.05 0 00.17-.92V5.3a2 2 0 00-.17-.94.6.6 0 00-1 0 2.13 2.13 0 00-.17.88V6.7a2.14 2.14 0 00.17 1 .55.55 0 00.49.3zM14.88 5c.28 0 .42-.18.42-.53v-.26a.53.53 0 00-.11-.34.4.4 0 00-.32-.14.42.42 0 00-.31.13.52.52 0 00-.12.36v.29a.49.49 0 00.12.34.39.39 0 00.32.15z\" fill=\"none\"/>\r\n <path d=\"M9 18h2v3h2v-3h2l-3-3-3 3zM4 11h16v2H4zM6.38 8.92h1.36V3.08h-.12l-2.57.89V5l1.33-.39v4.31zM10.84 9a1.85 1.85 0 001.5-.64 2.82 2.82 0 00.53-1.82V5.47a2.76 2.76 0 00-.54-1.82 1.83 1.83 0 00-1.5-.65 1.83 1.83 0 00-1.5.65 2.78 2.78 0 00-.53 1.82v1.07a2.79 2.79 0 00.53 1.81 1.86 1.86 0 001.51.65zm-.69-3.79a2.13 2.13 0 01.17-.88.6.6 0 011 0 2 2 0 01.17.94v1.47a2.05 2.05 0 01-.17.92.59.59 0 01-1 0 2.14 2.14 0 01-.17-1zM14.88 5.71a1.31 1.31 0 00.94-.33 1.11 1.11 0 00.35-.86v-.29a1.19 1.19 0 00-.35-.9 1.32 1.32 0 00-1-.33 1.34 1.34 0 00-.95.33 1.17 1.17 0 00-.35.88v.28a1.16 1.16 0 00.36.9 1.4 1.4 0 001 .32zm-.44-1.49a.52.52 0 01.12-.36.42.42 0 01.31-.13.4.4 0 01.32.14.53.53 0 01.11.34v.24c0 .35-.14.53-.42.53a.39.39 0 01-.32-.13.49.49 0 01-.12-.34zM15.13 8.48l2.85-4.56-.62-.32-2.85 4.57.62.31zM16.7 6.62a1.1 1.1 0 00-.35.87v.29a1.12 1.12 0 00.35.89 1.36 1.36 0 00.95.33 1.32 1.32 0 001-.33A1.15 1.15 0 0019 7.8v-.28a1.17 1.17 0 00-.36-.91 1.54 1.54 0 00-1.89 0zm1.38.87v.41a.37.37 0 01-.42.37.41.41 0 01-.31-.14.48.48 0 01-.13-.33v-.33a.5.5 0 01.13-.33.45.45 0 01.62 0 .49.49 0 01.11.35z\"/>\r\n <path d=\"M0 0h24v24H0z\" fill=\"none\"/>\r\n</svg>\r\n\r\n`;\r\nexport const UniqueValues = `\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\r\n <path d=\"M0 0h24v24H0z\" fill=\"none\"/>\r\n <path d=\"M8.94 10.56a1 1 0 00-.38.79.79.79 0 00.25.63 1.06 1.06 0 00.74.24 1.9 1.9 0 001.06-.3 1.48 1.48 0 00.63-.67v-1H10a1.58 1.58 0 00-1.06.31z\" fill=\"none\"/>\r\n <path d=\"M8.94 10.56a1 1 0 00-.38.79.79.79 0 00.25.63 1.06 1.06 0 00.74.24 1.9 1.9 0 001.06-.3 1.48 1.48 0 00.63-.67v-1H10a1.58 1.58 0 00-1.06.31z\" fill=\"none\"/>\r\n <path d=\"M12.76 11.75V8.69A2.16 2.16 0 0012 6.93a2.93 2.93 0 00-1.94-.61 3.06 3.06 0 00-2 .63 1.69 1.69 0 00-.73 1.44h1.5a.83.83 0 01.31-.65 1.3 1.3 0 01.86-.22 1.23 1.23 0 01.91.31 1.07 1.07 0 01.32.84v.61H10a3.74 3.74 0 00-2.22.56A1.78 1.78 0 007 11.39a2 2 0 00.58 1.52 2.27 2.27 0 001.65.56 2.12 2.12 0 001.16-.33 2.79 2.79 0 00.83-.81 4.17 4.17 0 00.08.49 4.77 4.77 0 00.13.51H13a4 4 0 01-.18-.76 5.55 5.55 0 01-.06-.82zm-1.52-.5a1.48 1.48 0 01-.63.67 1.9 1.9 0 01-1.06.3 1.06 1.06 0 01-.74-.22.79.79 0 01-.25-.63 1 1 0 01.38-.79 1.58 1.58 0 011.06-.35h1.24zM7 19h2v2H7zM7 15h2v2H7zM3 15h2v2H3zM15 7h2v2h-2zM15 3h2v2h-2zM3 19h2v2H3zM19 19h2v2h-2zM19 7h2v2h-2zM15 19h2v2h-2zM19 3h2v2h-2zM15 11h2v2h-2zM19 11h2v2h-2zM15 15h2v2h-2zM19 15h2v2h-2zM11 19h2v2h-2zM11 15h2v2h-2zM11 3h2v2h-2zM7 3h2v2H7zM3 3h2v2H3zM3 7h2v2H3zM3 11h2v2H3z\"/>\r\n <path d=\"M0 0h24v24H0z\" fill=\"none\"/>\r\n <path d=\"M0 0h24v24H0z\" fill=\"none\"/>\r\n</svg>\r\n\r\n`;\r\n","import { AfterViewInit, Component, ElementRef, ViewChild, ViewContainerRef, OnDestroy, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { CommonModule, NgFor } from '@angular/common';\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport {\r\n IgxBarSeriesModule, IgxCategoryChartModule, IgxCategoryXAxisModule,\r\n IgxDataChartCategoryModule, IgxDataChartCoreModule,\r\n IgxDataChartInteractivityModule, IgxDataChartScatterModule, IgxDataChartStackedModule,\r\n IgxItemLegendModule, IgxLegendModule,\r\n IgxNumericXAxisModule, IgxNumericYAxisModule\r\n} from 'igniteui-angular-charts';\r\n\r\nimport {\r\n IgxOverlayService,\r\n IgxToggleDirective,\r\n OverlayCancelableEventArgs,\r\n OverlayEventArgs,\r\n OverlaySettings,\r\n CloseScrollStrategy,\r\n AutoPositionStrategy,\r\n HorizontalAlignment,\r\n VerticalAlignment,\r\n IgxTabsComponent,\r\n IgxIconComponent,\r\n IgxTabItemComponent,\r\n IgxTabHeaderComponent,\r\n IgxTabContentComponent,\r\n IgxTabHeaderLabelDirective,\r\n} from 'igniteui-angular';\r\n\r\nimport { IgxContextMenuDirective } from './igx-context-menu.directive';\r\nimport { IgxChartMenuComponent } from './chart-dialog/chart-dialog.component';\r\nimport { SvgPipe } from '../pipes/svg.pipe';\r\nimport * as charts from '../../images/charts';\r\nimport * as conditions from '../../images/conditions';\r\nimport { CHART_TYPE } from '../directives/chart-integration/chart-types';\r\n\r\n@Component({\r\n selector: 'igx-context-menu',\r\n templateUrl: './context-menu.component.html',\r\n styleUrls: ['./context-menu.component.scss'],\r\n imports: [\r\n CommonModule,\r\n NgFor,\r\n SvgPipe,\r\n IgxToggleDirective,\r\n IgxIconComponent,\r\n IgxTabsComponent,\r\n IgxTabItemComponent,\r\n IgxTabHeaderComponent,\r\n IgxTabContentComponent,\r\n IgxTabHeaderLabelDirective,\r\n IgxBarSeriesModule,\r\n IgxCategoryChartModule,\r\n IgxCategoryXAxisModule,\r\n IgxDataChartCategoryModule,\r\n IgxDataChartCoreModule,\r\n IgxDataChartInteractivityModule,\r\n IgxDataChartScatterModule,\r\n IgxDataChartStackedModule,\r\n IgxItemLegendModule,\r\n IgxLegendModule,\r\n IgxNumericXAxisModule,\r\n IgxNumericYAxisModule,\r\n ],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\nexport class IgxContextMenuComponent implements AfterViewInit, OnDestroy {\r\n @ViewChild('analyticsBtn') public button: ElementRef;\r\n @ViewChild('tabsMenu', { read: IgxToggleDirective }) public tabsMenu: IgxToggleDirective;\r\n @ViewChild('chartPreview', { read: ViewContainerRef }) public chartPreview: ViewContainerRef;\r\n @ViewChild('chartPreviewDialog', { read: IgxToggleDirective }) public chartPreviewDialog: IgxToggleDirective;\r\n @ViewChild(IgxTabsComponent) public tabs: IgxTabsComponent;\r\n\r\n public contextDirective: IgxContextMenuDirective;\r\n public chartTypes = [];\r\n public textFormatters = [];\r\n public currentChartType;\r\n public currentFormatter;\r\n private destroy$ = new Subject<any>();\r\n private _dialogId;\r\n private _chartDialogOS: OverlaySettings = { closeOnOutsideClick: false };\r\n\r\n private _tabsMenuOverlaySettings: OverlaySettings = {\r\n closeOnOutsideClick: false,\r\n modal: false,\r\n outlet: null,\r\n scrollStrategy: new CloseScrollStrategy(),\r\n positionStrategy: new AutoPositionStrategy({\r\n horizontalDirection: HorizontalAlignment.Center,\r\n horizontalStartPoint: HorizontalAlignment.Center,\r\n verticalStartPoint: VerticalAlignment.Bottom,\r\n verticalDirection: VerticalAlignment.Bottom,\r\n openAnimation: null,\r\n closeAnimation: null,\r\n }),\r\n };\r\n\r\n private _chartPreviewDialogOverlaySettings: OverlaySettings = {\r\n closeOnOutsideClick: false,\r\n modal: false,\r\n outlet: null,\r\n scrollStrategy: new CloseScrollStrategy(),\r\n positionStrategy: new AutoPositionStrategy({\r\n horizontalDirection: HorizontalAlignment.Center,\r\n horizontalStartPoint: HorizontalAlignment.Center,\r\n verticalStartPoint: VerticalAlignment.Top,\r\n verticalDirection: VerticalAlignment.Top,\r\n openAnimation: null,\r\n closeAnimation: null,\r\n }),\r\n };\r\n\r\n public chartImages;\r\n public conditionImages;\r\n\r\n constructor(private overlayService: IgxOverlayService) {\r\n this.chartImages = charts;\r\n this.conditionImages = conditions;\r\n }\r\n\r\n public ngAfterViewInit() {\r\n this.chartTypes = this.contextDirective.charts;\r\n this.textFormatters = this.contextDirective.formatters;\r\n\r\n if (this.contextDirective.chartsDirective) {\r\n this.contextDirective.chartsDirective.onChartTypesDetermined.pipe(takeUntil(this.destroy$))\r\n .subscribe((args) => (this.chartTypes = args.chartsForCreation));\r\n }\r\n\r\n if (this.contextDirective.textFormatter) {\r\n this.contextDirective.textFormatter.onFormattersReady.pipe(takeUntil(this.destroy$))\r\n .subscribe((names) => (this.textFormatters = names));\r\n }\r\n\r\n this.contextDirective.onButtonClose.pipe(takeUntil(this.destroy$))\r\n .subscribe(() => {\r\n if (this.tabsMenu && !this.tabsMenu.collapsed) {\r\n this.tabsMenu.close();\r\n }\r\n });\r\n\r\n this.contextDirective.gridResizeNotify.pipe(takeUntil(this.destroy$))\r\n .subscribe(() => {\r\n if (!this.tabsMenu.collapsed) {\r\n this.tabsMenu.close();\r\n }\r\n });\r\n\r\n this.overlayService.opening.pipe(takeUntil(this.destroy$))\r\n .subscribe((args: OverlayCancelableEventArgs) => {\r\n if (args.componentRef) {\r\n const instance = args.componentRef.instance as IgxChartMenuComponent;\r\n instance.width = this.contextDirective.grid.nativeElement.clientWidth;\r\n instance.height = this.contextDirective.grid.nativeElement.clientHeight;\r\n instance.currentChartType = this.currentChartType;\r\n instance.allCharts = this.chartTypes;\r\n instance.chartDirective = this.contextDirective.chartsDirective;\r\n instance.onClose?.subscribe(() => this.closeDialog());\r\n }\r\n });\r\n\r\n this.overlayService.closing.pipe(takeUntil(this.destroy$))\r\n .subscribe((args: OverlayEventArgs) => {\r\n if (args.componentRef && args.componentRef.instance instanceof IgxChartMenuComponent) {\r\n if (this._dialogId) {\r\n this.tabsMenu.open(this._tabsMenuOverlaySettings);\r\n }\r\n }\r\n });\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n this.destroy$.next(true);\r\n this.destroy$.complete();\r\n }\r\n\r\n public toggleTabMenu() {\r\n this.currentChartType = this.currentChartType || CHART_TYPE.COLUMN_GROUPED;\r\n this._tabsMenuOverlaySettings.target = this.button.nativeElement;\r\n this.tabsMenu.collapsed ? this.tabsMenu.open(this._tabsMenuOverlaySettings) : this.tabsMenu.close();\r\n }\r\n\r\n public formatCells(condition) {\r\n this.currentFormatter = condition;\r\n this.contextDirective.textFormatter.formatCells(condition);\r\n }\r\n\r\n public clearFormat() {\r\n this.contextDirective.textFormatter.clearFormatting();\r\n this.currentFormatter = undefined;\r\n }\r\n\r\n public previewChart(currentChartType) {\r\n this.currentChartType = currentChartType;\r\n this.chartPreview.clear();\r\n this.contextDirective.chartsDirective.chartFactory(currentChartType, this.chartPreview);\r\n this._chartPreviewDialogOverlaySettings.target = this.tabsMenu.element;\r\n this.chartPreviewDialog.open(this._chartPreviewDialogOverlaySettings);\r\n }\r\n\r\n public hidePreview() {\r\n this.chartPreviewDialog.close();\r\n }\r\n\r\n public openDialog(type?: CHART_TYPE) {\r\n this.currentChartType =\r\n type || this.currentChartType || CHART_TYPE.COLUMN_GROUPED;\r\n this._dialogId = this._dialogId || this.overlayService.attach(IgxChartMenuComponent, this._chartDialogOS);\r\n this.tabsMenu.close();\r\n this.overlayService.show(this._dialogId);\r\n }\r\n\r\n public closeDialog() {\r\n const info = this.overlayService.getOverlayById(this._dialogId);\r\n if (info) {\r\n this.overlayService.hide(this._dialogId);\r\n this.overlayService.detach(this._dialogId);\r\n this._dialogId = undefined;\r\n }\r\n }\r\n}\r\n","<span #analyticsBtn class=\"analytics-btn\">\r\n <button #btn igxIconButton=\"flat\" (click)=\"toggleTabMenu()\">\r\n <igx-icon #icon class=\"icon\" family=\"material\">insert_chart_outlined</igx-icon>\r\n </button>\r\n</span>\r\n<div #tabsMenu igxToggle class=\"toggle-content ig-scrollbar\">\r\n <igx-tabs tabsType=\"fixed\" [selectedIndex]=\"!this.textFormatters.length && chartTypes.length ? 1 : 0\">\r\n <igx-tab-item [disabled]=\"!textFormatters.length\">\r\n <igx-tab-header>\r\n <span igxTabHeaderLabel>Conditional Formatting</span>\r\n </igx-tab-header>\r\n <igx-tab-content>\r\n <igc-trial-watermark></igc-trial-watermark>\r\n <div class=\"tabs\">\r\n <span class=\"tab-option\">\r\n <span *ngFor=\"let condition of textFormatters\" class=\"action btn condition\"\r\n [ngClass]=\"{'selected--condition': condition === currentFormatter}\"\r\n (click)=\"formatCells(condition)\">\r\n <div class=\"imgSize\" [innerHTML]=\"conditionImages[condition.replace(' ', '')] | svg\">\r\n </div>\r\n <span class=\"name\">{{condition.replace('10', '10%')}}</span>\r\n </span>\r\n </span>\r\n <span class=\"clear action\"\r\n [ngClass]=\"{'disableButton': contextDirective.textFormatter ? !contextDirective.textFormatter.formatter : true }\"\r\n (click)=\"clearFormat()\">\r\n <div class=\"imgSize\" [innerHTML]=\"conditionImages['Clear'] | svg\">\r\n </div>\r\n <span class=\"btn name\">Clear All</span>\r\n </span>\r\n </div>\r\n </igx-tab-content>\r\n </igx-tab-item>\r\n <igx-tab-item [disabled]=\"!chartTypes.length\">\r\n <igx-tab-header>\r\n <span igxTabHeaderLabel>Create Chart</span>\r\n </igx-tab-header>\r\n <igx-tab-content>\r\n <igc-trial-watermark></igc-trial-watermark>\r\n <div class=\"tabs\">\r\n <span class=\"tab-option\">\r\n <span *ngFor=\"let chart of chartTypes | slice:0:4\" class=\"action btn chart\"\r\n [ngClass]=\"{'selected': chart === currentChartType}\" (mouseenter)=\"previewChart(chart)\"\r\n (mouseleave)=\"hidePreview()\" (click)=\"openDialog(chart)\">\r\n <span [innerHTML]=\"chartImages[chart] | svg\" class=\"imgSize\">\r\n </span>\r\n <span class=\"name\">{{chart}}</span>\r\n </span>\r\n </span>\r\n <span class=\"more-action chart\" [ngClass]=\"{'disableButton': !chartTypes.length}\"\r\n (click)=\"openDialog()\">\r\n <button class=\"more-btn more-icon\" igxIconButton=\"flat\" [style.--background]=\"'#EBEBEB'\"\r\n [style.--foreground]=\"'black'\">\r\n <igx-icon class=\"icon\" family=\"material\">more_horiz</igx-icon>\r\n </button>\r\n <span class=\"name btn\">More...</span>\r\n </span>\r\n </div>\r\n </igx-tab-content>\r\n </igx-tab-item>\r\n </igx-tabs>\r\n</div>\r\n<div igxToggle #chartPreviewDialog class=\"chart-preview\">\r\n <div class=\"chart-preview-title\">\r\n <h5>Preview Chart</h5>\r\n </div>\r\n <div class=\"chart-preview-area\">\r\n <ng-template #chartPreview></ng-template>\r\n </div>\r\n</div>","import {\r\n AfterViewInit,\r\n Directive,\r\n EventEmitter,\r\n Output,\r\n OnInit,\r\n OnDestroy,\r\n Optional,\r\n} from '@angular/core';\r\nimport {\r\n AbsoluteScrollStrategy,\r\n AutoPositionStrategy,\r\n HorizontalAlignment,\r\n IgxGridComponent,\r\n IgxOverlayService,\r\n OverlayCancelableEventArgs,\r\n VerticalAlignment,\r\n OverlaySettings\r\n} from 'igniteui-angular';\r\nimport { Subject } from 'rxjs';\r\nimport { debounceTime, filter, merge, takeUntil } from 'rxjs/operators';\r\nimport { IgxChartIntegrationDirective } from '../directives/chart-integration/chart-integration.directive';\r\nimport { IgxConditionalFormattingDirective } from '../directives/conditional-formatting/conditional-formatting.directive';\r\nimport { IgxContextMenuComponent } from './context-menu.component';\r\nimport { ResizeObserver } from '@juggle/resize-observer';\r\n\r\n@Directive({\r\n selector: '[igxContextMenu]',\r\n})\r\nexport class IgxContextMenuDirective implements OnInit, AfterViewInit, OnDestroy {\r\n\r\n @Output() public onButtonClose = new EventEmitter<any>();\r\n\r\n public formatters = [];\r\n public charts = [];\r\n public gridResizeNotify = new Subject<void>();\r\n private contentObserver: ResizeObserver;\r\n private _range;\r\n private _id;\r\n private _collapsed = true;\r\n private destroy$ = new Subject<boolean>();\r\n private _analyticsBtnSettings: OverlaySettings = {\r\n closeOnOutsideClick: false,\r\n modal: false\r\n };\r\n\r\n constructor(\r\n public grid: IgxGridComponent,\r\n @Optional() public textFormatter: IgxConditionalFormattingDirective,\r\n @Optional() public chartsDirective: IgxChartIntegrationDirective,\r\n private overlayService: IgxOverlayService\r\n ) { }\r\n\r\n public ngOnInit() {\r\n this.gridResizeNotify.pipe(takeUntil(this.destroy$))\r\n .subscribe(() => {\r\n if (this._id && !this._collapsed) {\r\n this.renderButton();\r\n }\r\n });\r\n }\r\n\r\n public ngAfterViewInit() {\r\n this.setUpGridListeners();\r\n if (this.textFormatter) {\r\n this.textFormatter.onFormattersReady.pipe(takeUntil(this.destroy$))\r\n .subscribe(names => this.formatters = names);\r\n }\r\n if (this.chartsDirective) {\r\n this.chartsDirective.onChartTypesDetermined.pipe(takeUntil(this.destroy$))\r\n .subscribe((args) => this.charts = args.chartsForCreation);\r\n }\r\n this.overlayService.opening.pipe(takeUntil(this.destroy$))\r\n .subscribe((args: OverlayCancelableEventArgs) => {\r\n if (args.componentRef) {\r\n const instance = (args.componentRef.instance as IgxContextMenuComponent);\r\n instance.contextDirective = this;\r\n }\r\n });\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n this.destroy$.next(true);\r\n this.destroy$.complete();\r\n if (!this._collapsed) {\r\n this.close();\r\n }\r\n }\r\n\r\n private setUpGridListeners() {\r\n this.contentObserver = new ResizeObserver(() => this.gridResizeNotify.next());\r\n this.contentObserver.observe(this.grid.nativeElement);\r\n\r\n this.grid.rangeSelected.pipe(takeUntil(this.destroy$))\r\n .subscribe((args) => {\r\n this._range = args;\r\n if (this.chartsDirective) {\r\n if (this.grid.getSelectedRanges().length === 1) {\r\n this.chartsDirective.chartData = this.grid.getSelectedData();\r\n } else {\r\n this.chartsDirective.chartData = [];\r\n }\r\n }\r\n if (!this._collapsed) {\r\n this.onButtonClose.emit();\r\n }\r\n this.renderButton();\r\n });\r\n this.grid.verticalScrollContainer.chunkLoad.pipe(\r\n merge(this.grid.parentVirtDir.chunkLoad, this.grid.filteringDone, this.grid.columnResized,\r\n this.grid.columnVisibilityChanged.pipe(debounceTime(30))),\r\n filter(() => this._range), takeUntil(this.destroy$)).subscribe(() => {\r\n this.onButtonClose.emit();\r\n this.renderButton();\r\n });\r\n this.grid.selected.pipe(merge(this.grid.groupingDone),\r\n takeUntil(this.destroy$)).subscribe((args: any) => {\r\n if (this.grid.selectedCells.length < 2 || args.expressions) {\r\n this._range = undefined;\r\n this.close();\r\n }\r\n });\r\n }\r\n\r\n private renderButton() {\r\n if (!this._range) { return; }\r\n let rowIndex = this._range.rowEnd;\r\n let colIndex = +this._range.columnEnd;\r\n while (colIndex >= this._range.columnStart && !this.grid.navigation.isColumnFullyVisible(colIndex)) {\r\n colIndex--;\r\n }\r\n while (rowIndex >= this._range.rowStart && this.grid.navigation.shouldPerformVerticalScroll(rowIndex, -1)) {\r\n rowIndex--;\r\n }\r\n const field = this.grid.visibleColumns[colIndex] ? this.grid.visibleColumns[colIndex].field : '';\r\n const cell = this.grid.gridAPI.get_cell_by_index(rowIndex, field);\r\n if (!cell || !this.isWithInRange(cell.row.key, cell.column.index - 1)) {\r\n this.close();\r\n return;\r\n }\r\n this._analyticsBtnSettings.positionStrategy = new AutoPositionStrategy({\r\n horizontalDirection: HorizontalAlignment.Right,\r\n horizontalStartPoint: HorizontalAlignment.Right,\r\n verticalStartPoint: VerticalAlignment.Bottom,\r\n verticalDirection: VerticalAlignment.Bottom, closeAnimation: null\r\n });\r\n this._analyticsBtnSettings.target = cell.nativeElement;\r\n this._analyticsBtnSettings.scrollStrategy = new AbsoluteScrollStrategy();\r\n const info = this.overlayService.getOverlayById(this._id);\r\n if (info) {\r\n info.settings.positionStrategy = this._analyticsBtnSettings.positionStrategy;\r\n }\r\n this._collapsed ? this.show() : this.overlayService.reposition(this._id);\r\n }\r\n\r\n private show() {\r\n if (!this._collapsed) { return; }\r\n this._collapsed = false;\r\n this._id = this._id ? this._id :\r\n this.overlayService.attach(IgxContextMenuComponent, this._analyticsBtnSettings);\r\n this.overlayService.show(this._id);\r\n }\r\n\r\n private close() {\r\n if (this._collapsed) { return; }\r\n this._collapsed = true;\r\n this.overlayService.hide(this._id);\r\n this.onButtonClose.emit();\r\n this._id = undefined;\r\n }\r\n\r\n private isWithInRange(rInex, cIndex) {\r\n return rInex >= this._range.rowStart && rInex <= this._range.rowEnd\r\n && cIndex >= this._range.columnStart && cIndex <= this._range.columnEnd;\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { IgxIconComponent, IgxToggleActionDirective } from 'igniteui-angular';\r\n\r\n@Component({\r\n selector: 'app-page-header',\r\n templateUrl: './page-header.component.html',\r\n styleUrls: ['./page-header.component.scss'],\r\n imports: [IgxIconComponent, IgxToggleActionDirective]\r\n})\r\nexport class PageHeaderComponent {\r\n @Input()\r\n title: string;\r\n}\r\n","<div class=\"sample-header\">\r\n <h1 class=\"title ig-typography__h3\">\r\n <button igxIconButton=\"flat\"\r\n igxRipple\r\n igxRippleCentered=\"true\"\r\n igxToggleAction=\"navdrawer\"\r\n class=\"hamburger\">\r\n <igx-icon family=\"material\">menu</igx-icon>\r\n </button>\r\n {{ title }}\r\n </h1>\r\n <p class=\"description\">\r\n <ng-content></ng-content>\r\n </p>\r\n</div>\r\n","/*\r\n * Public API Surface of igniteui-angular-extras\r\n */\r\n\r\n/**\r\n * Directives\r\n */\r\nexport * from './lib/directives/chart-integration/chart-integration.directive';\r\nexport * from './lib/directives/conditional-formatting/conditional-formatting.directive';\r\nexport * from './lib/context-menu/igx-context-menu.directive';\r\n\r\n/**\r\n * Components\r\n */\r\nexport * from './lib/context-menu/context-menu.component';\r\nexport * from './lib/context-menu/chart-dialog/chart-dialog.component';\r\nexport * from './lib/page-header/page-header.component';\r\n\r\n/**\r\n * Pipes\r\n */\r\nexport * from './lib/pipes/svg.pipe';\r\n\r\n/**\r\n * Exporter classes, interfaces and enums\r\n */\r\nexport * from './lib/directives/chart-integration/chart-types';\r\nexport * from './lib/directives/chart-integration/initializers';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i2.IgxConditionalFormattingDirective","i3.IgxChartIntegrationDirective"],"mappings":"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"}
|