keevo-components 1.5.45 → 1.5.47

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/esm2020/lib/api/base-components/base-component-chart.mjs +92 -0
  2. package/esm2020/lib/api/base-components/base-component-dropdown.mjs +69 -30
  3. package/esm2020/lib/api/base-components/base-component-input.mjs +5 -1
  4. package/esm2020/lib/api/components/chart/chart.config.mjs +2 -0
  5. package/esm2020/lib/api/components/chart/chart.model.mjs +2 -0
  6. package/esm2020/lib/api/components/dropdown/filtro.combo.mjs +2 -0
  7. package/esm2020/lib/api/modules/primeng.module.mjs +40 -12
  8. package/esm2020/lib/buttons/button-personalize/button-personalize.component.mjs +3 -3
  9. package/esm2020/lib/chart/chart.component.mjs +145 -0
  10. package/esm2020/lib/chart/kvchart.module.mjs +32 -0
  11. package/esm2020/lib/inputs/dropdown/dropdown.component.mjs +3 -3
  12. package/esm2020/lib/keevo-components.module.mjs +14 -7
  13. package/esm2020/lib/table/table.component.mjs +3 -3
  14. package/esm2020/lib/tree-view/tree-view.component.mjs +3 -3
  15. package/esm2020/public-api.mjs +7 -1
  16. package/fesm2015/keevo-components.mjs +388 -57
  17. package/fesm2015/keevo-components.mjs.map +1 -1
  18. package/fesm2020/keevo-components.mjs +386 -57
  19. package/fesm2020/keevo-components.mjs.map +1 -1
  20. package/lib/api/base-components/base-component-chart.d.ts +40 -0
  21. package/lib/api/base-components/base-component-dropdown.d.ts +17 -8
  22. package/lib/api/base-components/base-component-input.d.ts +1 -0
  23. package/lib/api/components/chart/chart.config.d.ts +11 -0
  24. package/lib/api/components/chart/chart.model.d.ts +9 -0
  25. package/lib/api/components/dropdown/filtro.combo.d.ts +4 -0
  26. package/lib/api/modules/primeng.module.d.ts +44 -37
  27. package/lib/chart/chart.component.d.ts +56 -0
  28. package/lib/chart/kvchart.module.d.ts +10 -0
  29. package/lib/keevo-components.module.d.ts +2 -1
  30. package/package.json +1 -1
  31. package/public-api.d.ts +6 -0
@@ -9,9 +9,9 @@ export class ButtonPersonalizeComponent extends BaseComponentButton {
9
9
  }
10
10
  }
11
11
  ButtonPersonalizeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ButtonPersonalizeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
- ButtonPersonalizeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: ButtonPersonalizeComponent, selector: "kv-button-personalize", usesInheritance: true, ngImport: i0, template: "<button\r\n pButton\r\n pRipple\r\n [class]=\"color\"\r\n [icon]=\"icon\"\r\n [label]=\"label\"\r\n [loading]=\"loading\"\r\n (click)=\"click($event)\">\r\n</button>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "directive", type: i2.Ripple, selector: "[pRipple]" }] });
12
+ ButtonPersonalizeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: ButtonPersonalizeComponent, selector: "kv-button-personalize", usesInheritance: true, ngImport: i0, template: "<button\n pButton\n pRipple\n [class]=\"color\"\n [icon]=\"icon\"\n [label]=\"label\"\n [loading]=\"loading\"\n (click)=\"click($event)\">\n</button>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "directive", type: i2.Ripple, selector: "[pRipple]" }] });
13
13
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ButtonPersonalizeComponent, decorators: [{
14
14
  type: Component,
15
- args: [{ selector: 'kv-button-personalize', template: "<button\r\n pButton\r\n pRipple\r\n [class]=\"color\"\r\n [icon]=\"icon\"\r\n [label]=\"label\"\r\n [loading]=\"loading\"\r\n (click)=\"click($event)\">\r\n</button>\r\n" }]
15
+ args: [{ selector: 'kv-button-personalize', template: "<button\n pButton\n pRipple\n [class]=\"color\"\n [icon]=\"icon\"\n [label]=\"label\"\n [loading]=\"loading\"\n (click)=\"click($event)\">\n</button>\n" }]
16
16
  }], ctorParameters: function () { return []; } });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLXBlcnNvbmFsaXplLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9idXR0b25zL2J1dHRvbi1wZXJzb25hbGl6ZS9idXR0b24tcGVyc29uYWxpemUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2J1dHRvbnMvYnV0dG9uLXBlcnNvbmFsaXplL2J1dHRvbi1wZXJzb25hbGl6ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDOzs7O0FBT3RGLE1BQU0sT0FBTywwQkFBMkIsU0FBUSxtQkFBbUI7SUFDakU7UUFDRSxLQUFLLEVBQUUsQ0FBQztJQUNWLENBQUM7O3VIQUhVLDBCQUEwQjsyR0FBMUIsMEJBQTBCLG9GQ1J2QyxrTEFTQTsyRkREYSwwQkFBMEI7a0JBTHRDLFNBQVM7K0JBQ0UsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJhc2VDb21wb25lbnRCdXR0b24gfSBmcm9tICcuLi8uLi9hcGkvYmFzZS1jb21wb25lbnRzL2Jhc2UtY29tcG9uZW50LWJ1dHRvbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2t2LWJ1dHRvbi1wZXJzb25hbGl6ZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2J1dHRvbi1wZXJzb25hbGl6ZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYnV0dG9uLXBlcnNvbmFsaXplLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEJ1dHRvblBlcnNvbmFsaXplQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudEJ1dHRvbiB7XHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxufVxyXG4iLCI8YnV0dG9uXHJcbiAgcEJ1dHRvblxyXG4gIHBSaXBwbGVcclxuICBbY2xhc3NdPVwiY29sb3JcIlxyXG4gIFtpY29uXT1cImljb25cIlxyXG4gIFtsYWJlbF09XCJsYWJlbFwiXHJcbiAgW2xvYWRpbmddPVwibG9hZGluZ1wiXHJcbiAgKGNsaWNrKT1cImNsaWNrKCRldmVudClcIj5cclxuPC9idXR0b24+XHJcbiJdfQ==
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLXBlcnNvbmFsaXplLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9idXR0b25zL2J1dHRvbi1wZXJzb25hbGl6ZS9idXR0b24tcGVyc29uYWxpemUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2J1dHRvbnMvYnV0dG9uLXBlcnNvbmFsaXplL2J1dHRvbi1wZXJzb25hbGl6ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDOzs7O0FBT3RGLE1BQU0sT0FBTywwQkFBMkIsU0FBUSxtQkFBbUI7SUFDakU7UUFDRSxLQUFLLEVBQUUsQ0FBQztJQUNWLENBQUM7O3VIQUhVLDBCQUEwQjsyR0FBMUIsMEJBQTBCLG9GQ1J2QyxnS0FTQTsyRkREYSwwQkFBMEI7a0JBTHRDLFNBQVM7K0JBQ0UsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50QnV0dG9uIH0gZnJvbSAnLi4vLi4vYXBpL2Jhc2UtY29tcG9uZW50cy9iYXNlLWNvbXBvbmVudC1idXR0b24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdrdi1idXR0b24tcGVyc29uYWxpemUnLFxuICB0ZW1wbGF0ZVVybDogJy4vYnV0dG9uLXBlcnNvbmFsaXplLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYnV0dG9uLXBlcnNvbmFsaXplLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uUGVyc29uYWxpemVDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50QnV0dG9uIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxufVxuIiwiPGJ1dHRvblxuICBwQnV0dG9uXG4gIHBSaXBwbGVcbiAgW2NsYXNzXT1cImNvbG9yXCJcbiAgW2ljb25dPVwiaWNvblwiXG4gIFtsYWJlbF09XCJsYWJlbFwiXG4gIFtsb2FkaW5nXT1cImxvYWRpbmdcIlxuICAoY2xpY2spPVwiY2xpY2soJGV2ZW50KVwiPlxuPC9idXR0b24+XG4iXX0=
@@ -0,0 +1,145 @@
1
+ import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "primeng/button";
5
+ import * as i3 from "primeng/chart";
6
+ import * as i4 from "primeng/dropdown";
7
+ import * as i5 from "primeng/menu";
8
+ import * as i6 from "primeng/ripple";
9
+ import * as i7 from "@angular/forms";
10
+ export const PeriodosChart = {
11
+ Ultimos180Dias: -180,
12
+ Ultimos120Dias: -120,
13
+ Ultimos90Dias: -90,
14
+ Ultimos60Dias: -60,
15
+ Ultimos45Dias: -45,
16
+ Ultimos30Dias: -30,
17
+ Ultimos15Dias: -15,
18
+ Ultimos7Dias: -7,
19
+ DataAtual: 0,
20
+ Proximos7Dias: 7,
21
+ Proximos15Dias: 15,
22
+ Proximos30Dias: 30,
23
+ Proximos45Dias: 45,
24
+ Proximos60Dias: 60,
25
+ Proximos90Dias: 90,
26
+ Proximos120Dias: 120,
27
+ Proximos180Dias: 180
28
+ };
29
+ export class ChartComponent {
30
+ constructor() {
31
+ this.chartConfig = {
32
+ labels: [],
33
+ datasets: [],
34
+ };
35
+ this.periodosDisponiveis = [
36
+ { label: 'Últimos 180 dias', value: -180 },
37
+ { label: 'Últimos 120 dias', value: -120 },
38
+ { label: 'Últimos 90 dias', value: -90 },
39
+ { label: 'Últimos 60 dias', value: -60 },
40
+ { label: 'Últimos 45 dias', value: -45 },
41
+ { label: 'Últimos 30 dias', value: -30 },
42
+ { label: 'Últimos 15 dias', value: -15 },
43
+ { label: 'Últimos 7 dias', value: -7 },
44
+ { label: 'Data atual', value: 0 },
45
+ { label: 'Próximos 7 dias', value: 7 },
46
+ { label: 'Próximos 15 dias', value: 15 },
47
+ { label: 'Próximos 30 dias', value: 30 },
48
+ { label: 'Próximos 45 dias', value: 45 },
49
+ { label: 'Próximos 60 dias', value: 60 },
50
+ { label: 'Próximos 90 dias', value: 90 },
51
+ { label: 'Próximos 120 dias', value: 120 },
52
+ { label: 'Próximos 180 dias', value: 180 }
53
+ ];
54
+ this.showDatas = true;
55
+ this.showMenu = false;
56
+ this.enablePeriodos = [];
57
+ this.periodos = [];
58
+ this.menuItems = [];
59
+ this.onPrintReport = new EventEmitter();
60
+ this.onSelectionValue = new EventEmitter();
61
+ }
62
+ configureGraphic() {
63
+ this.data = this.chartConfig;
64
+ this.configOptions();
65
+ this.chart?.reinit();
66
+ }
67
+ configOptions() {
68
+ this.options = {
69
+ indexAxis: this.indexAxis || 'x',
70
+ maintainAspectRatio: false,
71
+ aspectRatio: 0.8,
72
+ animation: {
73
+ duration: 0
74
+ },
75
+ plugins: {
76
+ legend: {
77
+ display: this.displayLegend || false,
78
+ labels: {
79
+ color: '#1e293b',
80
+ usePointStyle: true,
81
+ font: {
82
+ weight: 700,
83
+ },
84
+ padding: 28
85
+ },
86
+ position: 'bottom'
87
+ }
88
+ }
89
+ };
90
+ this.menuItems = [
91
+ { label: 'Imprimir relatório', command: () => this.printReport() }
92
+ ];
93
+ }
94
+ initDatas() {
95
+ this.periodosDisponiveis.map((el) => {
96
+ if (this.enablePeriodos.includes(el.value)) {
97
+ this.periodos.push(el);
98
+ }
99
+ });
100
+ }
101
+ ngOnInit() {
102
+ this.initDatas();
103
+ this.configureGraphic();
104
+ }
105
+ printReport() {
106
+ this.onPrintReport.emit();
107
+ }
108
+ reInit(config) {
109
+ this.chartConfig = config;
110
+ this.configureGraphic();
111
+ }
112
+ selectionValue(event) {
113
+ this.onSelectionValue.emit(event);
114
+ }
115
+ }
116
+ ChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ChartComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
117
+ ChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: ChartComponent, selector: "kv-chart", inputs: { title: "title", type: "type", indexAxis: "indexAxis", displayLegend: "displayLegend", showDatas: "showDatas", showMenu: "showMenu", selectedData: "selectedData", enablePeriodos: "enablePeriodos" }, outputs: { onPrintReport: "onPrintReport", onSelectionValue: "onSelectionValue" }, viewQueries: [{ propertyName: "chart", first: true, predicate: ["chart"], descendants: true }], ngImport: i0, template: "<div class=\"card h-full\">\r\n <div class=\"flex align-items-start justify-content-between mb-6\">\r\n <label class=\"text-900 text-xl font-semibold\">{{ title }}</label>\r\n <div>\r\n <p-dropdown\r\n *ngIf=\"showDatas\"\r\n [options]=\"periodos\"\r\n [(ngModel)]=\"selectedData\"\r\n optionLabel=\"label\"\r\n optionValue=\"value\"\r\n styleClass=\"w-15rem\"\r\n (onChange)=\"selectionValue($event)\">\r\n </p-dropdown>\r\n <button\r\n *ngIf=\"showMenu\"\r\n pButton\r\n pRipple\r\n icon=\"pi pi-ellipsis-h\"\r\n class=\"p-button-rounded p-button-secondary\"\r\n style=\"margin-left: 10px;\"\r\n (click)=\"menu.toggle($event)\">\r\n </button>\r\n <p-menu\r\n #menu\r\n [popup]=\"true\"\r\n appendTo=\"body\"\r\n [model]=\"menuItems\">\r\n </p-menu>\r\n </div>\r\n </div>\r\n <p-chart\r\n #chart\r\n [type]=\"type\"\r\n [data]=\"data\"\r\n [options]=\"options\"\r\n height=\"300px\">\r\n </p-chart>\r\n</div>\r\n", styles: ["", "label{font-family:Roboto,Arial,Helvetica,sans-serif}:host ::ng-deep .inputs{height:40px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "component", type: i3.UIChart, selector: "p-chart", inputs: ["type", "plugins", "width", "height", "responsive", "data", "options"], outputs: ["onDataSelect"] }, { kind: "component", type: i4.Dropdown, selector: "p-dropdown", inputs: ["scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "filterPlaceholder", "filterLocale", "inputId", "selectId", "dataKey", "filterBy", "autofocus", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "overlayDirection", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "component", type: i5.Menu, selector: "p-menu", inputs: ["model", "popup", "style", "styleClass", "appendTo", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "directive", type: i6.Ripple, selector: "[pRipple]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
118
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ChartComponent, decorators: [{
119
+ type: Component,
120
+ args: [{ selector: 'kv-chart', template: "<div class=\"card h-full\">\r\n <div class=\"flex align-items-start justify-content-between mb-6\">\r\n <label class=\"text-900 text-xl font-semibold\">{{ title }}</label>\r\n <div>\r\n <p-dropdown\r\n *ngIf=\"showDatas\"\r\n [options]=\"periodos\"\r\n [(ngModel)]=\"selectedData\"\r\n optionLabel=\"label\"\r\n optionValue=\"value\"\r\n styleClass=\"w-15rem\"\r\n (onChange)=\"selectionValue($event)\">\r\n </p-dropdown>\r\n <button\r\n *ngIf=\"showMenu\"\r\n pButton\r\n pRipple\r\n icon=\"pi pi-ellipsis-h\"\r\n class=\"p-button-rounded p-button-secondary\"\r\n style=\"margin-left: 10px;\"\r\n (click)=\"menu.toggle($event)\">\r\n </button>\r\n <p-menu\r\n #menu\r\n [popup]=\"true\"\r\n appendTo=\"body\"\r\n [model]=\"menuItems\">\r\n </p-menu>\r\n </div>\r\n </div>\r\n <p-chart\r\n #chart\r\n [type]=\"type\"\r\n [data]=\"data\"\r\n [options]=\"options\"\r\n height=\"300px\">\r\n </p-chart>\r\n</div>\r\n", styles: ["label{font-family:Roboto,Arial,Helvetica,sans-serif}:host ::ng-deep .inputs{height:40px}\n"] }]
121
+ }], ctorParameters: function () { return []; }, propDecorators: { title: [{
122
+ type: Input
123
+ }], type: [{
124
+ type: Input
125
+ }], indexAxis: [{
126
+ type: Input
127
+ }], displayLegend: [{
128
+ type: Input
129
+ }], showDatas: [{
130
+ type: Input
131
+ }], showMenu: [{
132
+ type: Input
133
+ }], selectedData: [{
134
+ type: Input
135
+ }], enablePeriodos: [{
136
+ type: Input
137
+ }], onPrintReport: [{
138
+ type: Output
139
+ }], onSelectionValue: [{
140
+ type: Output
141
+ }], chart: [{
142
+ type: ViewChild,
143
+ args: ['chart']
144
+ }] } });
145
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NoYXJ0L2NoYXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jaGFydC9jaGFydC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7O0FBSzFGLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRztJQUMzQixjQUFjLEVBQUUsQ0FBQyxHQUFHO0lBQ3BCLGNBQWMsRUFBRSxDQUFDLEdBQUc7SUFDcEIsYUFBYSxFQUFFLENBQUMsRUFBRTtJQUNsQixhQUFhLEVBQUUsQ0FBQyxFQUFFO0lBQ2xCLGFBQWEsRUFBRSxDQUFDLEVBQUU7SUFDbEIsYUFBYSxFQUFFLENBQUMsRUFBRTtJQUNsQixhQUFhLEVBQUUsQ0FBQyxFQUFFO0lBQ2xCLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDaEIsU0FBUyxFQUFFLENBQUM7SUFDWixhQUFhLEVBQUUsQ0FBQztJQUNoQixjQUFjLEVBQUUsRUFBRTtJQUNsQixjQUFjLEVBQUUsRUFBRTtJQUNsQixjQUFjLEVBQUUsRUFBRTtJQUNsQixjQUFjLEVBQUUsRUFBRTtJQUNsQixjQUFjLEVBQUUsRUFBRTtJQUNsQixlQUFlLEVBQUUsR0FBRztJQUNwQixlQUFlLEVBQUUsR0FBRztDQUNyQixDQUFBO0FBT0QsTUFBTSxPQUFPLGNBQWM7SUFnRHpCO1FBOUNBLGdCQUFXLEdBQWdCO1lBQ3pCLE1BQU0sRUFBRSxFQUFFO1lBQ1YsUUFBUSxFQUFFLEVBQUU7U0FDYixDQUFBO1FBRUQsd0JBQW1CLEdBQUc7WUFDcEIsRUFBRSxLQUFL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eEIsU0FBUzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENoYXJ0Q29uZmlnIH0gZnJvbSAnLi4vYXBpL2NvbXBvbmVudHMvY2hhcnQvY2hhcnQuY29uZmlnJztcclxuaW1wb3J0IHsgTWVudUl0ZW0gfSBmcm9tICdwcmltZW5nL2FwaSc7XHJcbmltcG9ydCB7IFVJQ2hhcnQgfSBmcm9tICdwcmltZW5nL2NoYXJ0JztcclxuXHJcbmV4cG9ydCBjb25zdCBQZXJpb2Rvc0NoYXJ0ID0ge1xyXG4gIFVsdGltb3MxODBEaWFzOiAtMTgwLFxyXG4gIFVsdGltb3MxMjBEaWFzOiAtMTIwLFxyXG4gIFVsdGltb3M5MERpYXM6IC05MCxcclxuICBVbHRpbW9zNjBEaWFzOiAtNjAsXHJcbiAgVWx0aW1vczQ1RGlhczogLTQ1LFxyXG4gIFVsdGltb3MzMERpYXM6IC0zMCxcclxuICBVbHRpbW9zMTVEaWFzOiAtMTUsXHJcbiAgVWx0aW1vczdEaWFzOiAtNyxcclxuICBEYXRhQXR1YWw6IDAsXHJcbiAgUHJveGltb3M3RGlhczogNyxcclxuICBQcm94aW1vczE1RGlhczogMTUsXHJcbiAgUHJveGltb3MzMERpYXM6IDMwLFxyXG4gIFByb3hpbW9zNDVEaWFzOiA0NSxcclxuICBQcm94aW1vczYwRGlhczogNjAsXHJcbiAgUHJveGltb3M5MERpYXM6IDkwLFxyXG4gIFByb3hpbW9zMTIwRGlhczogMTIwLFxyXG4gIFByb3hpbW9zMTgwRGlhczogMTgwXHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAna3YtY2hhcnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGFydC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY2hhcnQuY29tcG9uZW50LnNjc3MnLCAnLi4vc3R5bGVzLWNvbXBvbmVudHMuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDaGFydENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGNoYXJ0Q29uZmlnOiBDaGFydENvbmZpZyA9IHtcclxuICAgIGxhYmVsczogW10sXHJcbiAgICBkYXRhc2V0czogW10sXHJcbiAgfVxyXG5cclxuICBwZXJpb2Rvc0Rpc3Bvbml2ZWlzID0gW1xyXG4gICAgeyBsYWJlbDogJ8OabHRpbW9zIDE4MCBkaWFzJywgdmFsdWU6IC0xODAgfSxcclxuICAgIHsgbGFiZWw6ICfDmmx0aW1vcyAxMjAgZGlhcycsIHZhbHVlOiAtMTIwIH0sXHJcbiAgICB7IGxhYmVsOiAnw5psdGltb3MgOTAgZGlhcycsIHZhbHVlOiAtOTAgfSxcclxuICAgIHsgbGFiZWw6ICfDmmx0aW1vcyA2MCBkaWFzJywgdmFsdWU6IC02MCB9LFxyXG4gICAgeyBsYWJlbDogJ8OabHRpbW9zIDQ1IGRpYXMnLCB2YWx1ZTogLTQ1IH0sXHJcbiAgICB7IGxhYmVsOiAnw5psdGltb3MgMzAgZGlhcycsIHZhbHVlOiAtMzAgfSxcclxuICAgIHsgbGFiZWw6ICfDmmx0aW1vcyAxNSBkaWFzJywgdmFsdWU6IC0xNSB9LFxyXG4gICAgeyBsYWJlbDogJ8OabHRpbW9zIDcgZGlhcycsIHZhbHVlOiAtNyB9LFxyXG4gICAgeyBsYWJlbDogJ0RhdGEgYXR1YWwnLCB2YWx1ZTogMCB9LFxyXG4gICAgeyBsYWJlbDogJ1Byw7N4aW1vcyA3IGRpYXMnLCB2YWx1ZTogNyB9LFxyXG4gICAgeyBsYWJlbDogJ1Byw7N4aW1vcyAxNSBkaWFzJywgdmFsdWU6IDE1IH0sXHJcbiAgICB7IGxhYmVsOiAnUHLDs3hpbW9zIDMwIGRpYXMnLCB2YWx1ZTogMzAgfSxcclxuICAgIHsgbGFiZWw6ICdQcsOzeGltb3MgNDUgZGlhcycsIHZhbHVlOiA0NSB9LFxyXG4gICAgeyBsYWJlbDogJ1Byw7N4aW1vcyA2MCBkaWFzJywgdmFsdWU6IDYwIH0sXHJcbiAgICB7IGxhYmVsOiAnUHLDs3hpbW9zIDkwIGRpYXMnLCB2YWx1ZTogOTAgfSxcclxuICAgIHsgbGFiZWw6ICdQcsOzeGltb3MgMTIwIGRpYXMnLCB2YWx1ZTogMTIwIH0sXHJcbiAgICB7IGxhYmVsOiAnUHLDs3hpbW9zIDE4MCBkaWFzJywgdmFsdWU6IDE4MCB9XHJcbiAgXTtcclxuXHJcbiAgQElucHV0KCkgdGl0bGUhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgdHlwZSE6ICdkb3VnaG51dCcgfCAncGllJyB8ICdiYXInIHwgJ2xpbmUnO1xyXG4gIEBJbnB1dCgpIGluZGV4QXhpcyE6ICd5JyB8ICd4JztcclxuICBASW5wdXQoKSBkaXNwbGF5TGVnZW5kITogYm9vbGVhbjtcclxuXHJcbiAgQElucHV0KCkgc2hvd0RhdGFzOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzaG93TWVudTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNlbGVjdGVkRGF0YSE6IG51bWJlcjtcclxuICBASW5wdXQoKSBlbmFibGVQZXJpb2RvczogbnVtYmVyW10gPSBbXTtcclxuXHJcbiAgZGF0YTogYW55O1xyXG4gIG9wdGlvbnM6IGFueTtcclxuXHJcbiAgcGVyaW9kb3M6IGFueVtdID0gW107XHJcblxyXG4gIG1lbnVJdGVtczogTWVudUl0ZW1bXSA9IFtdO1xyXG5cclxuICBAT3V0cHV0KCkgb25QcmludFJlcG9ydDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9uU2VsZWN0aW9uVmFsdWU6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBWaWV3Q2hpbGQoJ2NoYXJ0JykgY2hhcnQ/OiBVSUNoYXJ0O1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBjb25maWd1cmVHcmFwaGljKCkge1xyXG4gICAgdGhpcy5kYXRhID0gdGhpcy5jaGFydENvbmZpZztcclxuICAgIHRoaXMuY29uZmlnT3B0aW9ucygpO1xyXG4gICAgdGhpcy5jaGFydD8ucmVpbml0KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNvbmZpZ09wdGlvbnMoKTogdm9pZCB7XHJcbiAgICB0aGlzLm9wdGlvbnMgPSB7XHJcbiAgICAgIGluZGV4QXhpczogdGhpcy5pbmRleEF4aXMgfHwgJ3gnLFxyXG4gICAgICBtYWludGFpbkFzcGVjdFJhdGlvOiBmYWxzZSxcclxuICAgICAgYXNwZWN0UmF0aW86IDAuOCxcclxuICAgICAgYW5pbWF0aW9uOiB7XHJcbiAgICAgICAgZHVyYXRpb246IDBcclxuICAgICAgfSxcclxuICAgICAgcGx1Z2luczoge1xyXG4gICAgICAgIGxlZ2VuZDoge1xyXG4gICAgICAgICAgZGlzcGxheTogdGhpcy5kaXNwbGF5TGVnZW5kIHx8IGZhbHNlLFxyXG4gICAgICAgICAgbGFiZWxzOiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAnIzFlMjkzYicsXHJcbiAgICAgICAgICAgIHVzZVBvaW50U3R5bGU6IHRydWUsXHJcbiAgICAgICAgICAgIGZvbnQ6IHtcclxuICAgICAgICAgICAgICB3ZWlnaHQ6IDcwMCxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgcGFkZGluZzogMjhcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBwb3NpdGlvbjogJ2JvdHRvbSdcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5tZW51SXRlbXMgPSBbXHJcbiAgICAgIHsgbGFiZWw6ICdJbXByaW1pciByZWxhdMOzcmlvJywgY29tbWFuZDogKCkgPT4gdGhpcy5wcmludFJlcG9ydCgpIH1cclxuICAgIF1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5pdERhdGFzKCkge1xyXG4gICAgdGhpcy5wZXJpb2Rvc0Rpc3Bvbml2ZWlzLm1hcCgoZWwpID0+IHtcclxuICAgICAgaWYgKHRoaXMuZW5hYmxlUGVyaW9kb3MuaW5jbHVkZXMoZWwudmFsdWUpKSB7XHJcbiAgICAgICAgdGhpcy5wZXJpb2Rvcy5wdXNoKGVsKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuaW5pdERhdGFzKCk7XHJcbiAgICB0aGlzLmNvbmZpZ3VyZUdyYXBoaWMoKTtcclxuICB9XHJcblxyXG4gIHByaW50UmVwb3J0KCkge1xyXG4gICAgdGhpcy5vblByaW50UmVwb3J0LmVtaXQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZUluaXQoY29uZmlnOiBhbnkpIHtcclxuICAgIHRoaXMuY2hhcnRDb25maWcgPSBjb25maWc7XHJcbiAgICB0aGlzLmNvbmZpZ3VyZUdyYXBoaWMoKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBzZWxlY3Rpb25WYWx1ZShldmVudDogYW55KSB7XHJcbiAgICB0aGlzLm9uU2VsZWN0aW9uVmFsdWUuZW1pdChldmVudCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjYXJkIGgtZnVsbFwiPlxyXG4gIDxkaXYgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLXN0YXJ0IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIG1iLTZcIj5cclxuICAgIDxsYWJlbCBjbGFzcz1cInRleHQtOTAwIHRleHQteGwgZm9udC1zZW1pYm9sZFwiPnt7IHRpdGxlIH19PC9sYWJlbD5cclxuICAgIDxkaXY+XHJcbiAgICAgIDxwLWRyb3Bkb3duXHJcbiAgICAgICAgKm5nSWY9XCJzaG93RGF0YXNcIlxyXG4gICAgICAgIFtvcHRpb25zXT1cInBlcmlvZG9zXCJcclxuICAgICAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkRGF0YVwiXHJcbiAgICAgICAgb3B0aW9uTGFiZWw9XCJsYWJlbFwiXHJcbiAgICAgICAgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiXHJcbiAgICAgICAgc3R5bGVDbGFzcz1cInctMTVyZW1cIlxyXG4gICAgICAgIChvbkNoYW5nZSk9XCJzZWxlY3Rpb25WYWx1ZSgkZXZlbnQpXCI+XHJcbiAgICAgIDwvcC1kcm9wZG93bj5cclxuICAgICAgPGJ1dHRvblxyXG4gICAgICAgICpuZ0lmPVwic2hvd01lbnVcIlxyXG4gICAgICAgIHBCdXR0b25cclxuICAgICAgICBwUmlwcGxlXHJcbiAgICAgICAgaWNvbj1cInBpIHBpLWVsbGlwc2lzLWhcIlxyXG4gICAgICAgIGNsYXNzPVwicC1idXR0b24tcm91bmRlZCBwLWJ1dHRvbi1zZWNvbmRhcnlcIlxyXG4gICAgICAgIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDEwcHg7XCJcclxuICAgICAgICAoY2xpY2spPVwibWVudS50b2dnbGUoJGV2ZW50KVwiPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgICAgPHAtbWVudVxyXG4gICAgICAgICNtZW51XHJcbiAgICAgICAgW3BvcHVwXT1cInRydWVcIlxyXG4gICAgICAgIGFwcGVuZFRvPVwiYm9keVwiXHJcbiAgICAgICAgW21vZGVsXT1cIm1lbnVJdGVtc1wiPlxyXG4gICAgICA8L3AtbWVudT5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxwLWNoYXJ0XHJcbiAgICAjY2hhcnRcclxuICAgIFt0eXBlXT1cInR5cGVcIlxyXG4gICAgW2RhdGFdPVwiZGF0YVwiXHJcbiAgICBbb3B0aW9uc109XCJvcHRpb25zXCJcclxuICAgIGhlaWdodD1cIjMwMHB4XCI+XHJcbiAgPC9wLWNoYXJ0PlxyXG48L2Rpdj5cclxuIl19
@@ -0,0 +1,32 @@
1
+ import { FormsModule } from '@angular/forms';
2
+ import { PrimeNgModule } from '../api/modules/primeng.module';
3
+ import { CommonModule } from '@angular/common';
4
+ import { ChartComponent } from './chart.component';
5
+ import { NgModule } from "@angular/core";
6
+ import * as i0 from "@angular/core";
7
+ export class KvChartModule {
8
+ }
9
+ KvChartModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: KvChartModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
+ KvChartModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: KvChartModule, declarations: [ChartComponent], imports: [CommonModule,
11
+ PrimeNgModule,
12
+ FormsModule], exports: [ChartComponent] });
13
+ KvChartModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: KvChartModule, imports: [CommonModule,
14
+ PrimeNgModule,
15
+ FormsModule] });
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: KvChartModule, decorators: [{
17
+ type: NgModule,
18
+ args: [{
19
+ declarations: [
20
+ ChartComponent
21
+ ],
22
+ imports: [
23
+ CommonModule,
24
+ PrimeNgModule,
25
+ FormsModule,
26
+ ],
27
+ exports: [
28
+ ChartComponent
29
+ ]
30
+ }]
31
+ }] });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3ZjaGFydC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZWV2by1jb21wb25lbnRzL3NyYy9saWIvY2hhcnQva3ZjaGFydC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBZXpDLE1BQU0sT0FBTyxhQUFhOzswR0FBYixhQUFhOzJHQUFiLGFBQWEsaUJBWHRCLGNBQWMsYUFHZCxZQUFZO1FBQ1osYUFBYTtRQUNiLFdBQVcsYUFHWCxjQUFjOzJHQUdMLGFBQWEsWUFSdEIsWUFBWTtRQUNaLGFBQWE7UUFDYixXQUFXOzJGQU1GLGFBQWE7a0JBYnpCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLGNBQWM7cUJBQ2Y7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixXQUFXO3FCQUNaO29CQUNELE9BQU8sRUFBRTt3QkFDUCxjQUFjO3FCQUNmO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFByaW1lTmdNb2R1bGUgfSBmcm9tICcuLi9hcGkvbW9kdWxlcy9wcmltZW5nLm1vZHVsZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENoYXJ0Q29tcG9uZW50IH0gZnJvbSAnLi9jaGFydC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgQ2hhcnRDb21wb25lbnRcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIFByaW1lTmdNb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIENoYXJ0Q29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgS3ZDaGFydE1vZHVsZSB7IH1cclxuIl19
@@ -18,9 +18,9 @@ export class DropdownComponent extends BaseComponentDropDown {
18
18
  }
