@tetacom/ng-components 1.4.13 → 1.4.15

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.
@@ -23,6 +23,23 @@
23
23
  d="M21.21 22C20.6233 22 20.1933 21.8767 19.92 21.63C19.6467 21.3767 19.51 20.9667 19.51 20.4V18.6C19.51 18.04 19.6467 17.6333 19.92 17.38C20.2 17.1267 20.63 17 21.21 17H22.5V18H21.25C21.0033 18 20.8167 18.0567 20.69 18.17C20.5633 18.2833 20.5 18.4433 20.5 18.65V20.35C20.5 20.5567 20.5633 20.7167 20.69 20.83C20.8167 20.9433 21.0033 21 21.25 21H22.5V22H21.21Z"
24
24
  fill="white"></path>
25
25
  </symbol>
26
+ <symbol fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 40" id="file_docx">
27
+ <path d="M0 4C0 1.79086 1.79086 0 4 0H24L28 4L32 8V36C32 38.2091 30.2091 40 28 40H4C1.79086 40 0 38.2091 0 36V4Z"
28
+ fill="#579FFF"></path>
29
+ <path d="M24 0L28 4L32 8H28C25.7909 8 24 6.20914 24 4V0Z" fill="#4380D0"></path>
30
+ <path fill-rule="evenodd" clip-rule="evenodd"
31
+ d="M10 23.27C9.78 23.4233 9.51333 23.5 9.2 23.5H8.7C8.11333 23.5 7.68333 23.3767 7.41 23.13C7.13667 22.8767 7 22.4667 7 21.9V20.1C7 19.54 7.13667 19.1333 7.41 18.88C7.69 18.6267 8.18 18.5 8.76 18.5H10V16.5H11V23.5H10V23.27ZM9.35 22.5C9.57 22.5 9.73333 22.4433 9.84 22.33C9.94667 22.21 10 22.0833 10 21.95V19.5H8.75C8.50333 19.5 8.31667 19.5567 8.19 19.67C8.06333 19.7833 8 19.9433 8 20.15V21.85C8 22.0567 8.06333 22.2167 8.19 22.33C8.31667 22.4433 8.50333 22.5 8.75 22.5H9.35Z"
32
+ fill="white"></path>
33
+ <path fill-rule="evenodd" clip-rule="evenodd"
34
+ d="M16 21.9C16 22.46 15.86 22.8667 15.58 23.12C15.3067 23.3733 14.88 23.5 14.3 23.5L13.7 23.5C13.12 23.5 12.69 23.3733 12.41 23.12C12.1367 22.8667 12 22.46 12 21.9V20.1C12 19.54 12.1367 19.1333 12.41 18.88C12.69 18.6267 13.12 18.5 13.7 18.5L14.3 18.5C14.88 18.5 15.3067 18.6267 15.58 18.88C15.86 19.1333 16 19.54 16 20.1V21.9ZM15 20.15C15 19.9433 14.9367 19.7833 14.81 19.67C14.6833 19.5567 14.4967 19.5 14.25 19.5H13.75C13.5033 19.5 13.3167 19.5567 13.19 19.67C13.0633 19.7833 13 19.9433 13 20.15V21.85C13 22.0567 13.0633 22.2167 13.19 22.33C13.3167 22.4433 13.5033 22.5 13.75 22.5H14.25C14.4967 22.5 14.6833 22.4433 14.81 22.33C14.9367 22.2167 15 22.0567 15 21.85V20.15Z"
35
+ fill="white"></path>
36
+ <path
37
+ d="M17.42 23.13C17.6933 23.3767 18.1233 23.5 18.71 23.5H20V22.5H18.75C18.5033 22.5 18.3167 22.4433 18.19 22.33C18.0633 22.2167 18 22.0567 18 21.85V20.15C18 19.9433 18.0633 19.7833 18.19 19.67C18.3167 19.5567 18.5033 19.5 18.75 19.5H20V18.5H18.71C18.13 18.5 17.7 18.6267 17.42 18.88C17.1467 19.1333 17.01 19.54 17.01 20.1V21.9C17.01 22.4667 17.1467 22.8767 17.42 23.13Z"
38
+ fill="white"></path>
39
+ <path
40
+ d="M21 23.5H22V22L23 21.5L24 22V23.5H25V21.5H24V20.5H25V18.5H24V20L23 20.5L22 20V18.5H21V20.5H22V21.5H21V23.5Z"
41
+ fill="white"></path>
42
+ </symbol>
26
43
  <symbol fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 40" id="file_las">
27
44
  <path d="M0 4C0 1.79086 1.79086 0 4 0H24L28 4L32 8V36C32 38.2091 30.2091 40 28 40H4C1.79086 40 0 38.2091 0 36V4Z"
28
45
  fill="#59AE50"></path>
@@ -60,6 +77,19 @@
60
77
  d="M22 20.75C22 21.17 21.87 21.4833 21.61 21.69C21.3567 21.8967 20.9867 22 20.5 22H19V21H20.45C20.63 21 20.7667 20.9633 20.86 20.89C20.9533 20.81 21 20.6967 21 20.55V20.45C21 20.15 20.8567 20 20.57 20H20.2C19.7333 20 19.5333 19.9 19.3 19.7C19.0733 19.4933 19 19.17 19 18.73V18.26C19 17.8133 19.0867 17.4933 19.34 17.3C19.5933 17.1 20.0067 17 20.5 17H22V18H20.55C20.3833 18 20.25 18.04 20.15 18.12C20.05 18.1933 20 18.3033 20 18.45V18.56C20 18.7133 20.0433 18.8267 20.13 18.9C20.2233 18.9733 20.34 19 20.48 19H20.63C21.0767 19 21.4167 19.12 21.65 19.34C21.8833 19.5533 22 19.8733 22 20.3V20.75Z"
61
78
  fill="white"></path>
62
79
  </symbol>
80
+ <symbol fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 40" id="file_xlsx">
81
+ <path d="M0 4C0 1.79086 1.79086 0 4 0H24L28 4L32 8V36C32 38.2091 30.2091 40 28 40H4C1.79086 40 0 38.2091 0 36V4Z"
82
+ fill="#59AE50"></path>
83
+ <path d="M24 0L28 4L32 8H28C25.7909 8 24 6.20914 24 4V0Z" fill="#3F8438"></path>
84
+ <path d="M11 22H10V20H11V19H10V17H11V18.5L12 19L13 18.5V17H14V19H13V20H14V22H13V20.5L12 20L11 20.5V22Z"
85
+ fill="white"></path>
86
+ <path
87
+ d="M16.92 22C16.6933 22 16.3931 21.92 16.2198 21.76C16.0531 21.6 16 21.3467 16 21V16H15V15H17V20.7C17 20.8067 17.0267 20.8833 17.08 20.93C17.1333 20.9767 17.2233 21 17.35 21H18V22H16.92Z"
88
+ fill="white"></path>
89
+ <path
90
+ d="M22 20.75C22 21.17 21.87 21.4833 21.61 21.69C21.3567 21.8967 20.9867 22 20.5 22H19V21H20.45C20.63 21 20.7667 20.9633 20.86 20.89C20.9533 20.81 21 20.6967 21 20.55V20.45C21 20.15 20.8567 20 20.57 20H20.2C19.7333 20 19.5333 19.9 19.3 19.7C19.0733 19.4933 19 19.17 19 18.73V18.26C19 17.8133 19.0867 17.4933 19.34 17.3C19.5933 17.1 20.0067 17 20.5 17H22V18H20.55C20.3833 18 20.25 18.04 20.15 18.12C20.05 18.1933 20 18.3033 20 18.45V18.56C20 18.7133 20.0433 18.8267 20.13 18.9C20.2233 18.9733 20.34 19 20.48 19H20.63C21.0767 19 21.4167 19.12 21.65 19.34C21.8833 19.5533 22 19.8733 22 20.3V20.75Z"
91
+ fill="white"></path>
92
+ </symbol>
63
93
  <symbol fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 40" id="file_png">
64
94
  <path d="M0 4C0 1.79086 1.79086 0 4 0H24L28 4L32 8V36C32 38.2091 30.2091 40 28 40H4C1.79086 40 0 38.2091 0 36V4Z"
65
95
  fill="#B841E2"></path>
@@ -105,21 +135,5 @@
105
135
  d="M17.5 16.5C16.9477 16.5 16.5 16.9477 16.5 17.5V20.5C16.5 21.0523 16.9477 21.5 17.5 21.5H20.5V20.5H17.5V19.5H20.5V17.5C20.5 16.9477 20.0523 16.5 19.5 16.5H17.5ZM19.5 18.5H17.5V18C17.5 17.7239 17.7239 17.5 18 17.5H19C19.2761 17.5 19.5 17.7239 19.5 18V18.5Z"
106
136
  fill="white"></path>
107
137
  </symbol>
108
- <symbol fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 40" id="file_docx">
109
- <path d="M0 4C0 1.79086 1.79086 0 4 0H24L28 4L32 8V36C32 38.2091 30.2091 40 28 40H4C1.79086 40 0 38.2091 0 36V4Z"
110
- fill="#579FFF"></path>
111
- <path d="M24 0L28 4L32 8H28C25.7909 8 24 6.20914 24 4V0Z" fill="#4380D0"></path>
112
- <path fill-rule="evenodd" clip-rule="evenodd"
113
- d="M10 23.27C9.78 23.4233 9.51333 23.5 9.2 23.5H8.7C8.11333 23.5 7.68333 23.3767 7.41 23.13C7.13667 22.8767 7 22.4667 7 21.9V20.1C7 19.54 7.13667 19.1333 7.41 18.88C7.69 18.6267 8.18 18.5 8.76 18.5H10V16.5H11V23.5H10V23.27ZM9.35 22.5C9.57 22.5 9.73333 22.4433 9.84 22.33C9.94667 22.21 10 22.0833 10 21.95V19.5H8.75C8.50333 19.5 8.31667 19.5567 8.19 19.67C8.06333 19.7833 8 19.9433 8 20.15V21.85C8 22.0567 8.06333 22.2167 8.19 22.33C8.31667 22.4433 8.50333 22.5 8.75 22.5H9.35Z"
114
- fill="white"></path>
115
- <path fill-rule="evenodd" clip-rule="evenodd"
116
- d="M16 21.9C16 22.46 15.86 22.8667 15.58 23.12C15.3067 23.3733 14.88 23.5 14.3 23.5L13.7 23.5C13.12 23.5 12.69 23.3733 12.41 23.12C12.1367 22.8667 12 22.46 12 21.9V20.1C12 19.54 12.1367 19.1333 12.41 18.88C12.69 18.6267 13.12 18.5 13.7 18.5L14.3 18.5C14.88 18.5 15.3067 18.6267 15.58 18.88C15.86 19.1333 16 19.54 16 20.1V21.9ZM15 20.15C15 19.9433 14.9367 19.7833 14.81 19.67C14.6833 19.5567 14.4967 19.5 14.25 19.5H13.75C13.5033 19.5 13.3167 19.5567 13.19 19.67C13.0633 19.7833 13 19.9433 13 20.15V21.85C13 22.0567 13.0633 22.2167 13.19 22.33C13.3167 22.4433 13.5033 22.5 13.75 22.5H14.25C14.4967 22.5 14.6833 22.4433 14.81 22.33C14.9367 22.2167 15 22.0567 15 21.85V20.15Z"
117
- fill="white"></path>
118
- <path
119
- d="M17.42 23.13C17.6933 23.3767 18.1233 23.5 18.71 23.5H20V22.5H18.75C18.5033 22.5 18.3167 22.4433 18.19 22.33C18.0633 22.2167 18 22.0567 18 21.85V20.15C18 19.9433 18.0633 19.7833 18.19 19.67C18.3167 19.5567 18.5033 19.5 18.75 19.5H20V18.5H18.71C18.13 18.5 17.7 18.6267 17.42 18.88C17.1467 19.1333 17.01 19.54 17.01 20.1V21.9C17.01 22.4667 17.1467 22.8767 17.42 23.13Z"
120
- fill="white"></path>
121
- <path
122
- d="M21 23.5H22V22L23 21.5L24 22V23.5H25V21.5H24V20.5H25V18.5H24V20L23 20.5L22 20V18.5H21V20.5H22V21.5H21V23.5Z"
123
- fill="white"></path>
124
- </symbol>
138
+
125
139
  </svg>
@@ -15,10 +15,10 @@ export class PropertyGridGroupComponent {
15
15
  this.itemTemplates = input();
16
16
  }
