mmhglobal-dynamicform 2.12.0 → 2.12.2

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 (38) hide show
  1. package/README.md +21 -0
  2. package/esm2020/lib/components/datalistingfieldbase.component.mjs +10 -1
  3. package/esm2020/lib/components/fieldbase.component.mjs +63 -7
  4. package/esm2020/lib/embed-components/spinner/spinner.component.mjs +27 -0
  5. package/esm2020/lib/input-error-message/input-error-message.component.mjs +2 -2
  6. package/esm2020/lib/ksplitter/ksplitter.component.mjs +3 -3
  7. package/esm2020/lib/mmhglobal-dynamicform.module.mjs +25 -13
  8. package/esm2020/lib/services/zcomponent.service.mjs +11 -3
  9. package/esm2020/lib/uicontent/uicontent.component.mjs +8 -9
  10. package/esm2020/lib/virtual-scroll/virtual-scroll.component.mjs +142 -0
  11. package/esm2020/lib/zcard/zcard.component.mjs +4 -3
  12. package/esm2020/lib/zchip/zchip.component.mjs +80 -60
  13. package/esm2020/lib/zdatetime/dateIonicMinMaxDate.pipe.mjs +2 -2
  14. package/esm2020/lib/zform/zform.component.mjs +3 -3
  15. package/esm2020/lib/zgrid/container/zgrid-container.component.mjs +3 -4
  16. package/esm2020/lib/zgrid/zgrid.component.mjs +3 -3
  17. package/esm2020/lib/zinput-container/zinput-container.component.mjs +2 -2
  18. package/esm2020/lib/zloop/zloop.component.mjs +23 -17
  19. package/esm2020/lib/ztab/ztab.component.mjs +5 -4
  20. package/esm2020/lib/ztexteditor/ztexteditor.component.mjs +8 -3
  21. package/esm2020/lib/ztreelist/ztreelist.component.mjs +15 -10
  22. package/esm2020/lib/zupload/zupload.component.mjs +2 -2
  23. package/esm2020/public-api.mjs +3 -1
  24. package/fesm2015/mmhglobal-dynamicform.mjs +399 -135
  25. package/fesm2015/mmhglobal-dynamicform.mjs.map +1 -1
  26. package/fesm2020/mmhglobal-dynamicform.mjs +398 -135
  27. package/fesm2020/mmhglobal-dynamicform.mjs.map +1 -1
  28. package/lib/components/datalistingfieldbase.component.d.ts +2 -0
  29. package/lib/components/fieldbase.component.d.ts +10 -1
  30. package/lib/embed-components/spinner/spinner.component.d.ts +14 -0
  31. package/lib/mmhglobal-dynamicform.module.d.ts +39 -37
  32. package/lib/virtual-scroll/virtual-scroll.component.d.ts +32 -0
  33. package/lib/zchip/zchip.component.d.ts +11 -15
  34. package/lib/zloop/zloop.component.d.ts +1 -0
  35. package/lib/ztexteditor/ztexteditor.component.d.ts +3 -0
  36. package/lib/ztreelist/ztreelist.component.d.ts +2 -2
  37. package/package.json +1 -1
  38. package/public-api.d.ts +2 -0