19
19
  }
20
20
  DropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DropdownComponent, deps: [{ token: i1.ComponentService }, { token: i2.DialogService }], target: i0.ɵɵFactoryTarget.Component });
21
- DropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: DropdownComponent, selector: "kv-dropdown", providers: ComponentProviders(DropdownComponent), usesInheritance: true, ngImport: i0, template: "<span class=\"p-float-label\">\r\n\r\n <p-dropdown\r\n appendTo=\"body\"\r\n [class]=\"baseInputClass\"\r\n [disabled]=\"disabled\"\r\n [filter]=\"filter\"\r\n [inputId]=\"componentId\"\r\n [(ngModel)]=\"value\"\r\n [options]=\"filteredOptions\"\r\n [optionLabel]=\"optionLabel\"\r\n [optionValue]=\"optionValue\"\r\n [showClear]=\"showClear\"\r\n [lazy]=\"true\"\r\n scrollHeight=\"250px\"\r\n (onBlur)=\"onInputBlur($event)\"\r\n (onClick)=\"onInputClick($event)\"\r\n (onChange)=\"selectionValue($event)\"\r\n [style]=\"{'width':widthField}\"\r\n [panelStyle]=\"{ width: widthField, overflow: 'auto' }\"\r\n styleClass=\"inputs\"\r\n >\r\n\r\n <ng-template *ngIf=\"addButton\" pTemplate=\"footer\">\r\n <p-divider></p-divider>\r\n <div class=\"flex flex-wrap card-container p-1\">\r\n <div class=\"flex justify-content-center\">\r\n <button\r\n pButton\r\n label=\"Incluir\"\r\n pTooltip=\"Clique aqui para incluir um novo registro\"\r\n tooltipPosition=\"bottom\"\r\n icon=\"pi pi-plus\"\r\n class=\"p-button-rounded p-button-success mr-2\"\r\n (click)=\"addClick($event)\"></button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n </p-dropdown>\r\n <label [for]=\"componentId\">{{ label }}</label>\r\n\r\n <kv-error [hasError]=\"hasControlError()\">{{ erroMessage() }}</kv-error>\r\n</span>\r\n<ng-content></ng-content>\r\n", styles: ["", "label{font-family:Roboto,Arial,Helvetica,sans-serif}:host ::ng-deep .inputs{height:40px}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.ErrorComponent, selector: "kv-error", inputs: ["formControl", "hasError"] }, { kind: "directive", type: i6.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i7.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "directive", type: i8.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: i9.Divider, selector: "p-divider", inputs: ["styleClass", "style", "layout", "type", "align"] }, { kind: "component", type: i10.Dropdown, selector: "p-dropdown", inputs: ["scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "filterPlaceholder", "filterLocale", "inputId", "selectId", "dataKey", "filterBy", "autofocus", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "overlayDirection", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }] });
21
+ DropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: DropdownComponent, selector: "kv-dropdown", providers: ComponentProviders(DropdownComponent), usesInheritance: true, ngImport: i0, template: "<span class=\"p-float-label\">\r\n\r\n <p-dropdown\r\n appendTo=\"body\"\r\n [class]=\"baseInputClass\"\r\n [disabled]=\"disabled\"\r\n [filter]=\"filter\"\r\n [inputId]=\"componentId\"\r\n [(ngModel)]=\"value\"\r\n [options]=\"filteredOptions\"\r\n [optionLabel]=\"optionLabel\"\r\n [optionValue]=\"optionValue\"\r\n [optionDisabled]=\"optionDisabled\"\r\n [group]=\"group\"\r\n [optionGroupLabel]=\"optionGroupLabel\"\r\n [optionGroupChildren]=\"optionGroupChildren\"\r\n [showClear]=\"showClear\"\r\n [lazy]=\"lazy\"\r\n scrollHeight=\"250px\"\r\n (onBlur)=\"onInputBlur($event)\"\r\n (onClick)=\"onInputClick($event)\"\r\n (onChange)=\"onInputChange($event)\"\r\n (onFilter)=\"onInputFilter($event)\"\r\n [style]=\"{'width':widthField}\"\r\n [panelStyle]=\"{ width: widthField, overflow: 'auto' }\"\r\n styleClass=\"inputs\">\r\n\r\n <ng-template *ngIf=\"showAddButton\" pTemplate=\"footer\">\r\n <p-divider></p-divider>\r\n <div class=\"flex flex-wrap card-container p-1\">\r\n <div class=\"flex justify-content-center\">\r\n <button\r\n pButton\r\n label=\"Incluir\"\r\n pTooltip=\"Clique aqui para incluir um novo registro\"\r\n tooltipPosition=\"bottom\"\r\n icon=\"pi pi-plus\"\r\n class=\"p-button-rounded p-button-success mr-2\"\r\n (click)=\"addClick($event)\"></button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n </p-dropdown>\r\n <label [for]=\"componentId\">{{ label }}</label>\r\n\r\n <kv-error [hasError]=\"hasControlError()\">{{ erroMessage() }}</kv-error>\r\n</span>\r\n<ng-content></ng-content>\r\n", styles: ["", "label{font-family:Roboto,Arial,Helvetica,sans-serif}:host ::ng-deep .inputs{height:40px}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.ErrorComponent, selector: "kv-error", inputs: ["formControl", "hasError"] }, { kind: "directive", type: i6.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i7.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "directive", type: i8.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: i9.Divider, selector: "p-divider", inputs: ["styleClass", "style", "layout", "type", "align"] }, { kind: "component", type: i10.Dropdown, selector: "p-dropdown", inputs: ["scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "filterPlaceholder", "filterLocale", "inputId", "selectId", "dataKey", "filterBy", "autofocus", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "overlayDirection", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }] });
22
22
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DropdownComponent, decorators: [{
23
23
  type: Component,
24
- args: [{ selector: 'kv-dropdown', providers: ComponentProviders(DropdownComponent), template: "<span class=\"p-float-label\">\r\n\r\n <p-dropdown\r\n appendTo=\"body\"\r\n [class]=\"baseInputClass\"\r\n [disabled]=\"disabled\"\r\n [filter]=\"filter\"\r\n [inputId]=\"componentId\"\r\n [(ngModel)]=\"value\"\r\n [options]=\"filteredOptions\"\r\n [optionLabel]=\"optionLabel\"\r\n [optionValue]=\"optionValue\"\r\n [showClear]=\"showClear\"\r\n [lazy]=\"true\"\r\n scrollHeight=\"250px\"\r\n (onBlur)=\"onInputBlur($event)\"\r\n (onClick)=\"onInputClick($event)\"\r\n (onChange)=\"selectionValue($event)\"\r\n [style]=\"{'width':widthField}\"\r\n [panelStyle]=\"{ width: widthField, overflow: 'auto' }\"\r\n styleClass=\"inputs\"\r\n >\r\n\r\n <ng-template *ngIf=\"addButton\" pTemplate=\"footer\">\r\n <p-divider></p-divider>\r\n <div class=\"flex flex-wrap card-container p-1\">\r\n <div class=\"flex justify-content-center\">\r\n <button\r\n pButton\r\n label=\"Incluir\"\r\n pTooltip=\"Clique aqui para incluir um novo registro\"\r\n tooltipPosition=\"bottom\"\r\n icon=\"pi pi-plus\"\r\n class=\"p-button-rounded p-button-success mr-2\"\r\n (click)=\"addClick($event)\"></button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n </p-dropdown>\r\n <label [for]=\"componentId\">{{ label }}</label>\r\n\r\n <kv-error [hasError]=\"hasControlError()\">{{ erroMessage() }}</kv-error>\r\n</span>\r\n<ng-content></ng-content>\r\n", styles: ["label{font-family:Roboto,Arial,Helvetica,sans-serif}:host ::ng-deep .inputs{height:40px}\n"] }]
24
+ args: [{ selector: 'kv-dropdown', providers: ComponentProviders(DropdownComponent), template: "<span class=\"p-float-label\">\r\n\r\n <p-dropdown\r\n appendTo=\"body\"\r\n [class]=\"baseInputClass\"\r\n [disabled]=\"disabled\"\r\n [filter]=\"filter\"\r\n [inputId]=\"componentId\"\r\n [(ngModel)]=\"value\"\r\n [options]=\"filteredOptions\"\r\n [optionLabel]=\"optionLabel\"\r\n [optionValue]=\"optionValue\"\r\n [optionDisabled]=\"optionDisabled\"\r\n [group]=\"group\"\r\n [optionGroupLabel]=\"optionGroupLabel\"\r\n [optionGroupChildren]=\"optionGroupChildren\"\r\n [showClear]=\"showClear\"\r\n [lazy]=\"lazy\"\r\n scrollHeight=\"250px\"\r\n (onBlur)=\"onInputBlur($event)\"\r\n (onClick)=\"onInputClick($event)\"\r\n (onChange)=\"onInputChange($event)\"\r\n (onFilter)=\"onInputFilter($event)\"\r\n [style]=\"{'width':widthField}\"\r\n [panelStyle]=\"{ width: widthField, overflow: 'auto' }\"\r\n styleClass=\"inputs\">\r\n\r\n <ng-template *ngIf=\"showAddButton\" pTemplate=\"footer\">\r\n <p-divider></p-divider>\r\n <div class=\"flex flex-wrap card-container p-1\">\r\n <div class=\"flex justify-content-center\">\r\n <button\r\n pButton\r\n label=\"Incluir\"\r\n pTooltip=\"Clique aqui para incluir um novo registro\"\r\n tooltipPosition=\"bottom\"\r\n icon=\"pi pi-plus\"\r\n class=\"p-button-rounded p-button-success mr-2\"\r\n (click)=\"addClick($event)\"></button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n </p-dropdown>\r\n <label [for]=\"componentId\">{{ label }}</label>\r\n\r\n <kv-error [hasError]=\"hasControlError()\">{{ erroMessage() }}</kv-error>\r\n</span>\r\n<ng-content></ng-content>\r\n", styles: ["label{font-family:Roboto,Arial,Helvetica,sans-serif}:host ::ng-deep .inputs{height:40px}\n"] }]
25
25
  }], ctorParameters: function () { return [{ type: i1.ComponentService }, { type: i2.DialogService }]; } });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2lucHV0cy9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZWV2by1jb21wb25lbnRzL3NyYy9saWIvaW5wdXRzL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHMUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDM0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbURBQW1ELENBQUM7Ozs7Ozs7Ozs7OztBQVExRixNQUFNLE9BQU8saUJBQWtCLFNBQVEscUJBQXFCO0lBQzFELFlBQ0UsZ0JBQWtDLEVBQ2xDLGFBQTRCO1FBQzVCLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUN6QyxDQUFDOzs4R0FMVSxpQkFBaUI7a0dBQWpCLGlCQUFpQixzQ0FGakIsa0JBQWtCLENBQUMsaUJBQWlCLENBQUMsaURDVmxELHcrQ0E2Q0E7MkZEakNhLGlCQUFpQjtrQkFON0IsU0FBUzsrQkFDRSxhQUFhLGFBR1osa0JBQWtCLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEaWFsb2dTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9keW5hbWljZGlhbG9nJztcclxuaW1wb3J0IHsgQ29tcG9uZW50U2VydmljZSB9IGZyb20gJy4uLy4uL2FwaS9zZXJ2aWNlcy9jb21wb25lbnQuc2VydmljZSc7XHJcbmltcG9ydCB7IENvbXBvbmVudFByb3ZpZGVycyB9IGZyb20gJy4uLy4uL2FwaS9oZWxwZXJzL2NvbXBvbmVudC1wcm92aWRlcnMnO1xyXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50RHJvcERvd24gfSBmcm9tICcuLi8uLi9hcGkvYmFzZS1jb21wb25lbnRzL2Jhc2UtY29tcG9uZW50LWRyb3Bkb3duJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAna3YtZHJvcGRvd24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kcm9wZG93bi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZHJvcGRvd24uY29tcG9uZW50LnNjc3MnLCAnLi4vLi4vc3R5bGVzLWNvbXBvbmVudHMuc2NzcyddLFxyXG4gIHByb3ZpZGVyczogQ29tcG9uZW50UHJvdmlkZXJzKERyb3Bkb3duQ29tcG9uZW50KSxcclxufSlcclxuZXhwb3J0IGNsYXNzIERyb3Bkb3duQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudERyb3BEb3duIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIGNvbXBvbmVudFNlcnZpY2U6IENvbXBvbmVudFNlcnZpY2UsXHJcbiAgICBkaWFsb2dTZXJ2aWNlOiBEaWFsb2dTZXJ2aWNlKSB7XHJcbiAgICBzdXBlcihjb21wb25lbnRTZXJ2aWNlLCBkaWFsb2dTZXJ2aWNlKTtcclxuICB9XHJcbn1cclxuIiwiPHNwYW4gY2xhc3M9XCJwLWZsb2F0LWxhYmVsXCI+XHJcblxyXG4gIDxwLWRyb3Bkb3duXHJcbiAgICBhcHBlbmRUbz1cImJvZHlcIlxyXG4gICAgW2NsYXNzXT1cImJhc2VJbnB1dENsYXNzXCJcclxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICBbZmlsdGVyXT1cImZpbHRlclwiXHJcbiAgICBbaW5wdXRJZF09XCJjb21wb25lbnRJZFwiXHJcbiAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcclxuICAgIFtvcHRpb25zXT1cImZpbHRlcmVkT3B0aW9uc1wiXHJcbiAgICBbb3B0aW9uTGFiZWxdPVwib3B0aW9uTGFiZWxcIlxyXG4gICAgW29wdGlvblZhbHVlXT1cIm9wdGlvblZhbHVlXCJcclxuICAgIFtzaG93Q2xlYXJdPVwic2hvd0NsZWFyXCJcclxuICAgIFtsYXp5XT1cInRydWVcIlxyXG4gICAgc2Nyb2xsSGVpZ2h0PVwiMjUwcHhcIlxyXG4gICAgKG9uQmx1cik9XCJvbklucHV0Qmx1cigkZXZlbnQpXCJcclxuICAgIChvbkNsaWNrKT1cIm9uSW5wdXRDbGljaygkZXZlbnQpXCJcclxuICAgIChvbkNoYW5nZSk9XCJzZWxlY3Rpb25WYWx1ZSgkZXZlbnQpXCJcclxuICAgIFtzdHlsZV09XCJ7J3dpZHRoJzp3aWR0aEZpZWxkfVwiXHJcbiAgICBbcGFuZWxTdHlsZV09XCJ7IHdpZHRoOiB3aWR0aEZpZWxkLCBvdmVyZmxvdzogJ2F1dG8nIH1cIlxyXG4gICAgc3R5bGVDbGFzcz1cImlucHV0c1wiXHJcbiAgICA+XHJcblxyXG4gICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwiYWRkQnV0dG9uXCIgcFRlbXBsYXRlPVwiZm9vdGVyXCI+XHJcbiAgICAgIDxwLWRpdmlkZXI+PC9wLWRpdmlkZXI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtd3JhcCBjYXJkLWNvbnRhaW5lciBwLTFcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XHJcbiAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgIHBCdXR0b25cclxuICAgICAgICAgICAgbGFiZWw9XCJJbmNsdWlyXCJcclxuICAgICAgICAgICAgcFRvb2x0aXA9XCJDbGlxdWUgYXF1aSBwYXJhIGluY2x1aXIgdW0gbm92byByZWdpc3Ryb1wiXHJcbiAgICAgICAgICAgIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiXHJcbiAgICAgICAgICAgIGljb249XCJwaSBwaS1wbHVzXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJwLWJ1dHRvbi1yb3VuZGVkIHAtYnV0dG9uLXN1Y2Nlc3MgbXItMlwiXHJcbiAgICAgICAgICAgKGNsaWNrKT1cImFkZENsaWNrKCRldmVudClcIj48L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICA8L3AtZHJvcGRvd24+XHJcbiAgPGxhYmVsIFtmb3JdPVwiY29tcG9uZW50SWRcIj57eyBsYWJlbCB9fTwvbGFiZWw+XHJcblxyXG4gIDxrdi1lcnJvciBbaGFzRXJyb3JdPVwiaGFzQ29udHJvbEVycm9yKClcIj57eyBlcnJvTWVzc2FnZSgpIH19PC9rdi1lcnJvcj5cclxuPC9zcGFuPlxyXG48bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiJdfQ==
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2lucHV0cy9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZWV2by1jb21wb25lbnRzL3NyYy9saWIvaW5wdXRzL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHMUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDM0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbURBQW1ELENBQUM7Ozs7Ozs7Ozs7OztBQVExRixNQUFNLE9BQU8saUJBQWtCLFNBQVEscUJBQXFCO0lBQzFELFlBQ0UsZ0JBQWtDLEVBQ2xDLGFBQTRCO1FBQzVCLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUN6QyxDQUFDOzs4R0FMVSxpQkFBaUI7a0dBQWpCLGlCQUFpQixzQ0FGakIsa0JBQWtCLENBQUMsaUJBQWlCLENBQUMsaURDVmxELHdyREFpREE7MkZEckNhLGlCQUFpQjtrQkFON0IsU0FBUzsrQkFDRSxhQUFhLGFBR1osa0JBQWtCLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEaWFsb2dTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9keW5hbWljZGlhbG9nJztcclxuaW1wb3J0IHsgQ29tcG9uZW50U2VydmljZSB9IGZyb20gJy4uLy4uL2FwaS9zZXJ2aWNlcy9jb21wb25lbnQuc2VydmljZSc7XHJcbmltcG9ydCB7IENvbXBvbmVudFByb3ZpZGVycyB9IGZyb20gJy4uLy4uL2FwaS9oZWxwZXJzL2NvbXBvbmVudC1wcm92aWRlcnMnO1xyXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50RHJvcERvd24gfSBmcm9tICcuLi8uLi9hcGkvYmFzZS1jb21wb25lbnRzL2Jhc2UtY29tcG9uZW50LWRyb3Bkb3duJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAna3YtZHJvcGRvd24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kcm9wZG93bi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZHJvcGRvd24uY29tcG9uZW50LnNjc3MnLCAnLi4vLi4vc3R5bGVzLWNvbXBvbmVudHMuc2NzcyddLFxyXG4gIHByb3ZpZGVyczogQ29tcG9uZW50UHJvdmlkZXJzKERyb3Bkb3duQ29tcG9uZW50KSxcclxufSlcclxuZXhwb3J0IGNsYXNzIERyb3Bkb3duQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudERyb3BEb3duIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIGNvbXBvbmVudFNlcnZpY2U6IENvbXBvbmVudFNlcnZpY2UsXHJcbiAgICBkaWFsb2dTZXJ2aWNlOiBEaWFsb2dTZXJ2aWNlKSB7XHJcbiAgICBzdXBlcihjb21wb25lbnRTZXJ2aWNlLCBkaWFsb2dTZXJ2aWNlKTtcclxuICB9XHJcbn1cclxuIiwiPHNwYW4gY2xhc3M9XCJwLWZsb2F0LWxhYmVsXCI+XHJcblxyXG4gIDxwLWRyb3Bkb3duXHJcbiAgICBhcHBlbmRUbz1cImJvZHlcIlxyXG4gICAgW2NsYXNzXT1cImJhc2VJbnB1dENsYXNzXCJcclxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICBbZmlsdGVyXT1cImZpbHRlclwiXHJcbiAgICBbaW5wdXRJZF09XCJjb21wb25lbnRJZFwiXHJcbiAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcclxuICAgIFtvcHRpb25zXT1cImZpbHRlcmVkT3B0aW9uc1wiXHJcbiAgICBbb3B0aW9uTGFiZWxdPVwib3B0aW9uTGFiZWxcIlxyXG4gICAgW29wdGlvblZhbHVlXT1cIm9wdGlvblZhbHVlXCJcclxuICAgIFtvcHRpb25EaXNhYmxlZF09XCJvcHRpb25EaXNhYmxlZFwiXHJcbiAgICBbZ3JvdXBdPVwiZ3JvdXBcIlxyXG4gICAgW29wdGlvbkdyb3VwTGFiZWxdPVwib3B0aW9uR3JvdXBMYWJlbFwiXHJcbiAgICBbb3B0aW9uR3JvdXBDaGlsZHJlbl09XCJvcHRpb25Hcm91cENoaWxkcmVuXCJcclxuICAgIFtzaG93Q2xlYXJdPVwic2hvd0NsZWFyXCJcclxuICAgIFtsYXp5XT1cImxhenlcIlxyXG4gICAgc2Nyb2xsSGVpZ2h0PVwiMjUwcHhcIlxyXG4gICAgKG9uQmx1cik9XCJvbklucHV0Qmx1cigkZXZlbnQpXCJcclxuICAgIChvbkNsaWNrKT1cIm9uSW5wdXRDbGljaygkZXZlbnQpXCJcclxuICAgIChvbkNoYW5nZSk9XCJvbklucHV0Q2hhbmdlKCRldmVudClcIlxyXG4gICAgKG9uRmlsdGVyKT1cIm9uSW5wdXRGaWx0ZXIoJGV2ZW50KVwiXHJcbiAgICBbc3R5bGVdPVwieyd3aWR0aCc6d2lkdGhGaWVsZH1cIlxyXG4gICAgW3BhbmVsU3R5bGVdPVwieyB3aWR0aDogd2lkdGhGaWVsZCwgb3ZlcmZsb3c6ICdhdXRvJyB9XCJcclxuICAgIHN0eWxlQ2xhc3M9XCJpbnB1dHNcIj5cclxuXHJcbiAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJzaG93QWRkQnV0dG9uXCIgcFRlbXBsYXRlPVwiZm9vdGVyXCI+XHJcbiAgICAgIDxwLWRpdmlkZXI+PC9wLWRpdmlkZXI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtd3JhcCBjYXJkLWNvbnRhaW5lciBwLTFcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XHJcbiAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgIHBCdXR0b25cclxuICAgICAgICAgICAgbGFiZWw9XCJJbmNsdWlyXCJcclxuICAgICAgICAgICAgcFRvb2x0aXA9XCJDbGlxdWUgYXF1aSBwYXJhIGluY2x1aXIgdW0gbm92byByZWdpc3Ryb1wiXHJcbiAgICAgICAgICAgIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiXHJcbiAgICAgICAgICAgIGljb249XCJwaSBwaS1wbHVzXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJwLWJ1dHRvbi1yb3VuZGVkIHAtYnV0dG9uLXN1Y2Nlc3MgbXItMlwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJhZGRDbGljaygkZXZlbnQpXCI+PC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgPC9wLWRyb3Bkb3duPlxyXG4gIDxsYWJlbCBbZm9yXT1cImNvbXBvbmVudElkXCI+e3sgbGFiZWwgfX08L2xhYmVsPlxyXG5cclxuICA8a3YtZXJyb3IgW2hhc0Vycm9yXT1cImhhc0NvbnRyb2xFcnJvcigpXCI+e3sgZXJyb01lc3NhZ2UoKSB9fTwva3YtZXJyb3I+XHJcbjwvc3Bhbj5cclxuPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4iXX0=
@@ -3,6 +3,7 @@ import { KvButtonsModule } from './buttons/kvbutton.module';
3
3
  import { KvInputsModule } from './inputs/kvinputs.module';