17
17
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: PropertyGridGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
18
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.1", type: PropertyGridGroupComponent, isStandalone: true, selector: "teta-property-grid-group", inputs: { column: { classPropertyName: "column", publicName: "column", isSignal: true, isRequired: false, transformFunction: null }, hideNonEditable: { classPropertyName: "hideNonEditable", publicName: "hideNonEditable", isSignal: true, isRequired: false, transformFunction: null }, dict: { classPropertyName: "dict", publicName: "dict", isSignal: true, isRequired: false, transformFunction: null }, item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: false, transformFunction: null }, horizontal: { classPropertyName: "horizontal", publicName: "horizontal", isSignal: true, isRequired: false, transformFunction: null }, decimalPart: { classPropertyName: "decimalPart", publicName: "decimalPart", isSignal: true, isRequired: false, transformFunction: null }, itemTemplates: { classPropertyName: "itemTemplates", publicName: "itemTemplates", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { controlValueChange: "controlValueChange" }, ngImport: i0, template: "<teta-expand-item>\n <span ngProjectAs=\"head\">\n {{ column().caption }}\n </span>\n <div class=\"form-container\">\n @for (col of column().columns; track col.name) {\n @if (col.columns?.length < 1) {\n @if (column().editable || !hideNonEditable) {\n <teta-property-grid-item\n [id]=\"col.name\"\n [dict]=\"dict()\"\n [column]=\"col\"\n [item]=\"item()\"\n [itemTemplates]=\"itemTemplates()\"\n [decimalPart]=\"decimalPart()\"\n [hideNonEditable]=\"hideNonEditable()\"\n (controlValueChange)=\"controlValueChange.emit($event)\"\n [horizontal]=\"horizontal()\"\n ></teta-property-grid-item>\n }\n } @else {\n <teta-property-grid-group\n [id]=\"col.name\"\n [dict]=\"dict()\"\n [column]=\"col\"\n [item]=\"item()\"\n [itemTemplates]=\"itemTemplates()\"\n [decimalPart]=\"decimalPart()\"\n [hideNonEditable]=\"hideNonEditable()\"\n [horizontal]=\"horizontal()\"\n (controlValueChange)=\"controlValueChange.emit($event)\"\n ></teta-property-grid-group>\n }\n }\n </div>\n</teta-expand-item>\n", styles: [":host{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "component", type: PropertyGridGroupComponent, selector: "teta-property-grid-group", inputs: ["column", "hideNonEditable", "dict", "item", "horizontal", "decimalPart", "itemTemplates"], outputs: ["controlValueChange"] }, { kind: "component", type: ExpandItemComponent, selector: "teta-expand-item", inputs: ["open"], outputs: ["openChange"], exportAs: ["expand-item"] }, { kind: "component", type: PropertyGridItemComponent, selector: "teta-property-grid-item", inputs: ["column", "hideNonEditable", "dict", "decimalPart", "item", "itemTemplates", "horizontal"], outputs: ["controlValueChange"] }], viewProviders: [FormsUtil.formProvider], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
18
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.1", type: PropertyGridGroupComponent, isStandalone: true, selector: "teta-property-grid-group", inputs: { column: { classPropertyName: "column", publicName: "column", isSignal: true, isRequired: false, transformFunction: null }, hideNonEditable: { classPropertyName: "hideNonEditable", publicName: "hideNonEditable", isSignal: true, isRequired: false, transformFunction: null }, dict: { classPropertyName: "dict", publicName: "dict", isSignal: true, isRequired: false, transformFunction: null }, item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: false, transformFunction: null }, horizontal: { classPropertyName: "horizontal", publicName: "horizontal", isSignal: true, isRequired: false, transformFunction: null }, decimalPart: { classPropertyName: "decimalPart", publicName: "decimalPart", isSignal: true, isRequired: false, transformFunction: null }, itemTemplates: { classPropertyName: "itemTemplates", publicName: "itemTemplates", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { controlValueChange: "controlValueChange" }, ngImport: i0, template: "<teta-expand-item>\n <span ngProjectAs=\"head\">\n {{ column().caption }}\n </span>\n <div class=\"form-container\">\n @for (col of column().columns; track col.name) { @if (col.columns?.length < 1) { @if (column().editable ||\n !hideNonEditable) {\n <teta-property-grid-item\n [id]=\"col.name\"\n [dict]=\"dict()\"\n [column]=\"col\"\n [item]=\"item()\"\n [itemTemplates]=\"itemTemplates()\"\n [decimalPart]=\"decimalPart()\"\n [hideNonEditable]=\"hideNonEditable()\"\n (controlValueChange)=\"controlValueChange.emit($event)\"\n [horizontal]=\"horizontal()\"\n ></teta-property-grid-item>\n } } @else {\n <teta-property-grid-group\n [id]=\"col.name\"\n [dict]=\"dict()\"\n [column]=\"col\"\n [item]=\"item()\"\n [itemTemplates]=\"itemTemplates()\"\n [decimalPart]=\"decimalPart()\"\n [hideNonEditable]=\"hideNonEditable()\"\n [horizontal]=\"horizontal()\"\n (controlValueChange)=\"controlValueChange.emit($event)\"\n ></teta-property-grid-group>\n } }\n </div>\n</teta-expand-item>\n", styles: [":host{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "component", type: PropertyGridGroupComponent, selector: "teta-property-grid-group", inputs: ["column", "hideNonEditable", "dict", "item", "horizontal", "decimalPart", "itemTemplates"], outputs: ["controlValueChange"] }, { kind: "component", type: ExpandItemComponent, selector: "teta-expand-item", inputs: ["open"], outputs: ["openChange"], exportAs: ["expand-item"] }, { kind: "component", type: PropertyGridItemComponent, selector: "teta-property-grid-item", inputs: ["column", "hideNonEditable", "dict", "decimalPart", "item", "itemTemplates", "horizontal"], outputs: ["controlValueChange"] }], viewProviders: [FormsUtil.formProvider], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
19
19
  }
20
20
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: PropertyGridGroupComponent, decorators: [{
21
21
  type: Component,
22
- args: [{ selector: 'teta-property-grid-group', viewProviders: [FormsUtil.formProvider], standalone: true, imports: [ExpandItemComponent, PropertyGridItemComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<teta-expand-item>\n <span ngProjectAs=\"head\">\n {{ column().caption }}\n </span>\n <div class=\"form-container\">\n @for (col of column().columns; track col.name) {\n @if (col.columns?.length < 1) {\n @if (column().editable || !hideNonEditable) {\n <teta-property-grid-item\n [id]=\"col.name\"\n [dict]=\"dict()\"\n [column]=\"col\"\n [item]=\"item()\"\n [itemTemplates]=\"itemTemplates()\"\n [decimalPart]=\"decimalPart()\"\n [hideNonEditable]=\"hideNonEditable()\"\n (controlValueChange)=\"controlValueChange.emit($event)\"\n [horizontal]=\"horizontal()\"\n ></teta-property-grid-item>\n }\n } @else {\n <teta-property-grid-group\n [id]=\"col.name\"\n [dict]=\"dict()\"\n [column]=\"col\"\n [item]=\"item()\"\n [itemTemplates]=\"itemTemplates()\"\n [decimalPart]=\"decimalPart()\"\n [hideNonEditable]=\"hideNonEditable()\"\n [horizontal]=\"horizontal()\"\n (controlValueChange)=\"controlValueChange.emit($event)\"\n ></teta-property-grid-group>\n }\n }\n </div>\n</teta-expand-item>\n", styles: [":host{display:flex;flex-direction:column}\n"] }]
22
+ args: [{ selector: 'teta-property-grid-group', viewProviders: [FormsUtil.formProvider], standalone: true, imports: [ExpandItemComponent, PropertyGridItemComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<teta-expand-item>\n <span ngProjectAs=\"head\">\n {{ column().caption }}\n </span>\n <div class=\"form-container\">\n @for (col of column().columns; track col.name) { @if (col.columns?.length < 1) { @if (column().editable ||\n !hideNonEditable) {\n <teta-property-grid-item\n [id]=\"col.name\"\n [dict]=\"dict()\"\n [column]=\"col\"\n [item]=\"item()\"\n [itemTemplates]=\"itemTemplates()\"\n [decimalPart]=\"decimalPart()\"\n [hideNonEditable]=\"hideNonEditable()\"\n (controlValueChange)=\"controlValueChange.emit($event)\"\n [horizontal]=\"horizontal()\"\n ></teta-property-grid-item>\n } } @else {\n <teta-property-grid-group\n [id]=\"col.name\"\n [dict]=\"dict()\"\n [column]=\"col\"\n [item]=\"item()\"\n [itemTemplates]=\"itemTemplates()\"\n [decimalPart]=\"decimalPart()\"\n [hideNonEditable]=\"hideNonEditable()\"\n [horizontal]=\"horizontal()\"\n (controlValueChange)=\"controlValueChange.emit($event)\"\n ></teta-property-grid-group>\n } }\n </div>\n</teta-expand-item>\n", styles: [":host{display:flex;flex-direction:column}\n"] }]
23
23
  }] });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktZ3JpZC1ncm91cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3Byb3BlcnR5LWdyaWQvcHJvcGVydHktZ3JpZC9wcm9wZXJ0eS1ncmlkLWdyb3VwL3Byb3BlcnR5LWdyaWQtZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC9wcm9wZXJ0eS1ncmlkL3Byb3BlcnR5LWdyaWQvcHJvcGVydHktZ3JpZC1ncm91cC9wcm9wZXJ0eS1ncmlkLWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUdoRixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFHdEQsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFDN0YsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sd0RBQXdELENBQUM7O0FBVzNGLE1BQU0sT0FBTywwQkFBMEI7SUFUdkM7UUFVRSxXQUFNLEdBQUcsS0FBSyxFQUFlLENBQUM7UUFDOUIsb0JBQWUsR0FBRyxLQUFLLEVBQVcsQ0FBQztRQUNuQyxTQUFJLEdBQUcsS0FBSyxFQUErQixDQUFDO1FBQzVDLFNBQUksR0FBRyxLQUFLLEVBQUssQ0FBQztRQUNsQixlQUFVLEdBQUcsS0FBSyxFQUFXLENBQUM7UUFDOUIsdUJBQWtCLEdBQUcsTUFBTSxFQUFnQixDQUFDO1FBQzVDLGdCQUFXLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFDOUIsa0JBQWEsR0FBRyxLQUFLLEVBQW1ELENBQUM7S0FDMUU7OEdBVFksMEJBQTBCO2tHQUExQiwwQkFBMEIsbWpDQ2xCdkMsNnRDQW9DQSxxR0RsQmEsMEJBQTBCLDJNQUgzQixtQkFBbUIsbUlBQUUseUJBQXlCLCtMQUZ6QyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUM7OzJGQUs1QiwwQkFBMEI7a0JBVHRDLFNBQVM7K0JBQ0UsMEJBQTBCLGlCQUdyQixDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsY0FDM0IsSUFBSSxXQUNQLENBQUMsbUJBQW1CLEVBQUUseUJBQXlCLENBQUMsbUJBQ3hDLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGlucHV0LCBvdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtJRGljdGlvbmFyeX0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL2NvbnRyYWN0L2ktZGljdGlvbmFyeSc7XG5pbXBvcnQge0lJZE5hbWV9IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbi9jb250cmFjdC9pLWlkLW5hbWUnO1xuaW1wb3J0IHtGb3Jtc1V0aWx9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWwvZm9ybXMtdXRpbCc7XG5pbXBvcnQge1RhYmxlQ29sdW1ufSBmcm9tICcuLi8uLi8uLi90YWJsZS9jb250cmFjdC90YWJsZS1jb2x1bW4nO1xuaW1wb3J0IHtQcm9wZXJ0eUdyaWRJdGVtRGVzY3JpcHRpb25EaXJlY3RpdmV9IGZyb20gJy4uL3Byb3BlcnR5LWdyaWQtaXRlbS1kZXNjcmlwdGlvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHtQcm9wZXJ0eUdyaWRJdGVtQ29tcG9uZW50fSBmcm9tICcuLi9wcm9wZXJ0eS1ncmlkLWl0ZW0vcHJvcGVydHktZ3JpZC1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQge0V4cGFuZEl0ZW1Db21wb25lbnR9IGZyb20gJy4uLy4uLy4uL2V4cGFuZC1jYXJkL2V4cGFuZC1pdGVtL2V4cGFuZC1pdGVtLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldGEtcHJvcGVydHktZ3JpZC1ncm91cCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9wZXJ0eS1ncmlkLWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHJvcGVydHktZ3JpZC1ncm91cC5jb21wb25lbnQuc2NzcyddLFxuICB2aWV3UHJvdmlkZXJzOiBbRm9ybXNVdGlsLmZvcm1Qcm92aWRlcl0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtFeHBhbmRJdGVtQ29tcG9uZW50LCBQcm9wZXJ0eUdyaWRJdGVtQ29tcG9uZW50XSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgUHJvcGVydHlHcmlkR3JvdXBDb21wb25lbnQ8VD4ge1xuICBjb2x1bW4gPSBpbnB1dDxUYWJsZUNvbHVtbj4oKTtcbiAgaGlkZU5vbkVkaXRhYmxlID0gaW5wdXQ8Ym9vbGVhbj4oKTtcbiAgZGljdCA9IGlucHV0PElEaWN0aW9uYXJ5PElJZE5hbWU8YW55PltdPj4oKTtcbiAgaXRlbSA9IGlucHV0PFQ+KCk7XG4gIGhvcml6b250YWwgPSBpbnB1dDxib29sZWFuPigpO1xuICBjb250cm9sVmFsdWVDaGFuZ2UgPSBvdXRwdXQ8SUlkTmFtZTxhbnk+PigpO1xuICBkZWNpbWFsUGFydCA9IGlucHV0PG51bWJlcj4oKTtcbiAgaXRlbVRlbXBsYXRlcyA9IGlucHV0PHJlYWRvbmx5IFByb3BlcnR5R3JpZEl0ZW1EZXNjcmlwdGlvbkRpcmVjdGl2ZVtdPigpO1xufVxuIiwiPHRldGEtZXhwYW5kLWl0ZW0+XG4gIDxzcGFuIG5nUHJvamVjdEFzPVwiaGVhZFwiPlxuICAgIHt7IGNvbHVtbigpLmNhcHRpb24gfX1cbiAgPC9zcGFuPlxuICA8ZGl2IGNsYXNzPVwiZm9ybS1jb250YWluZXJcIj5cbiAgICBAZm9yIChjb2wgb2YgY29sdW1uKCkuY29sdW1uczsgdHJhY2sgY29sLm5hbWUpIHtcbiAgICAgIEBpZiAoY29sLmNvbHVtbnM/Lmxlbmd0aCA8IDEpIHtcbiAgICAgICAgQGlmIChjb2x1bW4oKS5lZGl0YWJsZSB8fCAhaGlkZU5vbkVkaXRhYmxlKSB7XG4gICAgICAgICAgPHRldGEtcHJvcGVydHktZ3JpZC1pdGVtXG4gICAgICAgICAgICBbaWRdPVwiY29sLm5hbWVcIlxuICAgICAgICAgICAgW2RpY3RdPVwiZGljdCgpXCJcbiAgICAgICAgICAgIFtjb2x1bW5dPVwiY29sXCJcbiAgICAgICAgICAgIFtpdGVtXT1cIml0ZW0oKVwiXG4gICAgICAgICAgICBbaXRlbVRlbXBsYXRlc109XCJpdGVtVGVtcGxhdGVzKClcIlxuICAgICAgICAgICAgW2RlY2ltYWxQYXJ0XT1cImRlY2ltYWxQYXJ0KClcIlxuICAgICAgICAgICAgW2hpZGVOb25FZGl0YWJsZV09XCJoaWRlTm9uRWRpdGFibGUoKVwiXG4gICAgICAgICAgICAoY29udHJvbFZhbHVlQ2hhbmdlKT1cImNvbnRyb2xWYWx1ZUNoYW5nZS5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgW2hvcml6b250YWxdPVwiaG9yaXpvbnRhbCgpXCJcbiAgICAgICAgICA+PC90ZXRhLXByb3BlcnR5LWdyaWQtaXRlbT5cbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIDx0ZXRhLXByb3BlcnR5LWdyaWQtZ3JvdXBcbiAgICAgICAgICBbaWRdPVwiY29sLm5hbWVcIlxuICAgICAgICAgIFtkaWN0XT1cImRpY3QoKVwiXG4gICAgICAgICAgW2NvbHVtbl09XCJjb2xcIlxuICAgICAgICAgIFtpdGVtXT1cIml0ZW0oKVwiXG4gICAgICAgICAgW2l0ZW1UZW1wbGF0ZXNdPVwiaXRlbVRlbXBsYXRlcygpXCJcbiAgICAgICAgICBbZGVjaW1hbFBhcnRdPVwiZGVjaW1hbFBhcnQoKVwiXG4gICAgICAgICAgW2hpZGVOb25FZGl0YWJsZV09XCJoaWRlTm9uRWRpdGFibGUoKVwiXG4gICAgICAgICAgW2hvcml6b250YWxdPVwiaG9yaXpvbnRhbCgpXCJcbiAgICAgICAgICAoY29udHJvbFZhbHVlQ2hhbmdlKT1cImNvbnRyb2xWYWx1ZUNoYW5nZS5lbWl0KCRldmVudClcIlxuICAgICAgICA+PC90ZXRhLXByb3BlcnR5LWdyaWQtZ3JvdXA+XG4gICAgICB9XG4gICAgfVxuICA8L2Rpdj5cbjwvdGV0YS1leHBhbmQtaXRlbT5cbiJdfQ==
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktZ3JpZC1ncm91cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3Byb3BlcnR5LWdyaWQvcHJvcGVydHktZ3JpZC9wcm9wZXJ0eS1ncmlkLWdyb3VwL3Byb3BlcnR5LWdyaWQtZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC9wcm9wZXJ0eS1ncmlkL3Byb3BlcnR5LWdyaWQvcHJvcGVydHktZ3JpZC1ncm91cC9wcm9wZXJ0eS1ncmlkLWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdsRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFHeEQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDL0YsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0RBQXdELENBQUM7O0FBVzdGLE1BQU0sT0FBTywwQkFBMEI7SUFUdkM7UUFVRSxXQUFNLEdBQUcsS0FBSyxFQUFlLENBQUM7UUFDOUIsb0JBQWUsR0FBRyxLQUFLLEVBQVcsQ0FBQztRQUNuQyxTQUFJLEdBQUcsS0FBSyxFQUErQixDQUFDO1FBQzVDLFNBQUksR0FBRyxLQUFLLEVBQUssQ0FBQztRQUNsQixlQUFVLEdBQUcsS0FBSyxFQUFXLENBQUM7UUFDOUIsdUJBQWtCLEdBQUcsTUFBTSxFQUFnQixDQUFDO1FBQzVDLGdCQUFXLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFDOUIsa0JBQWEsR0FBRyxLQUFLLEVBQW1ELENBQUM7S0FDMUU7OEdBVFksMEJBQTBCO2tHQUExQiwwQkFBMEIsbWpDQ2xCdkMsa2xDQWlDQSxxR0RmYSwwQkFBMEIsMk1BSDNCLG1CQUFtQixtSUFBRSx5QkFBeUIsK0xBRnpDLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQzs7MkZBSzVCLDBCQUEwQjtrQkFUdEMsU0FBUzsrQkFDRSwwQkFBMEIsaUJBR3JCLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxjQUMzQixJQUFJLFdBQ1AsQ0FBQyxtQkFBbUIsRUFBRSx5QkFBeUIsQ0FBQyxtQkFDeEMsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGlucHV0LCBvdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElEaWN0aW9uYXJ5IH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL2NvbnRyYWN0L2ktZGljdGlvbmFyeSc7XG5pbXBvcnQgeyBJSWROYW1lIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL2NvbnRyYWN0L2ktaWQtbmFtZSc7XG5pbXBvcnQgeyBGb3Jtc1V0aWwgfSBmcm9tICcuLi8uLi8uLi8uLi91dGlsL2Zvcm1zLXV0aWwnO1xuaW1wb3J0IHsgVGFibGVDb2x1bW4gfSBmcm9tICcuLi8uLi8uLi90YWJsZS9jb250cmFjdC90YWJsZS1jb2x1bW4nO1xuaW1wb3J0IHsgUHJvcGVydHlHcmlkSXRlbURlc2NyaXB0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vcHJvcGVydHktZ3JpZC1pdGVtLWRlc2NyaXB0aW9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBQcm9wZXJ0eUdyaWRJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vcHJvcGVydHktZ3JpZC1pdGVtL3Byb3BlcnR5LWdyaWQtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRXhwYW5kSXRlbUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2V4cGFuZC1jYXJkL2V4cGFuZC1pdGVtL2V4cGFuZC1pdGVtLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldGEtcHJvcGVydHktZ3JpZC1ncm91cCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9wZXJ0eS1ncmlkLWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHJvcGVydHktZ3JpZC1ncm91cC5jb21wb25lbnQuc2NzcyddLFxuICB2aWV3UHJvdmlkZXJzOiBbRm9ybXNVdGlsLmZvcm1Qcm92aWRlcl0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtFeHBhbmRJdGVtQ29tcG9uZW50LCBQcm9wZXJ0eUdyaWRJdGVtQ29tcG9uZW50XSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFByb3BlcnR5R3JpZEdyb3VwQ29tcG9uZW50PFQ+IHtcbiAgY29sdW1uID0gaW5wdXQ8VGFibGVDb2x1bW4+KCk7XG4gIGhpZGVOb25FZGl0YWJsZSA9IGlucHV0PGJvb2xlYW4+KCk7XG4gIGRpY3QgPSBpbnB1dDxJRGljdGlvbmFyeTxJSWROYW1lPGFueT5bXT4+KCk7XG4gIGl0ZW0gPSBpbnB1dDxUPigpO1xuICBob3Jpem9udGFsID0gaW5wdXQ8Ym9vbGVhbj4oKTtcbiAgY29udHJvbFZhbHVlQ2hhbmdlID0gb3V0cHV0PElJZE5hbWU8YW55Pj4oKTtcbiAgZGVjaW1hbFBhcnQgPSBpbnB1dDxudW1iZXI+KCk7XG4gIGl0ZW1UZW1wbGF0ZXMgPSBpbnB1dDxyZWFkb25seSBQcm9wZXJ0eUdyaWRJdGVtRGVzY3JpcHRpb25EaXJlY3RpdmVbXT4oKTtcbn1cbiIsIjx0ZXRhLWV4cGFuZC1pdGVtPlxuICA8c3BhbiBuZ1Byb2plY3RBcz1cImhlYWRcIj5cbiAgICB7eyBjb2x1bW4oKS5jYXB0aW9uIH19XG4gIDwvc3Bhbj5cbiAgPGRpdiBjbGFzcz1cImZvcm0tY29udGFpbmVyXCI+XG4gICAgQGZvciAoY29sIG9mIGNvbHVtbigpLmNvbHVtbnM7IHRyYWNrIGNvbC5uYW1lKSB7IEBpZiAoY29sLmNvbHVtbnM/Lmxlbmd0aCA8IDEpIHsgQGlmIChjb2x1bW4oKS5lZGl0YWJsZSB8fFxuICAgICFoaWRlTm9uRWRpdGFibGUpIHtcbiAgICA8dGV0YS1wcm9wZXJ0eS1ncmlkLWl0ZW1cbiAgICAgIFtpZF09XCJjb2wubmFtZVwiXG4gICAgICBbZGljdF09XCJkaWN0KClcIlxuICAgICAgW2NvbHVtbl09XCJjb2xcIlxuICAgICAgW2l0ZW1dPVwiaXRlbSgpXCJcbiAgICAgIFtpdGVtVGVtcGxhdGVzXT1cIml0ZW1UZW1wbGF0ZXMoKVwiXG4gICAgICBbZGVjaW1hbFBhcnRdPVwiZGVjaW1hbFBhcnQoKVwiXG4gICAgICBbaGlkZU5vbkVkaXRhYmxlXT1cImhpZGVOb25FZGl0YWJsZSgpXCJcbiAgICAgIChjb250cm9sVmFsdWVDaGFuZ2UpPVwiY29udHJvbFZhbHVlQ2hhbmdlLmVtaXQoJGV2ZW50KVwiXG4gICAgICBbaG9yaXpvbnRhbF09XCJob3Jpem9udGFsKClcIlxuICAgID48L3RldGEtcHJvcGVydHktZ3JpZC1pdGVtPlxuICAgIH0gfSBAZWxzZSB7XG4gICAgPHRldGEtcHJvcGVydHktZ3JpZC1ncm91cFxuICAgICAgW2lkXT1cImNvbC5uYW1lXCJcbiAgICAgIFtkaWN0XT1cImRpY3QoKVwiXG4gICAgICBbY29sdW1uXT1cImNvbFwiXG4gICAgICBbaXRlbV09XCJpdGVtKClcIlxuICAgICAgW2l0ZW1UZW1wbGF0ZXNdPVwiaXRlbVRlbXBsYXRlcygpXCJcbiAgICAgIFtkZWNpbWFsUGFydF09XCJkZWNpbWFsUGFydCgpXCJcbiAgICAgIFtoaWRlTm9uRWRpdGFibGVdPVwiaGlkZU5vbkVkaXRhYmxlKClcIlxuICAgICAgW2hvcml6b250YWxdPVwiaG9yaXpvbnRhbCgpXCJcbiAgICAgIChjb250cm9sVmFsdWVDaGFuZ2UpPVwiY29udHJvbFZhbHVlQ2hhbmdlLmVtaXQoJGV2ZW50KVwiXG4gICAgPjwvdGV0YS1wcm9wZXJ0eS1ncmlkLWdyb3VwPlxuICAgIH0gfVxuICA8L2Rpdj5cbjwvdGV0YS1leHBhbmQtaXRlbT5cbiJdfQ==
@@ -108,7 +108,7 @@ export class PropertyGridItemComponent {
108
108
  }
109
109
  }