@@ -0,0 +1,142 @@
1
+ /********** Angular **********/
2
+ import { Component, ViewChild } from "@angular/core";
3
+ /********** Ionic **********/
4
+ /********** Plugin **********/
5
+ /********** Component & Service **********/
6
+ import { ContainerFieldBase } from "../components/containerfieldbase.component";
7
+ import { ZComponentHelper } from "mmhglobal-zcore";
8
+ import { CdkVirtualScrollViewport } from "@angular/cdk/scrolling";
9
+ import { auditTime, forkJoin, of, tap } from "rxjs";
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "../services/zcomponent.service";
12
+ import * as i2 from "@angular/cdk/scrolling";
13
+ import * as i3 from "../zformcontrol/zformcontrol.component";
14
+ import * as i4 from "@angular/common";
15
+ import * as i5 from "@angular/flex-layout/extended";
16
+ import * as i6 from "../pipe/htmlSanitize.pipe";
17
+ // Approach 1: Total Count is known, get next page upon scroll. (Will only have multiple pages / pageable)
18
+ // Approach 2: Total Count is not known, append more data at runtime. (Will only have 1 page / not pageable)
19
+ export class VirtualScrollComponent extends ContainerFieldBase {
20
+ constructor(componentService) {
21
+ super(componentService);
22
+ this.pageSize = 50;
23
+ this.pageFetched = [];
24
+ this.footerValue = [];
25
+ }
26
+ ngOnInit() {
27
+ this.setData();
28
+ this.setupFooter();
29
+ super.initComponent().subscribe();
30
+ }
31
+ ngAfterViewInit() {
32
+ this.componentService.decrementComponentCounterForField(this.data);
33
+ this.viewPort.scrolledIndexChange.pipe(auditTime(300), tap((currIndex) => {
34
+ this.populateListData();
35
+ })).subscribe();
36
+ }
37
+ scrollToTop() {
38
+ if (this.viewPort) {
39
+ this.viewPort.scrollToIndex(0);
40
+ }
41
+ }
42
+ setData() {
43
+ if (this.data.Options) {
44
+ if (typeof this.data.Options === 'string' && this.data.Options.startsWith('group.')) {
45
+ this.options = ZComponentHelper.getGroupValue(this.data.Options, this.group);
46
+ }
47
+ else {
48
+ this.options = this.data.Options;
49
+ }
50
+ this.pageSize = this.options.pageSize || 50;
51
+ this.options.loadingLabel = this.options.loadingLabel || '<div>Loading</div>';
52
+ this.setupDataItems();
53
+ }
54
+ }
55
+ appendData(dataItems) {
56
+ this.dataItems = this.dataItems.concat(dataItems);
57
+ this.options.totalCount = this.dataItems.length;
58
+ this.pageSize = this.dataItems.length;
59
+ }
60
+ setupDataItems() {
61
+ this.pageFetched = [];
62
+ if (this.options.dataItems) { // init: 50, pagesize: 20
63
+ if (Array.isArray(this.options.dataItems) && this.options.dataItems.length > 0) {
64
+ const cnt = this.options.totalCount - this.options.dataItems.length;
65
+ if (cnt < 0) {
66
+ console.error('DataItems cannot be more than total count.');
67
+ return;
68
+ }
69
+ this.dataItems = this.options.dataItems.concat(Array(cnt).fill(false));
70
+ const pageNoToMarkAsFetch = Math.ceil(this.options.dataItems.length / this.pageSize) - 1;
71
+ for (let i = 0; i <= pageNoToMarkAsFetch; i++) {
72
+ this.pageFetched.push(i);
73
+ }
74
+ }
75
+ else {
76
+ this.dataItems = Array(this.options.totalCount).fill(false);
77
+ }
78
+ }
79
+ else {
80
+ this.dataItems = Array(this.options.totalCount).fill(false);
81
+ }
82
+ }
83
+ populateListData() {
84
+ const renderRange = this.viewPort.getRenderedRange();
85
+ if (renderRange.start == renderRange.end && renderRange.end == 0) {
86
+ return;
87
+ }
88
+ const startPageNo = Math.floor(renderRange.start / this.pageSize);
89
+ const endPageNo = Math.floor((renderRange.end - 1) / this.pageSize);
90
+ const obs = new Array();
91
+ if (!this.pageFetched.includes(startPageNo)) {
92
+ obs.push(this.fetchData(startPageNo).pipe(tap(data => {
93
+ this.updateDataByIndex(startPageNo * this.pageSize, data);
94
+ this.pageFetched.push(startPageNo);
95
+ })));
96
+ }
97
+ if (startPageNo != endPageNo && !this.pageFetched.includes(endPageNo)) {
98
+ obs.push(this.fetchData(endPageNo).pipe(tap(data => {
99
+ this.updateDataByIndex(endPageNo * this.pageSize, data);
100
+ this.pageFetched.push(endPageNo);
101
+ })));
102
+ }
103
+ if (obs.length > 0) {
104
+ forkJoin(obs).pipe(tap(res => {
105
+ this.updateViewPortData();
106
+ })).subscribe();
107
+ }
108
+ }
109
+ fetchData(pageNo) {
110
+ if (this.data['OnScroll'] && typeof this.data['OnScroll'] == 'string' && this.data['OnScroll'].startsWith('group.')) {
111
+ const onScrollEvent = ZComponentHelper.getGroupEvalValue.call(this, this.data['OnScroll']);
112
+ if (typeof onScrollEvent === 'function') {
113
+ const callFunc = onScrollEvent.bind(this.group.ctrlScope);
114
+ return callFunc(this.group, { pageNo: pageNo, pageSize: this.pageSize });
115
+ }
116
+ }
117
+ return of(false);
118
+ }
119
+ updateDataByIndex(startingIndex, data) {
120
+ for (let i = 0; i < data.length; i++) {
121
+ this.dataItems[startingIndex + i] = data[i];
122
+ }
123
+ }
124
+ updateViewPortData() {
125
+ this.dataItems = [...this.dataItems];
126
+ }
127
+ setupFooter() {
128
+ if (this.data.Value && Array.isArray(this.data.Value)) {
129
+ this.footerValue = this.data.Value.filter(x => x.TabArea === 'footer');
130
+ }
131
+ }
132
+ }
133
+ VirtualScrollComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: VirtualScrollComponent, deps: [{ token: i1.ZComponentService }], target: i0.ɵɵFactoryTarget.Component });
134
+ VirtualScrollComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: VirtualScrollComponent, selector: "app-virtual-scroll", viewQueries: [{ propertyName: "viewPort", first: true, predicate: CdkVirtualScrollViewport, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\r\n *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\"\r\n class=\"container e1tag-container-style\" [style]=\"componentProperties.containerStyle.style\"\r\n [ngClass]=\"(data.ComponentStyleType || '') + ' ' + (data.Class || '')\">\r\n <cdk-virtual-scroll-viewport [itemSize]=\"options.itemSize\" [style]=\"componentProperties.containerStyle.style1\"\r\n class=\"virtual-scroll-viewport e1tag-container-style1\" [minBufferPx]=\"options.minBufferPx\"\r\n [maxBufferPx]=\"options.maxBufferPx\">\r\n <!-- <ng-container *cdkVirtualFor=\"let field of clonedFields\"> -->\r\n <ng-container *cdkVirtualFor=\"let dataItem of dataItems; let i = index\">\r\n <div [style.height.px]=\"options.itemSize\" [style.min-height.px]=\"options.itemSize\"\r\n [style.max-height.px]=\"options.itemSize\" [style]=\"componentProperties.containerStyle.style2\"\r\n class=\"e1tag-container-style2\" (click)=\"onClick($event, dataItem)\"\r\n [id]=\"data.Name + '_' + dataItem?.Value?.Id || ''\">\r\n <div *ngIf=\"!dataItem\" [innerHTML]=\"options.loadingLabel | htmlSanitize\"></div>\r\n <div *ngIf=\"dataItem.Label\" [innerHTML]=\"dataItem.Label | htmlSanitize\"></div>\r\n </div>\r\n </ng-container>\r\n <app-zformcontrol *ngFor=\"let field of footerValue\" [field]=\"field\" [containerField]=\"data\" [group]=\"group\"\r\n [form]=\"form\" [style]=\"componentProperties.containerStyle.style3\" class=\"e1tag-container-style3\">\r\n </app-zformcontrol>\r\n </cdk-virtual-scroll-viewport>\r\n</div>\r\n", styles: [".virtual-scroll-viewport{height:500px}\n"], components: [{ type: i2.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { type: i3.ZformcontrolComponent, selector: "app-zformcontrol", inputs: ["field", "group", "form", "containerField"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { type: i2.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { type: i2.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "htmlSanitize": i6.HtmlSanitizePipe } });
135
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: VirtualScrollComponent, decorators: [{
136
+ type: Component,
137
+ args: [{ selector: "app-virtual-scroll", template: "<div\r\n *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\"\r\n class=\"container e1tag-container-style\" [style]=\"componentProperties.containerStyle.style\"\r\n [ngClass]=\"(data.ComponentStyleType || '') + ' ' + (data.Class || '')\">\r\n <cdk-virtual-scroll-viewport [itemSize]=\"options.itemSize\" [style]=\"componentProperties.containerStyle.style1\"\r\n class=\"virtual-scroll-viewport e1tag-container-style1\" [minBufferPx]=\"options.minBufferPx\"\r\n [maxBufferPx]=\"options.maxBufferPx\">\r\n <!-- <ng-container *cdkVirtualFor=\"let field of clonedFields\"> -->\r\n <ng-container *cdkVirtualFor=\"let dataItem of dataItems; let i = index\">\r\n <div [style.height.px]=\"options.itemSize\" [style.min-height.px]=\"options.itemSize\"\r\n [style.max-height.px]=\"options.itemSize\" [style]=\"componentProperties.containerStyle.style2\"\r\n class=\"e1tag-container-style2\" (click)=\"onClick($event, dataItem)\"\r\n [id]=\"data.Name + '_' + dataItem?.Value?.Id || ''\">\r\n <div *ngIf=\"!dataItem\" [innerHTML]=\"options.loadingLabel | htmlSanitize\"></div>\r\n <div *ngIf=\"dataItem.Label\" [innerHTML]=\"dataItem.Label | htmlSanitize\"></div>\r\n </div>\r\n </ng-container>\r\n <app-zformcontrol *ngFor=\"let field of footerValue\" [field]=\"field\" [containerField]=\"data\" [group]=\"group\"\r\n [form]=\"form\" [style]=\"componentProperties.containerStyle.style3\" class=\"e1tag-container-style3\">\r\n </app-zformcontrol>\r\n </cdk-virtual-scroll-viewport>\r\n</div>\r\n", styles: [".virtual-scroll-viewport{height:500px}\n"] }]
138
+ }], ctorParameters: function () { return [{ type: i1.ZComponentService }]; }, propDecorators: { viewPort: [{
139
+ type: ViewChild,
140
+ args: [CdkVirtualScrollViewport]
141
+ }] } });
142
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlydHVhbC1zY3JvbGwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvdmlydHVhbC1zY3JvbGwvdmlydHVhbC1zY3JvbGwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvdmlydHVhbC1zY3JvbGwvdmlydHVhbC1zY3JvbGwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdELDZCQUE2QjtBQUU3Qiw4QkFBOEI7QUFFOUIsMkNBQTJDO0FBQzNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBRWhGLE9BQU8sRUFBYyxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9ELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2xFLE9BQU8sRUFBYyxTQUFTLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7O0FBU2hFLDBHQUEwRztBQUMxRyw0R0FBNEc7QUFFNUcsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGtCQUFrQjtJQVE1RCxZQUNFLGdCQUFtQztRQUVuQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQVJuQixhQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ2QsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFFakIsZ0JBQVcsR0FBRyxFQUFFLENBQUM7SUFNeEIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDZixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkIsS0FBSyxD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QUMsQ0FBQztTQUN4RTtJQUNILENBQUM7O21IQTVJVSxzQkFBc0I7dUdBQXRCLHNCQUFzQixvR0FDdEIsd0JBQXdCLHVFQ3pCckMsaW1EQXNCQTsyRkRFYSxzQkFBc0I7a0JBVGxDLFNBQVM7K0JBQ0Usb0JBQW9CO3dHQVNPLFFBQVE7c0JBQTVDLFNBQVM7dUJBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKiogQW5ndWxhciAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbi8qKioqKioqKioqIElvbmljICoqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKiBQbHVnaW4gKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqIENvbXBvbmVudCAmIFNlcnZpY2UgKioqKioqKioqKi9cclxuaW1wb3J0IHsgQ29udGFpbmVyRmllbGRCYXNlIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvY29udGFpbmVyZmllbGRiYXNlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBaQ29tcG9uZW50U2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy96Y29tcG9uZW50LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgWkNvbXBvbmVudCwgWkNvbXBvbmVudEhlbHBlciB9IGZyb20gXCJtbWhnbG9iYWwtemNvcmVcIjtcclxuaW1wb3J0IHsgQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0IH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9zY3JvbGxpbmdcIjtcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgYXVkaXRUaW1lLCBmb3JrSm9pbiwgb2YsIHRhcCB9IGZyb20gXCJyeGpzXCI7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiYXBwLXZpcnR1YWwtc2Nyb2xsXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi92aXJ0dWFsLXNjcm9sbC5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi92aXJ0dWFsLXNjcm9sbC5jb21wb25lbnQuc2Nzc1wiXSxcclxufSlcclxuXHJcbi8vIEFwcHJvYWNoIDE6IFRvdGFsIENvdW50IGlzIGtub3duLCBnZXQgbmV4dCBwYWdlIHVwb24gc2Nyb2xsLiAoV2lsbCBvbmx5IGhhdmUgbXVsdGlwbGUgcGFnZXMgLyBwYWdlYWJsZSlcclxuLy8gQXBwcm9hY2ggMjogVG90YWwgQ291bnQgaXMgbm90IGtub3duLCBhcHBlbmQgbW9yZSBkYXRhIGF0IHJ1bnRpbWUuIChXaWxsIG9ubHkgaGF2ZSAxIHBhZ2UgLyBub3QgcGFnZWFibGUpXHJcblxyXG5leHBvcnQgY2xhc3MgVmlydHVhbFNjcm9sbENvbXBvbmVudCBleHRlbmRzIENvbnRhaW5lckZpZWxkQmFzZSBpbXBsZW1lbnRzIFpDb21wb25lbnQsIE9uSW5pdCB7XHJcbiAgQFZpZXdDaGlsZChDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQpIHZpZXdQb3J0OiBDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQ7XHJcbiAgcHVibGljIGRhdGFJdGVtczogQXJyYXk8YW55PjtcclxuICBwdWJsaWMgcGFnZVNpemUgPSA1MDtcclxuICBwdWJsaWMgcGFnZUZldGNoZWQgPSBbXTtcclxuICBwdWJsaWMgb3B0aW9ucztcclxuICBwdWJsaWMgZm9vdGVyVmFsdWUgPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBjb21wb25lbnRTZXJ2aWNlOiBaQ29tcG9uZW50U2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIoY29tcG9uZW50U2VydmljZSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2V0RGF0YSgpO1xyXG4gICAgdGhpcy5zZXR1cEZvb3RlcigpO1xyXG4gICAgc3VwZXIuaW5pdENvbXBvbmVudCgpLnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5jb21wb25lbnRTZXJ2aWNlLmRlY3JlbWVudENvbXBvbmVudENvdW50ZXJGb3JGaWVsZCh0aGlzLmRhdGEpO1xyXG4gICAgdGhpcy52aWV3UG9ydC5zY3JvbGxlZEluZGV4Q2hhbmdlLnBpcGUoXHJcbiAgICAgIGF1ZGl0VGltZSgzMDApLFxyXG4gICAgICB0YXAoKGN1cnJJbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgdGhpcy5wb3B1bGF0ZUxpc3REYXRhKCk7XHJcbiAgICAgIH0pXHJcbiAgICApLnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNjcm9sbFRvVG9wKCkge1xyXG4gICAgaWYgKHRoaXMudmlld1BvcnQpIHtcclxuICAgICAgdGhpcy52aWV3UG9ydC5zY3JvbGxUb0luZGV4KDApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldERhdGEoKSB7XHJcbiAgICBpZiAodGhpcy5kYXRhLk9wdGlvbnMpIHtcclxuICAgICAgaWYgKHR5cGVvZiB0aGlzLmRhdGEuT3B0aW9ucyA9PT0gJ3N0cmluZycgJiYgdGhpcy5kYXRhLk9wdGlvbnMuc3RhcnRzV2l0aCgnZ3JvdXAuJykpIHtcclxuICAgICAgICB0aGlzLm9wdGlvbnMgPSBaQ29tcG9uZW50SGVscGVyLmdldEdyb3VwVmFsdWUodGhpcy5kYXRhLk9wdGlvbnMsIHRoaXMuZ3JvdXApO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMub3B0aW9ucyA9IHRoaXMuZGF0YS5PcHRpb25zO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLnBhZ2VTaXplID0gdGhpcy5vcHRpb25zLnBhZ2VTaXplIHx8IDUwO1xyXG4gICAgICB0aGlzLm9wdGlvbnMubG9hZGluZ0xhYmVsID0gdGhpcy5vcHRpb25zLmxvYWRpbmdMYWJlbCB8fCAnPGRpdj5Mb2FkaW5nPC9kaXY+JztcclxuICAgICAgdGhpcy5zZXR1cERhdGFJdGVtcygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFwcGVuZERhdGEoZGF0YUl0ZW1zOiBBcnJheTxhbnk+KSB7XHJcbiAgICB0aGlzLmRhdGFJdGVtcyA9IHRoaXMuZGF0YUl0ZW1zLmNvbmNhdChkYXRhSXRlbXMpO1xyXG4gICAgdGhpcy5vcHRpb25zLnRvdGFsQ291bnQgPSB0aGlzLmRhdGFJdGVtcy5sZW5ndGg7XHJcbiAgICB0aGlzLnBhZ2VTaXplID0gdGhpcy5kYXRhSXRlbXMubGVuZ3RoO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXR1cERhdGFJdGVtcygpIHtcclxuICAgIHRoaXMucGFnZUZldGNoZWQgPSBbXTtcclxuICAgIGlmICh0aGlzLm9wdGlvbnMuZGF0YUl0ZW1zKSB7IC8vIGluaXQ6IDUwLCBwYWdlc2l6ZTogMjBcclxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5vcHRpb25zLmRhdGFJdGVtcykgJiYgdGhpcy5vcHRpb25zLmRhdGFJdGVtcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgY29uc3QgY250ID0gdGhpcy5vcHRpb25zLnRvdGFsQ291bnQgLSB0aGlzLm9wdGlvbnMuZGF0YUl0ZW1zLmxlbmd0aDtcclxuICAgICAgICBpZiAoY250IDwgMCkge1xyXG4gICAgICAgICAgY29uc29sZS5lcnJvcignRGF0YUl0ZW1zIGNhbm5vdCBiZSBtb3JlIHRoYW4gdG90YWwgY291bnQuJyk7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuZGF0YUl0ZW1zID0gdGhpcy5vcHRpb25zLmRhdGFJdGVtcy5jb25jYXQoQXJyYXkoY250KS5maWxsKGZhbHNlKSk7XHJcbiAgICAgICAgY29uc3QgcGFnZU5vVG9NYXJrQXNGZXRjaCA9IE1hdGguY2VpbCh0aGlzLm9wdGlvbnMuZGF0YUl0ZW1zLmxlbmd0aCAvIHRoaXMucGFnZVNpemUpIC0gMTtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8PSBwYWdlTm9Ub01hcmtBc0ZldGNoOyBpKyspIHtcclxuICAgICAgICAgIHRoaXMucGFnZUZldGNoZWQucHVzaChpKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgdGhpcy5kYXRhSXRlbXMgPSBBcnJheSh0aGlzLm9wdGlvbnMudG90YWxDb3VudCkuZmlsbChmYWxzZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLmRhdGFJdGVtcyA9IEFycmF5KHRoaXMub3B0aW9ucy50b3RhbENvdW50KS5maWxsKGZhbHNlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgcG9wdWxhdGVMaXN0RGF0YSgpIHtcclxuICAgIGNvbnN0IHJlbmRlclJhbmdlID0gdGhpcy52aWV3UG9ydC5nZXRSZW5kZXJlZFJhbmdlKCk7XHJcbiAgICBpZiAocmVuZGVyUmFuZ2Uuc3RhcnQgPT0gcmVuZGVyUmFuZ2UuZW5kICYmIHJlbmRlclJhbmdlLmVuZCA9PSAwKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IHN0YXJ0UGFnZU5vID0gTWF0aC5mbG9vcihyZW5kZXJSYW5nZS5zdGFydCAvIHRoaXMucGFnZVNpemUpO1xyXG4gICAgY29uc3QgZW5kUGFnZU5vID0gTWF0aC5mbG9vcigocmVuZGVyUmFuZ2UuZW5kIC0gMSkgLyB0aGlzLnBhZ2VTaXplKTtcclxuXHJcbiAgICBjb25zdCBvYnMgPSBuZXcgQXJyYXk8T2JzZXJ2YWJsZTxhbnk+PigpO1xyXG4gICAgaWYgKCF0aGlzLnBhZ2VGZXRjaGVkLmluY2x1ZGVzKHN0YXJ0UGFnZU5vKSkge1xyXG4gICAgICBvYnMucHVzaChcclxuICAgICAgICB0aGlzLmZldGNoRGF0YShzdGFydFBhZ2VObykucGlwZSh0YXAoZGF0YSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnVwZGF0ZURhdGFCeUluZGV4KHN0YXJ0UGFnZU5vICogdGhpcy5wYWdlU2l6ZSwgZGF0YSk7XHJcbiAgICAgICAgICB0aGlzLnBhZ2VGZXRjaGVkLnB1c2goc3RhcnRQYWdlTm8pO1xyXG4gICAgICAgIH0pKVxyXG4gICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChzdGFydFBhZ2VObyAhPSBlbmRQYWdlTm8gJiYgIXRoaXMucGFnZUZldGNoZWQuaW5jbHVkZXMoZW5kUGFnZU5vKSkge1xyXG4gICAgICBvYnMucHVzaChcclxuICAgICAgICB0aGlzLmZldGNoRGF0YShlbmRQYWdlTm8pLnBpcGUodGFwKGRhdGEgPT4ge1xyXG4gICAgICAgICAgdGhpcy51cGRhdGVEYXRhQnlJbmRleChlbmRQYWdlTm8gKiB0aGlzLnBhZ2VTaXplLCBkYXRhKTtcclxuICAgICAgICAgIHRoaXMucGFnZUZldGNoZWQucHVzaChlbmRQYWdlTm8pO1xyXG4gICAgICAgIH0pKVxyXG4gICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChvYnMubGVuZ3RoID4gMCkge1xyXG4gICAgICBmb3JrSm9pbihvYnMpLnBpcGUodGFwKHJlcyA9PiB7XHJcbiAgICAgICAgdGhpcy51cGRhdGVWaWV3UG9ydERhdGEoKTtcclxuICAgICAgfSkpLnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmZXRjaERhdGEocGFnZU5vKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGlmICh0aGlzLmRhdGFbJ09uU2Nyb2xsJ10gJiYgdHlwZW9mIHRoaXMuZGF0YVsnT25TY3JvbGwnXSA9PSAnc3RyaW5nJyAmJiB0aGlzLmRhdGFbJ09uU2Nyb2xsJ10uc3RhcnRzV2l0aCgnZ3JvdXAuJykpIHtcclxuICAgICAgY29uc3Qgb25TY3JvbGxFdmVudCA9IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBFdmFsVmFsdWUuY2FsbCh0aGlzLCB0aGlzLmRhdGFbJ09uU2Nyb2xsJ10pO1xyXG4gICAgICBpZiAodHlwZW9mIG9uU2Nyb2xsRXZlbnQgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICBjb25zdCBjYWxsRnVuYyA9IG9uU2Nyb2xsRXZlbnQuYmluZCh0aGlzLmdyb3VwLmN0cmxTY29wZSk7XHJcbiAgICAgICAgcmV0dXJuIGNhbGxGdW5jKHRoaXMuZ3JvdXAsIHsgcGFnZU5vOiBwYWdlTm8sIHBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG9mKGZhbHNlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlRGF0YUJ5SW5kZXgoc3RhcnRpbmdJbmRleDogbnVtYmVyLCBkYXRhOiBBcnJheTxhbnk+KSB7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGEubGVuZ3RoOyBpKyspIHtcclxuICAgICAgdGhpcy5kYXRhSXRlbXNbc3RhcnRpbmdJbmRleCArIGldID0gZGF0YVtpXTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlVmlld1BvcnREYXRhKCkge1xyXG4gICAgdGhpcy5kYXRhSXRlbXMgPSBbLi4udGhpcy5kYXRhSXRlbXNdO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldHVwRm9vdGVyKCkge1xyXG4gICAgaWYgKHRoaXMuZGF0YS5WYWx1ZSAmJiBBcnJheS5pc0FycmF5KHRoaXMuZGF0YS5WYWx1ZSkpIHtcclxuICAgICAgdGhpcy5mb290ZXJWYWx1ZSA9IHRoaXMuZGF0YS5WYWx1ZS5maWx0ZXIoeCA9PiB4LlRhYkFyZWEgPT09ICdmb290ZXInKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdlxyXG4gICpuZ0lmPVwiKCEhY29tcG9uZW50UHJvcGVydGllcy5pc1Zpc2libGVGaWVsZCA/IGdyb3VwW2NvbXBvbmVudFByb3BlcnRpZXMuaXNWaXNpYmxlRmllbGRdIDogY29tcG9uZW50UHJvcGVydGllcy5pc1Zpc2libGUpXCJcclxuICBjbGFzcz1cImNvbnRhaW5lciBlMXRhZy1jb250YWluZXItc3R5bGVcIiBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZVwiXHJcbiAgW25nQ2xhc3NdPVwiKGRhdGEuQ29tcG9uZW50U3R5bGVUeXBlIHx8ICcnKSArICcgJyArIChkYXRhLkNsYXNzIHx8ICcnKVwiPlxyXG4gIDxjZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQgW2l0ZW1TaXplXT1cIm9wdGlvbnMuaXRlbVNpemVcIiBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTFcIlxyXG4gICAgY2xhc3M9XCJ2aXJ0dWFsLXNjcm9sbC12aWV3cG9ydCBlMXRhZy1jb250YWluZXItc3R5bGUxXCIgW21pbkJ1ZmZlclB4XT1cIm9wdGlvbnMubWluQnVmZmVyUHhcIlxyXG4gICAgW21heEJ1ZmZlclB4XT1cIm9wdGlvbnMubWF4QnVmZmVyUHhcIj5cclxuICAgIDwhLS0gPG5nLWNvbnRhaW5lciAqY2RrVmlydHVhbEZvcj1cImxldCBmaWVsZCBvZiBjbG9uZWRGaWVsZHNcIj4gLS0+XHJcbiAgICA8bmctY29udGFpbmVyICpjZGtWaXJ0dWFsRm9yPVwibGV0IGRhdGFJdGVtIG9mIGRhdGFJdGVtczsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICA8ZGl2IFtzdHlsZS5oZWlnaHQucHhdPVwib3B0aW9ucy5pdGVtU2l6ZVwiIFtzdHlsZS5taW4taGVpZ2h0LnB4XT1cIm9wdGlvbnMuaXRlbVNpemVcIlxyXG4gICAgICAgIFtzdHlsZS5tYXgtaGVpZ2h0LnB4XT1cIm9wdGlvbnMuaXRlbVNpemVcIiBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTJcIlxyXG4gICAgICAgIGNsYXNzPVwiZTF0YWctY29udGFpbmVyLXN0eWxlMlwiIChjbGljayk9XCJvbkNsaWNrKCRldmVudCwgZGF0YUl0ZW0pXCJcclxuICAgICAgICBbaWRdPVwiZGF0YS5OYW1lICsgJ18nICsgZGF0YUl0ZW0/LlZhbHVlPy5JZCB8fCAnJ1wiPlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCIhZGF0YUl0ZW1cIiBbaW5uZXJIVE1MXT1cIm9wdGlvbnMubG9hZGluZ0xhYmVsIHwgaHRtbFNhbml0aXplXCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cImRhdGFJdGVtLkxhYmVsXCIgW2lubmVySFRNTF09XCJkYXRhSXRlbS5MYWJlbCB8IGh0bWxTYW5pdGl6ZVwiPjwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPGFwcC16Zm9ybWNvbnRyb2wgKm5nRm9yPVwibGV0IGZpZWxkIG9mIGZvb3RlclZhbHVlXCIgW2ZpZWxkXT1cImZpZWxkXCIgW2NvbnRhaW5lckZpZWxkXT1cImRhdGFcIiBbZ3JvdXBdPVwiZ3JvdXBcIlxyXG4gICAgICBbZm9ybV09XCJmb3JtXCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGUzXCIgY2xhc3M9XCJlMXRhZy1jb250YWluZXItc3R5bGUzXCI+XHJcbiAgICA8L2FwcC16Zm9ybWNvbnRyb2w+XHJcbiAgPC9jZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQ+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -12,6 +12,7 @@ import * as i3 from "@fortawesome/angular-fontawesome";
12
12
  import * as i4 from "@ionic/angular";
13
13
  import * as i5 from "../zdiv/zdiv.component";
14
14
  import * as i6 from "@angular/common";
15
+ import * as i7 from "@angular/flex-layout/extended";
15
16
  export class ZcardComponent extends ContainerFieldBase {
16
17
  constructor(componentService) {
17
18
  super(componentService);
@@ -27,9 +28,9 @@ export class ZcardComponent extends ContainerFieldBase {
27
28
  }
28
29
  }
29
30
  ZcardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ZcardComponent, deps: [{ token: i1.ZComponentService }], target: i0.ɵɵFactoryTarget.Component });
30
- ZcardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: ZcardComponent, selector: "app-zcard", usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\"\r\n class=\"container e1tag-container-style\" [style]=\"componentProperties.containerStyle.style\" [class]=\"data.ComponentStyleType\">\r\n <kendo-panelbar class=\"zcard e1tag-container-style1\" keepItemContent=\"true\" [style]=\"componentProperties.containerStyle.style1\" [class]=\"data.ComponentStyleType\">\r\n <kendo-panelbar-item [expanded]=\"!data.DefaultCollapse\" [style]=\"componentProperties.containerStyle.style2\" class=\"e1tag-container-style2\"\r\n [disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\">\r\n <ng-template kendoPanelBarItemTitle>\r\n <span [style]=\"componentProperties.containerStyle.style3\" class=\"e1tag-container-style3\">\r\n <fa-icon [icon]=\"componentProperties.icon || 'folder'\" class=\"zcard-header-icon\"></fa-icon>\r\n </span>\r\n <ion-label class=\"zcard-header-title e1tag-container-style4\" [style]=\"componentProperties.containerStyle.style4\">{{componentProperties.title}}</ion-label>\r\n </ng-template>\r\n <ng-template kendoPanelBarContent>\r\n <app-zdiv class=\"e1tag-container-style5\" [style]=\"componentProperties.containerStyle.style5\" [data]=\"data\" [form]=\"form\" [group]=\"group\" [containerField]=\"containerField\">\r\n </app-zdiv>\r\n </ng-template>\r\n </kendo-panelbar-item>\r\n </kendo-panelbar>\r\n</div>\r\n", styles: [".container{margin:var(--container-margin-top) 0px 6px 0px}:host ::ng-deep kendo-panelbar.zcard{border:none;background:transparent}:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header>.k-link{background:var(--ion-color-primary);text-transform:none;border-radius:var(--ion-container-border-radius);padding:10px 16px}:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header>.k-link .zcard-header-icon{color:var(--ion-color-primary-contrast);padding-right:10px;font-size:11pt}:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header>.k-link .zcard-header-title{color:var(--ion-color-primary-contrast);font-weight:600;font-size:16px;padding-top:3px}:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header>.k-link>.k-icon{color:var(--ion-color-primary-contrast);font-size:20px;font-weight:900}:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header>.k-link:hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header>.k-link.k-selected:hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header>.k-link.k-hover :host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header>.k-link.k-state-selected:hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header>.k-link.k-state-hover{background:rgba(var(--ion-color-primary-rgb),.9);cursor:pointer}:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header>.k-link.k-selected,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header>.k-link.k-state-selected{background:var(--ion-color-primary)}:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-expanded>.k-link,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-state-expanded>.k-link{border-radius:var(--ion-container-border-radius) var(--ion-container-border-radius) 0px 0px;background:rgba(var(--ion-color-primary-rgb),.25)}:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-expanded>.k-link:hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-expanded>.k-link.k-selected:hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-expanded>.k-link.k-hover :host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-expanded>.k-link.k-state-selected:hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-expanded>.k-link.k-state-hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-state-expanded>.k-link:hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-state-expanded>.k-link.k-selected:hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-expanded>.k-link.k-hover :host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-state-expanded>.k-link.k-state-selected:hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-state-expanded>.k-link.k-state-hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-state-expanded>.k-link.k-hover :host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-expanded>.k-link.k-state-selected:hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-state-expanded>.k-link.k-hover :host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-state-expanded>.k-link.k-state-selected:hover{background:rgba(var(--ion-color-primary-rgb),.35);cursor:pointer}:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-expanded>.k-link .zcard-header-icon,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-expanded>.k-link .zcard-header-title,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-expanded>.k-link .k-icon,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-state-expanded>.k-link .zcard-header-icon,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-state-expanded>.k-link .zcard-header-title,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-state-expanded>.k-link .k-icon{color:var(--ion-color-primary-shade)}:host ::ng-deep kendo-panelbar.zcard .k-content.k-panelbar-content{border-radius:0px 0px var(--ion-container-border-radius) var(--ion-container-border-radius);padding:5px 5px 20px 0;animation:slide-bottom .5s cubic-bezier(.25,.46,.45,.94) both}@keyframes slide-bottom{0%{transform:translateY(-50px);opacity:0}25%{opacity:.25}50%{opacity:.5}75%{opacity:.75}to{transform:translateY(0);opacity:1}}\n"], components: [{ type: i2.PanelBarComponent, selector: "kendo-panelbar", inputs: ["expandMode", "selectable", "animate", "height", "keepItemContent", "items"], outputs: ["stateChange", "select", "expand", "collapse"], exportAs: ["kendoPanelbar"] }, { type: i2.PanelBarItemComponent, selector: "kendo-panelbar-item", inputs: ["title", "id", "icon", "iconClass", "imageUrl", "disabled", "expanded", "selected", "content", "items", "template"], exportAs: ["kendoPanelbarItem"] }, { type: i3.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { type: i4.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { type: i5.ZdivComponent, selector: "app-zdiv" }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.PanelBarItemTitleDirective, selector: "[kendoPanelBarItemTitle]" }, { type: i2.PanelBarContentDirective, selector: "[kendoPanelBarContent]" }] });
31
+ ZcardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: ZcardComponent, selector: "app-zcard", usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\"\r\n class=\"container e1tag-container-style\" [style]=\"componentProperties.containerStyle.style\" [ngClass]=\"(data.ComponentStyleType || '') + ' ' + (data.Class || '')\">\r\n <kendo-panelbar class=\"zcard e1tag-container-style1\" keepItemContent=\"true\" [style]=\"componentProperties.containerStyle.style1\" [class]=\"data.ComponentStyleType\">\r\n <kendo-panelbar-item [expanded]=\"!data.DefaultCollapse\" [style]=\"componentProperties.containerStyle.style2\" class=\"e1tag-container-style2\"\r\n [disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\">\r\n <ng-template kendoPanelBarItemTitle>\r\n <span [style]=\"componentProperties.containerStyle.style3\" class=\"e1tag-container-style3\">\r\n <fa-icon [icon]=\"componentProperties.icon || 'folder'\" class=\"zcard-header-icon\"></fa-icon>\r\n </span>\r\n <ion-label class=\"zcard-header-title e1tag-container-style4\" [style]=\"componentProperties.containerStyle.style4\">{{componentProperties.title}}</ion-label>\r\n </ng-template>\r\n <ng-template kendoPanelBarContent>\r\n <app-zdiv class=\"e1tag-container-style5\" [style]=\"componentProperties.containerStyle.style5\" [data]=\"data\" [form]=\"form\" [group]=\"group\" [containerField]=\"containerField\">\r\n </app-zdiv>\r\n </ng-template>\r\n </kendo-panelbar-item>\r\n </kendo-panelbar>\r\n</div>\r\n", styles: [".container{margin:var(--container-margin-top) 0px 6px 0px}:host ::ng-deep kendo-panelbar.zcard{border:none;background:transparent}:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header>.k-link{background:var(--ion-color-primary);text-transform:none;border-radius:var(--ion-container-border-radius);padding:10px 16px}:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header>.k-link .zcard-header-icon{color:var(--ion-color-primary-contrast);padding-right:10px;font-size:11pt}:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header>.k-link .zcard-header-title{color:var(--ion-color-primary-contrast);font-weight:600;font-size:16px;padding-top:3px}:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header>.k-link>.k-icon{color:var(--ion-color-primary-contrast);font-size:20px;font-weight:900}:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header>.k-link:hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header>.k-link.k-selected:hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header>.k-link.k-hover :host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header>.k-link.k-state-selected:hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header>.k-link.k-state-hover{background:rgba(var(--ion-color-primary-rgb),.9);cursor:pointer}:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header>.k-link.k-selected,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header>.k-link.k-state-selected{background:var(--ion-color-primary)}:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-expanded>.k-link,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-state-expanded>.k-link{border-radius:var(--ion-container-border-radius) var(--ion-container-border-radius) 0px 0px;background:rgba(var(--ion-color-primary-rgb),.25)}:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-expanded>.k-link:hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-expanded>.k-link.k-selected:hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-expanded>.k-link.k-hover :host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-expanded>.k-link.k-state-selected:hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-expanded>.k-link.k-state-hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-state-expanded>.k-link:hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-state-expanded>.k-link.k-selected:hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-expanded>.k-link.k-hover :host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-state-expanded>.k-link.k-state-selected:hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-state-expanded>.k-link.k-state-hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-state-expanded>.k-link.k-hover :host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-expanded>.k-link.k-state-selected:hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-state-expanded>.k-link.k-hover :host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-state-expanded>.k-link.k-state-selected:hover{background:rgba(var(--ion-color-primary-rgb),.35);cursor:pointer}:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-expanded>.k-link .zcard-header-icon,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-expanded>.k-link .zcard-header-title,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-expanded>.k-link .k-icon,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-state-expanded>.k-link .zcard-header-icon,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-state-expanded>.k-link .zcard-header-title,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-state-expanded>.k-link .k-icon{color:var(--ion-color-primary-shade)}:host ::ng-deep kendo-panelbar.zcard .k-content.k-panelbar-content{border-radius:0px 0px var(--ion-container-border-radius) var(--ion-container-border-radius);padding:5px 5px 20px 0;animation:slide-bottom .5s cubic-bezier(.25,.46,.45,.94) both}@keyframes slide-bottom{0%{transform:translateY(-50px);opacity:0}25%{opacity:.25}50%{opacity:.5}75%{opacity:.75}to{transform:translateY(0);opacity:1}}\n"], components: [{ type: i2.PanelBarComponent, selector: "kendo-panelbar", inputs: ["expandMode", "selectable", "animate", "height", "keepItemContent", "items"], outputs: ["stateChange", "select", "expand", "collapse"], exportAs: ["kendoPanelbar"] }, { type: i2.PanelBarItemComponent, selector: "kendo-panelbar-item", inputs: ["title", "id", "icon", "iconClass", "imageUrl", "disabled", "expanded", "selected", "content", "items", "template"], exportAs: ["kendoPanelbarItem"] }, { type: i3.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { type: i4.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { type: i5.ZdivComponent, selector: "app-zdiv" }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i7.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { type: i2.PanelBarItemTitleDirective, selector: "[kendoPanelBarItemTitle]" }, { type: i2.PanelBarContentDirective, selector: "[kendoPanelBarContent]" }] });
31
32
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ZcardComponent, decorators: [{
32
33
  type: Component,
33
- args: [{ selector: "app-zcard", template: "<div *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\"\r\n class=\"container e1tag-container-style\" [style]=\"componentProperties.containerStyle.style\" [class]=\"data.ComponentStyleType\">\r\n <kendo-panelbar class=\"zcard e1tag-container-style1\" keepItemContent=\"true\" [style]=\"componentProperties.containerStyle.style1\" [class]=\"data.ComponentStyleType\">\r\n <kendo-panelbar-item [expanded]=\"!data.DefaultCollapse\" [style]=\"componentProperties.containerStyle.style2\" class=\"e1tag-container-style2\"\r\n [disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\">\r\n <ng-template kendoPanelBarItemTitle>\r\n <span [style]=\"componentProperties.containerStyle.style3\" class=\"e1tag-container-style3\">\r\n <fa-icon [icon]=\"componentProperties.icon || 'folder'\" class=\"zcard-header-icon\"></fa-icon>\r\n </span>\r\n <ion-label class=\"zcard-header-title e1tag-container-style4\" [style]=\"componentProperties.containerStyle.style4\">{{componentProperties.title}}</ion-label>\r\n </ng-template>\r\n <ng-template kendoPanelBarContent>\r\n <app-zdiv class=\"e1tag-container-style5\" [style]=\"componentProperties.containerStyle.style5\" [data]=\"data\" [form]=\"form\" [group]=\"group\" [containerField]=\"containerField\">\r\n </app-zdiv>\r\n </ng-template>\r\n </kendo-panelbar-item>\r\n </kendo-panelbar>\r\n</div>\r\n", styles: [".container{margin:var(--container-margin-top) 0px 6px 0px}:host ::ng-deep kendo-panelbar.zcard{border:none;background:transparent}:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header>.k-link{background:var(--ion-color-primary);text-transform:none;border-radius:var(--ion-container-border-radius);padding:10px 16px}:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header>.k-link .zcard-header-icon{color:var(--ion-color-primary-contrast);padding-right:10px;font-size:11pt}:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header>.k-link .zcard-header-title{color:var(--ion-color-primary-contrast);font-weight:600;font-size:16px;padding-top:3px}:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header>.k-link>.k-icon{color:var(--ion-color-primary-contrast);font-size:20px;font-weight:900}:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header>.k-link:hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header>.k-link.k-selected:hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header>.k-link.k-hover :host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header>.k-link.k-state-selected:hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header>.k-link.k-state-hover{background:rgba(var(--ion-color-primary-rgb),.9);cursor:pointer}:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header>.k-link.k-selected,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header>.k-link.k-state-selected{background:var(--ion-color-primary)}:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-expanded>.k-link,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-state-expanded>.k-link{border-radius:var(--ion-container-border-radius) var(--ion-container-border-radius) 0px 0px;background:rgba(var(--ion-color-primary-rgb),.25)}:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-expanded>.k-link:hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-expanded>.k-link.k-selected:hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-expanded>.k-link.k-hover :host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-expanded>.k-link.k-state-selected:hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-expanded>.k-link.k-state-hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-state-expanded>.k-link:hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-state-expanded>.k-link.k-selected:hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-expanded>.k-link.k-hover :host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-state-expanded>.k-link.k-state-selected:hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-state-expanded>.k-link.k-state-hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-state-expanded>.k-link.k-hover :host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-expanded>.k-link.k-state-selected:hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-state-expanded>.k-link.k-hover :host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-state-expanded>.k-link.k-state-selected:hover{background:rgba(var(--ion-color-primary-rgb),.35);cursor:pointer}:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-expanded>.k-link .zcard-header-icon,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-expanded>.k-link .zcard-header-title,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-expanded>.k-link .k-icon,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-state-expanded>.k-link .zcard-header-icon,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-state-expanded>.k-link .zcard-header-title,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-state-expanded>.k-link .k-icon{color:var(--ion-color-primary-shade)}:host ::ng-deep kendo-panelbar.zcard .k-content.k-panelbar-content{border-radius:0px 0px var(--ion-container-border-radius) var(--ion-container-border-radius);padding:5px 5px 20px 0;animation:slide-bottom .5s cubic-bezier(.25,.46,.45,.94) both}@keyframes slide-bottom{0%{transform:translateY(-50px);opacity:0}25%{opacity:.25}50%{opacity:.5}75%{opacity:.75}to{transform:translateY(0);opacity:1}}\n"] }]
34
+ args: [{ selector: "app-zcard", template: "<div *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\"\r\n class=\"container e1tag-container-style\" [style]=\"componentProperties.containerStyle.style\" [ngClass]=\"(data.ComponentStyleType || '') + ' ' + (data.Class || '')\">\r\n <kendo-panelbar class=\"zcard e1tag-container-style1\" keepItemContent=\"true\" [style]=\"componentProperties.containerStyle.style1\" [class]=\"data.ComponentStyleType\">\r\n <kendo-panelbar-item [expanded]=\"!data.DefaultCollapse\" [style]=\"componentProperties.containerStyle.style2\" class=\"e1tag-container-style2\"\r\n [disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\">\r\n <ng-template kendoPanelBarItemTitle>\r\n <span [style]=\"componentProperties.containerStyle.style3\" class=\"e1tag-container-style3\">\r\n <fa-icon [icon]=\"componentProperties.icon || 'folder'\" class=\"zcard-header-icon\"></fa-icon>\r\n </span>\r\n <ion-label class=\"zcard-header-title e1tag-container-style4\" [style]=\"componentProperties.containerStyle.style4\">{{componentProperties.title}}</ion-label>\r\n </ng-template>\r\n <ng-template kendoPanelBarContent>\r\n <app-zdiv class=\"e1tag-container-style5\" [style]=\"componentProperties.containerStyle.style5\" [data]=\"data\" [form]=\"form\" [group]=\"group\" [containerField]=\"containerField\">\r\n </app-zdiv>\r\n </ng-template>\r\n </kendo-panelbar-item>\r\n </kendo-panelbar>\r\n</div>\r\n", styles: [".container{margin:var(--container-margin-top) 0px 6px 0px}:host ::ng-deep kendo-panelbar.zcard{border:none;background:transparent}:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header>.k-link{background:var(--ion-color-primary);text-transform:none;border-radius:var(--ion-container-border-radius);padding:10px 16px}:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header>.k-link .zcard-header-icon{color:var(--ion-color-primary-contrast);padding-right:10px;font-size:11pt}:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header>.k-link .zcard-header-title{color:var(--ion-color-primary-contrast);font-weight:600;font-size:16px;padding-top:3px}:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header>.k-link>.k-icon{color:var(--ion-color-primary-contrast);font-size:20px;font-weight:900}:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header>.k-link:hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header>.k-link.k-selected:hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header>.k-link.k-hover :host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header>.k-link.k-state-selected:hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header>.k-link.k-state-hover{background:rgba(var(--ion-color-primary-rgb),.9);cursor:pointer}:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header>.k-link.k-selected,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header>.k-link.k-state-selected{background:var(--ion-color-primary)}:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-expanded>.k-link,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-state-expanded>.k-link{border-radius:var(--ion-container-border-radius) var(--ion-container-border-radius) 0px 0px;background:rgba(var(--ion-color-primary-rgb),.25)}:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-expanded>.k-link:hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-expanded>.k-link.k-selected:hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-expanded>.k-link.k-hover :host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-expanded>.k-link.k-state-selected:hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-expanded>.k-link.k-state-hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-state-expanded>.k-link:hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-state-expanded>.k-link.k-selected:hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-expanded>.k-link.k-hover :host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-state-expanded>.k-link.k-state-selected:hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-state-expanded>.k-link.k-state-hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-state-expanded>.k-link.k-hover :host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-expanded>.k-link.k-state-selected:hover,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-state-expanded>.k-link.k-hover :host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-state-expanded>.k-link.k-state-selected:hover{background:rgba(var(--ion-color-primary-rgb),.35);cursor:pointer}:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-expanded>.k-link .zcard-header-icon,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-expanded>.k-link .zcard-header-title,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-expanded>.k-link .k-icon,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-state-expanded>.k-link .zcard-header-icon,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-state-expanded>.k-link .zcard-header-title,:host ::ng-deep kendo-panelbar.zcard>.k-panelbar-header.k-state-expanded>.k-link .k-icon{color:var(--ion-color-primary-shade)}:host ::ng-deep kendo-panelbar.zcard .k-content.k-panelbar-content{border-radius:0px 0px var(--ion-container-border-radius) var(--ion-container-border-radius);padding:5px 5px 20px 0;animation:slide-bottom .5s cubic-bezier(.25,.46,.45,.94) both}@keyframes slide-bottom{0%{transform:translateY(-50px);opacity:0}25%{opacity:.25}50%{opacity:.5}75%{opacity:.75}to{transform:translateY(0);opacity:1}}\n"] }]
34
35
  }], ctorParameters: function () { return [{ type: i1.ZComponentService }]; } });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemNhcmQvemNhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemNhcmQvemNhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFbEQsNkJBQTZCO0FBRTdCLDhCQUE4QjtBQUU5QiwyQ0FBMkM7QUFDM0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFFaEYsT0FBTyxFQUFjLGdCQUFnQixFQUFVLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7O0FBU3ZFLE1BQU0sT0FBTyxjQUFlLFNBQVEsa0JBQWtCO0lBQ3BELFlBQ0UsZ0JBQW1DO1FBRW5DLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBV25CLFlBQU8sR0FBRyxDQUFDLEtBQVUsRUFBRSxFQUFFO1lBQzlCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQUUsQ0FBQyxDQUFBO0lBWDlKLENBQUM7SUFFRCxRQUFRO1FBQ04sS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGlDQUFpQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyRSxDQUFDOzsyR0FiVSxjQUFjOytGQUFkLGNBQWMsd0VDbkIzQixtakRBa0JBOzJGRENhLGNBQWM7a0JBTjFCLFNBQVM7K0JBQ0UsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqIEFuZ3VsYXIgKioqKioqKioqKi9cclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuLyoqKioqKioqKiogSW9uaWMgKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqIFBsdWdpbiAqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKiogQ29tcG9uZW50ICYgU2VydmljZSAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBDb250YWluZXJGaWVsZEJhc2UgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9jb250YWluZXJmaWVsZGJhc2UuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFpDb21wb25lbnRTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL3pjb21wb25lbnQuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBaQ29tcG9uZW50LCBaQ29tcG9uZW50SGVscGVyLCBaRmllbGQgfSBmcm9tIFwibW1oZ2xvYmFsLXpjb3JlXCI7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiYXBwLXpjYXJkXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi96Y2FyZC5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi96Y2FyZC5jb21wb25lbnQuc2Nzc1wiXSxcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBaY2FyZENvbXBvbmVudCBleHRlbmRzIENvbnRhaW5lckZpZWxkQmFzZSBpbXBsZW1lbnRzIFpDb21wb25lbnQsIE9uSW5pdCB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBjb21wb25lbnRTZXJ2aWNlOiBaQ29tcG9uZW50U2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIoY29tcG9uZW50U2VydmljZSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHN1cGVyLmluaXRDb21wb25lbnQoKS5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuY29tcG9uZW50U2VydmljZS5kZWNyZW1lbnRDb21wb25lbnRDb3VudGVyRm9yRmllbGQodGhpcy5kYXRhKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXREYXRhID0gKGdEYXRhOiBhbnkpID0+IHtcclxuICAgIHRoaXMuY29tcG9uZW50UHJvcGVydGllcy50aXRsZSA9IHRoaXMuZGF0YS5UaXRsZS5zdGFydHNXaXRoKFwiZ3JvdXAuXCIpID8gWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cEV2YWxWYWx1ZS5jYWxsKHRoaXMsIHRoaXMuZGF0YS5UaXRsZSkgOiB0aGlzLmRhdGEuVGl0bGU7ICB9XHJcbn1cclxuIiwiPGRpdiAqbmdJZj1cIighIWNvbXBvbmVudFByb3BlcnRpZXMuaXNWaXNpYmxlRmllbGQgPyBncm91cFtjb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZUZpZWxkXSA6IGNvbXBvbmVudFByb3BlcnRpZXMuaXNWaXNpYmxlKVwiXHJcbiAgICAgY2xhc3M9XCJjb250YWluZXIgZTF0YWctY29udGFpbmVyLXN0eWxlXCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGVcIiBbY2xhc3NdPVwiZGF0YS5Db21wb25lbnRTdHlsZVR5cGVcIj5cclxuICA8a2VuZG8tcGFuZWxiYXIgY2xhc3M9XCJ6Y2FyZCBlMXRhZy1jb250YWluZXItc3R5bGUxXCIga2VlcEl0ZW1Db250ZW50PVwidHJ1ZVwiIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlMVwiIFtjbGFzc109XCJkYXRhLkNvbXBvbmVudFN0eWxlVHlwZVwiPlxyXG4gICAgPGtlbmRvLXBhbmVsYmFyLWl0ZW0gW2V4cGFuZGVkXT1cIiFkYXRhLkRlZmF1bHRDb2xsYXBzZVwiIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlMlwiIGNsYXNzPVwiZTF0YWctY29udGFpbmVyLXN0eWxlMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiKCEhY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5RmllbGQgPyBncm91cFtjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHlGaWVsZF0gOiBjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHkpXCI+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb1BhbmVsQmFySXRlbVRpdGxlPlxyXG4gICAgICAgIDxzcGFuIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlM1wiIGNsYXNzPVwiZTF0YWctY29udGFpbmVyLXN0eWxlM1wiPlxyXG4gICAgICAgICAgPGZhLWljb24gW2ljb25dPVwiY29tcG9uZW50UHJvcGVydGllcy5pY29uIHx8ICdmb2xkZXInXCIgY2xhc3M9XCJ6Y2FyZC1oZWFkZXItaWNvblwiPjwvZmEtaWNvbj5cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPGlvbi1sYWJlbCBjbGFzcz1cInpjYXJkLWhlYWRlci10aXRsZSBlMXRhZy1jb250YWluZXItc3R5bGU0XCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGU0XCI+e3tjb21wb25lbnRQcm9wZXJ0aWVzLnRpdGxlfX08L2lvbi1sYWJlbD5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPG5nLXRlbXBsYXRlIGtlbmRvUGFuZWxCYXJDb250ZW50PlxyXG4gICAgICAgIDxhcHAtemRpdiBjbGFzcz1cImUxdGFnLWNvbnRhaW5lci1zdHlsZTVcIiBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTVcIiBbZGF0YV09XCJkYXRhXCIgW2Zvcm1dPVwiZm9ybVwiIFtncm91cF09XCJncm91cFwiIFtjb250YWluZXJGaWVsZF09XCJjb250YWluZXJGaWVsZFwiPlxyXG4gICAgICAgIDwvYXBwLXpkaXY+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L2tlbmRvLXBhbmVsYmFyLWl0ZW0+XHJcbiAgPC9rZW5kby1wYW5lbGJhcj5cclxuPC9kaXY+XHJcbiJdfQ==
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemNhcmQvemNhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemNhcmQvemNhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFbEQsNkJBQTZCO0FBRTdCLDhCQUE4QjtBQUU5QiwyQ0FBMkM7QUFDM0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFFaEYsT0FBTyxFQUFjLGdCQUFnQixFQUFVLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7OztBQVN2RSxNQUFNLE9BQU8sY0FBZSxTQUFRLGtCQUFrQjtJQUNwRCxZQUNFLGdCQUFtQztRQUVuQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQVduQixZQUFPLEdBQUcsQ0FBQyxLQUFVLEVBQUUsRUFBRTtZQUM5QixJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUFFLENBQUMsQ0FBQTtJQVg5SixDQUFDO0lBRUQsUUFBUTtRQUNOLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxpQ0FBaUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckUsQ0FBQzs7MkdBYlUsY0FBYzsrRkFBZCxjQUFjLHdFQ25CM0Isd2xEQWtCQTsyRkRDYSxjQUFjO2tCQU4xQixTQUFTOytCQUNFLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKiBBbmd1bGFyICoqKioqKioqKiovXHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbi8qKioqKioqKioqIElvbmljICoqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKiBQbHVnaW4gKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqIENvbXBvbmVudCAmIFNlcnZpY2UgKioqKioqKioqKi9cclxuaW1wb3J0IHsgQ29udGFpbmVyRmllbGRCYXNlIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvY29udGFpbmVyZmllbGRiYXNlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBaQ29tcG9uZW50U2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy96Y29tcG9uZW50LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgWkNvbXBvbmVudCwgWkNvbXBvbmVudEhlbHBlciwgWkZpZWxkIH0gZnJvbSBcIm1taGdsb2JhbC16Y29yZVwiO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImFwcC16Y2FyZFwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vemNhcmQuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4vemNhcmQuY29tcG9uZW50LnNjc3NcIl0sXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgWmNhcmRDb21wb25lbnQgZXh0ZW5kcyBDb250YWluZXJGaWVsZEJhc2UgaW1wbGVtZW50cyBaQ29tcG9uZW50LCBPbkluaXQge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgY29tcG9uZW50U2VydmljZTogWkNvbXBvbmVudFNlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKGNvbXBvbmVudFNlcnZpY2UpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBzdXBlci5pbml0Q29tcG9uZW50KCkuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLmNvbXBvbmVudFNlcnZpY2UuZGVjcmVtZW50Q29tcG9uZW50Q291bnRlckZvckZpZWxkKHRoaXMuZGF0YSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0RGF0YSA9IChnRGF0YTogYW55KSA9PiB7XHJcbiAgICB0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMudGl0bGUgPSB0aGlzLmRhdGEuVGl0bGUuc3RhcnRzV2l0aChcImdyb3VwLlwiKSA/IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBFdmFsVmFsdWUuY2FsbCh0aGlzLCB0aGlzLmRhdGEuVGl0bGUpIDogdGhpcy5kYXRhLlRpdGxlOyAgfVxyXG59XHJcbiIsIjxkaXYgKm5nSWY9XCIoISFjb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZUZpZWxkID8gZ3JvdXBbY29tcG9uZW50UHJvcGVydGllcy5pc1Zpc2libGVGaWVsZF0gOiBjb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZSlcIlxyXG4gICAgIGNsYXNzPVwiY29udGFpbmVyIGUxdGFnLWNvbnRhaW5lci1zdHlsZVwiIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlXCIgW25nQ2xhc3NdPVwiKGRhdGEuQ29tcG9uZW50U3R5bGVUeXBlIHx8ICcnKSArICcgJyArIChkYXRhLkNsYXNzIHx8ICcnKVwiPlxyXG4gIDxrZW5kby1wYW5lbGJhciBjbGFzcz1cInpjYXJkIGUxdGFnLWNvbnRhaW5lci1zdHlsZTFcIiBrZWVwSXRlbUNvbnRlbnQ9XCJ0cnVlXCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGUxXCIgW2NsYXNzXT1cImRhdGEuQ29tcG9uZW50U3R5bGVUeXBlXCI+XHJcbiAgICA8a2VuZG8tcGFuZWxiYXItaXRlbSBbZXhwYW5kZWRdPVwiIWRhdGEuRGVmYXVsdENvbGxhcHNlXCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGUyXCIgY2xhc3M9XCJlMXRhZy1jb250YWluZXItc3R5bGUyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIoISFjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHlGaWVsZCA/IGdyb3VwW2NvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seUZpZWxkXSA6IGNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seSlcIj5cclxuICAgICAgPG5nLXRlbXBsYXRlIGtlbmRvUGFuZWxCYXJJdGVtVGl0bGU+XHJcbiAgICAgICAgPHNwYW4gW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGUzXCIgY2xhc3M9XCJlMXRhZy1jb250YWluZXItc3R5bGUzXCI+XHJcbiAgICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmljb24gfHwgJ2ZvbGRlcidcIiBjbGFzcz1cInpjYXJkLWhlYWRlci1pY29uXCI+PC9mYS1pY29uPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8aW9uLWxhYmVsIGNsYXNzPVwiemNhcmQtaGVhZGVyLXRpdGxlIGUxdGFnLWNvbnRhaW5lci1zdHlsZTRcIiBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTRcIj57e2NvbXBvbmVudFByb3BlcnRpZXMudGl0bGV9fTwvaW9uLWxhYmVsPlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8bmctdGVtcGxhdGUga2VuZG9QYW5lbEJhckNvbnRlbnQ+XHJcbiAgICAgICAgPGFwcC16ZGl2IGNsYXNzPVwiZTF0YWctY29udGFpbmVyLXN0eWxlNVwiIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlNVwiIFtkYXRhXT1cImRhdGFcIiBbZm9ybV09XCJmb3JtXCIgW2dyb3VwXT1cImdyb3VwXCIgW2NvbnRhaW5lckZpZWxkXT1cImNvbnRhaW5lckZpZWxkXCI+XHJcbiAgICAgICAgPC9hcHAtemRpdj5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwva2VuZG8tcGFuZWxiYXItaXRlbT5cclxuICA8L2tlbmRvLXBhbmVsYmFyPlxyXG48L2Rpdj5cclxuIl19
@@ -1,59 +1,97 @@
1
1
  /********** Angular **********/