4
4
  import { KvTableModule } from './table/kvtable.module';
5
5
  import { KvtreeViewModule } from './tree-view/kvtree-view.module';
6
+ import { KvChartModule } from './chart/kvchart.module';
6
7
  import * as i0 from "@angular/core";
7
8
  export class KeevoComponentsModule {
8
9
  }
@@ -10,17 +11,21 @@ KeevoComponentsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", ve
10
11
  KeevoComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: KeevoComponentsModule, imports: [KvInputsModule,
11
12
  KvButtonsModule,
12
13
  KvTableModule,
13
- KvtreeViewModule], exports: [KvInputsModule,
14
+ KvtreeViewModule,
15
+ KvChartModule], exports: [KvInputsModule,
14
16
  KvButtonsModule,
15
17
  KvTableModule,
16
- KvtreeViewModule] });
18
+ KvtreeViewModule,
19
+ KvChartModule] });
17
20
  KeevoComponentsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: KeevoComponentsModule, imports: [KvInputsModule,
18
21
  KvButtonsModule,
19
22
  KvTableModule,
20
- KvtreeViewModule, KvInputsModule,
23
+ KvtreeViewModule,
24
+ KvChartModule, KvInputsModule,
21
25
  KvButtonsModule,
22
26
  KvTableModule,
23
- KvtreeViewModule] });
27
+ KvtreeViewModule,
28
+ KvChartModule] });
24
29
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: KeevoComponentsModule, decorators: [{
25
30
  type: NgModule,
26
31
  args: [{
@@ -29,14 +34,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
29
34
  KvInputsModule,
30
35
  KvButtonsModule,
31
36
  KvTableModule,
32
- KvtreeViewModule
37
+ KvtreeViewModule,
38
+ KvChartModule
33
39
  ],
34
40
  exports: [
35
41
  KvInputsModule,
36
42
  KvButtonsModule,
37
43
  KvTableModule,
38
- KvtreeViewModule
44
+ KvtreeViewModule,
45
+ KvChartModule
39
46
  ]
40
47
  }]
41
48
  }] });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2Vldm8tY29tcG9uZW50cy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9rZWV2by1jb21wb25lbnRzL3NyYy9saWIva2Vldm8tY29tcG9uZW50cy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFrQmxFLE1BQU0sT0FBTyxxQkFBcUI7O2tIQUFyQixxQkFBcUI7bUhBQXJCLHFCQUFxQixZQVo5QixjQUFjO1FBQ2QsZUFBZTtRQUNmLGFBQWE7UUFDYixnQkFBZ0IsYUFHaEIsY0FBYztRQUNkLGVBQWU7UUFDZixhQUFhO1FBQ2IsZ0JBQWdCO21IQUdQLHFCQUFxQixZQVo5QixjQUFjO1FBQ2QsZUFBZTtRQUNmLGFBQWE7UUFDYixnQkFBZ0IsRUFHaEIsY0FBYztRQUNkLGVBQWU7UUFDZixhQUFhO1FBQ2IsZ0JBQWdCOzJGQUdQLHFCQUFxQjtrQkFoQmpDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLEVBQ2I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGdCQUFnQjtxQkFDakI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGdCQUFnQjtxQkFDakI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBLdkJ1dHRvbnNNb2R1bGUgfSBmcm9tICcuL2J1dHRvbnMva3ZidXR0b24ubW9kdWxlJztcclxuaW1wb3J0IHsgS3ZJbnB1dHNNb2R1bGUgfSBmcm9tICcuL2lucHV0cy9rdmlucHV0cy5tb2R1bGUnO1xyXG5pbXBvcnQgeyBLdlRhYmxlTW9kdWxlIH0gZnJvbSAnLi90YWJsZS9rdnRhYmxlLm1vZHVsZSc7XHJcbmltcG9ydCB7IEt2dHJlZVZpZXdNb2R1bGUgfSBmcm9tICcuL3RyZWUtdmlldy9rdnRyZWUtdmlldy5tb2R1bGUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIEt2SW5wdXRzTW9kdWxlLFxyXG4gICAgS3ZCdXR0b25zTW9kdWxlLFxyXG4gICAgS3ZUYWJsZU1vZHVsZSxcclxuICAgIEt2dHJlZVZpZXdNb2R1bGVcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIEt2SW5wdXRzTW9kdWxlLFxyXG4gICAgS3ZCdXR0b25zTW9kdWxlLFxyXG4gICAgS3ZUYWJsZU1vZHVsZSxcclxuICAgIEt2dHJlZVZpZXdNb2R1bGVcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBLZWV2b0NvbXBvbmVudHNNb2R1bGUgeyB9XHJcbiJdfQ==
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2Vldm8tY29tcG9uZW50cy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9rZWV2by1jb21wb25lbnRzL3NyYy9saWIva2Vldm8tY29tcG9uZW50cy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBb0J2RCxNQUFNLE9BQU8scUJBQXFCOztrSEFBckIscUJBQXFCO21IQUFyQixxQkFBcUIsWUFkOUIsY0FBYztRQUNkLGVBQWU7UUFDZixhQUFhO1FBQ2IsZ0JBQWdCO1FBQ2hCLGFBQWEsYUFHYixjQUFjO1FBQ2QsZUFBZTtRQUNmLGFBQWE7UUFDYixnQkFBZ0I7UUFDaEIsYUFBYTttSEFHSixxQkFBcUIsWUFkOUIsY0FBYztRQUNkLGVBQWU7UUFDZixhQUFhO1FBQ2IsZ0JBQWdCO1FBQ2hCLGFBQWEsRUFHYixjQUFjO1FBQ2QsZUFBZTtRQUNmLGFBQWE7UUFDYixnQkFBZ0I7UUFDaEIsYUFBYTsyRkFHSixxQkFBcUI7a0JBbEJqQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxFQUNiO29CQUNELE9BQU8sRUFBRTt3QkFDUCxjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLGFBQWE7cUJBQ2Q7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsYUFBYTtxQkFDZDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEt2QnV0dG9uc01vZHVsZSB9IGZyb20gJy4vYnV0dG9ucy9rdmJ1dHRvbi5tb2R1bGUnO1xyXG5pbXBvcnQgeyBLdklucHV0c01vZHVsZSB9IGZyb20gJy4vaW5wdXRzL2t2aW5wdXRzLm1vZHVsZSc7XHJcbmltcG9ydCB7IEt2VGFibGVNb2R1bGUgfSBmcm9tICcuL3RhYmxlL2t2dGFibGUubW9kdWxlJztcclxuaW1wb3J0IHsgS3Z0cmVlVmlld01vZHVsZSB9IGZyb20gJy4vdHJlZS12aWV3L2t2dHJlZS12aWV3Lm1vZHVsZSc7XHJcbmltcG9ydCB7IEt2Q2hhcnRNb2R1bGUgfSBmcm9tICcuL2NoYXJ0L2t2Y2hhcnQubW9kdWxlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBLdklucHV0c01vZHVsZSxcclxuICAgIEt2QnV0dG9uc01vZHVsZSxcclxuICAgIEt2VGFibGVNb2R1bGUsXHJcbiAgICBLdnRyZWVWaWV3TW9kdWxlLFxyXG4gICAgS3ZDaGFydE1vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgS3ZJbnB1dHNNb2R1bGUsXHJcbiAgICBLdkJ1dHRvbnNNb2R1bGUsXHJcbiAgICBLdlRhYmxlTW9kdWxlLFxyXG4gICAgS3Z0cmVlVmlld01vZHVsZSxcclxuICAgIEt2Q2hhcnRNb2R1bGVcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBLZWV2b0NvbXBvbmVudHNNb2R1bGUgeyB9XHJcbiJdfQ==