110
110
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: PropertyGridItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
111
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.1", type: PropertyGridItemComponent, isStandalone: true, selector: "teta-property-grid-item", inputs: { column: { classPropertyName: "column", publicName: "column", isSignal: true, isRequired: false, transformFunction: null }, hideNonEditable: { classPropertyName: "hideNonEditable", publicName: "hideNonEditable", isSignal: true, isRequired: false, transformFunction: null }, dict: { classPropertyName: "dict", publicName: "dict", isSignal: true, isRequired: false, transformFunction: null }, decimalPart: { classPropertyName: "decimalPart", publicName: "decimalPart", isSignal: true, isRequired: false, transformFunction: null }, item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: false, transformFunction: null }, itemTemplates: { classPropertyName: "itemTemplates", publicName: "itemTemplates", isSignal: true, isRequired: false, transformFunction: null }, horizontal: { classPropertyName: "horizontal", publicName: "horizontal", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { controlValueChange: "controlValueChange" }, usesOnChanges: true, ngImport: i0, template: "@if (editable() || !hideNonEditable()) {\n <teta-input\n [label]=\"caption()\"\n [hint]=\"column().hint\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal()\"\n [required]=\"column().required\">\n @if (template()) {\n <ng-container\n *ngTemplateOutlet=\"template().template; context: { $implicit: formGroup?.get(column().name) }\"></ng-container>\n } @else {\n @if (formGroup?.get(column().name)) {\n @switch (column().filterType) {\n @case (filterTypeEnum.list) {\n <teta-select\n class=\"row_auto\"\n [tetaDisableControl]=\"!editable()\"\n [searchRef]=\"getDict()?.length > 10 ? 'name' : ''\"\n [allowNull]=\"!column().required\"\n [appendToBody]=\"true\"\n [invalid]=\"controlIsInvalid(column().name)\"\n [formControlName]=\"column().name\"\n [options]=\"getDict()\"\n [valueRef]=\"'id'\"\n [textRef]=\"'name'\"\n [multiple]=\"false\"></teta-select>\n }\n @case (filterTypeEnum.date) {\n <teta-date-picker\n class=\"row_auto\"\n [appendToBody]=\"true\"\n [tetaDisableControl]=\"!editable()\"\n [invalid]=\"controlIsInvalid(column().name)\"\n [formControlName]=\"column().name\"></teta-date-picker>\n }\n @case (filterTypeEnum.boolean) {\n <teta-toggle [tetaDisableControl]=\"!editable()\" [formControlName]=\"column().name\">\n {{ column().caption }}\n </teta-toggle>\n }\n @default {\n <teta-text-field\n class=\"row_auto\"\n [tetaDisableControl]=\"!editable()\"\n [decimalPart]=\"column().filterType === filterTypeEnum.number ? decimalPart() : null\"\n [onlyNumber]=\"column().filterType === filterTypeEnum.number\"\n [placeholder]=\"column().caption\"\n [invalid]=\"controlIsInvalid(column().name)\"\n [formControlName]=\"column().name\"\n ></teta-text-field>\n }\n }\n }\n }\n @if (controlIsInvalid(column().name)) {\n <div ngProjectAs=\"message\" class=\"color-red-50\">\n {{ getError(column()) }}\n </div>\n }\n </teta-input>\n}\n", styles: [""], dependencies: [{ kind: "component", type: InputComponent, selector: "teta-input", inputs: ["label", "hint", "viewType", "horizontal", "required"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SelectComponent, selector: "teta-select", inputs: ["multiple", "options", "invalid", "align", "verticalAlign", "autoClose", "autoCloseIgnore", "disabled", "itemSize", "virtual", "icon", "placeholder", "appendToBody", "allowNull", "viewType", "notFoundText", "valueRef", "textRef", "searchRef"] }, { kind: "component", type: DatePickerComponent, selector: "teta-date-picker", inputs: ["date", "showTime", "minDate", "maxDate", "invalid", "disabled", "align", "verticalAlign", "viewType", "appendToBody", "backdrop", "allowNull", "firstDayOfWeek", "disabledDates", "disabledPeriods", "disabledDays", "minYearDate", "maxYearDate"], outputs: ["selectDate"] }, { kind: "component", type: ToggleComponent, selector: "teta-toggle", inputs: ["palette", "noLabel", "disabled"] }, { kind: "component", type: TextFieldComponent, selector: "teta-text-field", inputs: ["placeholder", "leftIconName", "disabled", "onlyNumber", "decimalPart", "invalid"] }, { kind: "directive", type: DisableControlDirective, selector: "[tetaDisableControl]", inputs: ["tetaDisableControl"] }], viewProviders: [FormsUtil.formProvider], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
111
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.1", type: PropertyGridItemComponent, isStandalone: true, selector: "teta-property-grid-item", inputs: { column: { classPropertyName: "column", publicName: "column", isSignal: true, isRequired: false, transformFunction: null }, hideNonEditable: { classPropertyName: "hideNonEditable", publicName: "hideNonEditable", isSignal: true, isRequired: false, transformFunction: null }, dict: { classPropertyName: "dict", publicName: "dict", isSignal: true, isRequired: false, transformFunction: null }, decimalPart: { classPropertyName: "decimalPart", publicName: "decimalPart", isSignal: true, isRequired: false, transformFunction: null }, item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: false, transformFunction: null }, itemTemplates: { classPropertyName: "itemTemplates", publicName: "itemTemplates", isSignal: true, isRequired: false, transformFunction: null }, horizontal: { classPropertyName: "horizontal", publicName: "horizontal", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { controlValueChange: "controlValueChange" }, usesOnChanges: true, ngImport: i0, template: "@if (editable() || !hideNonEditable()) {\n<teta-input\n [label]=\"caption()\"\n [hint]=\"column().hint\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal()\"\n [required]=\"column().required\"\n>\n @if (template()) {\n <ng-container\n *ngTemplateOutlet=\"template().template; context: { $implicit: formGroup?.get(column().name) }\"\n ></ng-container>\n } @else { @if (formGroup?.get(column().name)) { @switch (column().filterType) { @case (filterTypeEnum.list) {\n <teta-select\n class=\"row_auto\"\n [tetaDisableControl]=\"!editable()\"\n [searchRef]=\"getDict()?.length > 10 ? 'name' : ''\"\n [allowNull]=\"!column().required\"\n [appendToBody]=\"true\"\n [invalid]=\"controlIsInvalid(column().name)\"\n [formControlName]=\"column().name\"\n [options]=\"getDict()\"\n [valueRef]=\"'id'\"\n [textRef]=\"'name'\"\n [multiple]=\"false\"\n ></teta-select>\n } @case (filterTypeEnum.date) {\n <teta-date-picker\n class=\"row_auto\"\n [appendToBody]=\"true\"\n [tetaDisableControl]=\"!editable()\"\n [invalid]=\"controlIsInvalid(column().name)\"\n [formControlName]=\"column().name\"\n ></teta-date-picker>\n } @case (filterTypeEnum.boolean) {\n <teta-toggle [tetaDisableControl]=\"!editable()\" [formControlName]=\"column().name\">\n {{ column().caption }}\n </teta-toggle>\n } @default {\n <teta-text-field\n class=\"row_auto\"\n [tetaDisableControl]=\"!editable()\"\n [decimalPart]=\"column().filterType === filterTypeEnum.number ? decimalPart() : null\"\n [onlyNumber]=\"column().filterType === filterTypeEnum.number\"\n [placeholder]=\"column().caption\"\n [invalid]=\"controlIsInvalid(column().name)\"\n [formControlName]=\"column().name\"\n ></teta-text-field>\n } } } } @if (controlIsInvalid(column().name)) {\n <div ngProjectAs=\"message\" class=\"color-red-50\">\n {{ getError(column()) }}\n </div>\n }\n</teta-input>\n}\n", styles: [""], dependencies: [{ kind: "component", type: InputComponent, selector: "teta-input", inputs: ["label", "hint", "viewType", "horizontal", "required"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SelectComponent, selector: "teta-select", inputs: ["multiple", "options", "invalid", "align", "verticalAlign", "autoClose", "autoCloseIgnore", "disabled", "itemSize", "virtual", "icon", "placeholder", "appendToBody", "allowNull", "viewType", "notFoundText", "valueRef", "textRef", "searchRef"] }, { kind: "component", type: DatePickerComponent, selector: "teta-date-picker", inputs: ["date", "showTime", "minDate", "maxDate", "invalid", "disabled", "align", "verticalAlign", "viewType", "appendToBody", "backdrop", "allowNull", "firstDayOfWeek", "disabledDates", "disabledPeriods", "disabledDays", "minYearDate", "maxYearDate"], outputs: ["selectDate"] }, { kind: "component", type: ToggleComponent, selector: "teta-toggle", inputs: ["palette", "noLabel", "disabled"] }, { kind: "component", type: TextFieldComponent, selector: "teta-text-field", inputs: ["placeholder", "leftIconName", "disabled", "onlyNumber", "decimalPart", "invalid"] }, { kind: "directive", type: DisableControlDirective, selector: "[tetaDisableControl]", inputs: ["tetaDisableControl"] }], viewProviders: [FormsUtil.formProvider], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
112
112
  }
113
113
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: PropertyGridItemComponent, decorators: [{
114
114
  type: Component,
@@ -122,6 +122,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImpor
122
122
  ToggleComponent,
123
123
  TextFieldComponent,
124
124
  DisableControlDirective,
125
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (editable() || !hideNonEditable()) {\n <teta-input\n [label]=\"caption()\"\n [hint]=\"column().hint\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal()\"\n [required]=\"column().required\">\n @if (template()) {\n <ng-container\n *ngTemplateOutlet=\"template().template; context: { $implicit: formGroup?.get(column().name) }\"></ng-container>\n } @else {\n @if (formGroup?.get(column().name)) {\n @switch (column().filterType) {\n @case (filterTypeEnum.list) {\n <teta-select\n class=\"row_auto\"\n [tetaDisableControl]=\"!editable()\"\n [searchRef]=\"getDict()?.length > 10 ? 'name' : ''\"\n [allowNull]=\"!column().required\"\n [appendToBody]=\"true\"\n [invalid]=\"controlIsInvalid(column().name)\"\n [formControlName]=\"column().name\"\n [options]=\"getDict()\"\n [valueRef]=\"'id'\"\n [textRef]=\"'name'\"\n [multiple]=\"false\"></teta-select>\n }\n @case (filterTypeEnum.date) {\n <teta-date-picker\n class=\"row_auto\"\n [appendToBody]=\"true\"\n [tetaDisableControl]=\"!editable()\"\n [invalid]=\"controlIsInvalid(column().name)\"\n [formControlName]=\"column().name\"></teta-date-picker>\n }\n @case (filterTypeEnum.boolean) {\n <teta-toggle [tetaDisableControl]=\"!editable()\" [formControlName]=\"column().name\">\n {{ column().caption }}\n </teta-toggle>\n }\n @default {\n <teta-text-field\n class=\"row_auto\"\n [tetaDisableControl]=\"!editable()\"\n [decimalPart]=\"column().filterType === filterTypeEnum.number ? decimalPart() : null\"\n [onlyNumber]=\"column().filterType === filterTypeEnum.number\"\n [placeholder]=\"column().caption\"\n [invalid]=\"controlIsInvalid(column().name)\"\n [formControlName]=\"column().name\"\n ></teta-text-field>\n }\n }\n }\n }\n @if (controlIsInvalid(column().name)) {\n <div ngProjectAs=\"message\" class=\"color-red-50\">\n {{ getError(column()) }}\n </div>\n }\n </teta-input>\n}\n" }]
125
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (editable() || !hideNonEditable()) {\n<teta-input\n [label]=\"caption()\"\n [hint]=\"column().hint\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal()\"\n [required]=\"column().required\"\n>\n @if (template()) {\n <ng-container\n *ngTemplateOutlet=\"template().template; context: { $implicit: formGroup?.get(column().name) }\"\n ></ng-container>\n } @else { @if (formGroup?.get(column().name)) { @switch (column().filterType) { @case (filterTypeEnum.list) {\n <teta-select\n class=\"row_auto\"\n [tetaDisableControl]=\"!editable()\"\n [searchRef]=\"getDict()?.length > 10 ? 'name' : ''\"\n [allowNull]=\"!column().required\"\n [appendToBody]=\"true\"\n [invalid]=\"controlIsInvalid(column().name)\"\n [formControlName]=\"column().name\"\n [options]=\"getDict()\"\n [valueRef]=\"'id'\"\n [textRef]=\"'name'\"\n [multiple]=\"false\"\n ></teta-select>\n } @case (filterTypeEnum.date) {\n <teta-date-picker\n class=\"row_auto\"\n [appendToBody]=\"true\"\n [tetaDisableControl]=\"!editable()\"\n [invalid]=\"controlIsInvalid(column().name)\"\n [formControlName]=\"column().name\"\n ></teta-date-picker>\n } @case (filterTypeEnum.boolean) {\n <teta-toggle [tetaDisableControl]=\"!editable()\" [formControlName]=\"column().name\">\n {{ column().caption }}\n </teta-toggle>\n } @default {\n <teta-text-field\n class=\"row_auto\"\n [tetaDisableControl]=\"!editable()\"\n [decimalPart]=\"column().filterType === filterTypeEnum.number ? decimalPart() : null\"\n [onlyNumber]=\"column().filterType === filterTypeEnum.number\"\n [placeholder]=\"column().caption\"\n [invalid]=\"controlIsInvalid(column().name)\"\n [formControlName]=\"column().name\"\n ></teta-text-field>\n } } } } @if (controlIsInvalid(column().name)) {\n <div ngProjectAs=\"message\" class=\"color-red-50\">\n {{ getError(column()) }}\n </div>\n }\n</teta-input>\n}\n" }]
126
126
  }], ctorParameters: () => [] });
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktZ3JpZC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvcHJvcGVydHktZ3JpZC9wcm9wZXJ0eS1ncmlkL3Byb3BlcnR5LWdyaWQtaXRlbS9wcm9wZXJ0eS1ncmlkLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC9wcm9wZXJ0eS1ncmlkL3Byb3BlcnR5LWdyaWQvcHJvcGVydHktZ3JpZC1pdGVtL3Byb3BlcnR5LWdyaWQtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsTUFBTSxFQUNOLEtBQUssRUFHTCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDckcsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFFcEQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBSXpDLE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUN6RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUNqRSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDdEQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBR2pFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBQ2xGLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUN4RSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx3REFB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QUM7b0JBQ0wsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJO2lCQUN6QixDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUM7SUFDSCxDQUFDOzhHQTNHVSx5QkFBeUI7a0dBQXpCLHlCQUF5Qix1a0NDbkR0QywrMEVBNkRBLDBERHRCSSxjQUFjLHVIQUNkLFdBQVcsa1NBQ1gsbUJBQW1CLGdWQUNuQixnQkFBZ0Isb0pBQ2hCLGVBQWUscVRBQ2YsbUJBQW1CLG9WQUNuQixlQUFlLG9HQUNmLGtCQUFrQix5SkFDbEIsdUJBQXVCLHNGQVhWLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQzs7MkZBZTVCLHlCQUF5QjtrQkFuQnJDLFNBQVM7K0JBQ0UseUJBQXlCLGlCQUdwQixDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsY0FDM0IsSUFBSSxXQUNQO3dCQUNQLGNBQWM7d0JBQ2QsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixtQkFBbUI7d0JBQ25CLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQix1QkFBdUI7cUJBQ3hCLG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBvdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb250cm9sQ29udGFpbmVyLCBGb3JtR3JvdXAsIEZvcm1zTW9kdWxlLCBOZ0Zvcm0sIFJlYWN0aXZlRm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7VHJhbnNsb2NvU2VydmljZX0gZnJvbSAnQGpzdmVyc2UvdHJhbnNsb2NvJztcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7dGFrZVdoaWxlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7SURpY3Rpb25hcnl9IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbi9jb250cmFjdC9pLWRpY3Rpb25hcnknO1xuaW1wb3J0IHtJSWROYW1lfSBmcm9tICcuLi8uLi8uLi8uLi9jb21tb24vY29udHJhY3QvaS1pZC1uYW1lJztcbmltcG9ydCB7QWxpZ259IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbi9lbnVtL2FsaWduLmVudW0nO1xuaW1wb3J0IHtib29sT3JGdW5jQ2FsbGJhY2t9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWwvYm9vbC1vci1mdW5jJztcbmltcG9ydCB7Rm9ybXNVdGlsfSBmcm9tICcuLi8uLi8uLi8uLi91dGlsL2Zvcm1zLXV0aWwnO1xuaW1wb3J0IHtGaWx0ZXJUeXBlfSBmcm9tICcuLi8uLi8uLi9maWx0ZXIvZW51bS9maWx0ZXItdHlwZS5lbnVtJztcbmltcG9ydCB7VGFibGVDb2x1bW59IGZyb20gJy4uLy4uLy4uL3RhYmxlL2NvbnRyYWN0L3RhYmxlLWNvbHVtbic7XG5pbXBvcnQge1Byb3BlcnR5R3JpZEl0ZW1EZXNjcmlwdGlvbkRpcmVjdGl2ZX0gZnJvbSAnLi4vcHJvcGVydHktZ3JpZC1pdGVtLWRlc2NyaXB0aW9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1RleHRGaWVsZENvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vaW5wdXQvdGV4dC1maWVsZC90ZXh0LWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQge1RvZ2dsZUNvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vdG9nZ2xlL3RvZ2dsZS90b2dnbGUuY29tcG9uZW50JztcbmltcG9ydCB7RGF0ZVBpY2tlckNvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7U2VsZWN0Q29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi9zZWxlY3Qvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHtOZ1RlbXBsYXRlT3V0bGV0fSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtJbnB1dENvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vaW5wdXQvaW5wdXQvaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7RGlzYWJsZUNvbnRyb2xEaXJlY3RpdmV9IGZyb20gJy4uLy4uLy4uLy4uL2RpcmVjdGl2ZS9kaXNhYmxlLWNvbnRyb2wvZGlzYWJsZS1jb250cm9sLmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldGEtcHJvcGVydHktZ3JpZC1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb3BlcnR5LWdyaWQtaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Byb3BlcnR5LWdyaWQtaXRlbS5jb21wb25lbnQuc2NzcyddLFxuICB2aWV3UHJvdmlkZXJzOiBbRm9ybXNVdGlsLmZvcm1Qcm92aWRlcl0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBJbnB1dENvbXBvbmVudCxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgU2VsZWN0Q29tcG9uZW50LFxuICAgIERhdGVQaWNrZXJDb21wb25lbnQsXG4gICAgVG9nZ2xlQ29tcG9uZW50LFxuICAgIFRleHRGaWVsZENvbXBvbmVudCxcbiAgICBEaXNhYmxlQ29udHJvbERpcmVjdGl2ZSxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgUHJvcGVydHlHcmlkSXRlbUNvbXBvbmVudDxUPiBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcbiAgcHJpdmF0ZSB0cmFuc2xvY28gPSBpbmplY3QoVHJhbnNsb2NvU2VydmljZSlcbiAgcHJpdmF0ZSBfZm9ybUdyb3VwID0gaW5qZWN0KENvbnRyb2xDb250YWluZXIpO1xuXG4gIGNvbHVtbiA9IGlucHV0PFRhYmxlQ29sdW1uPigpO1xuICBoaWRlTm9uRWRpdGFibGUgPSBpbnB1dDxib29sZWFuPigpO1xuICBkaWN0ID0gaW5wdXQ8SURpY3Rpb25hcnk8SUlkTmFtZTxhbnk+W10+PigpO1xuICBkZWNpbWFsUGFydCA9IGlucHV0PG51bWJlcj4oKTtcbiAgaXRlbSA9IGlucHV0PFQ+KCk7XG4gIGl0ZW1UZW1wbGF0ZXMgPSBpbnB1dDxyZWFkb25seSBQcm9wZXJ0eUdyaWRJdGVtRGVzY3JpcHRpb25EaXJlY3RpdmVbXT4oKTtcbiAgdGVtcGxhdGUgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbVRlbXBsYXRlcygpLmZpbmQoKGl0ZW0pID0+IGl0ZW0ubmFtZSA9PT0gdGhpcy5jb2x1bW4oKS5uYW1lKTtcbiAgfSk7XG5cbiAgZ2V0IGZvcm1Hcm91cCgpOiBGb3JtR3JvdXAge1xuICAgIGlmICh0aGlzLl9mb3JtR3JvdXAgaW5zdGFuY2VvZiBGb3JtR3JvdXApIHtcbiAgICAgIHJldHVybiB0aGlzLl9mb3JtR3JvdXA7XG4gICAgfVxuICAgIGlmICh0aGlzLl9mb3JtR3JvdXAgaW5zdGFuY2VvZiBOZ0Zvcm0pIHtcbiAgICAgIHJldHVybiB0aGlzLl9mb3JtR3JvdXAuZm9ybTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBlZGl0YWJsZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICByZXR1cm4gYm9vbE9yRnVuY0NhbGxiYWNrKHRoaXMuY29sdW1uKCkuZWRpdGFibGUpKHtcbiAgICAgIGNvbHVtbjogdGhpcy5jb2x1bW4oKSxcbiAgICAgIHJvdzogdGhpcy5mb3JtR3JvdXA/LmdldFJhd1ZhbHVlKCksXG4gICAgfSlcbiAgfSlcblxuICBob3Jpem9udGFsID0gaW5wdXQ8Ym9vbGVhbj4oKTtcbiAgY29udHJvbFZhbHVlQ2hhbmdlID0gb3V0cHV0PElJZE5hbWU8YW55Pj4oKTtcbiAgYWxpZ24gPSBBbGlnbjtcbiAgZmlsdGVyVHlwZUVudW0gPSBGaWx0ZXJUeXBlO1xuXG4gIHByaXZhdGUgX2Zvcm1TdWI6IFN1YnNjcmlwdGlvbjtcblxuICBjYXB0aW9uID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGlmICh0aGlzLmNvbHVtbigpLmZpbHRlclR5cGUgPT09IEZpbHRlclR5cGUuYm9vbGVhbikge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICByZXR1cm4gYCR7dGhpcy5jb2x1bW4oKS5jYXB0aW9ufSR7dGhpcy5jb2x1bW4oKS51bml0ID8gYCwgJHt0aGlzLmNvbHVtbigpLnVuaXR9YCA6ICcnfWA7XG4gIH0pXG5cbiAgcHJpdmF0ZSBfYWxpdmUgPSB0cnVlO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICB9XG5cbiAgZ2V0RGljdCgpIHtcbiAgICBjb25zdCBkaWN0ID0gdGhpcy5kaWN0KCkgPyB0aGlzLmRpY3QoKVt0aGlzLmNvbHVtbigpLm5hbWVdIDogW107XG4gICAgaWYgKHRoaXMuY29sdW1uKCkucGFyZW50TmFtZT8ubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIGRpY3Q/LmZpbHRlcihcbiAgICAgICAgKGRpY3RJdGVtOiBJSWROYW1lPGFueT4pID0+IGRpY3RJdGVtLnBhcmVudElkID09PSB0aGlzLmZvcm1Hcm91cD8uZ2V0UmF3VmFsdWUoKVt0aGlzLmNvbHVtbigpLnBhcmVudE5hbWVdXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gZGljdDtcbiAgfVxuXG4gIGNvbnRyb2xJc0ludmFsaWQoY29udHJvbE5hbWU6IHN0cmluZykge1xuICAgIHJldHVybiBGb3Jtc1V0aWwuY29udHJvbElzSW52YWxpZCh0aGlzLmZvcm1Hcm91cCwgY29udHJvbE5hbWUpO1xuICB9XG5cbiAgZ2V0RXJyb3IoY29sdW1uOiBUYWJsZUNvbHVtbikge1xuICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmZvcm1Hcm91cD8uZ2V0KGNvbHVtbi5uYW1lKTtcbiAgICBpZiAoY29udHJvbD8uaGFzRXJyb3IoJ3JlcXVpcmVkJykpIHtcbiAgICAgIHJldHVybiB0aGlzLnRyYW5zbG9jby50cmFuc2xhdGUoJ2Vycm9ycy5maWVsZF9pc19yZXF1aXJlZCcpO1xuICAgIH1cbiAgICBpZiAoY29udHJvbD8uaGFzRXJyb3IoJ21pbicpKSB7XG4gICAgICByZXR1cm4gdGhpcy50cmFuc2xvY28udHJhbnNsYXRlKCdlcnJvcnMubWluX3ZhbHVlJywge1xuICAgICAgICB2YWx1ZTogY29sdW1uLm1pblZhbHVlLFxuICAgICAgfSk7XG4gICAgfVxuICAgIGlmIChjb250cm9sPy5oYXNFcnJvcignbWF4JykpIHtcbiAgICAgIHJldHVybiB0aGlzLnRyYW5zbG9jby50cmFuc2xhdGUoJ2Vycm9ycy5tYXhfdmFsdWUnLCB7XG4gICAgICAgIHZhbHVlOiBjb2x1bW4ubWF4VmFsdWUsXG4gICAgICB9KTtcbiAgICB9XG4gICAgaWYgKGNvbnRyb2w/Lmhhc0Vycm9yKCdtYXhsZW5ndGgnKSkge1xuICAgICAgcmV0dXJuIHRoaXMudHJhbnNsb2NvLnRyYW5zbGF0ZSgnZXJyb3JzLm1heF9sZW5ndGgnLCB7XG4gICAgICAgIHZhbHVlOiBjb2x1bW4ubWF4TGVuZ3RoLFxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fYWxpdmUgPSBmYWxzZTtcbiAgICB0aGlzLl9mb3JtU3ViPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmICh0aGlzLmNvbHVtbigpICYmIHRoaXMuaXRlbSgpKSB7XG4gICAgICBpZiAoIXRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLmNvbHVtbigpLm5hbWUpKSB7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLnNldENvbnRyb2wodGhpcy5jb2x1bW4oKS5uYW1lLCBGb3Jtc1V0aWwuaW5pdENvbnRyb2xGcm9tQ29sdW1uKHRoaXMuY29sdW1uKCksIHRoaXMuaXRlbSgpKSk7XG4gICAgICB9XG4gICAgICB0aGlzLl9mb3JtU3ViPy51bnN1YnNjcmliZSgpO1xuICAgICAgdGhpcy5fZm9ybVN1YiA9IHRoaXMuZm9ybUdyb3VwPy5jb250cm9sc1t0aGlzLmNvbHVtbigpLm5hbWVdPy52YWx1ZUNoYW5nZXNcbiAgICAgICAgLnBpcGUodGFrZVdoaWxlKCgpID0+IHRoaXMuX2FsaXZlKSlcbiAgICAgICAgLnN1YnNjcmliZSgoXykgPT4ge1xuICAgICAgICAgIHRoaXMuY29udHJvbFZhbHVlQ2hhbmdlLmVtaXQoe1xuICAgICAgICAgICAgaWQ6IF8sXG4gICAgICAgICAgICBuYW1lOiB0aGlzLmNvbHVtbigpLm5hbWUsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIiwiQGlmIChlZGl0YWJsZSgpIHx8ICFoaWRlTm9uRWRpdGFibGUoKSkge1xuICA8dGV0YS1pbnB1dFxuICAgIFtsYWJlbF09XCJjYXB0aW9uKClcIlxuICAgIFtoaW50XT1cImNvbHVtbigpLmhpbnRcIlxuICAgIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCJcbiAgICBbaG9yaXpvbnRhbF09XCJob3Jpem9udGFsKClcIlxuICAgIFtyZXF1aXJlZF09XCJjb2x1bW4oKS5yZXF1aXJlZFwiPlxuICAgIEBpZiAodGVtcGxhdGUoKSkge1xuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInRlbXBsYXRlKCkudGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBmb3JtR3JvdXA/LmdldChjb2x1bW4oKS5uYW1lKSB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaWYgKGZvcm1Hcm91cD8uZ2V0KGNvbHVtbigpLm5hbWUpKSB7XG4gICAgICAgIEBzd2l0Y2ggKGNvbHVtbigpLmZpbHRlclR5cGUpIHtcbiAgICAgICAgICBAY2FzZSAoZmlsdGVyVHlwZUVudW0ubGlzdCkge1xuICAgICAgICAgICAgPHRldGEtc2VsZWN0XG4gICAgICAgICAgICAgIGNsYXNzPVwicm93X2F1dG9cIlxuICAgICAgICAgICAgICBbdGV0YURpc2FibGVDb250cm9sXT1cIiFlZGl0YWJsZSgpXCJcbiAgICAgICAgICAgICAgW3NlYXJjaFJlZl09XCJnZXREaWN0KCk/Lmxlbmd0aCA+IDEwID8gJ25hbWUnIDogJydcIlxuICAgICAgICAgICAgICBbYWxsb3dOdWxsXT1cIiFjb2x1bW4oKS5yZXF1aXJlZFwiXG4gICAgICAgICAgICAgIFthcHBlbmRUb0JvZHldPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIFtpbnZhbGlkXT1cImNvbnRyb2xJc0ludmFsaWQoY29sdW1uKCkubmFtZSlcIlxuICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImNvbHVtbigpLm5hbWVcIlxuICAgICAgICAgICAgICBbb3B0aW9uc109XCJnZXREaWN0KClcIlxuICAgICAgICAgICAgICBbdmFsdWVSZWZdPVwiJ2lkJ1wiXG4gICAgICAgICAgICAgIFt0ZXh0UmVmXT1cIiduYW1lJ1wiXG4gICAgICAgICAgICAgIFttdWx0aXBsZV09XCJmYWxzZVwiPjwvdGV0YS1zZWxlY3Q+XG4gICAgICAgICAgfVxuICAgICAgICAgIEBjYXNlIChmaWx0ZXJUeXBlRW51bS5kYXRlKSB7XG4gICAgICAgICAgICA8dGV0YS1kYXRlLXBpY2tlclxuICAgICAgICAgICAgICBjbGFzcz1cInJvd19hdXRvXCJcbiAgICAgICAgICAgICAgW2FwcGVuZFRvQm9keV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgW3RldGFEaXNhYmxlQ29udHJvbF09XCIhZWRpdGFibGUoKVwiXG4gICAgICAgICAgICAgIFtpbnZhbGlkXT1cImNvbnRyb2xJc0ludmFsaWQoY29sdW1uKCkubmFtZSlcIlxuICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImNvbHVtbigpLm5hbWVcIj48L3RldGEtZGF0ZS1waWNrZXI+XG4gICAgICAgICAgfVxuICAgICAgICAgIEBjYXNlIChmaWx0ZXJUeXBlRW51bS5ib29sZWFuKSB7XG4gICAgICAgICAgICA8dGV0YS10b2dnbGUgW3RldGFEaXNhYmxlQ29udHJvbF09XCIhZWRpdGFibGUoKVwiIFtmb3JtQ29udHJvbE5hbWVdPVwiY29sdW1uKCkubmFtZVwiPlxuICAgICAgICAgICAgICB7eyBjb2x1bW4oKS5jYXB0aW9uIH19XG4gICAgICAgICAgICA8L3RldGEtdG9nZ2xlPlxuICAgICAgICAgIH1cbiAgICAgICAgICBAZGVmYXVsdCB7XG4gICAgICAgICAgICA8dGV0YS10ZXh0LWZpZWxkXG4gICAgICAgICAgICAgIGNsYXNzPVwicm93X2F1dG9cIlxuICAgICAgICAgICAgICBbdGV0YURpc2FibGVDb250cm9sXT1cIiFlZGl0YWJsZSgpXCJcbiAgICAgICAgICAgICAgW2RlY2ltYWxQYXJ0XT1cImNvbHVtbigpLmZpbHRlclR5cGUgPT09IGZpbHRlclR5cGVFbnVtLm51bWJlciA/IGRlY2ltYWxQYXJ0KCkgOiBudWxsXCJcbiAgICAgICAgICAgICAgW29ubHlOdW1iZXJdPVwiY29sdW1uKCkuZmlsdGVyVHlwZSA9PT0gZmlsdGVyVHlwZUVudW0ubnVtYmVyXCJcbiAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImNvbHVtbigpLmNhcHRpb25cIlxuICAgICAgICAgICAgICBbaW52YWxpZF09XCJjb250cm9sSXNJbnZhbGlkKGNvbHVtbigpLm5hbWUpXCJcbiAgICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJjb2x1bW4oKS5uYW1lXCJcbiAgICAgICAgICAgID48L3RldGEtdGV4dC1maWVsZD5cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGlmIChjb250cm9sSXNJbnZhbGlkKGNvbHVtbigpLm5hbWUpKSB7XG4gICAgICA8ZGl2IG5nUHJvamVjdEFzPVwibWVzc2FnZVwiIGNsYXNzPVwiY29sb3ItcmVkLTUwXCI+XG4gICAgICAgIHt7IGdldEVycm9yKGNvbHVtbigpKSB9fVxuICAgICAgPC9kaXY+XG4gICAgfVxuICA8L3RldGEtaW5wdXQ+XG59XG4iXX0=
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktZ3JpZC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvcHJvcGVydHktZ3JpZC9wcm9wZXJ0eS1ncmlkL3Byb3BlcnR5LWdyaWQtaXRlbS9wcm9wZXJ0eS1ncmlkLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC9wcm9wZXJ0eS1ncmlkL3Byb3BlcnR5LWdyaWQvcHJvcGVydHktZ3JpZC1pdGVtL3Byb3BlcnR5LWdyaWQtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsTUFBTSxFQUNOLEtBQUssRUFHTCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFdEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSTNDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBR25FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3REFB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QUM7b0JBQ0wsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJO2lCQUN6QixDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUM7SUFDSCxDQUFDOzhHQTFHVSx5QkFBeUI7a0dBQXpCLHlCQUF5Qix1a0NDbkR0QyxtNURBdURBLDBERGhCSSxjQUFjLHVIQUNkLFdBQVcsa1NBQ1gsbUJBQW1CLGdWQUNuQixnQkFBZ0Isb0pBQ2hCLGVBQWUscVRBQ2YsbUJBQW1CLG9WQUNuQixlQUFlLG9HQUNmLGtCQUFrQix5SkFDbEIsdUJBQXVCLHNGQVhWLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQzs7MkZBZTVCLHlCQUF5QjtrQkFuQnJDLFNBQVM7K0JBQ0UseUJBQXlCLGlCQUdwQixDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsY0FDM0IsSUFBSSxXQUNQO3dCQUNQLGNBQWM7d0JBQ2QsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixtQkFBbUI7d0JBQ25CLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQix1QkFBdUI7cUJBQ3hCLG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBvdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbENvbnRhaW5lciwgRm9ybUdyb3VwLCBGb3Jtc01vZHVsZSwgTmdGb3JtLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVHJhbnNsb2NvU2VydmljZSB9IGZyb20gJ0Bqc3ZlcnNlL3RyYW5zbG9jbyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VXaGlsZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgSURpY3Rpb25hcnkgfSBmcm9tICcuLi8uLi8uLi8uLi9jb21tb24vY29udHJhY3QvaS1kaWN0aW9uYXJ5JztcbmltcG9ydCB7IElJZE5hbWUgfSBmcm9tICcuLi8uLi8uLi8uLi9jb21tb24vY29udHJhY3QvaS1pZC1uYW1lJztcbmltcG9ydCB7IEFsaWduIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL2VudW0vYWxpZ24uZW51bSc7XG5pbXBvcnQgeyBib29sT3JGdW5jQ2FsbGJhY2sgfSBmcm9tICcuLi8uLi8uLi8uLi91dGlsL2Jvb2wtb3ItZnVuYyc7XG5pbXBvcnQgeyBGb3Jtc1V0aWwgfSBmcm9tICcuLi8uLi8uLi8uLi91dGlsL2Zvcm1zLXV0aWwnO1xuaW1wb3J0IHsgRmlsdGVyVHlwZSB9IGZyb20gJy4uLy4uLy4uL2ZpbHRlci9lbnVtL2ZpbHRlci10eXBlLmVudW0nO1xuaW1wb3J0IHsgVGFibGVDb2x1bW4gfSBmcm9tICcuLi8uLi8uLi90YWJsZS9jb250cmFjdC90YWJsZS1jb2x1bW4nO1xuaW1wb3J0IHsgUHJvcGVydHlHcmlkSXRlbURlc2NyaXB0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vcHJvcGVydHktZ3JpZC1pdGVtLWRlc2NyaXB0aW9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUZXh0RmllbGRDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9pbnB1dC90ZXh0LWZpZWxkL3RleHQtZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7IFRvZ2dsZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL3RvZ2dsZS90b2dnbGUvdG9nZ2xlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRlUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL3NlbGVjdC9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IElucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vaW5wdXQvaW5wdXQvaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IERpc2FibGVDb250cm9sRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGlyZWN0aXZlL2Rpc2FibGUtY29udHJvbC9kaXNhYmxlLWNvbnRyb2wuZGlyZWN0aXZlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0YS1wcm9wZXJ0eS1ncmlkLWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvcGVydHktZ3JpZC1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHJvcGVydHktZ3JpZC1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXG4gIHZpZXdQcm92aWRlcnM6IFtGb3Jtc1V0aWwuZm9ybVByb3ZpZGVyXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIElucHV0Q29tcG9uZW50LFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICBTZWxlY3RDb21wb25lbnQsXG4gICAgRGF0ZVBpY2tlckNvbXBvbmVudCxcbiAgICBUb2dnbGVDb21wb25lbnQsXG4gICAgVGV4dEZpZWxkQ29tcG9uZW50LFxuICAgIERpc2FibGVDb250cm9sRGlyZWN0aXZlLFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUHJvcGVydHlHcmlkSXRlbUNvbXBvbmVudDxUPiBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcbiAgcHJpdmF0ZSB0cmFuc2xvY28gPSBpbmplY3QoVHJhbnNsb2NvU2VydmljZSk7XG4gIHByaXZhdGUgX2Zvcm1Hcm91cCA9IGluamVjdChDb250cm9sQ29udGFpbmVyKTtcblxuICBjb2x1bW4gPSBpbnB1dDxUYWJsZUNvbHVtbj4oKTtcbiAgaGlkZU5vbkVkaXRhYmxlID0gaW5wdXQ8Ym9vbGVhbj4oKTtcbiAgZGljdCA9IGlucHV0PElEaWN0aW9uYXJ5PElJZE5hbWU8YW55PltdPj4oKTtcbiAgZGVjaW1hbFBhcnQgPSBpbnB1dDxudW1iZXI+KCk7XG4gIGl0ZW0gPSBpbnB1dDxUPigpO1xuICBpdGVtVGVtcGxhdGVzID0gaW5wdXQ8cmVhZG9ubHkgUHJvcGVydHlHcmlkSXRlbURlc2NyaXB0aW9uRGlyZWN0aXZlW10+KCk7XG4gIHRlbXBsYXRlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLml0ZW1UZW1wbGF0ZXMoKS5maW5kKChpdGVtKSA9PiBpdGVtLm5hbWUgPT09IHRoaXMuY29sdW1uKCkubmFtZSk7XG4gIH0pO1xuXG4gIGdldCBmb3JtR3JvdXAoKTogRm9ybUdyb3VwIHtcbiAgICBpZiAodGhpcy5fZm9ybUdyb3VwIGluc3RhbmNlb2YgRm9ybUdyb3VwKSB7XG4gICAgICByZXR1cm4gdGhpcy5fZm9ybUdyb3VwO1xuICAgIH1cbiAgICBpZiAodGhpcy5fZm9ybUdyb3VwIGluc3RhbmNlb2YgTmdGb3JtKSB7XG4gICAgICByZXR1cm4gdGhpcy5fZm9ybUdyb3VwLmZvcm07XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgZWRpdGFibGUgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIGJvb2xPckZ1bmNDYWxsYmFjayh0aGlzLmNvbHVtbigpLmVkaXRhYmxlKSh7XG4gICAgICBjb2x1bW46IHRoaXMuY29sdW1uKCksXG4gICAgICByb3c6IHRoaXMuZm9ybUdyb3VwPy5nZXRSYXdWYWx1ZSgpLFxuICAgIH0pO1xuICB9KTtcblxuICBob3Jpem9udGFsID0gaW5wdXQ8Ym9vbGVhbj4oKTtcbiAgY29udHJvbFZhbHVlQ2hhbmdlID0gb3V0cHV0PElJZE5hbWU8YW55Pj4oKTtcbiAgYWxpZ24gPSBBbGlnbjtcbiAgZmlsdGVyVHlwZUVudW0gPSBGaWx0ZXJUeXBlO1xuXG4gIHByaXZhdGUgX2Zvcm1TdWI6IFN1YnNjcmlwdGlvbjtcblxuICBjYXB0aW9uID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGlmICh0aGlzLmNvbHVtbigpLmZpbHRlclR5cGUgPT09IEZpbHRlclR5cGUuYm9vbGVhbikge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICByZXR1cm4gYCR7dGhpcy5jb2x1bW4oKS5jYXB0aW9ufSR7dGhpcy5jb2x1bW4oKS51bml0ID8gYCwgJHt0aGlzLmNvbHVtbigpLnVuaXR9YCA6ICcnfWA7XG4gIH0pO1xuXG4gIHByaXZhdGUgX2FsaXZlID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgZ2V0RGljdCgpIHtcbiAgICBjb25zdCBkaWN0ID0gdGhpcy5kaWN0KCkgPyB0aGlzLmRpY3QoKVt0aGlzLmNvbHVtbigpLm5hbWVdIDogW107XG4gICAgaWYgKHRoaXMuY29sdW1uKCkucGFyZW50TmFtZT8ubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIGRpY3Q/LmZpbHRlcihcbiAgICAgICAgKGRpY3RJdGVtOiBJSWROYW1lPGFueT4pID0+IGRpY3RJdGVtLnBhcmVudElkID09PSB0aGlzLmZvcm1Hcm91cD8uZ2V0UmF3VmFsdWUoKVt0aGlzLmNvbHVtbigpLnBhcmVudE5hbWVdXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gZGljdDtcbiAgfVxuXG4gIGNvbnRyb2xJc0ludmFsaWQoY29udHJvbE5hbWU6IHN0cmluZykge1xuICAgIHJldHVybiBGb3Jtc1V0aWwuY29udHJvbElzSW52YWxpZCh0aGlzLmZvcm1Hcm91cCwgY29udHJvbE5hbWUpO1xuICB9XG5cbiAgZ2V0RXJyb3IoY29sdW1uOiBUYWJsZUNvbHVtbikge1xuICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmZvcm1Hcm91cD8uZ2V0KGNvbHVtbi5uYW1lKTtcbiAgICBpZiAoY29udHJvbD8uaGFzRXJyb3IoJ3JlcXVpcmVkJykpIHtcbiAgICAgIHJldHVybiB0aGlzLnRyYW5zbG9jby50cmFuc2xhdGUoJ2Vycm9ycy5maWVsZF9pc19yZXF1aXJlZCcpO1xuICAgIH1cbiAgICBpZiAoY29udHJvbD8uaGFzRXJyb3IoJ21pbicpKSB7XG4gICAgICByZXR1cm4gdGhpcy50cmFuc2xvY28udHJhbnNsYXRlKCdlcnJvcnMubWluX3ZhbHVlJywge1xuICAgICAgICB2YWx1ZTogY29sdW1uLm1pblZhbHVlLFxuICAgICAgfSk7XG4gICAgfVxuICAgIGlmIChjb250cm9sPy5oYXNFcnJvcignbWF4JykpIHtcbiAgICAgIHJldHVybiB0aGlzLnRyYW5zbG9jby50cmFuc2xhdGUoJ2Vycm9ycy5tYXhfdmFsdWUnLCB7XG4gICAgICAgIHZhbHVlOiBjb2x1bW4ubWF4VmFsdWUsXG4gICAgICB9KTtcbiAgICB9XG4gICAgaWYgKGNvbnRyb2w/Lmhhc0Vycm9yKCdtYXhsZW5ndGgnKSkge1xuICAgICAgcmV0dXJuIHRoaXMudHJhbnNsb2NvLnRyYW5zbGF0ZSgnZXJyb3JzLm1heF9sZW5ndGgnLCB7XG4gICAgICAgIHZhbHVlOiBjb2x1bW4ubWF4TGVuZ3RoLFxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fYWxpdmUgPSBmYWxzZTtcbiAgICB0aGlzLl9mb3JtU3ViPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmICh0aGlzLmNvbHVtbigpICYmIHRoaXMuaXRlbSgpKSB7XG4gICAgICBpZiAoIXRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLmNvbHVtbigpLm5hbWUpKSB7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLnNldENvbnRyb2wodGhpcy5jb2x1bW4oKS5uYW1lLCBGb3Jtc1V0aWwuaW5pdENvbnRyb2xGcm9tQ29sdW1uKHRoaXMuY29sdW1uKCksIHRoaXMuaXRlbSgpKSk7XG4gICAgICB9XG4gICAgICB0aGlzLl9mb3JtU3ViPy51bnN1YnNjcmliZSgpO1xuICAgICAgdGhpcy5fZm9ybVN1YiA9IHRoaXMuZm9ybUdyb3VwPy5jb250cm9sc1t0aGlzLmNvbHVtbigpLm5hbWVdPy52YWx1ZUNoYW5nZXNcbiAgICAgICAgLnBpcGUodGFrZVdoaWxlKCgpID0+IHRoaXMuX2FsaXZlKSlcbiAgICAgICAgLnN1YnNjcmliZSgoXykgPT4ge1xuICAgICAgICAgIHRoaXMuY29udHJvbFZhbHVlQ2hhbmdlLmVtaXQoe1xuICAgICAgICAgICAgaWQ6IF8sXG4gICAgICAgICAgICBuYW1lOiB0aGlzLmNvbHVtbigpLm5hbWUsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIiwiQGlmIChlZGl0YWJsZSgpIHx8ICFoaWRlTm9uRWRpdGFibGUoKSkge1xuPHRldGEtaW5wdXRcbiAgW2xhYmVsXT1cImNhcHRpb24oKVwiXG4gIFtoaW50XT1cImNvbHVtbigpLmhpbnRcIlxuICBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiXG4gIFtob3Jpem9udGFsXT1cImhvcml6b250YWwoKVwiXG4gIFtyZXF1aXJlZF09XCJjb2x1bW4oKS5yZXF1aXJlZFwiXG4+XG4gIEBpZiAodGVtcGxhdGUoKSkge1xuICA8bmctY29udGFpbmVyXG4gICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0ZW1wbGF0ZSgpLnRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogZm9ybUdyb3VwPy5nZXQoY29sdW1uKCkubmFtZSkgfVwiXG4gID48L25nLWNvbnRhaW5lcj5cbiAgfSBAZWxzZSB7IEBpZiAoZm9ybUdyb3VwPy5nZXQoY29sdW1uKCkubmFtZSkpIHsgQHN3aXRjaCAoY29sdW1uKCkuZmlsdGVyVHlwZSkgeyBAY2FzZSAoZmlsdGVyVHlwZUVudW0ubGlzdCkge1xuICA8dGV0YS1zZWxlY3RcbiAgICBjbGFzcz1cInJvd19hdXRvXCJcbiAgICBbdGV0YURpc2FibGVDb250cm9sXT1cIiFlZGl0YWJsZSgpXCJcbiAgICBbc2VhcmNoUmVmXT1cImdldERpY3QoKT8ubGVuZ3RoID4gMTAgPyAnbmFtZScgOiAnJ1wiXG4gICAgW2FsbG93TnVsbF09XCIhY29sdW1uKCkucmVxdWlyZWRcIlxuICAgIFthcHBlbmRUb0JvZHldPVwidHJ1ZVwiXG4gICAgW2ludmFsaWRdPVwiY29udHJvbElzSW52YWxpZChjb2x1bW4oKS5uYW1lKVwiXG4gICAgW2Zvcm1Db250cm9sTmFtZV09XCJjb2x1bW4oKS5uYW1lXCJcbiAgICBbb3B0aW9uc109XCJnZXREaWN0KClcIlxuICAgIFt2YWx1ZVJlZl09XCInaWQnXCJcbiAgICBbdGV4dFJlZl09XCInbmFtZSdcIlxuICAgIFttdWx0aXBsZV09XCJmYWxzZVwiXG4gID48L3RldGEtc2VsZWN0PlxuICB9IEBjYXNlIChmaWx0ZXJUeXBlRW51bS5kYXRlKSB7XG4gIDx0ZXRhLWRhdGUtcGlja2VyXG4gICAgY2xhc3M9XCJyb3dfYXV0b1wiXG4gICAgW2FwcGVuZFRvQm9keV09XCJ0cnVlXCJcbiAgICBbdGV0YURpc2FibGVDb250cm9sXT1cIiFlZGl0YWJsZSgpXCJcbiAgICBbaW52YWxpZF09XCJjb250cm9sSXNJbnZhbGlkKGNvbHVtbigpLm5hbWUpXCJcbiAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImNvbHVtbigpLm5hbWVcIlxuICA+PC90ZXRhLWRhdGUtcGlja2VyPlxuICB9IEBjYXNlIChmaWx0ZXJUeXBlRW51bS5ib29sZWFuKSB7XG4gIDx0ZXRhLXRvZ2dsZSBbdGV0YURpc2FibGVDb250cm9sXT1cIiFlZGl0YWJsZSgpXCIgW2Zvcm1Db250cm9sTmFtZV09XCJjb2x1bW4oKS5uYW1lXCI+XG4gICAge3sgY29sdW1uKCkuY2FwdGlvbiB9fVxuICA8L3RldGEtdG9nZ2xlPlxuICB9IEBkZWZhdWx0IHtcbiAgPHRldGEtdGV4dC1maWVsZFxuICAgIGNsYXNzPVwicm93X2F1dG9cIlxuICAgIFt0ZXRhRGlzYWJsZUNvbnRyb2xdPVwiIWVkaXRhYmxlKClcIlxuICAgIFtkZWNpbWFsUGFydF09XCJjb2x1bW4oKS5maWx0ZXJUeXBlID09PSBmaWx0ZXJUeXBlRW51bS5udW1iZXIgPyBkZWNpbWFsUGFydCgpIDogbnVsbFwiXG4gICAgW29ubHlOdW1iZXJdPVwiY29sdW1uKCkuZmlsdGVyVHlwZSA9PT0gZmlsdGVyVHlwZUVudW0ubnVtYmVyXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwiY29sdW1uKCkuY2FwdGlvblwiXG4gICAgW2ludmFsaWRdPVwiY29udHJvbElzSW52YWxpZChjb2x1bW4oKS5uYW1lKVwiXG4gICAgW2Zvcm1Db250cm9sTmFtZV09XCJjb2x1bW4oKS5uYW1lXCJcbiAgPjwvdGV0YS10ZXh0LWZpZWxkPlxuICB9IH0gfSB9IEBpZiAoY29udHJvbElzSW52YWxpZChjb2x1bW4oKS5uYW1lKSkge1xuICA8ZGl2IG5nUHJvamVjdEFzPVwibWVzc2FnZVwiIGNsYXNzPVwiY29sb3ItcmVkLTUwXCI+XG4gICAge3sgZ2V0RXJyb3IoY29sdW1uKCkpIH19XG4gIDwvZGl2PlxuICB9XG48L3RldGEtaW5wdXQ+XG59XG4iXX0=
@@ -1,5 +1,5 @@
1
1
  import { ChangeDetectionStrategy, Component, contentChildren, effect, HostBinding, input, Optional, output, } from '@angular/core';