2
- import { Component, Input } from "@angular/core";
2
+ import { Component, ViewChild } from "@angular/core";
3
3
  /********** Ionic **********/
4
4
  /********** Plugin **********/
5
5
  import { tap } from "rxjs/operators";
6
6
  /********** Component & Service **********/
7
7
  import { InputFieldBase } from "../components/inputfieldbase.component";
8
- import { ZComponentHelper, ZComponentProperties } from 'mmhglobal-zcore';
8
+ import { ZComponentHelper } from 'mmhglobal-zcore';
9
+ import { ChipListComponent } from "@progress/kendo-angular-buttons";
9
10
  import * as i0 from "@angular/core";
10
11
  import * as i1 from "../services/zcomponent.service";
11
- import * as i2 from "@progress/kendo-angular-buttons";
12
- import * as i3 from "@angular/common";
13
- import * as i4 from "@angular/forms";
14
- import * as i5 from "@angular/flex-layout/extended";
15
- import * as i6 from "@progress/kendo-angular-tooltip";
12
+ import * as i2 from "mmhglobal-zcore";
13
+ import * as i3 from "@progress/kendo-angular-buttons";
14
+ import * as i4 from "@fortawesome/angular-fontawesome";
15
+ import * as i5 from "@angular/common";
16
+ import * as i6 from "@angular/forms";
17
+ import * as i7 from "@angular/flex-layout/extended";
18
+ import * as i8 from "@progress/kendo-angular-tooltip";
19
+ import * as i9 from "../pipe/htmlSanitize.pipe";
16
20
  export class ZChipComponent extends InputFieldBase {
17
- constructor(componentService) {
21
+ constructor(componentService, fontAweSomeService) {
18
22
  super(componentService);
19
23
  this.componentService = componentService;
20
- this.icon = "k-icon k-i-cancel";
21
- this.selectedIcon = "k-icon k-i-check-circle";
22
- this.componentProperties = new ZComponentProperties();
24
+ this.fontAweSomeService = fontAweSomeService;
23
25
  }
24
26
  ngOnInit() {
25
- super.initComponent().pipe(tap(() => { this.setupDataSource(); })).subscribe();
27
+ super.initComponent().pipe(tap(() => {
28
+ this.setupDataSource();
29
+ if (this.dataSource && this.dataSource.length > 0) {
30
+ this.setupDataSourceByzModel();
31
+ this.setupDataSourceForIconChange();
32
+ }
33
+ })).subscribe();
26
34
  }
27
35
  ngAfterViewInit() {
28
36
  this.componentService.decrementComponentCounterForField(this.data);
29
37
  }
30
- getChipClass(chip) {
31
- return chip.Class ? chip.Class : "";
38
+ setupDataSource() {
39
+ if (!this.data.DataSource) {
40
+ console.error("No data source found for zchip");
41
+ return;
42
+ }
43
+ this.dataSource = this.data.DataSource;
44
+ if (typeof this.data.DataSource == 'string' && this.data.DataSource.startsWith('group.')) {
45
+ this.dataSource = ZComponentHelper.getGroupValue(this.data.DataSource, this.group);
46
+ }
32
47
  }
33
- chipListChangeSelection(selectedChipIndexes) {
34
- let ind = 0;
35
- for (let chip of this.dataSource) {
36
- if (selectedChipIndexes.includes(ind)) {
37
- chip.Icon = null;
48
+ setupDataSourceByzModel() {
49
+ const modelData = this.group.zModel[this.data.Value];
50
+ if (!ZComponentHelper.isNullUndefinedEmpty(modelData)) {
51
+ const modelValueKeyList = modelData.map(x => x.Label);
52
+ for (const item of this.dataSource) {
53
+ item.Selected = modelValueKeyList.includes(item.Label);
38
54
  }
39
- else {
40
- chip.Icon = this.dataSource.find(x => x.Value === chip.Value)._Icon;
55
+ }
56
+ else {
57
+ this.dataSource.forEach(x => x.Selected = false);
58
+ }
59
+ }
60
+ setData(data) {
61
+ this.setupDataSourceByzModel();
62
+ this.dataSource = [...this.dataSource];
63
+ // Need to set in this way as the chips are QueryList
64
+ if (this.chipList && this.chipList.chips && this.chipList.chips.length > 0) {
65
+ let index = 0;
66
+ for (const chip of this.chipList.chips) {
67
+ chip.selected = !!this.dataSource[index]?.Selected || false;
68
+ index++;
41
69
  }
42
- ind++;
43
70
  }
44
71
  }
45
- chipChangeSelection(chip) {
46
- this.dataSource.find(x => x.Value === chip.Value)._Selected = !chip._Selected;
47
- if (this.data.OnChange) {
48
- this.group.subject.next({
49
- type: "onChange",
50
- target: this.data.OnChange,
51
- data: { value: this.dataSource, selectedItem: chip, field: this.data }
52
- });
72
+ setupDataSourceForIconChange() {
73
+ if (this.data['ChangeIconUponSelected']) {
74
+ if (Array.isArray(this.dataSource)) {
75
+ for (const x of this.dataSource) {
76
+ x._Icon = x.Icon;
77
+ x.Icon = !!x.Selected ? x.SelectedIcon : x._Icon;
78
+ }
79
+ }
53
80
  }
54
81
  }
55
- getDataValue() {
56
- return this.dataSource;
82
+ //#region Events
83
+ chipListChangeSelection(selectedChipIndexes) {
84
+ const selectedChips = this.dataSource.filter((x, i) => selectedChipIndexes.includes(i));
85
+ if (this.data['ChangeIconUponSelected']) {
86
+ for (const chip of selectedChips) {
87
+ chip.Icon = chip.SelectedIcon;
88
+ }
89
+ const notSelectedChips = this.dataSource.filter((x, i) => !selectedChipIndexes.includes(i));
90
+ for (const chip of notSelectedChips) {
91
+ chip.Icon = this.dataSource.find(x => x.Label === chip.Label)._Icon;
92
+ }
93
+ }
94
+ super.onChange(null, selectedChips);
57
95
  }
58
96
  mouseover(event, chip) {
59
97
  if (this.data.OnHover) {
@@ -64,36 +102,18 @@ export class ZChipComponent extends InputFieldBase {
64
102
  });
65
103
  }
66
104
  }
67
- getClass(form, data) {
68
- return `${data.DivClass} ${data.Class}`;
69
- }
70
- setupDataSource() {
71
- if (!this.data.DataSource) {
72
- console.error("No data source found for zchip");
73
- return;
74
- }
75
- this.dataSource = ZComponentHelper.getGroupValue(this.data.DataSource, this.group);
76
- if (Array.isArray(this.dataSource)) {
77
- this.dataSource.forEach(x => {
78
- x.Label = x.Label || x.Value,
79
- x.Icon = !!x.Selected ? null : (x.Icon ? x.Icon : this.icon),
80
- x.SelectedIcon = x.SelectedIcon || this.selectedIcon,
81
- x._Icon = x.Icon || this.icon;
82
- x._Selected = x.Selected;
83
- });
84
- }
105
+ onRemove(chip) {
106
+ const index = this.dataSource.findIndex((c) => c.Label === chip.Label);
107
+ this.dataSource.splice(index, 1);
85
108
  }
86
109
  }
87
- ZChipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ZChipComponent, deps: [{ token: i1.ZComponentService }], target: i0.ɵɵFactoryTarget.Component });
88
- ZChipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: ZChipComponent, selector: "app-zchip", inputs: { data: "data", group: "group", form: "form" }, usesInheritance: true, ngImport: i0, template: "<div [formGroup]=\"form\" class=\"e1tag-style\"\r\n *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\"\r\n [ngClass]=\"getClass(form, data)\" [style]=\"componentProperties.style.style\">\r\n <div kendoTooltip class=\"e1tag-style1\" [style]=\"componentProperties.style.style1\">\r\n <kendo-chip-list [selection]=\"data.Multiple ? 'multiple' : 'single'\" [ngClass]=\"getClass(form, data)\"\r\n (selectedChange)=\"chipListChangeSelection($event)\" [style]=\"componentProperties.style.style2\" class=\"e1tag-style2\">\r\n <kendo-chip *ngFor=\"let chip of dataSource\" [label]=\"chip.Label\" [selected]=\"chip.Selected\"\r\n (mouseover)=\"mouseover($event, chip)\" [ngClass]=\"getChipClass(chip)\" [icon]=\"chip.Icon\"\r\n [selectedIcon]=\"chip.SelectedIcon\" (click)=\"chipChangeSelection(chip)\"\r\n [style]=\"componentProperties.style.style3\" class=\"e1tag-style3\">\r\n </kendo-chip>\r\n </kendo-chip-list>\r\n </div>\r\n</div>\r\n", styles: [".medium kendo-chip{padding:20px;margin:5px;font-size:15px;min-height:50px;height:55px;max-height:60px;min-width:280px;max-width:320px}.mediumHeight kendo-chip-list{max-height:400px;border:1px solid black;padding:5px 15px;overflow-x:auto;border-radius:10px;margin-right:15px;flex-wrap:nowrap}.vertical kendo-chip-list{display:flex;flex-direction:column}:host ::ng-deep kendo-chip-list .k-chip-filled,:host ::ng-deep kendo-chip-list .k-chip{background-color:#ebebeb;color:#424242}:host ::ng-deep kendo-chip-list.customColor .k-chip-filled.k-chip-selected,:host ::ng-deep kendo-chip-list.customColor .k-chip.k-selected{background-color:#bafff6;color:#000;font-weight:600}:host ::ng-deep kendo-chip-list.customColor .k-chip-filled.k-chip-selected:hover,:host ::ng-deep kendo-chip-list.customColor .k-chip.k-selected:hover{background-color:#9afcf0}:host ::ng-deep kendo-chip-list.customColor .k-chip-filled.k-chip-has-icon:hover{background-color:#b5b5b5;color:#000}:host ::ng-deep kendo-chip-list.customColor .chip-pointing{border:3px solid #1a63d9!important}\n"], components: [{ type: i2.ChipListComponent, selector: "kendo-chiplist, kendo-chip-list", inputs: ["selection", "size"], outputs: ["selectedChange", "remove"] }, { type: i2.ChipComponent, selector: "kendo-chip", inputs: ["label", "icon", "iconClass", "avatarClass", "selected", "removable", "removeIcon", "disabled", "size", "rounded", "fillMode", "themeColor"], outputs: ["remove", "contentClick"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { type: i6.TooltipDirective, selector: "[kendoTooltip]", inputs: ["filter", "position", "titleTemplate", "showOn", "showAfter", "callout", "closable", "offset", "tooltipWidth", "tooltipHeight", "tooltipClass", "collision", "closeTitle", "tooltipTemplate"], exportAs: ["kendoTooltip"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
110
+ ZChipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ZChipComponent, deps: [{ token: i1.ZComponentService }, { token: i2.FontAweSomeService }], target: i0.ɵɵFactoryTarget.Component });
111
+ ZChipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: ZChipComponent, selector: "app-zchip", viewQueries: [{ propertyName: "chipList", first: true, predicate: ChipListComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div [formGroup]=\"form\" class=\"e1tag-style\"\r\n *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\"\r\n [ngClass]=\"getClass(form, data)\" [style]=\"componentProperties.style.style\">\r\n <div kendoTooltip class=\"e1tag-style1\" [style]=\"componentProperties.style.style1\">\r\n <kendo-chip-list [selection]=\"data.Multiple ? 'multiple' : 'single'\"\r\n (selectedChange)=\"chipListChangeSelection($event)\" [style]=\"componentProperties.style.style2\"\r\n class=\"e1tag-style2\">\r\n <kendo-chip *ngFor=\"let chip of dataSource\" [selected]=\"chip.Selected\" [ngClass]=\"chip.Class\"\r\n [removable]=\"chip.Removable\" (remove)=\"onRemove(chip)\"\r\n (mouseover)=\"mouseover($event, chip)\" (contentClick)=\"onItemClick($event, chip)\"\r\n [style]=\"componentProperties.style.style3\" class=\"e1tag-style3\">\r\n <div class=\"e1-chip-content-container e1tag-style4\" [style]=\"componentProperties.style.style4\">\r\n <div *ngIf=\"chip.Label\" [innerHTML]=\"chip.Label | htmlSanitize\" [style]=\"componentProperties.style.style5\"\r\n class=\"e1tag-style5\"></div>\r\n <!-- <div *ngIf=\"chip.Label\" [style]=\"componentProperties.style.style5\" class=\"e1tag-style5\">{{chip.Label}}</div> -->\r\n <fa-icon *ngIf=\"chip.Icon\" [icon]=\"getFontAwesome(chip.Icon, fontAweSomeService)\"\r\n [style]=\"componentProperties.style.style6\" class=\"e1tag-style6\"></fa-icon>\r\n </div>\r\n </kendo-chip>\r\n </kendo-chip-list>\r\n </div>\r\n</div>\r\n", styles: [":host ::ng-deep kendo-chip-list .k-chip-filled,:host ::ng-deep kendo-chip-list .k-chip{background:white;border:1px solid #d1d1d1}:host ::ng-deep kendo-chip-list .k-chip-filled.k-selected,:host ::ng-deep kendo-chip-list .k-chip.k-selected{background:rgba(var(--ion-color-primary-rgb),.2);color:#000;box-shadow:0 0 1px 1px #613b9a}.e1-chip-content-container{display:flex;gap:5px;margin:2px 4px}\n"], components: [{ type: i3.ChipListComponent, selector: "kendo-chiplist, kendo-chip-list", inputs: ["selection", "size"], outputs: ["selectedChange", "remove"] }, { type: i3.ChipComponent, selector: "kendo-chip", inputs: ["label", "icon", "iconClass", "avatarClass", "selected", "removable", "removeIcon", "disabled", "size", "rounded", "fillMode", "themeColor"], outputs: ["remove", "contentClick"] }, { type: i4.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i7.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { type: i8.TooltipDirective, selector: "[kendoTooltip]", inputs: ["filter", "position", "titleTemplate", "showOn", "showAfter", "callout", "closable", "offset", "tooltipWidth", "tooltipHeight", "tooltipClass", "collision", "closeTitle", "tooltipTemplate"], exportAs: ["kendoTooltip"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "htmlSanitize": i9.HtmlSanitizePipe } });
89
112
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ZChipComponent, decorators: [{
90
113
  type: Component,
91
- args: [{ selector: 'app-zchip', template: "<div [formGroup]=\"form\" class=\"e1tag-style\"\r\n *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\"\r\n [ngClass]=\"getClass(form, data)\" [style]=\"componentProperties.style.style\">\r\n <div kendoTooltip class=\"e1tag-style1\" [style]=\"componentProperties.style.style1\">\r\n <kendo-chip-list [selection]=\"data.Multiple ? 'multiple' : 'single'\" [ngClass]=\"getClass(form, data)\"\r\n (selectedChange)=\"chipListChangeSelection($event)\" [style]=\"componentProperties.style.style2\" class=\"e1tag-style2\">\r\n <kendo-chip *ngFor=\"let chip of dataSource\" [label]=\"chip.Label\" [selected]=\"chip.Selected\"\r\n (mouseover)=\"mouseover($event, chip)\" [ngClass]=\"getChipClass(chip)\" [icon]=\"chip.Icon\"\r\n [selectedIcon]=\"chip.SelectedIcon\" (click)=\"chipChangeSelection(chip)\"\r\n [style]=\"componentProperties.style.style3\" class=\"e1tag-style3\">\r\n </kendo-chip>\r\n </kendo-chip-list>\r\n </div>\r\n</div>\r\n", styles: [".medium kendo-chip{padding:20px;margin:5px;font-size:15px;min-height:50px;height:55px;max-height:60px;min-width:280px;max-width:320px}.mediumHeight kendo-chip-list{max-height:400px;border:1px solid black;padding:5px 15px;overflow-x:auto;border-radius:10px;margin-right:15px;flex-wrap:nowrap}.vertical kendo-chip-list{display:flex;flex-direction:column}:host ::ng-deep kendo-chip-list .k-chip-filled,:host ::ng-deep kendo-chip-list .k-chip{background-color:#ebebeb;color:#424242}:host ::ng-deep kendo-chip-list.customColor .k-chip-filled.k-chip-selected,:host ::ng-deep kendo-chip-list.customColor .k-chip.k-selected{background-color:#bafff6;color:#000;font-weight:600}:host ::ng-deep kendo-chip-list.customColor .k-chip-filled.k-chip-selected:hover,:host ::ng-deep kendo-chip-list.customColor .k-chip.k-selected:hover{background-color:#9afcf0}:host ::ng-deep kendo-chip-list.customColor .k-chip-filled.k-chip-has-icon:hover{background-color:#b5b5b5;color:#000}:host ::ng-deep kendo-chip-list.customColor .chip-pointing{border:3px solid #1a63d9!important}\n"] }]
92
- }], ctorParameters: function () { return [{ type: i1.ZComponentService }]; }, propDecorators: { data: [{
93
- type: Input
94
- }], group: [{
95
- type: Input
96
- }], form: [{
97
- type: Input
114
+ args: [{ selector: 'app-zchip', template: "<div [formGroup]=\"form\" class=\"e1tag-style\"\r\n *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\"\r\n [ngClass]=\"getClass(form, data)\" [style]=\"componentProperties.style.style\">\r\n <div kendoTooltip class=\"e1tag-style1\" [style]=\"componentProperties.style.style1\">\r\n <kendo-chip-list [selection]=\"data.Multiple ? 'multiple' : 'single'\"\r\n (selectedChange)=\"chipListChangeSelection($event)\" [style]=\"componentProperties.style.style2\"\r\n class=\"e1tag-style2\">\r\n <kendo-chip *ngFor=\"let chip of dataSource\" [selected]=\"chip.Selected\" [ngClass]=\"chip.Class\"\r\n [removable]=\"chip.Removable\" (remove)=\"onRemove(chip)\"\r\n (mouseover)=\"mouseover($event, chip)\" (contentClick)=\"onItemClick($event, chip)\"\r\n [style]=\"componentProperties.style.style3\" class=\"e1tag-style3\">\r\n <div class=\"e1-chip-content-container e1tag-style4\" [style]=\"componentProperties.style.style4\">\r\n <div *ngIf=\"chip.Label\" [innerHTML]=\"chip.Label | htmlSanitize\" [style]=\"componentProperties.style.style5\"\r\n class=\"e1tag-style5\"></div>\r\n <!-- <div *ngIf=\"chip.Label\" [style]=\"componentProperties.style.style5\" class=\"e1tag-style5\">{{chip.Label}}</div> -->\r\n <fa-icon *ngIf=\"chip.Icon\" [icon]=\"getFontAwesome(chip.Icon, fontAweSomeService)\"\r\n [style]=\"componentProperties.style.style6\" class=\"e1tag-style6\"></fa-icon>\r\n </div>\r\n </kendo-chip>\r\n </kendo-chip-list>\r\n </div>\r\n</div>\r\n", styles: [":host ::ng-deep kendo-chip-list .k-chip-filled,:host ::ng-deep kendo-chip-list .k-chip{background:white;border:1px solid #d1d1d1}:host ::ng-deep kendo-chip-list .k-chip-filled.k-selected,:host ::ng-deep kendo-chip-list .k-chip.k-selected{background:rgba(var(--ion-color-primary-rgb),.2);color:#000;box-shadow:0 0 1px 1px #613b9a}.e1-chip-content-container{display:flex;gap:5px;margin:2px 4px}\n"] }]
115
+ }], ctorParameters: function () { return [{ type: i1.ZComponentService }, { type: i2.FontAweSomeService }]; }, propDecorators: { chipList: [{
116
+ type: ViewChild,
117
+ args: [ChipListComponent]
98
118
  }] } });
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemNoaXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemNoaXAvemNoaXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemNoaXAvemNoaXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3pELDZCQUE2QjtBQUU3Qiw4QkFBOEI7QUFDOUIsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLDJDQUEyQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFeEUsT0FBTyxFQUNPLGdCQUFnQixFQUF5QyxvQkFBb0IsRUFDMUYsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7QUFTekIsTUFBTSxPQUFPLGNBQWUsU0FBUSxjQUFjO0lBVWhELFlBQ1MsZ0JBQW1DO1FBRTFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRmpCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBbUI7UUFOcEMsU0FBSSxHQUFHLG1CQUFtQixDQUFDO1FBQzNCLGlCQUFZLEdBQUcseUJBQXlCLENBQUM7UUFDMUMsd0JBQW1CLEdBQUcsSUFBSSxvQkFBb0IsRUFBRSxDQUFDO0lBT3hELENBQUM7SUFFRCxRQUFRO1FBQ04sS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNqRixDQUFDO0lBRUQsZUFBZTtRQUNiLElB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QyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsS0FBSztvQkFDMUIsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7b0JBQzVELENBQUMsQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsWUFBWTtvQkFDcEQsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQ2hDLENBQUMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQztZQUMzQixDQUFDLENBQUMsQ0FBQTtTQUNIO0lBQ0gsQ0FBQzs7MkdBeEZVLGNBQWM7K0ZBQWQsY0FBYyxnSUN2QjNCLGdsQ0FjQTsyRkRTYSxjQUFjO2tCQU4xQixTQUFTOytCQUNFLFdBQVc7d0dBTVosSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKiBBbmd1bGFyICoqKioqKioqKiovIFxyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG4vKioqKioqKioqKiBJb25pYyAqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKiogUGx1Z2luICoqKioqKioqKiovXHJcbmltcG9ydCB7IHRhcCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5cclxuLyoqKioqKioqKiogQ29tcG9uZW50ICYgU2VydmljZSAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBJbnB1dEZpZWxkQmFzZSB9IGZyb20gXCIuLi9jb21wb25lbnRzL2lucHV0ZmllbGRiYXNlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBaQ29tcG9uZW50U2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy96Y29tcG9uZW50LnNlcnZpY2VcIjtcclxuaW1wb3J0IHtcclxuICBaQ29tcG9uZW50LCBaQ29tcG9uZW50SGVscGVyLCBaQ29tcG9uZW50T3V0cHV0RXZlbnQsIFpHcm91cCwgWkZpZWxkLCBaQ29tcG9uZW50UHJvcGVydGllc1xyXG59IGZyb20gJ21taGdsb2JhbC16Y29yZSc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtemNoaXAnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi96Y2hpcC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vemNoaXAuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBaQ2hpcENvbXBvbmVudCBleHRlbmRzIElucHV0RmllbGRCYXNlIGltcGxlbWVudHMgWkNvbXBvbmVudCwgT25Jbml0IHtcclxuICBASW5wdXQoKSBkYXRhOiBaRmllbGQ7XHJcbiAgQElucHV0KCkgZ3JvdXA6IFpHcm91cDtcclxuICBASW5wdXQoKSBmb3JtOiBGb3JtR3JvdXA7XHJcblxyXG4gIHByaXZhdGUgaWNvbiA9IFwiay1pY29uIGstaS1jYW5jZWxcIjtcclxuICBwcml2YXRlIHNlbGVjdGVkSWNvbiA9IFwiay1pY29uIGstaS1jaGVjay1jaXJjbGVcIjtcclxuICBwdWJsaWMgY29tcG9uZW50UHJvcGVydGllcyA9IG5ldyBaQ29tcG9uZW50UHJvcGVydGllcygpO1xyXG4gIHB1YmxpYyBkYXRhU291cmNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBjb21wb25lbnRTZXJ2aWNlOiBaQ29tcG9uZW50U2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIoY29tcG9uZW50U2VydmljZSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHN1cGVyLmluaXRDb21wb25lbnQoKS5waXBlKHRhcCgoKSA9PiB7IHRoaXMuc2V0dXBEYXRhU291cmNlKCk7IH0pKS5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuY29tcG9uZW50U2VydmljZS5kZWNyZW1lbnRDb21wb25lbnRDb3VudGVyRm9yRmllbGQodGhpcy5kYXRhKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRDaGlwQ2xhc3MoY2hpcCkge1xyXG4gICAgcmV0dXJuIGNoaXAuQ2xhc3MgPyBjaGlwLkNsYXNzIDogXCJcIjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjaGlwTGlzdENoYW5nZVNlbGVjdGlvbihzZWxlY3RlZENoaXBJbmRleGVzOiBhbnkpOiB2b2lkIHtcclxuICAgIGxldCBpbmQgPSAwO1xyXG4gICAgZm9yIChsZXQgY2hpcCBvZiB0aGlzLmRhdGFTb3VyY2UpIHtcclxuICAgICAgaWYgKHNlbGVjdGVkQ2hpcEluZGV4ZXMuaW5jbHVkZXMoaW5kKSkge1xyXG4gICAgICAgIGNoaXAuSWNvbiA9IG51bGxcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBjaGlwLkljb24gPSB0aGlzLmRhdGFTb3VyY2UuZmluZCh4ID0+IHguVmFsdWUgPT09IGNoaXAuVmFsdWUpLl9JY29uO1xyXG4gICAgICB9XHJcbiAgICAgIGluZCsrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGNoaXBDaGFuZ2VTZWxlY3Rpb24oY2hpcDogYW55KSB7XHJcbiAgICB0aGlzLmRhdGFTb3VyY2UuZmluZCh4ID0+IHguVmFsdWUgPT09IGNoaXAuVmFsdWUpLl9TZWxlY3RlZCA9ICFjaGlwLl9TZWxlY3RlZDtcclxuXHJcbiAgICBpZiAodGhpcy5kYXRhLk9uQ2hhbmdlKSB7XHJcbiAgICAgIHRoaXMuZ3JvdXAuc3ViamVjdC5uZXh0KHtcclxuICAgICAgICB0eXBlOiBcIm9uQ2hhbmdlXCIsXHJcbiAgICAgICAgdGFyZ2V0OiB0aGlzLmRhdGEuT25DaGFuZ2UsXHJcbiAgICAgICAgZGF0YTogeyB2YWx1ZTogdGhpcy5kYXRhU291cmNlLCBzZWxlY3RlZEl0ZW06IGNoaXAsIGZpZWxkOiB0aGlzLmRhdGEgfVxyXG4gICAgICB9IGFzIFpDb21wb25lbnRPdXRwdXRFdmVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0RGF0YVZhbHVlKCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5kYXRhU291cmNlIGFzIGFueTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBtb3VzZW92ZXIoZXZlbnQ6IGFueSwgY2hpcDogYW55KSB7XHJcbiAgICBpZiAodGhpcy5kYXRhLk9uSG92ZXIpIHtcclxuICAgICAgdGhpcy5ncm91cC5zdWJqZWN0Lm5leHQoe1xyXG4gICAgICAgIHR5cGU6IFwib25Ib3ZlclwiLFxyXG4gICAgICAgIHRhcmdldDogdGhpcy5kYXRhLk9uSG92ZXIsXHJcbiAgICAgICAgZGF0YTogeyB2YWx1ZTogdGhpcy5kYXRhU291cmNlLCBzZWxlY3RlZEl0ZW06IGNoaXAsIGZpZWxkOiB0aGlzLmRhdGEgfVxyXG4gICAgICB9IGFzIFpDb21wb25lbnRPdXRwdXRFdmVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0Q2xhc3MoZm9ybTogRm9ybUdyb3VwLCBkYXRhOiBaRmllbGQpIHtcclxuICAgIHJldHVybiBgJHtkYXRhLkRpdkNsYXNzfSAke2RhdGEuQ2xhc3N9YDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0dXBEYXRhU291cmNlKCkge1xyXG4gICAgaWYgKCF0aGlzLmRhdGEuRGF0YVNvdXJjZSkge1xyXG4gICAgICBjb25zb2xlLmVycm9yKFwiTm8gZGF0YSBzb3VyY2UgZm91bmQgZm9yIHpjaGlwXCIpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5kYXRhU291cmNlID0gWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cFZhbHVlKHRoaXMuZGF0YS5EYXRhU291cmNlLCB0aGlzLmdyb3VwKTtcclxuXHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLmRhdGFTb3VyY2UpKSB7XHJcbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5mb3JFYWNoKHggPT4ge1xyXG4gICAgICAgIHguTGFiZWwgPSB4LkxhYmVsIHx8IHguVmFsdWUsXHJcbiAgICAgICAgICB4Lkljb24gPSAhIXguU2VsZWN0ZWQgPyBudWxsIDogKHguSWNvbiA/IHguSWNvbiA6IHRoaXMuaWNvbiksXHJcbiAgICAgICAgICB4LlNlbGVjdGVkSWNvbiA9IHguU2VsZWN0ZWRJY29uIHx8IHRoaXMuc2VsZWN0ZWRJY29uLFxyXG4gICAgICAgICAgeC5fSWNvbiA9IHguSWNvbiB8fCB0aGlzLmljb247XHJcbiAgICAgICAgeC5fU2VsZWN0ZWQgPSB4LlNlbGVjdGVkO1xyXG4gICAgICB9KVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IFtmb3JtR3JvdXBdPVwiZm9ybVwiIGNsYXNzPVwiZTF0YWctc3R5bGVcIlxyXG4gICAgICpuZ0lmPVwiKCEhY29tcG9uZW50UHJvcGVydGllcy5pc1Zpc2libGVGaWVsZCA/IGdyb3VwW2NvbXBvbmVudFByb3BlcnRpZXMuaXNWaXNpYmxlRmllbGRdIDogY29tcG9uZW50UHJvcGVydGllcy5pc1Zpc2libGUpXCJcclxuICAgICBbbmdDbGFzc109XCJnZXRDbGFzcyhmb3JtLCBkYXRhKVwiIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLnN0eWxlLnN0eWxlXCI+XHJcbiAgPGRpdiBrZW5kb1Rvb2x0aXAgY2xhc3M9XCJlMXRhZy1zdHlsZTFcIiBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5zdHlsZS5zdHlsZTFcIj5cclxuICAgIDxrZW5kby1jaGlwLWxpc3QgW3NlbGVjdGlvbl09XCJkYXRhLk11bHRpcGxlID8gJ211bHRpcGxlJyA6ICdzaW5nbGUnXCIgW25nQ2xhc3NdPVwiZ2V0Q2xhc3MoZm9ybSwgZGF0YSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAoc2VsZWN0ZWRDaGFuZ2UpPVwiY2hpcExpc3RDaGFuZ2VTZWxlY3Rpb24oJGV2ZW50KVwiIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLnN0eWxlLnN0eWxlMlwiIGNsYXNzPVwiZTF0YWctc3R5bGUyXCI+XHJcbiAgICAgIDxrZW5kby1jaGlwICpuZ0Zvcj1cImxldCBjaGlwIG9mIGRhdGFTb3VyY2VcIiBbbGFiZWxdPVwiY2hpcC5MYWJlbFwiIFtzZWxlY3RlZF09XCJjaGlwLlNlbGVjdGVkXCJcclxuICAgICAgICAgICAgICAgICAgKG1vdXNlb3Zlcik9XCJtb3VzZW92ZXIoJGV2ZW50LCBjaGlwKVwiIFtuZ0NsYXNzXT1cImdldENoaXBDbGFzcyhjaGlwKVwiIFtpY29uXT1cImNoaXAuSWNvblwiXHJcbiAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZEljb25dPVwiY2hpcC5TZWxlY3RlZEljb25cIiAoY2xpY2spPVwiY2hpcENoYW5nZVNlbGVjdGlvbihjaGlwKVwiXHJcbiAgICAgICAgICAgICAgICAgIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLnN0eWxlLnN0eWxlM1wiIGNsYXNzPVwiZTF0YWctc3R5bGUzXCI+XHJcbiAgICAgIDwva2VuZG8tY2hpcD5cclxuICAgIDwva2VuZG8tY2hpcC1saXN0PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemNoaXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemNoaXAvemNoaXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemNoaXAvemNoaXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdELDZCQUE2QjtBQUU3Qiw4QkFBOEI7QUFDOUIsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLDJDQUEyQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFeEUsT0FBTyxFQUFjLGdCQUFnQixFQUE2QyxNQUFNLGlCQUFpQixDQUFDO0FBQzFHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7Ozs7OztBQVNwRSxNQUFNLE9BQU8sY0FBZSxTQUFRLGNBQWM7SUFJaEQsWUFDUyxnQkFBbUMsRUFDbkMsa0JBQXNDO1FBRTdDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBSGpCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBbUI7UUFDbkMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtJQUcvQyxDQUFDO0lBRUQsUUFBUTtRQUNOLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQ3hCLEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDUCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDdkIsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDakQsSUFBSSxD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QUUsU0FBUztnQkFDZixNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO2dCQUN6QixJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFO2FBQzlDLENBQUMsQ0FBQztTQUM3QjtJQUNILENBQUM7SUFFTSxRQUFRLENBQUMsSUFBUztRQUN2QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ25DLENBQUM7OzJHQTVHVSxjQUFjOytGQUFkLGNBQWMsMkZBQ2QsaUJBQWlCLHVFQ3RCOUIsa21EQXNCQTsyRkREYSxjQUFjO2tCQU4xQixTQUFTOytCQUNFLFdBQVc7eUlBTWdCLFFBQVE7c0JBQTVDLFNBQVM7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKiogQW5ndWxhciAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbi8qKioqKioqKioqIElvbmljICoqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKiBQbHVnaW4gKioqKioqKioqKi9cclxuaW1wb3J0IHsgdGFwIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcblxyXG4vKioqKioqKioqKiBDb21wb25lbnQgJiBTZXJ2aWNlICoqKioqKioqKiovXHJcbmltcG9ydCB7IElucHV0RmllbGRCYXNlIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvaW5wdXRmaWVsZGJhc2UuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFpDb21wb25lbnRTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL3pjb21wb25lbnQuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBaQ29tcG9uZW50LCBaQ29tcG9uZW50SGVscGVyLCBaQ29tcG9uZW50T3V0cHV0RXZlbnQsIEZvbnRBd2VTb21lU2VydmljZSB9IGZyb20gJ21taGdsb2JhbC16Y29yZSc7XHJcbmltcG9ydCB7IENoaXBMaXN0Q29tcG9uZW50IH0gZnJvbSBcIkBwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWJ1dHRvbnNcIjtcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC16Y2hpcCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3pjaGlwLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi96Y2hpcC5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIFpDaGlwQ29tcG9uZW50IGV4dGVuZHMgSW5wdXRGaWVsZEJhc2UgaW1wbGVtZW50cyBaQ29tcG9uZW50LCBPbkluaXQge1xyXG4gIEBWaWV3Q2hpbGQoQ2hpcExpc3RDb21wb25lbnQpIHB1YmxpYyBjaGlwTGlzdDogQ2hpcExpc3RDb21wb25lbnQ7XHJcbiAgcHVibGljIGRhdGFTb3VyY2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGNvbXBvbmVudFNlcnZpY2U6IFpDb21wb25lbnRTZXJ2aWNlLFxyXG4gICAgcHVibGljIGZvbnRBd2VTb21lU2VydmljZTogRm9udEF3ZVNvbWVTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcihjb21wb25lbnRTZXJ2aWNlKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgc3VwZXIuaW5pdENvbXBvbmVudCgpLnBpcGUoXHJcbiAgICAgIHRhcCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZXR1cERhdGFTb3VyY2UoKTtcclxuICAgICAgICBpZiAodGhpcy5kYXRhU291cmNlICYmIHRoaXMuZGF0YVNvdXJjZS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICB0aGlzLnNldHVwRGF0YVNvdXJjZUJ5ek1vZGVsKCk7XHJcbiAgICAgICAgICB0aGlzLnNldHVwRGF0YVNvdXJjZUZvckljb25DaGFuZ2UoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICApLnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5jb21wb25lbnRTZXJ2aWNlLmRlY3JlbWVudENvbXBvbmVudENvdW50ZXJGb3JGaWVsZCh0aGlzLmRhdGEpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXR1cERhdGFTb3VyY2UoKSB7XHJcbiAgICBpZiAoIXRoaXMuZGF0YS5EYXRhU291cmNlKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoXCJObyBkYXRhIHNvdXJjZSBmb3VuZCBmb3IgemNoaXBcIik7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmRhdGFTb3VyY2UgPSB0aGlzLmRhdGEuRGF0YVNvdXJjZTtcclxuICAgIGlmICh0eXBlb2YgdGhpcy5kYXRhLkRhdGFTb3VyY2UgPT0gJ3N0cmluZycgJiYgdGhpcy5kYXRhLkRhdGFTb3VyY2Uuc3RhcnRzV2l0aCgnZ3JvdXAuJykpIHtcclxuICAgICAgdGhpcy5kYXRhU291cmNlID0gWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cFZhbHVlKHRoaXMuZGF0YS5EYXRhU291cmNlLCB0aGlzLmdyb3VwKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0dXBEYXRhU291cmNlQnl6TW9kZWwoKSB7XHJcbiAgICBjb25zdCBtb2RlbERhdGEgPSB0aGlzLmdyb3VwLnpNb2RlbFt0aGlzLmRhdGEuVmFsdWVdO1xyXG4gICAgaWYgKCFaQ29tcG9uZW50SGVscGVyLmlzTnVsbFVuZGVmaW5lZEVtcHR5KG1vZGVsRGF0YSkpIHtcclxuICAgICAgY29uc3QgbW9kZWxWYWx1ZUtleUxpc3QgPSBtb2RlbERhdGEubWFwKHggPT4geC5MYWJlbCk7XHJcblxyXG4gICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdGhpcy5kYXRhU291cmNlKSB7XHJcbiAgICAgICAgaXRlbS5TZWxlY3RlZCA9IG1vZGVsVmFsdWVLZXlMaXN0LmluY2x1ZGVzKGl0ZW0uTGFiZWwpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5kYXRhU291cmNlLmZvckVhY2goeCA9PiB4LlNlbGVjdGVkID0gZmFsc2UpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldERhdGEoZGF0YTogYW55KSB7XHJcbiAgICB0aGlzLnNldHVwRGF0YVNvdXJjZUJ5ek1vZGVsKCk7XHJcbiAgICB0aGlzLmRhdGFTb3VyY2UgPSBbLi4udGhpcy5kYXRhU291cmNlXTtcclxuXHJcbiAgICAvLyBOZWVkIHRvIHNldCBpbiB0aGlzIHdheSBhcyB0aGUgY2hpcHMgYXJlIFF1ZXJ5TGlzdFxyXG4gICAgaWYgKHRoaXMuY2hpcExpc3QgJiYgdGhpcy5jaGlwTGlzdC5jaGlwcyAmJiB0aGlzLmNoaXBMaXN0LmNoaXBzLmxlbmd0aCA+IDApIHtcclxuICAgICAgbGV0IGluZGV4ID0gMDtcclxuICAgICAgZm9yIChjb25zdCBjaGlwIG9mIHRoaXMuY2hpcExpc3QuY2hpcHMpIHtcclxuICAgICAgICBjaGlwLnNlbGVjdGVkID0gISF0aGlzLmRhdGFTb3VyY2VbaW5kZXhdPy5TZWxlY3RlZCB8fCBmYWxzZTtcclxuICAgICAgICBpbmRleCsrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldHVwRGF0YVNvdXJjZUZvckljb25DaGFuZ2UoKSB7XHJcbiAgICBpZiAodGhpcy5kYXRhWydDaGFuZ2VJY29uVXBvblNlbGVjdGVkJ10pIHtcclxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5kYXRhU291cmNlKSkge1xyXG4gICAgICAgIGZvciAoY29uc3QgeCBvZiB0aGlzLmRhdGFTb3VyY2UpIHtcclxuICAgICAgICAgIHguX0ljb24gPSB4Lkljb247XHJcbiAgICAgICAgICB4Lkljb24gPSAhIXguU2VsZWN0ZWQgPyB4LlNlbGVjdGVkSWNvbiA6IHguX0ljb247XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyNyZWdpb24gRXZlbnRzXHJcbiAgcHVibGljIGNoaXBMaXN0Q2hhbmdlU2VsZWN0aW9uKHNlbGVjdGVkQ2hpcEluZGV4ZXM6IGFueSk6IHZvaWQge1xyXG4gICAgY29uc3Qgc2VsZWN0ZWRDaGlwcyA9IHRoaXMuZGF0YVNvdXJjZS5maWx0ZXIoKHgsIGkpID0+IHNlbGVjdGVkQ2hpcEluZGV4ZXMuaW5jbHVkZXMoaSkpO1xyXG4gICAgaWYgKHRoaXMuZGF0YVsnQ2hhbmdlSWNvblVwb25TZWxlY3RlZCddKSB7XHJcbiAgICAgIGZvciAoY29uc3QgY2hpcCBvZiBzZWxlY3RlZENoaXBzKSB7XHJcbiAgICAgICAgY2hpcC5JY29uID0gY2hpcC5TZWxlY3RlZEljb247XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IG5vdFNlbGVjdGVkQ2hpcHMgPSB0aGlzLmRhdGFTb3VyY2UuZmlsdGVyKCh4LCBpKSA9PiAhc2VsZWN0ZWRDaGlwSW5kZXhlcy5pbmNsdWRlcyhpKSk7XHJcbiAgICAgIGZvciAoY29uc3QgY2hpcCBvZiBub3RTZWxlY3RlZENoaXBzKSB7XHJcbiAgICAgICAgY2hpcC5JY29uID0gdGhpcy5kYXRhU291cmNlLmZpbmQoeCA9PiB4LkxhYmVsID09PSBjaGlwLkxhYmVsKS5fSWNvbjtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHN1cGVyLm9uQ2hhbmdlKG51bGwsIHNlbGVjdGVkQ2hpcHMpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG1vdXNlb3ZlcihldmVudDogYW55LCBjaGlwOiBhbnkpIHtcclxuICAgIGlmICh0aGlzLmRhdGEuT25Ib3Zlcikge1xyXG4gICAgICB0aGlzLmdyb3VwLnN1YmplY3QubmV4dCh7XHJcbiAgICAgICAgdHlwZTogXCJvbkhvdmVyXCIsXHJcbiAgICAgICAgdGFyZ2V0OiB0aGlzLmRhdGEuT25Ib3ZlcixcclxuICAgICAgICBkYXRhOiB7IHZhbHVlOiB0aGlzLmRhdGFTb3VyY2UsIHNlbGVjdGVkSXRlbTogY2hpcCwgZmllbGQ6IHRoaXMuZGF0YSB9XHJcbiAgICAgIH0gYXMgWkNvbXBvbmVudE91dHB1dEV2ZW50KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblJlbW92ZShjaGlwOiBhbnkpOiB2b2lkIHtcclxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5kYXRhU291cmNlLmZpbmRJbmRleCgoYykgPT4gYy5MYWJlbCA9PT0gY2hpcC5MYWJlbCk7XHJcbiAgICB0aGlzLmRhdGFTb3VyY2Uuc3BsaWNlKGluZGV4LCAxKTtcclxuICB9XHJcbiAgLy8jZW5kcmVnaW9uXHJcbn1cclxuIiwiPGRpdiBbZm9ybUdyb3VwXT1cImZvcm1cIiBjbGFzcz1cImUxdGFnLXN0eWxlXCJcclxuICAqbmdJZj1cIighIWNvbXBvbmVudFByb3BlcnRpZXMuaXNWaXNpYmxlRmllbGQgPyBncm91cFtjb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZUZpZWxkXSA6IGNvbXBvbmVudFByb3BlcnRpZXMuaXNWaXNpYmxlKVwiXHJcbiAgW25nQ2xhc3NdPVwiZ2V0Q2xhc3MoZm9ybSwgZGF0YSlcIiBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5zdHlsZS5zdHlsZVwiPlxyXG4gIDxkaXYga2VuZG9Ub29sdGlwIGNsYXNzPVwiZTF0YWctc3R5bGUxXCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuc3R5bGUuc3R5bGUxXCI+XHJcbiAgICA8a2VuZG8tY2hpcC1saXN0IFtzZWxlY3Rpb25dPVwiZGF0YS5NdWx0aXBsZSA/ICdtdWx0aXBsZScgOiAnc2luZ2xlJ1wiXHJcbiAgICAgIChzZWxlY3RlZENoYW5nZSk9XCJjaGlwTGlzdENoYW5nZVNlbGVjdGlvbigkZXZlbnQpXCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuc3R5bGUuc3R5bGUyXCJcclxuICAgICAgY2xhc3M9XCJlMXRhZy1zdHlsZTJcIj5cclxuICAgICAgPGtlbmRvLWNoaXAgKm5nRm9yPVwibGV0IGNoaXAgb2YgZGF0YVNvdXJjZVwiIFtzZWxlY3RlZF09XCJjaGlwLlNlbGVjdGVkXCIgW25nQ2xhc3NdPVwiY2hpcC5DbGFzc1wiXHJcbiAgICAgICAgW3JlbW92YWJsZV09XCJjaGlwLlJlbW92YWJsZVwiIChyZW1vdmUpPVwib25SZW1vdmUoY2hpcClcIlxyXG4gICAgICAgIChtb3VzZW92ZXIpPVwibW91c2VvdmVyKCRldmVudCwgY2hpcClcIiAoY29udGVudENsaWNrKT1cIm9uSXRlbUNsaWNrKCRldmVudCwgY2hpcClcIlxyXG4gICAgICAgIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLnN0eWxlLnN0eWxlM1wiIGNsYXNzPVwiZTF0YWctc3R5bGUzXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImUxLWNoaXAtY29udGVudC1jb250YWluZXIgZTF0YWctc3R5bGU0XCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuc3R5bGUuc3R5bGU0XCI+XHJcbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY2hpcC5MYWJlbFwiIFtpbm5lckhUTUxdPVwiY2hpcC5MYWJlbCB8IGh0bWxTYW5pdGl6ZVwiIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLnN0eWxlLnN0eWxlNVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZTF0YWctc3R5bGU1XCI+PC9kaXY+XHJcbiAgICAgICAgICA8IS0tIDxkaXYgKm5nSWY9XCJjaGlwLkxhYmVsXCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuc3R5bGUuc3R5bGU1XCIgY2xhc3M9XCJlMXRhZy1zdHlsZTVcIj57e2NoaXAuTGFiZWx9fTwvZGl2PiAtLT5cclxuICAgICAgICAgIDxmYS1pY29uICpuZ0lmPVwiY2hpcC5JY29uXCIgW2ljb25dPVwiZ2V0Rm9udEF3ZXNvbWUoY2hpcC5JY29uLCBmb250QXdlU29tZVNlcnZpY2UpXCJcclxuICAgICAgICAgICAgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuc3R5bGUuc3R5bGU2XCIgY2xhc3M9XCJlMXRhZy1zdHlsZTZcIj48L2ZhLWljb24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwva2VuZG8tY2hpcD5cclxuICAgIDwva2VuZG8tY2hpcC1saXN0PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
@@ -5,7 +5,7 @@ export class DateIonicMinMaxParser {
5
5
  if (!value) {
6
6
  return undefined;
7
7
  }
8
- const timeZoneOffSet_Mins = new Date(2022, 10, 10, 9, 0).getTimezoneOffset();
8
+ const timeZoneOffSet_Mins = new Date().getTimezoneOffset();
9
9
  const localTime = (new Date(value).getTime() - timeZoneOffSet_Mins * 60000);
10
10
  return new Date(localTime).toISOString();
11
11
  }
@@ -19,4 +19,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
19
19
  pure: true,
20
20
  }]
21
21
  }] });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZUlvbmljTWluTWF4RGF0ZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemRhdGV0aW1lL2RhdGVJb25pY01pbk1heERhdGUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFPcEQsTUFBTSxPQUFPLHFCQUFxQjtJQUVoQyxTQUFTLENBQUMsS0FBVTtRQUNsQixJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFFRCxNQUFNLG1CQUFtQixHQUFHLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQzdFLE1BQU0sU0FBUyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxFQUFFLEdBQUcsbUJBQW1CLEdBQUcsS0FBSyxDQUFDLENBQUM7UUFDNUUsT0FBTyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMzQyxDQUFDOztrSEFWVSxxQkFBcUI7Z0hBQXJCLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQUxqQyxJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxpQkFBaUI7b0JBQ3ZCLElBQUksRUFBRSxJQUFJO2lCQUNYIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG5AUGlwZSh7XHJcbiAgbmFtZTogXCJkYXRlTWluTWF4SW9uaWNcIixcclxuICBwdXJlOiB0cnVlLFxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIERhdGVJb25pY01pbk1heFBhcnNlciBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG5cclxuICB0cmFuc2Zvcm0odmFsdWU6IGFueSk6IGFueSB7XHJcbiAgICBpZiAoIXZhbHVlKSB7XHJcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgdGltZVpvbmVPZmZTZXRfTWlucyA9IG5ldyBEYXRlKDIwMjIsIDEwLCAxMCwgOSwgMCkuZ2V0VGltZXpvbmVPZmZzZXQoKTtcclxuICAgIGNvbnN0IGxvY2FsVGltZSA9IChuZXcgRGF0ZSh2YWx1ZSkuZ2V0VGltZSgpIC0gdGltZVpvbmVPZmZTZXRfTWlucyAqIDYwMDAwKTtcclxuICAgIHJldHVybiBuZXcgRGF0ZShsb2NhbFRpbWUpLnRvSVNPU3RyaW5nKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZUlvbmljTWluTWF4RGF0ZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemRhdGV0aW1lL2RhdGVJb25pY01pbk1heERhdGUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFPcEQsTUFBTSxPQUFPLHFCQUFxQjtJQUVoQyxTQUFTLENBQUMsS0FBVTtRQUNsQixJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFFRCxNQUFNLG1CQUFtQixHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUMzRCxNQUFNLFNBQVMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sRUFBRSxHQUFHLG1CQUFtQixHQUFHLEtBQUssQ0FBQyxDQUFDO1FBQzVFLE9BQU8sSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDM0MsQ0FBQzs7a0hBVlUscUJBQXFCO2dIQUFyQixxQkFBcUI7MkZBQXJCLHFCQUFxQjtrQkFMakMsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsaUJBQWlCO29CQUN2QixJQUFJLEVBQUUsSUFBSTtpQkFDWCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuQFBpcGUoe1xyXG4gIG5hbWU6IFwiZGF0ZU1pbk1heElvbmljXCIsXHJcbiAgcHVyZTogdHJ1ZSxcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBEYXRlSW9uaWNNaW5NYXhQYXJzZXIgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuXHJcbiAgdHJhbnNmb3JtKHZhbHVlOiBhbnkpOiBhbnkge1xyXG4gICAgaWYgKCF2YWx1ZSkge1xyXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHRpbWVab25lT2ZmU2V0X01pbnMgPSBuZXcgRGF0ZSgpLmdldFRpbWV6b25lT2Zmc2V0KCk7XHJcbiAgICBjb25zdCBsb2NhbFRpbWUgPSAobmV3IERhdGUodmFsdWUpLmdldFRpbWUoKSAtIHRpbWVab25lT2ZmU2V0X01pbnMgKiA2MDAwMCk7XHJcbiAgICByZXR1cm4gbmV3IERhdGUobG9jYWxUaW1lKS50b0lTT1N0cmluZygpO1xyXG4gIH1cclxufVxyXG4iXX0=