2
- import { ControlContainer, FormGroup, FormsModule, NgForm, ReactiveFormsModule, UntypedFormControl } from '@angular/forms';
2
+ import { ControlContainer, FormGroup, FormsModule, NgForm, ReactiveFormsModule, UntypedFormControl, } from '@angular/forms';
3
3
  import { boolOrFuncCallback } from '../../../util/bool-or-func';
4
4
  import { FormsUtil } from '../../../util/forms-util';
5
5
  import { PropertyGridItemDescriptionDirective } from './property-grid-item-description.directive';
@@ -70,15 +70,15 @@ export class PropertyGridComponent {
70
70
  return this.dict()[name]?.find((_) => _.id === value);
71
71
  }
72
72
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: PropertyGridComponent, deps: [{ token: i1.ControlContainer, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
73
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.1", type: PropertyGridComponent, isStandalone: true, selector: "teta-property-grid", inputs: { hideNonEditable: { classPropertyName: "hideNonEditable", publicName: "hideNonEditable", isSignal: true, isRequired: false, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, dict: { classPropertyName: "dict", publicName: "dict", isSignal: true, isRequired: false, transformFunction: null }, item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: false, transformFunction: null }, horizontal: { classPropertyName: "horizontal", publicName: "horizontal", isSignal: true, isRequired: false, transformFunction: null }, decimalPart: { classPropertyName: "decimalPart", publicName: "decimalPart", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { controlValueChange: "controlValueChange" }, host: { properties: { "class.form-container": "this.formClass" } }, queries: [{ propertyName: "itemTemplates", predicate: PropertyGridItemDescriptionDirective, isSignal: true }], ngImport: i0, template: "@if (columns().length) {\n @for (column of columns(); track column.name) {\n @if (column.columns?.length < 1 && (getEditable(column) || !hideNonEditable())) {\n <teta-property-grid-item\n [dict]=\"dict()\"\n [column]=\"column\"\n [item]=\"item()\"\n [id]=\"column.name\"\n [itemTemplates]=\"itemTemplates()\"\n [decimalPart]=\"decimalPart()\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal()\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable()\"\n ></teta-property-grid-item>\n }\n @if (column.columns?.length > 0 && (getEditable(column) || !hideNonEditable())) {\n <teta-property-grid-group\n [id]=\"column.name\"\n [dict]=\"dict()\"\n [column]=\"column\"\n [item]=\"item()\"\n [itemTemplates]=\"itemTemplates()\"\n [decimalPart]=\"decimalPart()\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal()\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable()\"\n ></teta-property-grid-group>\n }\n }\n}\n", styles: [":host{padding:12px 8px}\n"], dependencies: [{ kind: "component", type: PropertyGridItemComponent, selector: "teta-property-grid-item", inputs: ["column", "hideNonEditable", "dict", "decimalPart", "item", "itemTemplates", "horizontal"], outputs: ["controlValueChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: PropertyGridGroupComponent, selector: "teta-property-grid-group", inputs: ["column", "hideNonEditable", "dict", "item", "horizontal", "decimalPart", "itemTemplates"], outputs: ["controlValueChange"] }], viewProviders: [FormsUtil.formProvider], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
73
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.1", type: PropertyGridComponent, isStandalone: true, selector: "teta-property-grid", inputs: { hideNonEditable: { classPropertyName: "hideNonEditable", publicName: "hideNonEditable", isSignal: true, isRequired: false, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, dict: { classPropertyName: "dict", publicName: "dict", isSignal: true, isRequired: false, transformFunction: null }, item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: false, transformFunction: null }, horizontal: { classPropertyName: "horizontal", publicName: "horizontal", isSignal: true, isRequired: false, transformFunction: null }, decimalPart: { classPropertyName: "decimalPart", publicName: "decimalPart", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { controlValueChange: "controlValueChange" }, host: { properties: { "class.form-container": "this.formClass" } }, queries: [{ propertyName: "itemTemplates", predicate: PropertyGridItemDescriptionDirective, isSignal: true }], ngImport: i0, template: "@if (columns().length) { @for (column of columns(); track column.name) { @if (column.columns?.length < 1 &&\n(getEditable(column) || !hideNonEditable())) {\n<teta-property-grid-item\n [dict]=\"dict()\"\n [column]=\"column\"\n [item]=\"item()\"\n [id]=\"column.name\"\n [itemTemplates]=\"itemTemplates()\"\n [decimalPart]=\"decimalPart()\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal()\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable()\"\n></teta-property-grid-item>\n} @if (column.columns?.length > 0 && (getEditable(column) || !hideNonEditable())) {\n<teta-property-grid-group\n [id]=\"column.name\"\n [dict]=\"dict()\"\n [column]=\"column\"\n [item]=\"item()\"\n [itemTemplates]=\"itemTemplates()\"\n [decimalPart]=\"decimalPart()\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal()\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable()\"\n></teta-property-grid-group>\n} } }\n", styles: [":host{padding:12px 8px}\n"], dependencies: [{ kind: "component", type: PropertyGridItemComponent, selector: "teta-property-grid-item", inputs: ["column", "hideNonEditable", "dict", "decimalPart", "item", "itemTemplates", "horizontal"], outputs: ["controlValueChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: PropertyGridGroupComponent, selector: "teta-property-grid-group", inputs: ["column", "hideNonEditable", "dict", "item", "horizontal", "decimalPart", "itemTemplates"], outputs: ["controlValueChange"] }], viewProviders: [FormsUtil.formProvider], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
74
74
  }
75
75
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: PropertyGridComponent, decorators: [{
76
76
  type: Component,
77
- args: [{ selector: 'teta-property-grid', viewProviders: [FormsUtil.formProvider], standalone: true, imports: [PropertyGridItemComponent, FormsModule, ReactiveFormsModule, PropertyGridGroupComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (columns().length) {\n @for (column of columns(); track column.name) {\n @if (column.columns?.length < 1 && (getEditable(column) || !hideNonEditable())) {\n <teta-property-grid-item\n [dict]=\"dict()\"\n [column]=\"column\"\n [item]=\"item()\"\n [id]=\"column.name\"\n [itemTemplates]=\"itemTemplates()\"\n [decimalPart]=\"decimalPart()\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal()\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable()\"\n ></teta-property-grid-item>\n }\n @if (column.columns?.length > 0 && (getEditable(column) || !hideNonEditable())) {\n <teta-property-grid-group\n [id]=\"column.name\"\n [dict]=\"dict()\"\n [column]=\"column\"\n [item]=\"item()\"\n [itemTemplates]=\"itemTemplates()\"\n [decimalPart]=\"decimalPart()\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal()\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable()\"\n ></teta-property-grid-group>\n }\n }\n}\n", styles: [":host{padding:12px 8px}\n"] }]
77
+ args: [{ selector: 'teta-property-grid', viewProviders: [FormsUtil.formProvider], standalone: true, imports: [PropertyGridItemComponent, FormsModule, ReactiveFormsModule, PropertyGridGroupComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (columns().length) { @for (column of columns(); track column.name) { @if (column.columns?.length < 1 &&\n(getEditable(column) || !hideNonEditable())) {\n<teta-property-grid-item\n [dict]=\"dict()\"\n [column]=\"column\"\n [item]=\"item()\"\n [id]=\"column.name\"\n [itemTemplates]=\"itemTemplates()\"\n [decimalPart]=\"decimalPart()\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal()\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable()\"\n></teta-property-grid-item>\n} @if (column.columns?.length > 0 && (getEditable(column) || !hideNonEditable())) {\n<teta-property-grid-group\n [id]=\"column.name\"\n [dict]=\"dict()\"\n [column]=\"column\"\n [item]=\"item()\"\n [itemTemplates]=\"itemTemplates()\"\n [decimalPart]=\"decimalPart()\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal()\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable()\"\n></teta-property-grid-group>\n} } }\n", styles: [":host{padding:12px 8px}\n"] }]
78
78
  }], ctorParameters: () => [{ type: i1.ControlContainer, decorators: [{
79
79
  type: Optional
80
80
  }] }], propDecorators: { formClass: [{
81
81
  type: HostBinding,
82
82
  args: ['class.form-container']
83
83
  }] } });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3Byb3BlcnR5LWdyaWQvcHJvcGVydHktZ3JpZC9wcm9wZXJ0eS1ncmlkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvcHJvcGVydHktZ3JpZC9wcm9wZXJ0eS1ncmlkL3Byb3BlcnR5LWdyaWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsZUFBZSxFQUNmLE1BQU0sRUFDTixXQUFXLEVBQ1gsS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixTQUFTLEVBQ1QsV0FBVyxFQUNYLE1BQU0sRUFDTixtQkFBbUIsRUFDbkIsa0JBQWtCLEVBQ25CLE1BQU0sZ0JBQWdCLENBQUM7QUFJeEIsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBRW5ELE9BQU8sRUFBQyxvQ0FBb0MsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQ2hHLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLHFEQUFxRCxDQUFDO0FBQy9GLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLG1EQUFtRCxDQUFDOzs7QUFXNUYsTUFBTSxPQUFPLHFCQUFxQjtJQWFoQyxJQUFJLFNBQVM7UUFDWCxJQUFJLElBQUksQ0FBQyxVQUFVLFlBQVksU0FBUyxFQUFFLENBQUM7WUFDekMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ3pCLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxVQUFVLFlBQVksTUFBTSxFQUFFLENBQUM7WUFDdEMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztRQUM5QixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsWUFBZ0MsVUFBNEI7UUFBNUIsZUFBVSxHQUFWLFVBQVUsQ0FBa0I7UUF0QnZCLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEQsa0JBQWEsR0FBRyxlQUFlLENBQUMsb0NBQW9DLENBQUMsQ0FBQztRQUN0RSxvQkFBZSxHQUFHLEtBQUssRUFBVyxDQUFDO1FBQ25DLFlBQU8sR0FBRyxLQUFLLEVBQWlCLENBQUM7UUFDakMsU0FBSSxHQUFHLEtBQUssRUFBK0IsQ0FBQztRQUM1QyxTQUFJLEdBQUcsS0FBSyxFQUFLLENBQUM7UUFFbEIsZUFBVSxHQUFHLEtBQUssRUFBVyxDQUFDO1FBQzlCLGdCQUFXLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFFOUIsdUJBQWtCLEdBQUcsTUFBTSxFQUFnQixDQUFDO1FBYTFDLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDVixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ2xDLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7b0JBQzlCLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO3dCQUNwQyxJQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQzs0QkFDNUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQzt3QkFDM0UsQ0FBQzs2QkFBSyxDQUFDOzRCQUNMLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO3dCQUN6QyxDQUFDO29CQUNILENBQUM7Z0JBQ0gsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXLENBQUMsTUFBbUI7UUFDN0IsT0FBTyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDekMsTUFBTSxFQUFFLE1BQU07WUFDZCxHQUFHLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUU7U0FDbkMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELG9CQUFvQixDQUFDLEtBQW1CO1FBQ3RDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLEtBQUssS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNFLElBQUksUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3JCLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDeEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3RELElBQUksS0FBSyxFQUFFLENBQUM7b0JBQ1YsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUN0RCxJQUFJLFNBQVMsSUFBSSxTQUFTLENBQUMsUUFBUSxLQUFLLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQzt3QkFDakQsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO3dCQUNsQixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQzt3QkFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ3BDLENBQUM7Z0JBQ0gsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVPLFlBQVksQ0FBQyxLQUFVLEVBQUUsSUFBWTtRQUMzQyxPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssS0FBSyxDQUFDLENBQUM7SUFDeEQsQ0FBQzs4R0FsRVUscUJBQXFCO2tHQUFyQixxQkFBcUIsa2dDQUVBLG9DQUFvQyw2Q0N2Q3RFLDZwQ0FnQ0EsbUZERVkseUJBQXlCLHlNQUFFLFdBQVcsMExBQUUsbUJBQW1CLGdMQUFFLDBCQUEwQixnTUFGbEYsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDOzsyRkFLNUIscUJBQXFCO2tCQVRqQyxTQUFTOytCQUNFLG9CQUFvQixpQkFHZixDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsY0FDM0IsSUFBSSxXQUNQLENBQUMseUJBQXlCLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLDBCQUEwQixDQUFDLG1CQUNqRix1QkFBdUIsQ0FBQyxNQUFNOzswQkF5QmxDLFFBQVE7eUNBdEJnQixTQUFTO3NCQUE3QyxXQUFXO3VCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGNvbnRlbnRDaGlsZHJlbixcbiAgZWZmZWN0LFxuICBIb3N0QmluZGluZyxcbiAgaW5wdXQsXG4gIE9wdGlvbmFsLFxuICBvdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ29udHJvbENvbnRhaW5lcixcbiAgRm9ybUdyb3VwLFxuICBGb3Jtc01vZHVsZSxcbiAgTmdGb3JtLFxuICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICBVbnR5cGVkRm9ybUNvbnRyb2xcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQge0lEaWN0aW9uYXJ5fSBmcm9tICcuLi8uLi8uLi9jb21tb24vY29udHJhY3QvaS1kaWN0aW9uYXJ5JztcbmltcG9ydCB7SUlkTmFtZX0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2NvbnRyYWN0L2ktaWQtbmFtZSc7XG5pbXBvcnQge2Jvb2xPckZ1bmNDYWxsYmFja30gZnJvbSAnLi4vLi4vLi4vdXRpbC9ib29sLW9yLWZ1bmMnO1xuaW1wb3J0IHtGb3Jtc1V0aWx9IGZyb20gJy4uLy4uLy4uL3V0aWwvZm9ybXMtdXRpbCc7XG5pbXBvcnQge1RhYmxlQ29sdW1ufSBmcm9tICcuLi8uLi90YWJsZS9jb250cmFjdC90YWJsZS1jb2x1bW4nO1xuaW1wb3J0IHtQcm9wZXJ0eUdyaWRJdGVtRGVzY3JpcHRpb25EaXJlY3RpdmV9IGZyb20gJy4vcHJvcGVydHktZ3JpZC1pdGVtLWRlc2NyaXB0aW9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1Byb3BlcnR5R3JpZEdyb3VwQ29tcG9uZW50fSBmcm9tICcuL3Byb3BlcnR5LWdyaWQtZ3JvdXAvcHJvcGVydHktZ3JpZC1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHtQcm9wZXJ0eUdyaWRJdGVtQ29tcG9uZW50fSBmcm9tICcuL3Byb3BlcnR5LWdyaWQtaXRlbS9wcm9wZXJ0eS1ncmlkLWl0ZW0uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0YS1wcm9wZXJ0eS1ncmlkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb3BlcnR5LWdyaWQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wcm9wZXJ0eS1ncmlkLmNvbXBvbmVudC5zY3NzJ10sXG4gIHZpZXdQcm92aWRlcnM6IFtGb3Jtc1V0aWwuZm9ybVByb3ZpZGVyXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1Byb3BlcnR5R3JpZEl0ZW1Db21wb25lbnQsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBQcm9wZXJ0eUdyaWRHcm91cENvbXBvbmVudF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFByb3BlcnR5R3JpZENvbXBvbmVudDxUPiB7XG4gIEBIb3N0QmluZGluZygnY2xhc3MuZm9ybS1jb250YWluZXInKSBmb3JtQ2xhc3MgPSB0cnVlO1xuICBpdGVtVGVtcGxhdGVzID0gY29udGVudENoaWxkcmVuKFByb3BlcnR5R3JpZEl0ZW1EZXNjcmlwdGlvbkRpcmVjdGl2ZSk7XG4gIGhpZGVOb25FZGl0YWJsZSA9IGlucHV0PGJvb2xlYW4+KCk7XG4gIGNvbHVtbnMgPSBpbnB1dDxUYWJsZUNvbHVtbltdPigpO1xuICBkaWN0ID0gaW5wdXQ8SURpY3Rpb25hcnk8SUlkTmFtZTxhbnk+W10+PigpO1xuICBpdGVtID0gaW5wdXQ8VD4oKTtcblxuICBob3Jpem9udGFsID0gaW5wdXQ8Ym9vbGVhbj4oKTtcbiAgZGVjaW1hbFBhcnQgPSBpbnB1dDxudW1iZXI+KCk7XG5cbiAgY29udHJvbFZhbHVlQ2hhbmdlID0gb3V0cHV0PElJZE5hbWU8YW55Pj4oKTtcblxuICBnZXQgZm9ybUdyb3VwKCk6IEZvcm1Hcm91cCB7XG4gICAgaWYgKHRoaXMuX2Zvcm1Hcm91cCBpbnN0YW5jZW9mIEZvcm1Hcm91cCkge1xuICAgICAgcmV0dXJuIHRoaXMuX2Zvcm1Hcm91cDtcbiAgICB9XG4gICAgaWYgKHRoaXMuX2Zvcm1Hcm91cCBpbnN0YW5jZW9mIE5nRm9ybSkge1xuICAgICAgcmV0dXJuIHRoaXMuX2Zvcm1Hcm91cC5mb3JtO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIHByaXZhdGUgX2Zvcm1Hcm91cDogQ29udHJvbENvbnRhaW5lcikge1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5pdGVtKCkgJiYgdGhpcy5mb3JtR3JvdXApIHtcbiAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gdGhpcy5pdGVtKCkpIHtcbiAgICAgICAgICBpZiAodGhpcy5pdGVtKCkuaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICAgICAgaWYoIXRoaXMuZm9ybUdyb3VwLmdldChrZXkpKSB7XG4gICAgICAgICAgICAgIHRoaXMuZm9ybUdyb3VwLnNldENvbnRyb2woa2V5LCBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRoaXMuaXRlbSgpW2tleV0pKTtcbiAgICAgICAgICAgIH1lbHNlIHtcbiAgICAgICAgICAgICAgdGhpcy5mb3JtR3JvdXAucGF0Y2hWYWx1ZSh0aGlzLml0ZW0oKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBnZXRFZGl0YWJsZShjb2x1bW46IFRhYmxlQ29sdW1uKSB7XG4gICAgcmV0dXJuIGJvb2xPckZ1bmNDYWxsYmFjayhjb2x1bW4uZWRpdGFibGUpKHtcbiAgICAgIGNvbHVtbjogY29sdW1uLFxuICAgICAgcm93OiB0aGlzLmZvcm1Hcm91cD8uZ2V0UmF3VmFsdWUoKSxcbiAgICB9KTtcbiAgfVxuXG4gIG9uQ29udHJvbFZhbHVlQ2hhbmdlKGV2ZW50OiBJSWROYW1lPGFueT4pIHtcbiAgICBjb25zdCBhZmZlY3RlZCA9IHRoaXMuY29sdW1ucygpLmZpbHRlcigoXykgPT4gXy5wYXJlbnROYW1lID09PSBldmVudC5uYW1lKTtcbiAgICBpZiAoYWZmZWN0ZWQ/Lmxlbmd0aCkge1xuICAgICAgYWZmZWN0ZWQuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZm9ybUdyb3VwLmdldFJhd1ZhbHVlKClbaXRlbS5uYW1lXTtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgY29uc3QgZGljdFZhbHVlID0gdGhpcy5nZXREaWN0VmFsdWUodmFsdWUsIGl0ZW0ubmFtZSk7XG4gICAgICAgICAgaWYgKGRpY3RWYWx1ZSAmJiBkaWN0VmFsdWUucGFyZW50SWQgIT09IGV2ZW50LmlkKSB7XG4gICAgICAgICAgICBjb25zdCBuZXdPYmogPSB7fTtcbiAgICAgICAgICAgIG5ld09ialtpdGVtLm5hbWVdID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMuZm9ybUdyb3VwLnBhdGNoVmFsdWUobmV3T2JqKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLmNvbnRyb2xWYWx1ZUNoYW5nZS5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RGljdFZhbHVlKHZhbHVlOiBhbnksIG5hbWU6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmRpY3QoKVtuYW1lXT8uZmluZCgoXykgPT4gXy5pZCA9PT0gdmFsdWUpO1xuICB9XG59XG4iLCJAaWYgKGNvbHVtbnMoKS5sZW5ndGgpIHtcbiAgQGZvciAoY29sdW1uIG9mIGNvbHVtbnMoKTsgdHJhY2sgY29sdW1uLm5hbWUpIHtcbiAgICBAaWYgKGNvbHVtbi5jb2x1bW5zPy5sZW5ndGggPCAxICYmIChnZXRFZGl0YWJsZShjb2x1bW4pIHx8ICFoaWRlTm9uRWRpdGFibGUoKSkpIHtcbiAgICAgIDx0ZXRhLXByb3BlcnR5LWdyaWQtaXRlbVxuICAgICAgICBbZGljdF09XCJkaWN0KClcIlxuICAgICAgICBbY29sdW1uXT1cImNvbHVtblwiXG4gICAgICAgIFtpdGVtXT1cIml0ZW0oKVwiXG4gICAgICAgIFtpZF09XCJjb2x1bW4ubmFtZVwiXG4gICAgICAgIFtpdGVtVGVtcGxhdGVzXT1cIml0ZW1UZW1wbGF0ZXMoKVwiXG4gICAgICAgIFtkZWNpbWFsUGFydF09XCJkZWNpbWFsUGFydCgpXCJcbiAgICAgICAgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIlxuICAgICAgICBbaG9yaXpvbnRhbF09XCJob3Jpem9udGFsKClcIlxuICAgICAgICAoY29udHJvbFZhbHVlQ2hhbmdlKT1cIm9uQ29udHJvbFZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICBbaGlkZU5vbkVkaXRhYmxlXT1cImhpZGVOb25FZGl0YWJsZSgpXCJcbiAgICAgID48L3RldGEtcHJvcGVydHktZ3JpZC1pdGVtPlxuICAgIH1cbiAgICBAaWYgKGNvbHVtbi5jb2x1bW5zPy5sZW5ndGggPiAwICYmIChnZXRFZGl0YWJsZShjb2x1bW4pIHx8ICFoaWRlTm9uRWRpdGFibGUoKSkpIHtcbiAgICAgIDx0ZXRhLXByb3BlcnR5LWdyaWQtZ3JvdXBcbiAgICAgICAgW2lkXT1cImNvbHVtbi5uYW1lXCJcbiAgICAgICAgW2RpY3RdPVwiZGljdCgpXCJcbiAgICAgICAgW2NvbHVtbl09XCJjb2x1bW5cIlxuICAgICAgICBbaXRlbV09XCJpdGVtKClcIlxuICAgICAgICBbaXRlbVRlbXBsYXRlc109XCJpdGVtVGVtcGxhdGVzKClcIlxuICAgICAgICBbZGVjaW1hbFBhcnRdPVwiZGVjaW1hbFBhcnQoKVwiXG4gICAgICAgIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCJcbiAgICAgICAgW2hvcml6b250YWxdPVwiaG9yaXpvbnRhbCgpXCJcbiAgICAgICAgKGNvbnRyb2xWYWx1ZUNoYW5nZSk9XCJvbkNvbnRyb2xWYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgW2hpZGVOb25FZGl0YWJsZV09XCJoaWRlTm9uRWRpdGFibGUoKVwiXG4gICAgICA+PC90ZXRhLXByb3BlcnR5LWdyaWQtZ3JvdXA+XG4gICAgfVxuICB9XG59XG4iXX0=
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3Byb3BlcnR5LWdyaWQvcHJvcGVydHktZ3JpZC9wcm9wZXJ0eS1ncmlkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvcHJvcGVydHktZ3JpZC9wcm9wZXJ0eS1ncmlkL3Byb3BlcnR5LWdyaWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsZUFBZSxFQUNmLE1BQU0sRUFDTixXQUFXLEVBQ1gsS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixTQUFTLEVBQ1QsV0FBVyxFQUNYLE1BQU0sRUFDTixtQkFBbUIsRUFDbkIsa0JBQWtCLEdBQ25CLE1BQU0sZ0JBQWdCLENBQUM7QUFJeEIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXJELE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ2xHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDOzs7QUFXOUYsTUFBTSxPQUFPLHFCQUFxQjtJQWFoQyxJQUFJLFNBQVM7UUFDWCxJQUFJLElBQUksQ0FBQyxVQUFVLFlBQVksU0FBUyxFQUFFLENBQUM7WUFDekMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ3pCLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxVQUFVLFlBQVksTUFBTSxFQUFFLENBQUM7WUFDdEMsT0FBTyxJQUFJ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QUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVPLFlBQVksQ0FBQyxLQUFVLEVBQUUsSUFBWTtRQUMzQyxPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssS0FBSyxDQUFDLENBQUM7SUFDeEQsQ0FBQzs4R0FsRVUscUJBQXFCO2tHQUFyQixxQkFBcUIsa2dDQUVBLG9DQUFvQyw2Q0N2Q3RFLHEvQkE0QkEsbUZETVkseUJBQXlCLHlNQUFFLFdBQVcsMExBQUUsbUJBQW1CLGdMQUFFLDBCQUEwQixnTUFGbEYsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDOzsyRkFLNUIscUJBQXFCO2tCQVRqQyxTQUFTOytCQUNFLG9CQUFvQixpQkFHZixDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsY0FDM0IsSUFBSSxXQUNQLENBQUMseUJBQXlCLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLDBCQUEwQixDQUFDLG1CQUNqRix1QkFBdUIsQ0FBQyxNQUFNOzswQkF5QmxDLFFBQVE7eUNBdEJnQixTQUFTO3NCQUE3QyxXQUFXO3VCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGNvbnRlbnRDaGlsZHJlbixcbiAgZWZmZWN0LFxuICBIb3N0QmluZGluZyxcbiAgaW5wdXQsXG4gIE9wdGlvbmFsLFxuICBvdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ29udHJvbENvbnRhaW5lcixcbiAgRm9ybUdyb3VwLFxuICBGb3Jtc01vZHVsZSxcbiAgTmdGb3JtLFxuICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICBVbnR5cGVkRm9ybUNvbnRyb2wsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgSURpY3Rpb25hcnkgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vY29udHJhY3QvaS1kaWN0aW9uYXJ5JztcbmltcG9ydCB7IElJZE5hbWUgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vY29udHJhY3QvaS1pZC1uYW1lJztcbmltcG9ydCB7IGJvb2xPckZ1bmNDYWxsYmFjayB9IGZyb20gJy4uLy4uLy4uL3V0aWwvYm9vbC1vci1mdW5jJztcbmltcG9ydCB7IEZvcm1zVXRpbCB9IGZyb20gJy4uLy4uLy4uL3V0aWwvZm9ybXMtdXRpbCc7XG5pbXBvcnQgeyBUYWJsZUNvbHVtbiB9IGZyb20gJy4uLy4uL3RhYmxlL2NvbnRyYWN0L3RhYmxlLWNvbHVtbic7XG5pbXBvcnQgeyBQcm9wZXJ0eUdyaWRJdGVtRGVzY3JpcHRpb25EaXJlY3RpdmUgfSBmcm9tICcuL3Byb3BlcnR5LWdyaWQtaXRlbS1kZXNjcmlwdGlvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUHJvcGVydHlHcmlkR3JvdXBDb21wb25lbnQgfSBmcm9tICcuL3Byb3BlcnR5LWdyaWQtZ3JvdXAvcHJvcGVydHktZ3JpZC1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvcGVydHlHcmlkSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vcHJvcGVydHktZ3JpZC1pdGVtL3Byb3BlcnR5LWdyaWQtaXRlbS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXRhLXByb3BlcnR5LWdyaWQnLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvcGVydHktZ3JpZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Byb3BlcnR5LWdyaWQuY29tcG9uZW50LnNjc3MnXSxcbiAgdmlld1Byb3ZpZGVyczogW0Zvcm1zVXRpbC5mb3JtUHJvdmlkZXJdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbUHJvcGVydHlHcmlkSXRlbUNvbXBvbmVudCwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFByb3BlcnR5R3JpZEdyb3VwQ29tcG9uZW50XSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFByb3BlcnR5R3JpZENvbXBvbmVudDxUPiB7XG4gIEBIb3N0QmluZGluZygnY2xhc3MuZm9ybS1jb250YWluZXInKSBmb3JtQ2xhc3MgPSB0cnVlO1xuICBpdGVtVGVtcGxhdGVzID0gY29udGVudENoaWxkcmVuKFByb3BlcnR5R3JpZEl0ZW1EZXNjcmlwdGlvbkRpcmVjdGl2ZSk7XG4gIGhpZGVOb25FZGl0YWJsZSA9IGlucHV0PGJvb2xlYW4+KCk7XG4gIGNvbHVtbnMgPSBpbnB1dDxUYWJsZUNvbHVtbltdPigpO1xuICBkaWN0ID0gaW5wdXQ8SURpY3Rpb25hcnk8SUlkTmFtZTxhbnk+W10+PigpO1xuICBpdGVtID0gaW5wdXQ8VD4oKTtcblxuICBob3Jpem9udGFsID0gaW5wdXQ8Ym9vbGVhbj4oKTtcbiAgZGVjaW1hbFBhcnQgPSBpbnB1dDxudW1iZXI+KCk7XG5cbiAgY29udHJvbFZhbHVlQ2hhbmdlID0gb3V0cHV0PElJZE5hbWU8YW55Pj4oKTtcblxuICBnZXQgZm9ybUdyb3VwKCk6IEZvcm1Hcm91cCB7XG4gICAgaWYgKHRoaXMuX2Zvcm1Hcm91cCBpbnN0YW5jZW9mIEZvcm1Hcm91cCkge1xuICAgICAgcmV0dXJuIHRoaXMuX2Zvcm1Hcm91cDtcbiAgICB9XG4gICAgaWYgKHRoaXMuX2Zvcm1Hcm91cCBpbnN0YW5jZW9mIE5nRm9ybSkge1xuICAgICAgcmV0dXJuIHRoaXMuX2Zvcm1Hcm91cC5mb3JtO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIHByaXZhdGUgX2Zvcm1Hcm91cDogQ29udHJvbENvbnRhaW5lcikge1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5pdGVtKCkgJiYgdGhpcy5mb3JtR3JvdXApIHtcbiAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gdGhpcy5pdGVtKCkpIHtcbiAgICAgICAgICBpZiAodGhpcy5pdGVtKCkuaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmZvcm1Hcm91cC5nZXQoa2V5KSkge1xuICAgICAgICAgICAgICB0aGlzLmZvcm1Hcm91cC5zZXRDb250cm9sKGtleSwgbmV3IFVudHlwZWRGb3JtQ29udHJvbCh0aGlzLml0ZW0oKVtrZXldKSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB0aGlzLmZvcm1Hcm91cC5wYXRjaFZhbHVlKHRoaXMuaXRlbSgpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGdldEVkaXRhYmxlKGNvbHVtbjogVGFibGVDb2x1bW4pIHtcbiAgICByZXR1cm4gYm9vbE9yRnVuY0NhbGxiYWNrKGNvbHVtbi5lZGl0YWJsZSkoe1xuICAgICAgY29sdW1uOiBjb2x1bW4sXG4gICAgICByb3c6IHRoaXMuZm9ybUdyb3VwPy5nZXRSYXdWYWx1ZSgpLFxuICAgIH0pO1xuICB9XG5cbiAgb25Db250cm9sVmFsdWVDaGFuZ2UoZXZlbnQ6IElJZE5hbWU8YW55Pikge1xuICAgIGNvbnN0IGFmZmVjdGVkID0gdGhpcy5jb2x1bW5zKCkuZmlsdGVyKChfKSA9PiBfLnBhcmVudE5hbWUgPT09IGV2ZW50Lm5hbWUpO1xuICAgIGlmIChhZmZlY3RlZD8ubGVuZ3RoKSB7XG4gICAgICBhZmZlY3RlZC5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5mb3JtR3JvdXAuZ2V0UmF3VmFsdWUoKVtpdGVtLm5hbWVdO1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICBjb25zdCBkaWN0VmFsdWUgPSB0aGlzLmdldERpY3RWYWx1ZSh2YWx1ZSwgaXRlbS5uYW1lKTtcbiAgICAgICAgICBpZiAoZGljdFZhbHVlICYmIGRpY3RWYWx1ZS5wYXJlbnRJZCAhPT0gZXZlbnQuaWQpIHtcbiAgICAgICAgICAgIGNvbnN0IG5ld09iaiA9IHt9O1xuICAgICAgICAgICAgbmV3T2JqW2l0ZW0ubmFtZV0gPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5mb3JtR3JvdXAucGF0Y2hWYWx1ZShuZXdPYmopO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMuY29udHJvbFZhbHVlQ2hhbmdlLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXREaWN0VmFsdWUodmFsdWU6IGFueSwgbmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuZGljdCgpW25hbWVdPy5maW5kKChfKSA9PiBfLmlkID09PSB2YWx1ZSk7XG4gIH1cbn1cbiIsIkBpZiAoY29sdW1ucygpLmxlbmd0aCkgeyBAZm9yIChjb2x1bW4gb2YgY29sdW1ucygpOyB0cmFjayBjb2x1bW4ubmFtZSkgeyBAaWYgKGNvbHVtbi5jb2x1bW5zPy5sZW5ndGggPCAxICYmXG4oZ2V0RWRpdGFibGUoY29sdW1uKSB8fCAhaGlkZU5vbkVkaXRhYmxlKCkpKSB7XG48dGV0YS1wcm9wZXJ0eS1ncmlkLWl0ZW1cbiAgW2RpY3RdPVwiZGljdCgpXCJcbiAgW2NvbHVtbl09XCJjb2x1bW5cIlxuICBbaXRlbV09XCJpdGVtKClcIlxuICBbaWRdPVwiY29sdW1uLm5hbWVcIlxuICBbaXRlbVRlbXBsYXRlc109XCJpdGVtVGVtcGxhdGVzKClcIlxuICBbZGVjaW1hbFBhcnRdPVwiZGVjaW1hbFBhcnQoKVwiXG4gIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCJcbiAgW2hvcml6b250YWxdPVwiaG9yaXpvbnRhbCgpXCJcbiAgKGNvbnRyb2xWYWx1ZUNoYW5nZSk9XCJvbkNvbnRyb2xWYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgW2hpZGVOb25FZGl0YWJsZV09XCJoaWRlTm9uRWRpdGFibGUoKVwiXG4+PC90ZXRhLXByb3BlcnR5LWdyaWQtaXRlbT5cbn0gQGlmIChjb2x1bW4uY29sdW1ucz8ubGVuZ3RoID4gMCAmJiAoZ2V0RWRpdGFibGUoY29sdW1uKSB8fCAhaGlkZU5vbkVkaXRhYmxlKCkpKSB7XG48dGV0YS1wcm9wZXJ0eS1ncmlkLWdyb3VwXG4gIFtpZF09XCJjb2x1bW4ubmFtZVwiXG4gIFtkaWN0XT1cImRpY3QoKVwiXG4gIFtjb2x1bW5dPVwiY29sdW1uXCJcbiAgW2l0ZW1dPVwiaXRlbSgpXCJcbiAgW2l0ZW1UZW1wbGF0ZXNdPVwiaXRlbVRlbXBsYXRlcygpXCJcbiAgW2RlY2ltYWxQYXJ0XT1cImRlY2ltYWxQYXJ0KClcIlxuICBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiXG4gIFtob3Jpem9udGFsXT1cImhvcml6b250YWwoKVwiXG4gIChjb250cm9sVmFsdWVDaGFuZ2UpPVwib25Db250cm9sVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gIFtoaWRlTm9uRWRpdGFibGVdPVwiaGlkZU5vbkVkaXRhYmxlKClcIlxuPjwvdGV0YS1wcm9wZXJ0eS1ncmlkLWdyb3VwPlxufSB9IH1cbiJdfQ==