ngx-tethys 13.2.4 → 13.2.5

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.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,22 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ## [13.2.5](https://github.com/atinc/ngx-tethys/compare/13.2.4...13.2.5) (2022-08-24)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * **form:** fix label-required margin to 4px(#INFR-4338) ([#2107](https://github.com/atinc/ngx-tethys/issues/2107)) ([79d5bb5](https://github.com/atinc/ngx-tethys/commit/79d5bb59ae692d852b456eae7fdcc6d618e347ff)), closes [#INFR-4338](https://github.com/atinc/ngx-tethys/issues/INFR-4338)
11
+ * **property:** don't render item element when property item is null #INFR-4359 ([f8ad288](https://github.com/atinc/ngx-tethys/commit/f8ad288aa0a454b6b446e8ad14f78c795a0c05b7)), closes [#INFR-4359](https://github.com/atinc/ngx-tethys/issues/INFR-4359)
12
+ * **property:** optimize property editing #INFR-4361 #INFR-4363 ([#2109](https://github.com/atinc/ngx-tethys/issues/2109)) ([19153fd](https://github.com/atinc/ngx-tethys/commit/19153fd8e3f09b02bd77fec40165dccececa1872)), closes [#INFR-4361](https://github.com/atinc/ngx-tethys/issues/INFR-4361) [#INFR-4363](https://github.com/atinc/ngx-tethys/issues/INFR-4363)
13
+
14
+
15
+ ### Features
16
+
17
+ * **menu:** show group icon when thyCollapsed is true #INFR-4366 ([433dbb5](https://github.com/atinc/ngx-tethys/commit/433dbb510920516f53e994c33ce7e56cc55f6e53)), closes [#INFR-4366](https://github.com/atinc/ngx-tethys/issues/INFR-4366)
18
+
19
+
20
+
5
21
  ## [13.2.4](https://github.com/atinc/ngx-tethys/compare/13.2.3...13.2.4) (2022-08-23)
6
22
 
7
23
 
@@ -108,7 +108,7 @@ export class ThyMenuGroupComponent {
108
108
  }
109
109
  }
110
110
  ThyMenuGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: ThyMenuGroupComponent, deps: [{ token: i1.ThyPopover }, { token: i2.ThyMenuComponent }], target: i0.ɵɵFactoryTarget.Component });
111
- ThyMenuGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.6", type: ThyMenuGroupComponent, selector: "thy-menu-group, [thy-menu-group],[thyMenuGroup]", inputs: { thyTitle: "thyTitle", thyExpand: "thyExpand", thyCollapsed: "thyCollapsed", thyCollapsible: "thyCollapsible", thyShowIcon: "thyShowIcon", thyIcon: "thyIcon", thyActionIcon: "thyActionIcon", thyShowAction: "thyShowAction", thyActionStopPropagation: "thyActionStopPropagation", thyActionMenu: "thyActionMenu" }, outputs: { thyOnActionClick: "thyOnActionClick", thyCollapsedChange: "thyCollapsedChange" }, host: { properties: { "class.thy-menu-group": "this.isThyMenuGroup", "class.has-icon": "this.showIcon", "class.collapsed": "this.isCollapsed" } }, queries: [{ propertyName: "headerContentTemplateRef", first: true, predicate: ["headerContent"], descendants: true }], viewQueries: [{ propertyName: "_thyMenuGroup", first: true, predicate: ["thyMenuGroup"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"thy-menu-group-header\" [ngClass]=\"{ 'thy-menu-group-collapsible': thyCollapsible }\" (click)=\"collapseGroup()\">\n <div class=\"thy-menu-group-header-content\">\n <ng-template *ngIf=\"headerContentTemplateRef; else defaultTitle\" [ngTemplateOutlet]=\"headerContentTemplateRef\"></ng-template>\n <ng-template #defaultTitle>\n <span class=\"thy-menu-group-title\">\n <thy-icon *ngIf=\"showIcon\" class=\"thy-menu-group-folder\" [thyIconName]=\"iconClass\"></thy-icon>\n <ng-container>{{ thyTitle }}</ng-container>\n </span>\n </ng-template>\n </div>\n <thy-icon\n *ngIf=\"thyShowAction\"\n class=\"thy-menu-group-operation\"\n [thyIconName]=\"rightIconClass\"\n (click)=\"onActionClick($event)\"\n ></thy-icon>\n <thy-icon thyIconName=\"angle-up\" *ngIf=\"thyCollapsible\" class=\"thy-menu-group-arrow\"></thy-icon>\n</div>\n<div class=\"thy-menu-group-body\" #thyMenuGroup [@detailsContentAnimation]=\"isCollapsed\">\n <ng-content></ng-content>\n</div>\n", components: [{ type: i3.ThyIconComponent, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }], directives: [{ type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], animations: [
111
+ ThyMenuGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.6", type: ThyMenuGroupComponent, selector: "thy-menu-group, [thy-menu-group],[thyMenuGroup]", inputs: { thyTitle: "thyTitle", thyExpand: "thyExpand", thyCollapsed: "thyCollapsed", thyCollapsible: "thyCollapsible", thyShowIcon: "thyShowIcon", thyIcon: "thyIcon", thyActionIcon: "thyActionIcon", thyShowAction: "thyShowAction", thyActionStopPropagation: "thyActionStopPropagation", thyActionMenu: "thyActionMenu" }, outputs: { thyOnActionClick: "thyOnActionClick", thyCollapsedChange: "thyCollapsedChange" }, host: { properties: { "class.thy-menu-group": "this.isThyMenuGroup", "class.has-icon": "this.showIcon", "class.collapsed": "this.isCollapsed" } }, queries: [{ propertyName: "headerContentTemplateRef", first: true, predicate: ["headerContent"], descendants: true }], viewQueries: [{ propertyName: "_thyMenuGroup", first: true, predicate: ["thyMenuGroup"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"thy-menu-group-header\" [ngClass]=\"{ 'thy-menu-group-collapsible': thyCollapsible }\" (click)=\"collapseGroup()\">\n <div class=\"thy-menu-group-header-content\">\n <ng-template *ngIf=\"headerContentTemplateRef; else defaultTitle\" [ngTemplateOutlet]=\"headerContentTemplateRef\"></ng-template>\n <ng-template #defaultTitle>\n <span class=\"thy-menu-group-title\">\n <thy-icon *ngIf=\"showIcon\" class=\"thy-menu-group-title-icon mr-2\" [thyIconName]=\"iconClass\"></thy-icon>\n <span class=\"thy-menu-group-title-text\">{{ thyTitle }}</span>\n </span>\n </ng-template>\n </div>\n <thy-icon\n *ngIf=\"thyShowAction\"\n class=\"thy-menu-group-operation\"\n [thyIconName]=\"rightIconClass\"\n (click)=\"onActionClick($event)\"\n ></thy-icon>\n <thy-icon thyIconName=\"angle-up\" *ngIf=\"thyCollapsible\" class=\"thy-menu-group-arrow\"></thy-icon>\n</div>\n<div class=\"thy-menu-group-body\" #thyMenuGroup [@detailsContentAnimation]=\"isCollapsed\">\n <ng-content></ng-content>\n</div>\n", components: [{ type: i3.ThyIconComponent, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }], directives: [{ type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], animations: [
112
112
  trigger('detailsContentAnimation', [
113
113
  state('void', style({
114
114
  height: '*'
@@ -148,7 +148,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImpor
148
148
  })),
149
149
  transition('* => *', animate('0ms ease-out'))
150
150
  ])
151
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"thy-menu-group-header\" [ngClass]=\"{ 'thy-menu-group-collapsible': thyCollapsible }\" (click)=\"collapseGroup()\">\n <div class=\"thy-menu-group-header-content\">\n <ng-template *ngIf=\"headerContentTemplateRef; else defaultTitle\" [ngTemplateOutlet]=\"headerContentTemplateRef\"></ng-template>\n <ng-template #defaultTitle>\n <span class=\"thy-menu-group-title\">\n <thy-icon *ngIf=\"showIcon\" class=\"thy-menu-group-folder\" [thyIconName]=\"iconClass\"></thy-icon>\n <ng-container>{{ thyTitle }}</ng-container>\n </span>\n </ng-template>\n </div>\n <thy-icon\n *ngIf=\"thyShowAction\"\n class=\"thy-menu-group-operation\"\n [thyIconName]=\"rightIconClass\"\n (click)=\"onActionClick($event)\"\n ></thy-icon>\n <thy-icon thyIconName=\"angle-up\" *ngIf=\"thyCollapsible\" class=\"thy-menu-group-arrow\"></thy-icon>\n</div>\n<div class=\"thy-menu-group-body\" #thyMenuGroup [@detailsContentAnimation]=\"isCollapsed\">\n <ng-content></ng-content>\n</div>\n" }]
151
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"thy-menu-group-header\" [ngClass]=\"{ 'thy-menu-group-collapsible': thyCollapsible }\" (click)=\"collapseGroup()\">\n <div class=\"thy-menu-group-header-content\">\n <ng-template *ngIf=\"headerContentTemplateRef; else defaultTitle\" [ngTemplateOutlet]=\"headerContentTemplateRef\"></ng-template>\n <ng-template #defaultTitle>\n <span class=\"thy-menu-group-title\">\n <thy-icon *ngIf=\"showIcon\" class=\"thy-menu-group-title-icon mr-2\" [thyIconName]=\"iconClass\"></thy-icon>\n <span class=\"thy-menu-group-title-text\">{{ thyTitle }}</span>\n </span>\n </ng-template>\n </div>\n <thy-icon\n *ngIf=\"thyShowAction\"\n class=\"thy-menu-group-operation\"\n [thyIconName]=\"rightIconClass\"\n (click)=\"onActionClick($event)\"\n ></thy-icon>\n <thy-icon thyIconName=\"angle-up\" *ngIf=\"thyCollapsible\" class=\"thy-menu-group-arrow\"></thy-icon>\n</div>\n<div class=\"thy-menu-group-body\" #thyMenuGroup [@detailsContentAnimation]=\"isCollapsed\">\n <ng-content></ng-content>\n</div>\n" }]
152
152
  }], ctorParameters: function () { return [{ type: i1.ThyPopover }, { type: i2.ThyMenuComponent }]; }, propDecorators: { _thyMenuGroup: [{
153
153
  type: ViewChild,
154
154
  args: ['thyMenuGroup', { static: true }]
@@ -194,4 +194,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImpor
194
194
  }], thyActionMenu: [{
195
195
  type: Input
196
196
  }] } });
197
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1ncm91cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbWVudS9ncm91cC9tZW51LWdyb3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9tZW51L2dyb3VwL21lbnUtZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFakYsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFFTCxNQUFNLEVBQ04sV0FBVyxFQUNYLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7QUFFckQ7O0dBRUc7QUE4QkgsTUFBTSxPQUFPLHFCQUFxQjtJQW1HOUIsWUFBb0IsT0FBbUIsRUFBUyxNQUF3QjtRQUFwRCxZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQVMsV0FBTSxHQUFOLE1BQU0sQ0FBa0I7UUFoR2pFLG1CQUFjLEdBQUcsTUFBTSxDQUFDO1FBRXhCLGNBQVMsR0FBRyxhQUFhLENBQUM7UUFFMUIsMkJBQXNCLEdBQUcsQ0FBQyxDQUFDO1FBT0csbUJBQWMsR0FBRyxJQUFJLENBQUM7UUFFNUIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUVoQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUVwRDs7V0FFRztRQUNNLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFxQnZCOzs7V0FHRztRQUNzQixt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LCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IENvbXBvbmVudFR5cGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElucHV0Qm9vbGVhbiB9IGZyb20gJ25neC10ZXRoeXMvY29yZSc7XG5pbXBvcnQgeyBUaHlQb3BvdmVyIH0gZnJvbSAnbmd4LXRldGh5cy9wb3BvdmVyJztcbmltcG9ydCB7IFRoeU1lbnVDb21wb25lbnQgfSBmcm9tICcuLi9tZW51LmNvbXBvbmVudCc7XG5cbi8qKlxuICog6I+c5Y2V5YiG57uE57uE5Lu277yM5pSv5oyB6YCJ5oup5ZmoIHRoeS1tZW51LWdyb3VwLCBbdGh5LW1lbnUtZ3JvdXBdLFt0aHlNZW51R3JvdXBdXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LW1lbnUtZ3JvdXAsIFt0aHktbWVudS1ncm91cF0sW3RoeU1lbnVHcm91cF0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9tZW51LWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgICBhbmltYXRpb25zOiBbXG4gICAgICAgIHRyaWdnZXIoJ2RldGFpbHNDb250ZW50QW5pbWF0aW9uJywgW1xuICAgICAgICAgICAgc3RhdGUoXG4gICAgICAgICAgICAgICAgJ3ZvaWQnLFxuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAnKidcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHN0YXRlKFxuICAgICAgICAgICAgICAgICcxJyxcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMCxcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4nXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBzdGF0ZShcbiAgICAgICAgICAgICAgICAnMCcsXG4gICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICcqJ1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgdHJhbnNpdGlvbignKiA9PiAqJywgYW5pbWF0ZSgnMG1zIGVhc2Utb3V0JykpXG4gICAgICAgIF0pXG4gICAgXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBUaHlNZW51R3JvdXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIHB1YmxpYyBfYWN0aW9uTWVudTogQ29tcG9uZW50VHlwZTxhbnk+IHwgVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIHB1YmxpYyByaWdodEljb25DbGFzcyA9ICdtb3JlJztcblxuICAgIHB1YmxpYyBpY29uQ2xhc3MgPSAnZm9sZGVyLWJvbGQnO1xuXG4gICAgcHVibGljIGdyb3VwSGVhZGVyUGFkZGluZ0xlZnQgPSAwO1xuXG4gICAgQFZpZXdDaGlsZCgndGh5TWVudUdyb3VwJywgeyBzdGF0aWM6IHRydWUgfSkgX3RoeU1lbnVHcm91cDogRWxlbWVudFJlZjtcblxuICAgIEBDb250ZW50Q2hpbGQoJ2hlYWRlckNvbnRlbnQnKVxuICAgIGhlYWRlckNvbnRlbnRUZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MudGh5LW1lbnUtZ3JvdXAnKSBpc1RoeU1lbnVHcm91cCA9IHRydWU7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmhhcy1pY29uJykgc2hvd0ljb24gPSBmYWxzZTtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuY29sbGFwc2VkJykgaXNDb2xsYXBzZWQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIOWIhue7hOagh+mimFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeVRpdGxlID0gJyc7XG5cbiAgICAvKipcbiAgICAgKiDlt7Llup/lvIPvvIzor7fkvb/nlKggdGh5Q29sbGFwc2VkXG4gICAgICogQGRlcHJlY2F0ZWRcbiAgICAgKi9cbiAgICBASW5wdXQoJ3RoeUV4cGFuZCcpXG4gICAgc2V0IHRoeUV4cGFuZCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmlzQ29sbGFwc2VkID0gISEhdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5piv5ZCm5aSE5LqO5pS26LW354q25oCBXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoJ3RoeUNvbGxhcHNlZCcpXG4gICAgQElucHV0Qm9vbGVhbigpXG4gICAgc2V0IHRoeUNvbGxhcHNlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmlzQ29sbGFwc2VkID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5piv5ZCm5pSv5oyB5bGV5byA5pS26LW3XG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoKSBASW5wdXRCb29sZWFuKCkgdGh5Q29sbGFwc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuaYvuekuiBJY29uXG4gICAgICovXG4gICAgQElucHV0KCd0aHlTaG93SWNvbicpXG4gICAgc2V0IHRoeVNob3dJY29uKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuc2hvd0ljb24gPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDlm77moIdcbiAgICAgKi9cbiAgICBASW5wdXQoJ3RoeUljb24nKVxuICAgIHNldCB0aHlJY29uKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5pY29uQ2xhc3MgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmk43kvZzlm77moIdcbiAgICAgKi9cbiAgICBASW5wdXQoJ3RoeUFjdGlvbkljb24nKVxuICAgIHNldCB0aHlBY3Rpb25JY29uKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5yaWdodEljb25DbGFzcyA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAq5piv5ZCm5pi+56S65pON5L2cXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5U2hvd0FjdGlvbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICog5pON5L2c6Zi75q2i5YaS5rOh5LqL5Lu2XG4gICAgICovXG4gICAgQElucHV0KCkgdGh5QWN0aW9uU3RvcFByb3BhZ2F0aW9uID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIEFjdGlvbiDngrnlh7vkuovku7ZcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgdGh5T25BY3Rpb25DbGljazogRXZlbnRFbWl0dGVyPEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG5cbiAgICBAT3V0cHV0KCkgdGh5Q29sbGFwc2VkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICAvKipcbiAgICAgKiDorr7nva4gQWN0aW9uIOiPnOWNlVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeUFjdGlvbk1lbnUodmFsdWU6IENvbXBvbmVudFR5cGU8YW55PiB8IFRlbXBsYXRlUmVmPGFueT4pIHtcbiAgICAgICAgdGhpcy5fYWN0aW9uTWVudSA9IHZhbHVlO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcG9wb3ZlcjogVGh5UG9wb3ZlciwgcHVibGljIHBhcmVudDogVGh5TWVudUNvbXBvbmVudCkge31cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge31cblxuICAgIGNvbGxhcHNlR3JvdXAoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy50aHlDb2xsYXBzaWJsZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaXNDb2xsYXBzZWQgPSAhdGhpcy5pc0NvbGxhcHNlZDtcbiAgICAgICAgdGhpcy50aHlDb2xsYXBzZWRDaGFuZ2UuZW1pdCh0aGlzLmlzQ29sbGFwc2VkKTtcbiAgICB9XG5cbiAgICBvbkFjdGlvbkNsaWNrKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy50aHlBY3Rpb25TdG9wUHJvcGFnYXRpb24pIHtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLl9hY3Rpb25NZW51KSB7XG4gICAgICAgICAgICB0aGlzLnBvcG92ZXIub3Blbih0aGlzLl9hY3Rpb25NZW51LCB7XG4gICAgICAgICAgICAgICAgb3JpZ2luOiBldmVudC5jdXJyZW50VGFyZ2V0IGFzIEhUTUxFbGVtZW50LFxuICAgICAgICAgICAgICAgIGluc2lkZUNsb3NhYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgIHBsYWNlbWVudDogJ2JvdHRvbSdcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy50aHlPbkFjdGlvbkNsaWNrLmVtaXQoZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInRoeS1tZW51LWdyb3VwLWhlYWRlclwiIFtuZ0NsYXNzXT1cInsgJ3RoeS1tZW51LWdyb3VwLWNvbGxhcHNpYmxlJzogdGh5Q29sbGFwc2libGUgfVwiIChjbGljayk9XCJjb2xsYXBzZUdyb3VwKClcIj5cbiAgPGRpdiBjbGFzcz1cInRoeS1tZW51LWdyb3VwLWhlYWRlci1jb250ZW50XCI+XG4gICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwiaGVhZGVyQ29udGVudFRlbXBsYXRlUmVmOyBlbHNlIGRlZmF1bHRUaXRsZVwiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImhlYWRlckNvbnRlbnRUZW1wbGF0ZVJlZlwiPjwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0VGl0bGU+XG4gICAgICA8c3BhbiBjbGFzcz1cInRoeS1tZW51LWdyb3VwLXRpdGxlXCI+XG4gICAgICAgIDx0aHktaWNvbiAqbmdJZj1cInNob3dJY29uXCIgY2xhc3M9XCJ0aHktbWVudS1ncm91cC1mb2xkZXJcIiBbdGh5SWNvbk5hbWVdPVwiaWNvbkNsYXNzXCI+PC90aHktaWNvbj5cbiAgICAgICAgPG5nLWNvbnRhaW5lcj57eyB0aHlUaXRsZSB9fTwvbmctY29udGFpbmVyPlxuICAgICAgPC9zcGFuPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZGl2PlxuICA8dGh5LWljb25cbiAgICAqbmdJZj1cInRoeVNob3dBY3Rpb25cIlxuICAgIGNsYXNzPVwidGh5LW1lbnUtZ3JvdXAtb3BlcmF0aW9uXCJcbiAgICBbdGh5SWNvbk5hbWVdPVwicmlnaHRJY29uQ2xhc3NcIlxuICAgIChjbGljayk9XCJvbkFjdGlvbkNsaWNrKCRldmVudClcIlxuICA+PC90aHktaWNvbj5cbiAgPHRoeS1pY29uIHRoeUljb25OYW1lPVwiYW5nbGUtdXBcIiAqbmdJZj1cInRoeUNvbGxhcHNpYmxlXCIgY2xhc3M9XCJ0aHktbWVudS1ncm91cC1hcnJvd1wiPjwvdGh5LWljb24+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJ0aHktbWVudS1ncm91cC1ib2R5XCIgI3RoeU1lbnVHcm91cCBbQGRldGFpbHNDb250ZW50QW5pbWF0aW9uXT1cImlzQ29sbGFwc2VkXCI+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
197
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1ncm91cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbWVudS9ncm91cC9tZW51LWdyb3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9tZW51L2dyb3VwL21lbnUtZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFakYsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFFTCxNQUFNLEVBQ04sV0FBVyxFQUNYLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7QUFFckQ7O0dBRUc7QUE4QkgsTUFBTSxPQUFPLHFCQUFxQjtJQW1HOUIsWUFBb0IsT0FBbUIsRUFBUyxNQUF3QjtRQUFwRCxZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQVMsV0FBTSxHQUFOLE1BQU0sQ0FBa0I7UUFoR2pFLG1CQUFjLEdBQUcsTUFBTSxDQUFDO1FBRXhCLGNBQVMsR0FBRyxhQUFhLENBQUM7UUFFMUIsMkJBQXNCLEdBQUcsQ0FBQyxDQUFDO1FBT0csbUJBQWMsR0FBRyxJQUFJLENBQUM7UUFFNUIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUVoQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUVwRDs7V0FFRztRQUNNLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFxQnZCOzs7V0FHRztRQUNzQixt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LCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IENvbXBvbmVudFR5cGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElucHV0Qm9vbGVhbiB9IGZyb20gJ25neC10ZXRoeXMvY29yZSc7XG5pbXBvcnQgeyBUaHlQb3BvdmVyIH0gZnJvbSAnbmd4LXRldGh5cy9wb3BvdmVyJztcbmltcG9ydCB7IFRoeU1lbnVDb21wb25lbnQgfSBmcm9tICcuLi9tZW51LmNvbXBvbmVudCc7XG5cbi8qKlxuICog6I+c5Y2V5YiG57uE57uE5Lu277yM5pSv5oyB6YCJ5oup5ZmoIHRoeS1tZW51LWdyb3VwLCBbdGh5LW1lbnUtZ3JvdXBdLFt0aHlNZW51R3JvdXBdXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LW1lbnUtZ3JvdXAsIFt0aHktbWVudS1ncm91cF0sW3RoeU1lbnVHcm91cF0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9tZW51LWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgICBhbmltYXRpb25zOiBbXG4gICAgICAgIHRyaWdnZXIoJ2RldGFpbHNDb250ZW50QW5pbWF0aW9uJywgW1xuICAgICAgICAgICAgc3RhdGUoXG4gICAgICAgICAgICAgICAgJ3ZvaWQnLFxuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAnKidcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHN0YXRlKFxuICAgICAgICAgICAgICAgICcxJyxcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMCxcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4nXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBzdGF0ZShcbiAgICAgICAgICAgICAgICAnMCcsXG4gICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICcqJ1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgdHJhbnNpdGlvbignKiA9PiAqJywgYW5pbWF0ZSgnMG1zIGVhc2Utb3V0JykpXG4gICAgICAgIF0pXG4gICAgXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBUaHlNZW51R3JvdXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIHB1YmxpYyBfYWN0aW9uTWVudTogQ29tcG9uZW50VHlwZTxhbnk+IHwgVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIHB1YmxpYyByaWdodEljb25DbGFzcyA9ICdtb3JlJztcblxuICAgIHB1YmxpYyBpY29uQ2xhc3MgPSAnZm9sZGVyLWJvbGQnO1xuXG4gICAgcHVibGljIGdyb3VwSGVhZGVyUGFkZGluZ0xlZnQgPSAwO1xuXG4gICAgQFZpZXdDaGlsZCgndGh5TWVudUdyb3VwJywgeyBzdGF0aWM6IHRydWUgfSkgX3RoeU1lbnVHcm91cDogRWxlbWVudFJlZjtcblxuICAgIEBDb250ZW50Q2hpbGQoJ2hlYWRlckNvbnRlbnQnKVxuICAgIGhlYWRlckNvbnRlbnRUZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MudGh5LW1lbnUtZ3JvdXAnKSBpc1RoeU1lbnVHcm91cCA9IHRydWU7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmhhcy1pY29uJykgc2hvd0ljb24gPSBmYWxzZTtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuY29sbGFwc2VkJykgaXNDb2xsYXBzZWQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIOWIhue7hOagh+mimFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeVRpdGxlID0gJyc7XG5cbiAgICAvKipcbiAgICAgKiDlt7Llup/lvIPvvIzor7fkvb/nlKggdGh5Q29sbGFwc2VkXG4gICAgICogQGRlcHJlY2F0ZWRcbiAgICAgKi9cbiAgICBASW5wdXQoJ3RoeUV4cGFuZCcpXG4gICAgc2V0IHRoeUV4cGFuZCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmlzQ29sbGFwc2VkID0gISEhdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5piv5ZCm5aSE5LqO5pS26LW354q25oCBXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoJ3RoeUNvbGxhcHNlZCcpXG4gICAgQElucHV0Qm9vbGVhbigpXG4gICAgc2V0IHRoeUNvbGxhcHNlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmlzQ29sbGFwc2VkID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5piv5ZCm5pSv5oyB5bGV5byA5pS26LW3XG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoKSBASW5wdXRCb29sZWFuKCkgdGh5Q29sbGFwc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuaYvuekuiBJY29uXG4gICAgICovXG4gICAgQElucHV0KCd0aHlTaG93SWNvbicpXG4gICAgc2V0IHRoeVNob3dJY29uKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuc2hvd0ljb24gPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDlm77moIdcbiAgICAgKi9cbiAgICBASW5wdXQoJ3RoeUljb24nKVxuICAgIHNldCB0aHlJY29uKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5pY29uQ2xhc3MgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmk43kvZzlm77moIdcbiAgICAgKi9cbiAgICBASW5wdXQoJ3RoeUFjdGlvbkljb24nKVxuICAgIHNldCB0aHlBY3Rpb25JY29uKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5yaWdodEljb25DbGFzcyA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAq5piv5ZCm5pi+56S65pON5L2cXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5U2hvd0FjdGlvbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICog5pON5L2c6Zi75q2i5YaS5rOh5LqL5Lu2XG4gICAgICovXG4gICAgQElucHV0KCkgdGh5QWN0aW9uU3RvcFByb3BhZ2F0aW9uID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIEFjdGlvbiDngrnlh7vkuovku7ZcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgdGh5T25BY3Rpb25DbGljazogRXZlbnRFbWl0dGVyPEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG5cbiAgICBAT3V0cHV0KCkgdGh5Q29sbGFwc2VkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICAvKipcbiAgICAgKiDorr7nva4gQWN0aW9uIOiPnOWNlVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeUFjdGlvbk1lbnUodmFsdWU6IENvbXBvbmVudFR5cGU8YW55PiB8IFRlbXBsYXRlUmVmPGFueT4pIHtcbiAgICAgICAgdGhpcy5fYWN0aW9uTWVudSA9IHZhbHVlO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcG9wb3ZlcjogVGh5UG9wb3ZlciwgcHVibGljIHBhcmVudDogVGh5TWVudUNvbXBvbmVudCkge31cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge31cblxuICAgIGNvbGxhcHNlR3JvdXAoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy50aHlDb2xsYXBzaWJsZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaXNDb2xsYXBzZWQgPSAhdGhpcy5pc0NvbGxhcHNlZDtcbiAgICAgICAgdGhpcy50aHlDb2xsYXBzZWRDaGFuZ2UuZW1pdCh0aGlzLmlzQ29sbGFwc2VkKTtcbiAgICB9XG5cbiAgICBvbkFjdGlvbkNsaWNrKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy50aHlBY3Rpb25TdG9wUHJvcGFnYXRpb24pIHtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLl9hY3Rpb25NZW51KSB7XG4gICAgICAgICAgICB0aGlzLnBvcG92ZXIub3Blbih0aGlzLl9hY3Rpb25NZW51LCB7XG4gICAgICAgICAgICAgICAgb3JpZ2luOiBldmVudC5jdXJyZW50VGFyZ2V0IGFzIEhUTUxFbGVtZW50LFxuICAgICAgICAgICAgICAgIGluc2lkZUNsb3NhYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgIHBsYWNlbWVudDogJ2JvdHRvbSdcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy50aHlPbkFjdGlvbkNsaWNrLmVtaXQoZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInRoeS1tZW51LWdyb3VwLWhlYWRlclwiIFtuZ0NsYXNzXT1cInsgJ3RoeS1tZW51LWdyb3VwLWNvbGxhcHNpYmxlJzogdGh5Q29sbGFwc2libGUgfVwiIChjbGljayk9XCJjb2xsYXBzZUdyb3VwKClcIj5cbiAgPGRpdiBjbGFzcz1cInRoeS1tZW51LWdyb3VwLWhlYWRlci1jb250ZW50XCI+XG4gICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwiaGVhZGVyQ29udGVudFRlbXBsYXRlUmVmOyBlbHNlIGRlZmF1bHRUaXRsZVwiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImhlYWRlckNvbnRlbnRUZW1wbGF0ZVJlZlwiPjwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0VGl0bGU+XG4gICAgICA8c3BhbiBjbGFzcz1cInRoeS1tZW51LWdyb3VwLXRpdGxlXCI+XG4gICAgICAgIDx0aHktaWNvbiAqbmdJZj1cInNob3dJY29uXCIgY2xhc3M9XCJ0aHktbWVudS1ncm91cC10aXRsZS1pY29uIG1yLTJcIiBbdGh5SWNvbk5hbWVdPVwiaWNvbkNsYXNzXCI+PC90aHktaWNvbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aHktbWVudS1ncm91cC10aXRsZS10ZXh0XCI+e3sgdGh5VGl0bGUgfX08L3NwYW4+XG4gICAgICA8L3NwYW4+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9kaXY+XG4gIDx0aHktaWNvblxuICAgICpuZ0lmPVwidGh5U2hvd0FjdGlvblwiXG4gICAgY2xhc3M9XCJ0aHktbWVudS1ncm91cC1vcGVyYXRpb25cIlxuICAgIFt0aHlJY29uTmFtZV09XCJyaWdodEljb25DbGFzc1wiXG4gICAgKGNsaWNrKT1cIm9uQWN0aW9uQ2xpY2soJGV2ZW50KVwiXG4gID48L3RoeS1pY29uPlxuICA8dGh5LWljb24gdGh5SWNvbk5hbWU9XCJhbmdsZS11cFwiICpuZ0lmPVwidGh5Q29sbGFwc2libGVcIiBjbGFzcz1cInRoeS1tZW51LWdyb3VwLWFycm93XCI+PC90aHktaWNvbj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cInRoeS1tZW51LWdyb3VwLWJvZHlcIiAjdGh5TWVudUdyb3VwIFtAZGV0YWlsc0NvbnRlbnRBbmltYXRpb25dPVwiaXNDb2xsYXBzZWRcIj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=
@@ -11,8 +11,7 @@ import * as i1 from "@angular/common";
11
11
  * @name thy-properties
12
12
  */
13
13
  export class ThyPropertiesComponent {
14
- constructor(elementRef, ngZone, cdr) {
15
- this.elementRef = elementRef;
14
+ constructor(ngZone, cdr) {
16
15
  this.ngZone = ngZone;
17
16
  this.cdr = cdr;
18
17
  /**
@@ -90,27 +89,7 @@ export class ThyPropertiesComponent {
90
89
  bindTriggerEvent() {
91
90
  this.ngZone.runOutsideAngular(() => {
92
91
  const eventDestroy$ = merge(this.itemElements.changes, this.editTrigger$, this.destroy$);
93
- if (this.thyEditTrigger === 'hover') {
94
- this.mergeEditorsEvent('mouseenter')
95
- .pipe(takeUntil(eventDestroy$))
96
- .subscribe(event => {
97
- this.ngZone.run(() => {
98
- event.itemComponent.setEditing(true);
99
- this.cdr.markForCheck();
100
- });
101
- });
102
- this.mergeEditorsEvent('mouseleave')
103
- .pipe(takeUntil(eventDestroy$))
104
- .subscribe(event => {
105
- if (!event.itemComponent.keepEditing) {
106
- this.ngZone.run(() => {
107
- event.itemComponent.setEditing(false);
108
- this.cdr.markForCheck();
109
- });
110
- }
111
- });
112
- }
113
- else {
92
+ if (this.thyEditTrigger === 'click') {
114
93
  this.mergeEditorsEvent('click')
115
94
  .pipe(takeUntil(eventDestroy$))
116
95
  .subscribe(event => {
@@ -123,8 +102,8 @@ export class ThyPropertiesComponent {
123
102
  });
124
103
  }
125
104
  }
126
- ThyPropertiesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: ThyPropertiesComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
127
- ThyPropertiesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.6", type: ThyPropertiesComponent, selector: "thy-properties", inputs: { thyLayout: "thyLayout", thyColumn: "thyColumn", thyEditTrigger: "thyEditTrigger" }, host: { properties: { "class.thy-properties-vertical": "thyLayout === \"vertical\"", "class.thy-properties-horizontal": "thyLayout === \"horizontal\"" }, classAttribute: "thy-properties" }, queries: [{ propertyName: "items", predicate: ThyPropertyItemComponent }], viewQueries: [{ propertyName: "itemElements", predicate: ["item"], descendants: true, read: ElementRef }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"thyLayout === 'horizontal'\">\n <table>\n <tbody>\n <tr *ngFor=\"let row of rows; let i = index\">\n <ng-container *ngFor=\"let item of rows[i]\">\n <td>\n <div class=\"thy-properties-item-container\">\n <ng-template [ngTemplateOutlet]=\"itemLabel\" [ngTemplateOutletContext]=\"{ item: item }\"> </ng-template>\n <ng-template [ngTemplateOutlet]=\"itemContent\" [ngTemplateOutletContext]=\"{ item: item }\"></ng-template>\n </div>\n </td>\n </ng-container>\n </tr>\n </tbody>\n </table>\n</ng-container>\n\n<ng-container *ngIf=\"thyLayout === 'vertical'\">\n <table>\n <tbody>\n <ng-container *ngFor=\"let row of rows; let i = index\">\n <tr>\n <ng-container *ngFor=\"let item of rows[i]\">\n <td>\n <ng-template [ngTemplateOutlet]=\"itemLabel\" [ngTemplateOutletContext]=\"{ item: item }\"> </ng-template>\n </td>\n </ng-container>\n </tr>\n <tr>\n <ng-container *ngFor=\"let item of rows[i]\">\n <td>\n <ng-template [ngTemplateOutlet]=\"itemContent\" [ngTemplateOutletContext]=\"{ item: item }\"> </ng-template>\n </td>\n </ng-container>\n </tr>\n </ng-container>\n </tbody>\n </table>\n</ng-container>\n\n<ng-template #itemLabel let-item=\"item\">\n <span class=\"thy-properties-item-label\">\n <ng-container *ngIf=\"item?.thyLabelText\">\n {{ item.thyLabelText }}\n </ng-container>\n <ng-container *ngIf=\"item?.label\">\n <ng-template [ngTemplateOutlet]=\"item.label\"></ng-template>\n </ng-container>\n </span>\n</ng-template>\n\n<ng-template #itemContent let-item=\"item\">\n <div\n #item\n class=\"thy-properties-item-content\"\n [class.thy-properties-item-content-editable]=\"item?.thyEditable\"\n [class.thy-properties-item-content-editing]=\"item?.editing\"\n >\n <div class=\"thy-properties-item-content-text\">\n <ng-template *ngIf=\"item?.content\" [ngTemplateOutlet]=\"item.content\"></ng-template>\n </div>\n <div class=\"thy-properties-item-content-editor\" *ngIf=\"item?.thyEditable\">\n <ng-template *ngIf=\"item?.editor\" [ngTemplateOutlet]=\"item.editor\"></ng-template>\n </div>\n </div>\n</ng-template>\n", directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
105
+ ThyPropertiesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: ThyPropertiesComponent, deps: [{ token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
106
+ ThyPropertiesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.6", type: ThyPropertiesComponent, selector: "thy-properties", inputs: { thyLayout: "thyLayout", thyColumn: "thyColumn", thyEditTrigger: "thyEditTrigger" }, host: { properties: { "class.thy-properties-vertical": "thyLayout === \"vertical\"", "class.thy-properties-horizontal": "thyLayout === \"horizontal\"", "class.thy-properties-edit-trigger-hover": "thyEditTrigger === \"hover\"" }, classAttribute: "thy-properties" }, queries: [{ propertyName: "items", predicate: ThyPropertyItemComponent }], viewQueries: [{ propertyName: "itemElements", predicate: ["item"], descendants: true, read: ElementRef }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"thyLayout === 'horizontal'\">\n <table>\n <tbody>\n <tr *ngFor=\"let row of rows; let i = index\">\n <ng-container *ngFor=\"let item of rows[i]\">\n <td>\n <div *ngIf=\"item\" class=\"thy-properties-item-container\">\n <ng-template [ngTemplateOutlet]=\"itemLabel\" [ngTemplateOutletContext]=\"{ item: item }\"> </ng-template>\n <ng-template [ngTemplateOutlet]=\"itemContent\" [ngTemplateOutletContext]=\"{ item: item }\"></ng-template>\n </div>\n </td>\n </ng-container>\n </tr>\n </tbody>\n </table>\n</ng-container>\n\n<ng-container *ngIf=\"thyLayout === 'vertical'\">\n <table>\n <tbody>\n <ng-container *ngFor=\"let row of rows; let i = index\">\n <tr>\n <ng-container *ngFor=\"let item of rows[i]\">\n <td>\n <ng-template *ngIf=\"item\" [ngTemplateOutlet]=\"itemLabel\" [ngTemplateOutletContext]=\"{ item: item }\"> </ng-template>\n </td>\n </ng-container>\n </tr>\n <tr>\n <ng-container *ngFor=\"let item of rows[i]\">\n <td>\n <ng-template *ngIf=\"item\" [ngTemplateOutlet]=\"itemContent\" [ngTemplateOutletContext]=\"{ item: item }\"> </ng-template>\n </td>\n </ng-container>\n </tr>\n </ng-container>\n </tbody>\n </table>\n</ng-container>\n\n<ng-template #itemLabel let-item=\"item\">\n <span class=\"thy-properties-item-label\">\n <ng-container *ngIf=\"item.thyLabelText\">\n {{ item.thyLabelText }}\n </ng-container>\n <ng-container *ngIf=\"item.label\">\n <ng-template [ngTemplateOutlet]=\"item.label\"></ng-template>\n </ng-container>\n </span>\n</ng-template>\n\n<ng-template #itemContent let-item=\"item\">\n <div\n #item\n class=\"thy-properties-item-content\"\n [class.thy-properties-item-content-editable]=\"item.thyEditable\"\n [class.thy-properties-item-content-editing]=\"item.editing\"\n >\n <div class=\"thy-properties-item-content-text\">\n <ng-template *ngIf=\"item.content\" [ngTemplateOutlet]=\"item.content\"></ng-template>\n </div>\n <div class=\"thy-properties-item-content-editor\" *ngIf=\"item.thyEditable\">\n <ng-template *ngIf=\"item.editor\" [ngTemplateOutlet]=\"item.editor\"></ng-template>\n </div>\n </div>\n</ng-template>\n", directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
128
107
  __decorate([
129
108
  InputNumber(),
130
109
  __metadata("design:type", Number)
@@ -134,9 +113,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImpor
134
113
  args: [{ selector: 'thy-properties', changeDetection: ChangeDetectionStrategy.OnPush, host: {
135
114
  class: 'thy-properties',
136
115
  '[class.thy-properties-vertical]': 'thyLayout === "vertical"',
137
- '[class.thy-properties-horizontal]': 'thyLayout === "horizontal"'
138
- }, template: "<ng-container *ngIf=\"thyLayout === 'horizontal'\">\n <table>\n <tbody>\n <tr *ngFor=\"let row of rows; let i = index\">\n <ng-container *ngFor=\"let item of rows[i]\">\n <td>\n <div class=\"thy-properties-item-container\">\n <ng-template [ngTemplateOutlet]=\"itemLabel\" [ngTemplateOutletContext]=\"{ item: item }\"> </ng-template>\n <ng-template [ngTemplateOutlet]=\"itemContent\" [ngTemplateOutletContext]=\"{ item: item }\"></ng-template>\n </div>\n </td>\n </ng-container>\n </tr>\n </tbody>\n </table>\n</ng-container>\n\n<ng-container *ngIf=\"thyLayout === 'vertical'\">\n <table>\n <tbody>\n <ng-container *ngFor=\"let row of rows; let i = index\">\n <tr>\n <ng-container *ngFor=\"let item of rows[i]\">\n <td>\n <ng-template [ngTemplateOutlet]=\"itemLabel\" [ngTemplateOutletContext]=\"{ item: item }\"> </ng-template>\n </td>\n </ng-container>\n </tr>\n <tr>\n <ng-container *ngFor=\"let item of rows[i]\">\n <td>\n <ng-template [ngTemplateOutlet]=\"itemContent\" [ngTemplateOutletContext]=\"{ item: item }\"> </ng-template>\n </td>\n </ng-container>\n </tr>\n </ng-container>\n </tbody>\n </table>\n</ng-container>\n\n<ng-template #itemLabel let-item=\"item\">\n <span class=\"thy-properties-item-label\">\n <ng-container *ngIf=\"item?.thyLabelText\">\n {{ item.thyLabelText }}\n </ng-container>\n <ng-container *ngIf=\"item?.label\">\n <ng-template [ngTemplateOutlet]=\"item.label\"></ng-template>\n </ng-container>\n </span>\n</ng-template>\n\n<ng-template #itemContent let-item=\"item\">\n <div\n #item\n class=\"thy-properties-item-content\"\n [class.thy-properties-item-content-editable]=\"item?.thyEditable\"\n [class.thy-properties-item-content-editing]=\"item?.editing\"\n >\n <div class=\"thy-properties-item-content-text\">\n <ng-template *ngIf=\"item?.content\" [ngTemplateOutlet]=\"item.content\"></ng-template>\n </div>\n <div class=\"thy-properties-item-content-editor\" *ngIf=\"item?.thyEditable\">\n <ng-template *ngIf=\"item?.editor\" [ngTemplateOutlet]=\"item.editor\"></ng-template>\n </div>\n </div>\n</ng-template>\n" }]
139
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { thyLayout: [{
116
+ '[class.thy-properties-horizontal]': 'thyLayout === "horizontal"',
117
+ '[class.thy-properties-edit-trigger-hover]': 'thyEditTrigger === "hover"'
118
+ }, template: "<ng-container *ngIf=\"thyLayout === 'horizontal'\">\n <table>\n <tbody>\n <tr *ngFor=\"let row of rows; let i = index\">\n <ng-container *ngFor=\"let item of rows[i]\">\n <td>\n <div *ngIf=\"item\" class=\"thy-properties-item-container\">\n <ng-template [ngTemplateOutlet]=\"itemLabel\" [ngTemplateOutletContext]=\"{ item: item }\"> </ng-template>\n <ng-template [ngTemplateOutlet]=\"itemContent\" [ngTemplateOutletContext]=\"{ item: item }\"></ng-template>\n </div>\n </td>\n </ng-container>\n </tr>\n </tbody>\n </table>\n</ng-container>\n\n<ng-container *ngIf=\"thyLayout === 'vertical'\">\n <table>\n <tbody>\n <ng-container *ngFor=\"let row of rows; let i = index\">\n <tr>\n <ng-container *ngFor=\"let item of rows[i]\">\n <td>\n <ng-template *ngIf=\"item\" [ngTemplateOutlet]=\"itemLabel\" [ngTemplateOutletContext]=\"{ item: item }\"> </ng-template>\n </td>\n </ng-container>\n </tr>\n <tr>\n <ng-container *ngFor=\"let item of rows[i]\">\n <td>\n <ng-template *ngIf=\"item\" [ngTemplateOutlet]=\"itemContent\" [ngTemplateOutletContext]=\"{ item: item }\"> </ng-template>\n </td>\n </ng-container>\n </tr>\n </ng-container>\n </tbody>\n </table>\n</ng-container>\n\n<ng-template #itemLabel let-item=\"item\">\n <span class=\"thy-properties-item-label\">\n <ng-container *ngIf=\"item.thyLabelText\">\n {{ item.thyLabelText }}\n </ng-container>\n <ng-container *ngIf=\"item.label\">\n <ng-template [ngTemplateOutlet]=\"item.label\"></ng-template>\n </ng-container>\n </span>\n</ng-template>\n\n<ng-template #itemContent let-item=\"item\">\n <div\n #item\n class=\"thy-properties-item-content\"\n [class.thy-properties-item-content-editable]=\"item.thyEditable\"\n [class.thy-properties-item-content-editing]=\"item.editing\"\n >\n <div class=\"thy-properties-item-content-text\">\n <ng-template *ngIf=\"item.content\" [ngTemplateOutlet]=\"item.content\"></ng-template>\n </div>\n <div class=\"thy-properties-item-content-editor\" *ngIf=\"item.thyEditable\">\n <ng-template *ngIf=\"item.editor\" [ngTemplateOutlet]=\"item.editor\"></ng-template>\n </div>\n </div>\n</ng-template>\n" }]
119
+ }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { thyLayout: [{
140
120
  type: Input
141
121
  }], thyColumn: [{
142
122
  type: Input
@@ -149,4 +129,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImpor
149
129
  type: ViewChildren,
150
130
  args: ['item', { read: ElementRef }]
151
131
  }] } });
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydGllcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcHJvcGVydHkvcHJvcGVydGllcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvcHJvcGVydHkvcHJvcGVydGllcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxlQUFlLEVBQ2YsS0FBSyxFQUVMLFNBQVMsRUFFVCx1QkFBdUIsRUFFdkIsVUFBVSxFQUNWLE1BQU0sRUFDTixpQkFBaUIsRUFDakIsWUFBWSxFQUlmLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7QUFFckU7OztHQUdHO0FBV0gsTUFBTSxPQUFPLHNCQUFzQjtJQXNDL0IsWUFBb0IsVUFBbUMsRUFBVSxNQUFjLEVBQVUsR0FBc0I7UUFBM0YsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFyQy9HOzs7O1dBSUc7UUFDTSxjQUFTLEdBQThCLFlBQVksQ0FBQztRQUU3RDs7OztXQUlHO1FBQ3FCLGNBQVMsR0FBVyxDQUFDLENBQUM7UUFFOUM7Ozs7V0FJRztRQUNNLG1CQUFjLEdBQXNCLE9BQU8sQ0FBQztRQVlyRCxTQUFJLEdBQWlDLEVBQUUsQ0FBQztRQUVoQyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUV6QixpQkFB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O2dCQUNMLENBQUMsQ0FBQyxDQUFDO2FBQ1Y7aUJBQU07Z0JBQ0gsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQztxQkFDMUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQztxQkFDOUIsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO29CQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTt3QkFDakIsS0FBSyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7d0JBQ3JDLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7b0JBQzVCLENBQUMsQ0FBQyxDQUFDO2dCQUNQLENBQUMsQ0FBQyxDQUFDO2FBQ1Y7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7O21IQXRJUSxzQkFBc0I7dUdBQXRCLHNCQUFzQix3V0F5QmQsd0JBQXdCLGlHQUtYLFVBQVUsa0RDbEU1Qyx5ekVBa0VBO0FEakI0QjtJQUFkLFdBQVcsRUFBRTs7eURBQXVCOzJGQWJyQyxzQkFBc0I7a0JBVmxDLFNBQVM7K0JBQ0ksZ0JBQWdCLG1CQUVULHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0YsS0FBSyxFQUFFLGdCQUFnQjt3QkFDdkIsaUNBQWlDLEVBQUUsMEJBQTBCO3dCQUM3RCxtQ0FBbUMsRUFBRSw0QkFBNEI7cUJBQ3BFO3NKQVFRLFNBQVM7c0JBQWpCLEtBQUs7Z0JBT2tCLFNBQVM7c0JBQWhDLEtBQUs7Z0JBT0csY0FBYztzQkFBdEIsS0FBSztnQkFLcUMsS0FBSztzQkFBL0MsZUFBZTt1QkFBQyx3QkFBd0I7Z0JBS0csWUFBWTtzQkFBdkQsWUFBWTt1QkFBQyxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIElucHV0LFxuICAgIE9uSW5pdCxcbiAgICBRdWVyeUxpc3QsXG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBPbkRlc3Ryb3ksXG4gICAgRWxlbWVudFJlZixcbiAgICBOZ1pvbmUsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgVmlld0NoaWxkcmVuLFxuICAgIEFmdGVyVmlld0luaXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIFNpbXBsZUNoYW5nZXNcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbnB1dE51bWJlciB9IGZyb20gJ25neC10ZXRoeXMvY29yZSc7XG5pbXBvcnQgeyBFTVBUWSwgZnJvbUV2ZW50LCBtZXJnZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsLCBzdGFydFdpdGgsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRoeVByb3BlcnR5SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vcHJvcGVydHktaXRlbS5jb21wb25lbnQnO1xuXG4vKipcbiAqIOWxnuaAp+WIl+ihqOe7hOS7tlxuICogQG5hbWUgdGh5LXByb3BlcnRpZXNcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aHktcHJvcGVydGllcycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Byb3BlcnRpZXMuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICd0aHktcHJvcGVydGllcycsXG4gICAgICAgICdbY2xhc3MudGh5LXByb3BlcnRpZXMtdmVydGljYWxdJzogJ3RoeUxheW91dCA9PT0gXCJ2ZXJ0aWNhbFwiJyxcbiAgICAgICAgJ1tjbGFzcy50aHktcHJvcGVydGllcy1ob3Jpem9udGFsXSc6ICd0aHlMYXlvdXQgPT09IFwiaG9yaXpvbnRhbFwiJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgVGh5UHJvcGVydGllc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgQWZ0ZXJDb250ZW50SW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICAgIC8qKlxuICAgICAqIOWxleekuuW4g+WxgFxuICAgICAqIEB0eXBlIFwiaG9yaXpvbnRhbFwiIHwgXCJ2ZXJ0aWNhbFwiXG4gICAgICogQGRlZmF1bHQgaG9yaXpvbnRhbFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUxheW91dDogJ2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJyA9ICdob3Jpem9udGFsJztcblxuICAgIC8qKlxuICAgICAqIOiuvue9ruS4gOihjOeahOWPr+S7pSBwcm9wZXJ0eS1pdGVtIOeahOaVsOmHj1xuICAgICAqIEB0eXBlICBudW1iZXJcbiAgICAgKiBAZGVmYXVsdCAxXG4gICAgICovXG4gICAgQElucHV0KCkgQElucHV0TnVtYmVyKCkgdGh5Q29sdW1uOiBudW1iZXIgPSAxO1xuXG4gICAgLyoqXG4gICAgICog6K6+572u57yW6L6R54q25oCB6Kem5Y+R5pa55rOVXG4gICAgICogQHR5cGUgJ2hvdmVyJyB8ICdjbGljaydcbiAgICAgKiBAZGVmYXVsdCBob3ZlclxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUVkaXRUcmlnZ2VyOiAnaG92ZXInIHwgJ2NsaWNrJyA9ICdob3Zlcic7XG5cbiAgICAvKipcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oVGh5UHJvcGVydHlJdGVtQ29tcG9uZW50KSBpdGVtcyE6IFF1ZXJ5TGlzdDxUaHlQcm9wZXJ0eUl0ZW1Db21wb25lbnQ+O1xuXG4gICAgLyoqXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBAVmlld0NoaWxkcmVuKCdpdGVtJywgeyByZWFkOiBFbGVtZW50UmVmIH0pIGl0ZW1FbGVtZW50czogUXVlcnlMaXN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PjtcblxuICAgIHJvd3M6IFRoeVByb3BlcnR5SXRlbUNvbXBvbmVudFtdW10gPSBbXTtcblxuICAgIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xuXG4gICAgcHJpdmF0ZSBlZGl0VHJpZ2dlciQgPSBuZXcgU3ViamVjdCgpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiwgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSwgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gICAgbmdPbkluaXQoKSB7fVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLml0ZW1zLmNoYW5nZXMucGlwZShzdGFydFdpdGgodGhpcy5pdGVtcyksIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc3BsaXRJdGVtcygpO1xuICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pdGVtRWxlbWVudHMuY2hhbmdlcy5waXBlKHN0YXJ0V2l0aCh0aGlzLml0ZW1FbGVtZW50cyksIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgICAgICAgIHRoaXMuYmluZFRyaWdnZXJFdmVudCgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChjaGFuZ2VzLnRoeUVkaXRUcmlnZ2VyICYmICFjaGFuZ2VzLnRoeUVkaXRUcmlnZ2VyLmZpcnN0Q2hhbmdlKSB7XG4gICAgICAgICAgICB0aGlzLmVkaXRUcmlnZ2VyJC5uZXh0KCk7XG4gICAgICAgICAgICB0aGlzLmJpbmRUcmlnZ2VyRXZlbnQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3BsaXRJdGVtcygpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaXRlbXMgPSB0aGlzLml0ZW1zLnRvQXJyYXkoKTtcbiAgICAgICAgY29uc3Qgcm93cyA9IFtdO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuaXRlbXMubGVuZ3RoOyBpICs9IHRoaXMudGh5Q29sdW1uKSB7XG4gICAgICAgICAgICBjb25zdCByb3dJdGVtcyA9IGl0ZW1zLnNsaWNlKGksIGkgKyB0aGlzLnRoeUNvbHVtbik7XG4gICAgICAgICAgICBpZiAocm93SXRlbXMubGVuZ3RoIDwgdGhpcy50aHlDb2x1bW4pIHtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWxsQ291bnQgPSB0aGlzLnRoeUNvbHVtbiAtIHJvd0l0ZW1zLmxlbmd0aDtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IGZpbGxDb3VudDsgaisrKSB7XG4gICAgICAgICAgICAgICAgICAgIHJvd0l0ZW1zLnB1c2gobnVsbCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcm93cy5wdXNoKHJvd0l0ZW1zKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnJvd3MgPSByb3dzO1xuICAgIH1cblxuICAgIHByaXZhdGUgbWVyZ2VFZGl0b3JzRXZlbnQoZXZlbnROYW1lOiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIG1lcmdlPHsgZXZlbnQ6IEV2ZW50OyBpdGVtQ29tcG9uZW50OiBUaHlQcm9wZXJ0eUl0ZW1Db21wb25lbnQgfT4oXG4gICAgICAgICAgICAuLi50aGlzLml0ZW1FbGVtZW50cy5tYXAoKGVsZW1lbnQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgaXRlbUNvbXBvbmVudCA9IHRoaXMuaXRlbXMuZ2V0KGluZGV4KTtcbiAgICAgICAgICAgICAgICBpZiAoaXRlbUNvbXBvbmVudC50aHlFZGl0YWJsZSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZnJvbUV2ZW50KGVsZW1lbnQubmF0aXZlRWxlbWVudCwgZXZlbnROYW1lKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFwKGV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBldmVudCwgaXRlbUNvbXBvbmVudCB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gRU1QVFk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGJpbmRUcmlnZ2VyRXZlbnQoKSB7XG4gICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGV2ZW50RGVzdHJveSQgPSBtZXJnZSh0aGlzLml0ZW1FbGVtZW50cy5jaGFuZ2VzLCB0aGlzLmVkaXRUcmlnZ2VyJCwgdGhpcy5kZXN0cm95JCk7XG4gICAgICAgICAgICBpZiAodGhpcy50aHlFZGl0VHJpZ2dlciA9PT0gJ2hvdmVyJykge1xuICAgICAgICAgICAgICAgIHRoaXMubWVyZ2VFZGl0b3JzRXZlbnQoJ21vdXNlZW50ZXInKVxuICAgICAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWwoZXZlbnREZXN0cm95JCkpXG4gICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudC5pdGVtQ29tcG9uZW50LnNldEVkaXRpbmcodHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLm1lcmdlRWRpdG9yc0V2ZW50KCdtb3VzZWxlYXZlJylcbiAgICAgICAgICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKGV2ZW50RGVzdHJveSQpKVxuICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghZXZlbnQuaXRlbUNvbXBvbmVudC5rZWVwRWRpdGluZykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50Lml0ZW1Db21wb25lbnQuc2V0RWRpdGluZyhmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5tZXJnZUVkaXRvcnNFdmVudCgnY2xpY2snKVxuICAgICAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWwoZXZlbnREZXN0cm95JCkpXG4gICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudC5pdGVtQ29tcG9uZW50LnNldEVkaXRpbmcodHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJ0aHlMYXlvdXQgPT09ICdob3Jpem9udGFsJ1wiPlxuICA8dGFibGU+XG4gICAgPHRib2R5PlxuICAgICAgPHRyICpuZ0Zvcj1cImxldCByb3cgb2Ygcm93czsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIHJvd3NbaV1cIj5cbiAgICAgICAgICA8dGQ+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGh5LXByb3BlcnRpZXMtaXRlbS1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW1MYWJlbFwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGl0ZW06IGl0ZW0gfVwiPiA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiaXRlbUNvbnRlbnRcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBpdGVtOiBpdGVtIH1cIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L3RyPlxuICAgIDwvdGJvZHk+XG4gIDwvdGFibGU+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cInRoeUxheW91dCA9PT0gJ3ZlcnRpY2FsJ1wiPlxuICA8dGFibGU+XG4gICAgPHRib2R5PlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcm93IG9mIHJvd3M7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgPHRyPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygcm93c1tpXVwiPlxuICAgICAgICAgICAgPHRkPlxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiaXRlbUxhYmVsXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgaXRlbTogaXRlbSB9XCI+IDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L3RyPlxuICAgICAgICA8dHI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiByb3dzW2ldXCI+XG4gICAgICAgICAgICA8dGQ+XG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJpdGVtQ29udGVudFwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGl0ZW06IGl0ZW0gfVwiPiA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC90cj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvdGJvZHk+XG4gIDwvdGFibGU+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNpdGVtTGFiZWwgbGV0LWl0ZW09XCJpdGVtXCI+XG4gIDxzcGFuIGNsYXNzPVwidGh5LXByb3BlcnRpZXMtaXRlbS1sYWJlbFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtPy50aHlMYWJlbFRleHRcIj5cbiAgICAgIHt7IGl0ZW0udGh5TGFiZWxUZXh0IH19XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0/LmxhYmVsXCI+XG4gICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiaXRlbS5sYWJlbFwiPjwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjaXRlbUNvbnRlbnQgbGV0LWl0ZW09XCJpdGVtXCI+XG4gIDxkaXZcbiAgICAjaXRlbVxuICAgIGNsYXNzPVwidGh5LXByb3BlcnRpZXMtaXRlbS1jb250ZW50XCJcbiAgICBbY2xhc3MudGh5LXByb3BlcnRpZXMtaXRlbS1jb250ZW50LWVkaXRhYmxlXT1cIml0ZW0/LnRoeUVkaXRhYmxlXCJcbiAgICBbY2xhc3MudGh5LXByb3BlcnRpZXMtaXRlbS1jb250ZW50LWVkaXRpbmddPVwiaXRlbT8uZWRpdGluZ1wiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwidGh5LXByb3BlcnRpZXMtaXRlbS1jb250ZW50LXRleHRcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cIml0ZW0/LmNvbnRlbnRcIiBbbmdUZW1wbGF0ZU91dGxldF09XCJpdGVtLmNvbnRlbnRcIj48L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJ0aHktcHJvcGVydGllcy1pdGVtLWNvbnRlbnQtZWRpdG9yXCIgKm5nSWY9XCJpdGVtPy50aHlFZGl0YWJsZVwiPlxuICAgICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwiaXRlbT8uZWRpdG9yXCIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaXRlbS5lZGl0b3JcIj48L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydGllcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcHJvcGVydHkvcHJvcGVydGllcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvcHJvcGVydHkvcHJvcGVydGllcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxlQUFlLEVBQ2YsS0FBSyxFQUVMLFNBQVMsRUFFVCx1QkFBdUIsRUFFdkIsVUFBVSxFQUNWLE1BQU0sRUFDTixpQkFBaUIsRUFDakIsWUFBWSxFQUlmLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7QUFFckU7OztHQUdHO0FBWUgsTUFBTSxPQUFPLHNCQUFzQjtJQXNDL0IsWUFBb0IsTUFBYyxFQUFVLEdBQXNCO1FBQTlDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVSxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQXJDbEU7Ozs7V0FJRztRQUNNLGNBQVMsR0FBOEIsWUFBWSxDQUFDO1FBRTdEOzs7O1dBSUc7UUFDcUIsY0FBUyxHQUFXLENBQUMsQ0FBQztRQUU5Qzs7OztXQUlHO1FBQ00sbUJBQWMsR0FBc0IsT0FBTyxDQUFDO1FBWXJELFNBQUksR0FBaUMsRUFBRSxDQUFDO1FBRWhDLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBRXpCLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUVnQyxDQUFD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LGNBQWM7c0JBQXRCLEtBQUs7Z0JBS3FDLEtBQUs7c0JBQS9DLGVBQWU7dUJBQUMsd0JBQXdCO2dCQUtHLFlBQVk7c0JBQXZELFlBQVk7dUJBQUMsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBJbnB1dCxcbiAgICBPbkluaXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgT25EZXN0cm95LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgTmdab25lLFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIFZpZXdDaGlsZHJlbixcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBTaW1wbGVDaGFuZ2VzXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW5wdXROdW1iZXIgfSBmcm9tICduZ3gtdGV0aHlzL2NvcmUnO1xuaW1wb3J0IHsgRU1QVFksIGZyb21FdmVudCwgbWVyZ2UsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCwgc3RhcnRXaXRoLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBUaHlQcm9wZXJ0eUl0ZW1Db21wb25lbnQgfSBmcm9tICcuL3Byb3BlcnR5LWl0ZW0uY29tcG9uZW50JztcblxuLyoqXG4gKiDlsZ7mgKfliJfooajnu4Tku7ZcbiAqIEBuYW1lIHRoeS1wcm9wZXJ0aWVzXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LXByb3BlcnRpZXMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wcm9wZXJ0aWVzLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAndGh5LXByb3BlcnRpZXMnLFxuICAgICAgICAnW2NsYXNzLnRoeS1wcm9wZXJ0aWVzLXZlcnRpY2FsXSc6ICd0aHlMYXlvdXQgPT09IFwidmVydGljYWxcIicsXG4gICAgICAgICdbY2xhc3MudGh5LXByb3BlcnRpZXMtaG9yaXpvbnRhbF0nOiAndGh5TGF5b3V0ID09PSBcImhvcml6b250YWxcIicsXG4gICAgICAgICdbY2xhc3MudGh5LXByb3BlcnRpZXMtZWRpdC10cmlnZ2VyLWhvdmVyXSc6ICd0aHlFZGl0VHJpZ2dlciA9PT0gXCJob3ZlclwiJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgVGh5UHJvcGVydGllc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgQWZ0ZXJDb250ZW50SW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICAgIC8qKlxuICAgICAqIOWxleekuuW4g+WxgFxuICAgICAqIEB0eXBlIFwiaG9yaXpvbnRhbFwiIHwgXCJ2ZXJ0aWNhbFwiXG4gICAgICogQGRlZmF1bHQgaG9yaXpvbnRhbFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUxheW91dDogJ2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJyA9ICdob3Jpem9udGFsJztcblxuICAgIC8qKlxuICAgICAqIOiuvue9ruS4gOihjOeahOWPr+S7pSBwcm9wZXJ0eS1pdGVtIOeahOaVsOmHj1xuICAgICAqIEB0eXBlICBudW1iZXJcbiAgICAgKiBAZGVmYXVsdCAxXG4gICAgICovXG4gICAgQElucHV0KCkgQElucHV0TnVtYmVyKCkgdGh5Q29sdW1uOiBudW1iZXIgPSAxO1xuXG4gICAgLyoqXG4gICAgICog6K6+572u57yW6L6R54q25oCB6Kem5Y+R5pa55rOVXG4gICAgICogQHR5cGUgJ2hvdmVyJyB8ICdjbGljaydcbiAgICAgKiBAZGVmYXVsdCBob3ZlclxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUVkaXRUcmlnZ2VyOiAnaG92ZXInIHwgJ2NsaWNrJyA9ICdob3Zlcic7XG5cbiAgICAvKipcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oVGh5UHJvcGVydHlJdGVtQ29tcG9uZW50KSBpdGVtcyE6IFF1ZXJ5TGlzdDxUaHlQcm9wZXJ0eUl0ZW1Db21wb25lbnQ+O1xuXG4gICAgLyoqXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBAVmlld0NoaWxkcmVuKCdpdGVtJywgeyByZWFkOiBFbGVtZW50UmVmIH0pIGl0ZW1FbGVtZW50czogUXVlcnlMaXN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PjtcblxuICAgIHJvd3M6IFRoeVByb3BlcnR5SXRlbUNvbXBvbmVudFtdW10gPSBbXTtcblxuICAgIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xuXG4gICAgcHJpdmF0ZSBlZGl0VHJpZ2dlciQgPSBuZXcgU3ViamVjdCgpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSwgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gICAgbmdPbkluaXQoKSB7fVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLml0ZW1zLmNoYW5nZXMucGlwZShzdGFydFdpdGgodGhpcy5pdGVtcyksIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc3BsaXRJdGVtcygpO1xuICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pdGVtRWxlbWVudHMuY2hhbmdlcy5waXBlKHN0YXJ0V2l0aCh0aGlzLml0ZW1FbGVtZW50cyksIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgICAgICAgIHRoaXMuYmluZFRyaWdnZXJFdmVudCgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChjaGFuZ2VzLnRoeUVkaXRUcmlnZ2VyICYmICFjaGFuZ2VzLnRoeUVkaXRUcmlnZ2VyLmZpcnN0Q2hhbmdlKSB7XG4gICAgICAgICAgICB0aGlzLmVkaXRUcmlnZ2VyJC5uZXh0KCk7XG4gICAgICAgICAgICB0aGlzLmJpbmRUcmlnZ2VyRXZlbnQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3BsaXRJdGVtcygpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaXRlbXMgPSB0aGlzLml0ZW1zLnRvQXJyYXkoKTtcbiAgICAgICAgY29uc3Qgcm93cyA9IFtdO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuaXRlbXMubGVuZ3RoOyBpICs9IHRoaXMudGh5Q29sdW1uKSB7XG4gICAgICAgICAgICBjb25zdCByb3dJdGVtcyA9IGl0ZW1zLnNsaWNlKGksIGkgKyB0aGlzLnRoeUNvbHVtbik7XG4gICAgICAgICAgICBpZiAocm93SXRlbXMubGVuZ3RoIDwgdGhpcy50aHlDb2x1bW4pIHtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWxsQ291bnQgPSB0aGlzLnRoeUNvbHVtbiAtIHJvd0l0ZW1zLmxlbmd0aDtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IGZpbGxDb3VudDsgaisrKSB7XG4gICAgICAgICAgICAgICAgICAgIHJvd0l0ZW1zLnB1c2gobnVsbCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcm93cy5wdXNoKHJvd0l0ZW1zKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnJvd3MgPSByb3dzO1xuICAgIH1cblxuICAgIHByaXZhdGUgbWVyZ2VFZGl0b3JzRXZlbnQoZXZlbnROYW1lOiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIG1lcmdlPHsgZXZlbnQ6IEV2ZW50OyBpdGVtQ29tcG9uZW50OiBUaHlQcm9wZXJ0eUl0ZW1Db21wb25lbnQgfT4oXG4gICAgICAgICAgICAuLi50aGlzLml0ZW1FbGVtZW50cy5tYXAoKGVsZW1lbnQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgaXRlbUNvbXBvbmVudCA9IHRoaXMuaXRlbXMuZ2V0KGluZGV4KTtcbiAgICAgICAgICAgICAgICBpZiAoaXRlbUNvbXBvbmVudC50aHlFZGl0YWJsZSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZnJvbUV2ZW50KGVsZW1lbnQubmF0aXZlRWxlbWVudCwgZXZlbnROYW1lKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFwKGV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBldmVudCwgaXRlbUNvbXBvbmVudCB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gRU1QVFk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGJpbmRUcmlnZ2VyRXZlbnQoKSB7XG4gICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGV2ZW50RGVzdHJveSQgPSBtZXJnZSh0aGlzLml0ZW1FbGVtZW50cy5jaGFuZ2VzLCB0aGlzLmVkaXRUcmlnZ2VyJCwgdGhpcy5kZXN0cm95JCk7XG4gICAgICAgICAgICBpZiAodGhpcy50aHlFZGl0VHJpZ2dlciA9PT0gJ2NsaWNrJykge1xuICAgICAgICAgICAgICAgIHRoaXMubWVyZ2VFZGl0b3JzRXZlbnQoJ2NsaWNrJylcbiAgICAgICAgICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKGV2ZW50RGVzdHJveSQpKVxuICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQuaXRlbUNvbXBvbmVudC5zZXRFZGl0aW5nKHRydWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwidGh5TGF5b3V0ID09PSAnaG9yaXpvbnRhbCdcIj5cbiAgPHRhYmxlPlxuICAgIDx0Ym9keT5cbiAgICAgIDx0ciAqbmdGb3I9XCJsZXQgcm93IG9mIHJvd3M7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiByb3dzW2ldXCI+XG4gICAgICAgICAgPHRkPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIml0ZW1cIiBjbGFzcz1cInRoeS1wcm9wZXJ0aWVzLWl0ZW0tY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJpdGVtTGFiZWxcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBpdGVtOiBpdGVtIH1cIj4gPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW1Db250ZW50XCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgaXRlbTogaXRlbSB9XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC90cj5cbiAgICA8L3Rib2R5PlxuICA8L3RhYmxlPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJ0aHlMYXlvdXQgPT09ICd2ZXJ0aWNhbCdcIj5cbiAgPHRhYmxlPlxuICAgIDx0Ym9keT5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHJvdyBvZiByb3dzOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgIDx0cj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIHJvd3NbaV1cIj5cbiAgICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwiaXRlbVwiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW1MYWJlbFwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGl0ZW06IGl0ZW0gfVwiPiA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC90cj5cbiAgICAgICAgPHRyPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygcm93c1tpXVwiPlxuICAgICAgICAgICAgPHRkPlxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJpdGVtXCIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaXRlbUNvbnRlbnRcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBpdGVtOiBpdGVtIH1cIj4gPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvdHI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3Rib2R5PlxuICA8L3RhYmxlPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjaXRlbUxhYmVsIGxldC1pdGVtPVwiaXRlbVwiPlxuICA8c3BhbiBjbGFzcz1cInRoeS1wcm9wZXJ0aWVzLWl0ZW0tbGFiZWxcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS50aHlMYWJlbFRleHRcIj5cbiAgICAgIHt7IGl0ZW0udGh5TGFiZWxUZXh0IH19XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0ubGFiZWxcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJpdGVtLmxhYmVsXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9zcGFuPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNpdGVtQ29udGVudCBsZXQtaXRlbT1cIml0ZW1cIj5cbiAgPGRpdlxuICAgICNpdGVtXG4gICAgY2xhc3M9XCJ0aHktcHJvcGVydGllcy1pdGVtLWNvbnRlbnRcIlxuICAgIFtjbGFzcy50aHktcHJvcGVydGllcy1pdGVtLWNvbnRlbnQtZWRpdGFibGVdPVwiaXRlbS50aHlFZGl0YWJsZVwiXG4gICAgW2NsYXNzLnRoeS1wcm9wZXJ0aWVzLWl0ZW0tY29udGVudC1lZGl0aW5nXT1cIml0ZW0uZWRpdGluZ1wiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwidGh5LXByb3BlcnRpZXMtaXRlbS1jb250ZW50LXRleHRcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cIml0ZW0uY29udGVudFwiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW0uY29udGVudFwiPjwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInRoeS1wcm9wZXJ0aWVzLWl0ZW0tY29udGVudC1lZGl0b3JcIiAqbmdJZj1cIml0ZW0udGh5RWRpdGFibGVcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cIml0ZW0uZWRpdG9yXCIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaXRlbS5lZGl0b3JcIj48L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -1,23 +1,26 @@
1
- import { Component, ContentChild, Input, TemplateRef, ViewChild } from '@angular/core';
1
+ import { ChangeDetectorRef, Component, ContentChild, Input, SkipSelf, TemplateRef, ViewChild } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  /**
4
4
  * 属性组件
5
5
  * @name thy-property-item
6
6
  */
7
7
  export class ThyPropertyItemComponent {
8
- constructor() { }
8
+ constructor(parentCdr) {
9
+ this.parentCdr = parentCdr;
10
+ }
9
11
  ngOnInit() { }
10
12
  setEditing(editing) {
11
13
  this.editing = editing;
14
+ this.parentCdr.markForCheck();
12
15
  }
16
+ /**
17
+ * @deprecated please use setEditing(editing: boolean)
18
+ */
13
19
  setKeepEditing(keep) {
14
- this.keepEditing = keep;
15
- if (!keep) {
16
- this.setEditing(false);
17
- }
20
+ this.setEditing(keep);
18
21
  }
19
22
  }
20
- ThyPropertyItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: ThyPropertyItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
23
+ ThyPropertyItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: ThyPropertyItemComponent, deps: [{ token: i0.ChangeDetectorRef, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component });
21
24
  ThyPropertyItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.6", type: ThyPropertyItemComponent, selector: "thy-property-item", inputs: { thyLabelText: "thyLabelText", thyEditable: "thyEditable" }, queries: [{ propertyName: "label", first: true, predicate: ["label"], descendants: true, static: true }, { propertyName: "editor", first: true, predicate: ["editor"], descendants: true, static: true }], viewQueries: [{ propertyName: "content", first: true, predicate: TemplateRef, descendants: true, static: true }], ngImport: i0, template: `
22
25
  <ng-template>
23
26
  <ng-content></ng-content>
@@ -33,7 +36,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImpor
33
36
  </ng-template>
34
37
  `
35
38
  }]
36
- }], ctorParameters: function () { return []; }, propDecorators: { thyLabelText: [{
39
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef, decorators: [{
40
+ type: SkipSelf
41
+ }] }]; }, propDecorators: { thyLabelText: [{
37
42
  type: Input
38
43
  }], thyEditable: [{
39
44
  type: Input
@@ -47,4 +52,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImpor
47
52
  type: ViewChild,
48
53
  args: [TemplateRef, { static: true }]
49
54
  }] } });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcHJvcGVydHkvcHJvcGVydHktaXRlbS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRS9GOzs7R0FHRztBQVNILE1BQU0sT0FBTyx3QkFBd0I7SUFvQ2pDLGdCQUFlLENBQUM7SUFFaEIsUUFBUSxLQUFJLENBQUM7SUFFYixVQUFVLENBQUMsT0FBZ0I7UUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDM0IsQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUFhO1FBQ3hCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDUCxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzFCO0lBQ0wsQ0FBQzs7cUhBakRRLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLG1YQThCdEIsV0FBVyw4REFwQ1o7Ozs7S0FJVDsyRkFFUSx3QkFBd0I7a0JBUnBDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsUUFBUSxFQUFFOzs7O0tBSVQ7aUJBQ0o7MEVBT1ksWUFBWTtzQkFBcEIsS0FBSztnQkFPRyxXQUFXO3NCQUFuQixLQUFLO2dCQU1tQyxLQUFLO3NCQUE3QyxZQUFZO3VCQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBTUcsTUFBTTtzQkFBL0MsWUFBWTt1QkFBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUtFLE9BQU87c0JBQWhELFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkLCBJbnB1dCwgT25Jbml0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICog5bGe5oCn57uE5Lu2XG4gKiBAbmFtZSB0aHktcHJvcGVydHktaXRlbVxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1wcm9wZXJ0eS1pdGVtJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8bmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgYFxufSlcbmV4cG9ydCBjbGFzcyBUaHlQcm9wZXJ0eUl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIC8qKlxuICAgICAqIOWxnuaAp+WQjeensFxuICAgICAqIEB0eXBlIHN0aW5nXG4gICAgICogQGRlZmF1bHQgdGh5TGFiZWxUZXh0XG4gICAgICovXG4gICAgQElucHV0KCkgdGh5TGFiZWxUZXh0OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDorr7nva7lsZ7mgKfmmK/lkKbmmK/lj6/nvJbovpHnmoRcbiAgICAgKiBAdHlwZSBzdGluZ1xuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5RWRpdGFibGU6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiDlsZ7mgKflkI3np7Doh6rlrprkuYnmqKHmnb9cbiAgICAgKiBAdHlwZSBUZW1wbGF0ZVJlZlxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2xhYmVsJywgeyBzdGF0aWM6IHRydWUgfSkgbGFiZWwhOiBUZW1wbGF0ZVJlZjx2b2lkPjtcblxuICAgIC8qKlxuICAgICAqIOWxnuaAp+WGheWuuee8lui+keaooeadv++8jOWPquacieWcqCB0aHlFZGl0YWJsZSDkuLogdHJ1ZSDml7bnlJ/mlYhcbiAgICAgKiBAdHlwZSBUZW1wbGF0ZVJlZlxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2VkaXRvcicsIHsgc3RhdGljOiB0cnVlIH0pIGVkaXRvciE6IFRlbXBsYXRlUmVmPHZvaWQ+O1xuXG4gICAgLyoqXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBAVmlld0NoaWxkKFRlbXBsYXRlUmVmLCB7IHN0YXRpYzogdHJ1ZSB9KSBjb250ZW50ITogVGVtcGxhdGVSZWY8dm9pZD47XG5cbiAgICBlZGl0aW5nOiBib29sZWFuO1xuXG4gICAga2VlcEVkaXRpbmc6IGJvb2xlYW47XG5cbiAgICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgICBuZ09uSW5pdCgpIHt9XG5cbiAgICBzZXRFZGl0aW5nKGVkaXRpbmc6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5lZGl0aW5nID0gZWRpdGluZztcbiAgICB9XG5cbiAgICBzZXRLZWVwRWRpdGluZyhrZWVwOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMua2VlcEVkaXRpbmcgPSBrZWVwO1xuICAgICAgICBpZiAoIWtlZXApIHtcbiAgICAgICAgICAgIHRoaXMuc2V0RWRpdGluZyhmYWxzZSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcHJvcGVydHkvcHJvcGVydHktaXRlbS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLFFBQVEsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUU1SDs7O0dBR0c7QUFTSCxNQUFNLE9BQU8sd0JBQXdCO0lBa0NqQyxZQUFrQyxTQUE0QjtRQUE1QixjQUFTLEdBQVQsU0FBUyxDQUFtQjtJQUFHLENBQUM7SUFFbEUsUUFBUSxLQUFJLENBQUM7SUFFYixVQUFVLENBQUMsT0FBZ0I7UUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxjQUFjLENBQUMsSUFBYTtRQUN4QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFCLENBQUM7O3FIQWhEUSx3QkFBd0I7eUdBQXhCLHdCQUF3QixtWEE4QnRCLFdBQVcsOERBcENaOzs7O0tBSVQ7MkZBRVEsd0JBQXdCO2tCQVJwQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFFBQVEsRUFBRTs7OztLQUlUO2lCQUNKOzswQkFtQ2dCLFFBQVE7NENBNUJaLFlBQVk7c0JBQXBCLEtBQUs7Z0JBT0csV0FBVztzQkFBbkIsS0FBSztnQkFNbUMsS0FBSztzQkFBN0MsWUFBWTt1QkFBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQU1HLE1BQU07c0JBQS9DLFlBQVk7dUJBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFLRSxPQUFPO3NCQUFoRCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIElucHV0LCBPbkluaXQsIFNraXBTZWxmLCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICog5bGe5oCn57uE5Lu2XG4gKiBAbmFtZSB0aHktcHJvcGVydHktaXRlbVxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1wcm9wZXJ0eS1pdGVtJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8bmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgYFxufSlcbmV4cG9ydCBjbGFzcyBUaHlQcm9wZXJ0eUl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIC8qKlxuICAgICAqIOWxnuaAp+WQjeensFxuICAgICAqIEB0eXBlIHN0aW5nXG4gICAgICogQGRlZmF1bHQgdGh5TGFiZWxUZXh0XG4gICAgICovXG4gICAgQElucHV0KCkgdGh5TGFiZWxUZXh0OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDorr7nva7lsZ7mgKfmmK/lkKbmmK/lj6/nvJbovpHnmoRcbiAgICAgKiBAdHlwZSBzdGluZ1xuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5RWRpdGFibGU6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiDlsZ7mgKflkI3np7Doh6rlrprkuYnmqKHmnb9cbiAgICAgKiBAdHlwZSBUZW1wbGF0ZVJlZlxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2xhYmVsJywgeyBzdGF0aWM6IHRydWUgfSkgbGFiZWwhOiBUZW1wbGF0ZVJlZjx2b2lkPjtcblxuICAgIC8qKlxuICAgICAqIOWxnuaAp+WGheWuuee8lui+keaooeadv++8jOWPquacieWcqCB0aHlFZGl0YWJsZSDkuLogdHJ1ZSDml7bnlJ/mlYhcbiAgICAgKiBAdHlwZSBUZW1wbGF0ZVJlZlxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2VkaXRvcicsIHsgc3RhdGljOiB0cnVlIH0pIGVkaXRvciE6IFRlbXBsYXRlUmVmPHZvaWQ+O1xuXG4gICAgLyoqXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBAVmlld0NoaWxkKFRlbXBsYXRlUmVmLCB7IHN0YXRpYzogdHJ1ZSB9KSBjb250ZW50ITogVGVtcGxhdGVSZWY8dm9pZD47XG5cbiAgICBlZGl0aW5nOiBib29sZWFuO1xuXG4gICAgY29uc3RydWN0b3IoQFNraXBTZWxmKCkgcHJvdGVjdGVkIHBhcmVudENkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgICBuZ09uSW5pdCgpIHt9XG5cbiAgICBzZXRFZGl0aW5nKGVkaXRpbmc6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5lZGl0aW5nID0gZWRpdGluZztcbiAgICAgICAgdGhpcy5wYXJlbnRDZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgcGxlYXNlIHVzZSBzZXRFZGl0aW5nKGVkaXRpbmc6IGJvb2xlYW4pXG4gICAgICovXG4gICAgc2V0S2VlcEVkaXRpbmcoa2VlcDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnNldEVkaXRpbmcoa2VlcCk7XG4gICAgfVxufVxuIl19
@@ -1,3 +1,3 @@
1
1
  import { Version } from '@angular/core';
2
- export const VERSION = new Version('13.2.4');
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEMsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmVyc2lvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgVkVSU0lPTiA9IG5ldyBWZXJzaW9uKCcxMy4yLjQnKTtcbiJdfQ==
2
+ export const VERSION = new Version('13.2.5');
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEMsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmVyc2lvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgVkVSU0lPTiA9IG5ldyBWZXJzaW9uKCcxMy4yLjUnKTtcbiJdfQ==
@@ -161,7 +161,7 @@ class ThyMenuGroupComponent {
161
161
  }
162
162
  }
163
163
  ThyMenuGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: ThyMenuGroupComponent, deps: [{ token: i1.ThyPopover }, { token: ThyMenuComponent }], target: i0.ɵɵFactoryTarget.Component });
164
- ThyMenuGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.6", type: ThyMenuGroupComponent, selector: "thy-menu-group, [thy-menu-group],[thyMenuGroup]", inputs: { thyTitle: "thyTitle", thyExpand: "thyExpand", thyCollapsed: "thyCollapsed", thyCollapsible: "thyCollapsible", thyShowIcon: "thyShowIcon", thyIcon: "thyIcon", thyActionIcon: "thyActionIcon", thyShowAction: "thyShowAction", thyActionStopPropagation: "thyActionStopPropagation", thyActionMenu: "thyActionMenu" }, outputs: { thyOnActionClick: "thyOnActionClick", thyCollapsedChange: "thyCollapsedChange" }, host: { properties: { "class.thy-menu-group": "this.isThyMenuGroup", "class.has-icon": "this.showIcon", "class.collapsed": "this.isCollapsed" } }, queries: [{ propertyName: "headerContentTemplateRef", first: true, predicate: ["headerContent"], descendants: true }], viewQueries: [{ propertyName: "_thyMenuGroup", first: true, predicate: ["thyMenuGroup"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"thy-menu-group-header\" [ngClass]=\"{ 'thy-menu-group-collapsible': thyCollapsible }\" (click)=\"collapseGroup()\">\n <div class=\"thy-menu-group-header-content\">\n <ng-template *ngIf=\"headerContentTemplateRef; else defaultTitle\" [ngTemplateOutlet]=\"headerContentTemplateRef\"></ng-template>\n <ng-template #defaultTitle>\n <span class=\"thy-menu-group-title\">\n <thy-icon *ngIf=\"showIcon\" class=\"thy-menu-group-folder\" [thyIconName]=\"iconClass\"></thy-icon>\n <ng-container>{{ thyTitle }}</ng-container>\n </span>\n </ng-template>\n </div>\n <thy-icon\n *ngIf=\"thyShowAction\"\n class=\"thy-menu-group-operation\"\n [thyIconName]=\"rightIconClass\"\n (click)=\"onActionClick($event)\"\n ></thy-icon>\n <thy-icon thyIconName=\"angle-up\" *ngIf=\"thyCollapsible\" class=\"thy-menu-group-arrow\"></thy-icon>\n</div>\n<div class=\"thy-menu-group-body\" #thyMenuGroup [@detailsContentAnimation]=\"isCollapsed\">\n <ng-content></ng-content>\n</div>\n", components: [{ type: i3.ThyIconComponent, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }], directives: [{ type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], animations: [
164
+ ThyMenuGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.6", type: ThyMenuGroupComponent, selector: "thy-menu-group, [thy-menu-group],[thyMenuGroup]", inputs: { thyTitle: "thyTitle", thyExpand: "thyExpand", thyCollapsed: "thyCollapsed", thyCollapsible: "thyCollapsible", thyShowIcon: "thyShowIcon", thyIcon: "thyIcon", thyActionIcon: "thyActionIcon", thyShowAction: "thyShowAction", thyActionStopPropagation: "thyActionStopPropagation", thyActionMenu: "thyActionMenu" }, outputs: { thyOnActionClick: "thyOnActionClick", thyCollapsedChange: "thyCollapsedChange" }, host: { properties: { "class.thy-menu-group": "this.isThyMenuGroup", "class.has-icon": "this.showIcon", "class.collapsed": "this.isCollapsed" } }, queries: [{ propertyName: "headerContentTemplateRef", first: true, predicate: ["headerContent"], descendants: true }], viewQueries: [{ propertyName: "_thyMenuGroup", first: true, predicate: ["thyMenuGroup"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"thy-menu-group-header\" [ngClass]=\"{ 'thy-menu-group-collapsible': thyCollapsible }\" (click)=\"collapseGroup()\">\n <div class=\"thy-menu-group-header-content\">\n <ng-template *ngIf=\"headerContentTemplateRef; else defaultTitle\" [ngTemplateOutlet]=\"headerContentTemplateRef\"></ng-template>\n <ng-template #defaultTitle>\n <span class=\"thy-menu-group-title\">\n <thy-icon *ngIf=\"showIcon\" class=\"thy-menu-group-title-icon mr-2\" [thyIconName]=\"iconClass\"></thy-icon>\n <span class=\"thy-menu-group-title-text\">{{ thyTitle }}</span>\n </span>\n </ng-template>\n </div>\n <thy-icon\n *ngIf=\"thyShowAction\"\n class=\"thy-menu-group-operation\"\n [thyIconName]=\"rightIconClass\"\n (click)=\"onActionClick($event)\"\n ></thy-icon>\n <thy-icon thyIconName=\"angle-up\" *ngIf=\"thyCollapsible\" class=\"thy-menu-group-arrow\"></thy-icon>\n</div>\n<div class=\"thy-menu-group-body\" #thyMenuGroup [@detailsContentAnimation]=\"isCollapsed\">\n <ng-content></ng-content>\n</div>\n", components: [{ type: i3.ThyIconComponent, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }], directives: [{ type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], animations: [
165
165
  trigger('detailsContentAnimation', [
166
166
  state('void', style({
167
167
  height: '*'
@@ -201,7 +201,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImpor
201
201
  })),
202
202
  transition('* => *', animate('0ms ease-out'))
203
203
  ])
204
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"thy-menu-group-header\" [ngClass]=\"{ 'thy-menu-group-collapsible': thyCollapsible }\" (click)=\"collapseGroup()\">\n <div class=\"thy-menu-group-header-content\">\n <ng-template *ngIf=\"headerContentTemplateRef; else defaultTitle\" [ngTemplateOutlet]=\"headerContentTemplateRef\"></ng-template>\n <ng-template #defaultTitle>\n <span class=\"thy-menu-group-title\">\n <thy-icon *ngIf=\"showIcon\" class=\"thy-menu-group-folder\" [thyIconName]=\"iconClass\"></thy-icon>\n <ng-container>{{ thyTitle }}</ng-container>\n </span>\n </ng-template>\n </div>\n <thy-icon\n *ngIf=\"thyShowAction\"\n class=\"thy-menu-group-operation\"\n [thyIconName]=\"rightIconClass\"\n (click)=\"onActionClick($event)\"\n ></thy-icon>\n <thy-icon thyIconName=\"angle-up\" *ngIf=\"thyCollapsible\" class=\"thy-menu-group-arrow\"></thy-icon>\n</div>\n<div class=\"thy-menu-group-body\" #thyMenuGroup [@detailsContentAnimation]=\"isCollapsed\">\n <ng-content></ng-content>\n</div>\n" }]
204
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"thy-menu-group-header\" [ngClass]=\"{ 'thy-menu-group-collapsible': thyCollapsible }\" (click)=\"collapseGroup()\">\n <div class=\"thy-menu-group-header-content\">\n <ng-template *ngIf=\"headerContentTemplateRef; else defaultTitle\" [ngTemplateOutlet]=\"headerContentTemplateRef\"></ng-template>\n <ng-template #defaultTitle>\n <span class=\"thy-menu-group-title\">\n <thy-icon *ngIf=\"showIcon\" class=\"thy-menu-group-title-icon mr-2\" [thyIconName]=\"iconClass\"></thy-icon>\n <span class=\"thy-menu-group-title-text\">{{ thyTitle }}</span>\n </span>\n </ng-template>\n </div>\n <thy-icon\n *ngIf=\"thyShowAction\"\n class=\"thy-menu-group-operation\"\n [thyIconName]=\"rightIconClass\"\n (click)=\"onActionClick($event)\"\n ></thy-icon>\n <thy-icon thyIconName=\"angle-up\" *ngIf=\"thyCollapsible\" class=\"thy-menu-group-arrow\"></thy-icon>\n</div>\n<div class=\"thy-menu-group-body\" #thyMenuGroup [@detailsContentAnimation]=\"isCollapsed\">\n <ng-content></ng-content>\n</div>\n" }]
205
205
  }], ctorParameters: function () { return [{ type: i1.ThyPopover }, { type: ThyMenuComponent }]; }, propDecorators: { _thyMenuGroup: [{
206
206
  type: ViewChild,
207
207
  args: ['thyMenuGroup', { static: true }]
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-tethys-menu.mjs","sources":["../../../src/menu/divider/menu-divider.component.ts","../../../src/menu/divider/menu-divider.component.html","../../../src/menu/menu.component.ts","../../../src/menu/menu.component.html","../../../src/menu/group/menu-group.component.ts","../../../src/menu/group/menu-group.component.html","../../../src/menu/item/action/menu-item-action.component.ts","../../../src/menu/item/action/menu-item-action.component.html","../../../src/menu/item/icon/menu-item-icon.component.ts","../../../src/menu/item/icon/menu-item-icon.component.html","../../../src/menu/item/menu-item.component.ts","../../../src/menu/item/menu-item.component.html","../../../src/menu/item/name/menu-item-name.component.ts","../../../src/menu/item/name/menu-item-name.component.html","../../../src/menu/menu.module.ts","../../../src/menu/ngx-tethys-menu.ts"],"sourcesContent":["import { Component, OnInit, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'thy-menu-divider,[thy-menu-divider],[thyMenuDivider]',\n templateUrl: './menu-divider.component.html'\n})\nexport class ThyMenuDividerComponent implements OnInit {\n @HostBinding('class.thy-menu-divider') isThyMenuDivider = true;\n\n constructor() {}\n\n ngOnInit(): void {}\n}\n","<ng-content></ng-content>","import { Component, OnInit, HostBinding, ElementRef, Input, Host } from '@angular/core';\nimport { InputBoolean } from 'ngx-tethys/core';\n\nexport type ThyMenuTheme = 'compact' | 'loose' | 'dark';\n\n/**\n * 菜单组件,支持`thy-menu,[thy-menu],[thyMenu]`三种形式\n */\n@Component({\n selector: 'thy-menu,[thy-menu],[thyMenu]',\n templateUrl: './menu.component.html',\n host: {\n class: 'thy-menu',\n '[class.thy-menu-collapsed]': 'thyCollapsed',\n '[class.thy-menu-theme-loose]': 'theme === \"loose\"',\n '[class.thy-menu-theme-dark]': 'theme === \"dark\"'\n }\n})\nexport class ThyMenuComponent implements OnInit {\n theme: ThyMenuTheme = 'compact';\n\n /**\n * 主题,分别为 'compact' | 'loose'\n * @default compact\n */\n @Input() set thyTheme(value: ThyMenuTheme) {\n this.theme = value;\n }\n\n @Input() @InputBoolean() thyCollapsed: boolean;\n\n constructor() {}\n\n ngOnInit(): void {}\n}\n","<ng-content></ng-content>","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { ComponentType } from '@angular/cdk/portal';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnInit,\n Output,\n TemplateRef,\n ViewChild\n} from '@angular/core';\nimport { InputBoolean } from 'ngx-tethys/core';\nimport { ThyPopover } from 'ngx-tethys/popover';\nimport { ThyMenuComponent } from '../menu.component';\n\n/**\n * 菜单分组组件,支持选择器 thy-menu-group, [thy-menu-group],[thyMenuGroup]\n */\n@Component({\n selector: 'thy-menu-group, [thy-menu-group],[thyMenuGroup]',\n templateUrl: './menu-group.component.html',\n animations: [\n trigger('detailsContentAnimation', [\n state(\n 'void',\n style({\n height: '*'\n })\n ),\n state(\n '1',\n style({\n height: 0,\n overflow: 'hidden'\n })\n ),\n state(\n '0',\n style({\n height: '*'\n })\n ),\n transition('* => *', animate('0ms ease-out'))\n ])\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ThyMenuGroupComponent implements OnInit {\n public _actionMenu: ComponentType<any> | TemplateRef<any>;\n\n public rightIconClass = 'more';\n\n public iconClass = 'folder-bold';\n\n public groupHeaderPaddingLeft = 0;\n\n @ViewChild('thyMenuGroup', { static: true }) _thyMenuGroup: ElementRef;\n\n @ContentChild('headerContent')\n headerContentTemplateRef: TemplateRef<any>;\n\n @HostBinding('class.thy-menu-group') isThyMenuGroup = true;\n\n @HostBinding('class.has-icon') showIcon = false;\n\n @HostBinding('class.collapsed') isCollapsed = false;\n\n /**\n * 分组标题\n */\n @Input() thyTitle = '';\n\n /**\n * 已废弃,请使用 thyCollapsed\n * @deprecated\n */\n @Input('thyExpand')\n set thyExpand(value: boolean) {\n this.isCollapsed = !!!value;\n }\n\n /**\n * 是否处于收起状态\n * @default false\n */\n @Input('thyCollapsed')\n @InputBoolean()\n set thyCollapsed(value: boolean) {\n this.isCollapsed = value;\n }\n\n /**\n * 是否支持展开收起\n * @default false\n */\n @Input() @InputBoolean() thyCollapsible: boolean = false;\n\n /**\n * 是否显示 Icon\n */\n @Input('thyShowIcon')\n set thyShowIcon(value: boolean) {\n this.showIcon = value;\n }\n\n /**\n * 图标\n */\n @Input('thyIcon')\n set thyIcon(value: string) {\n this.iconClass = value;\n }\n\n /**\n * 操作图标\n */\n @Input('thyActionIcon')\n set thyActionIcon(value: string) {\n this.rightIconClass = value;\n }\n\n /**\n *是否显示操作\n */\n @Input() thyShowAction = false;\n\n /**\n * 操作阻止冒泡事件\n */\n @Input() thyActionStopPropagation = true;\n\n /**\n * Action 点击事件\n */\n @Output() thyOnActionClick: EventEmitter<Event> = new EventEmitter<Event>();\n\n @Output() thyCollapsedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /**\n * 设置 Action 菜单\n */\n @Input()\n set thyActionMenu(value: ComponentType<any> | TemplateRef<any>) {\n this._actionMenu = value;\n }\n\n constructor(private popover: ThyPopover, public parent: ThyMenuComponent) {}\n\n ngOnInit(): void {}\n\n collapseGroup(): void {\n if (!this.thyCollapsible) {\n return;\n }\n this.isCollapsed = !this.isCollapsed;\n this.thyCollapsedChange.emit(this.isCollapsed);\n }\n\n onActionClick(event: Event): void {\n if (this.thyActionStopPropagation) {\n event.stopPropagation();\n }\n if (this._actionMenu) {\n this.popover.open(this._actionMenu, {\n origin: event.currentTarget as HTMLElement,\n insideClosable: true,\n placement: 'bottom'\n });\n } else {\n this.thyOnActionClick.emit(event);\n }\n }\n}\n","<div class=\"thy-menu-group-header\" [ngClass]=\"{ 'thy-menu-group-collapsible': thyCollapsible }\" (click)=\"collapseGroup()\">\n <div class=\"thy-menu-group-header-content\">\n <ng-template *ngIf=\"headerContentTemplateRef; else defaultTitle\" [ngTemplateOutlet]=\"headerContentTemplateRef\"></ng-template>\n <ng-template #defaultTitle>\n <span class=\"thy-menu-group-title\">\n <thy-icon *ngIf=\"showIcon\" class=\"thy-menu-group-folder\" [thyIconName]=\"iconClass\"></thy-icon>\n <ng-container>{{ thyTitle }}</ng-container>\n </span>\n </ng-template>\n </div>\n <thy-icon\n *ngIf=\"thyShowAction\"\n class=\"thy-menu-group-operation\"\n [thyIconName]=\"rightIconClass\"\n (click)=\"onActionClick($event)\"\n ></thy-icon>\n <thy-icon thyIconName=\"angle-up\" *ngIf=\"thyCollapsible\" class=\"thy-menu-group-arrow\"></thy-icon>\n</div>\n<div class=\"thy-menu-group-body\" #thyMenuGroup [@detailsContentAnimation]=\"isCollapsed\">\n <ng-content></ng-content>\n</div>\n","import { ComponentType } from '@angular/cdk/portal';\nimport { Component, ElementRef, Input, OnDestroy, Renderer2, TemplateRef } from '@angular/core';\nimport { ThyPopover } from 'ngx-tethys/popover';\n\n/**\n * 菜单项操作组件\n */\n@Component({\n selector: 'thy-menu-item-action,[thy-menu-item-action],[thyMenuItemAction]',\n templateUrl: './menu-item-action.component.html',\n host: {\n class: 'thy-menu-item-action'\n }\n})\nexport class ThyMenuItemActionComponent implements OnDestroy {\n _boundEvent = false;\n\n _actionMenu: ComponentType<any> | TemplateRef<any>;\n\n /**\n * 设置 Action 菜单\n */\n @Input()\n set thyActionMenu(value: ComponentType<any> | TemplateRef<any>) {\n this._actionMenu = value;\n if (this._actionMenu) {\n this.bindClickEvent();\n }\n }\n\n @Input() thyStopPropagation = true;\n\n private bindClickEvent() {\n if (this._boundEvent) {\n return;\n }\n this._boundEvent = true;\n this.removeClickListenerFn = this.renderer.listen(this.elementRef.nativeElement, 'click', event => {\n if (this.thyStopPropagation) {\n event.stopPropagation();\n }\n if (this._actionMenu) {\n this.popover.open(this._actionMenu, {\n origin: event.currentTarget as HTMLElement,\n insideClosable: true,\n placement: 'bottom'\n });\n }\n });\n }\n\n private removeClickListenerFn: VoidFunction | null = null;\n\n constructor(private popover: ThyPopover, private renderer: Renderer2, private elementRef: ElementRef) {}\n\n ngOnDestroy(): void {\n this.removeClickListenerFn?.();\n }\n}\n","<ng-content></ng-content>","import { Component, OnInit, HostBinding, Input, ElementRef, Renderer2, ChangeDetectionStrategy } from '@angular/core';\n\n/**\n * 菜单项图标组件\n */\n@Component({\n selector: 'thy-menu-item-icon,[thy-menu-item-icon],[thyMenuItemIcon]',\n templateUrl: './menu-item-icon.component.html',\n host: {\n class: 'thy-menu-item-icon'\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ThyMenuItemIconComponent implements OnInit {\n /**\n * 设置图标颜色\n */\n @Input()\n set thyColor(value: string) {\n if (value) {\n this.renderer.setStyle(this.elementRef.nativeElement, 'color', value);\n }\n }\n\n constructor(private elementRef: ElementRef, private renderer: Renderer2) {}\n\n ngOnInit(): void {}\n}\n","<ng-content></ng-content>","import { Component, OnInit, AfterViewInit, ChangeDetectionStrategy, Input, Renderer2, ElementRef, ViewChild } from '@angular/core';\n\n/**\n * 菜单项组件,支持 thy-menu-item,[thy-menu-item],[thyMenuItem] 使用\n */\n@Component({\n selector: 'thy-menu-item,[thy-menu-item],[thyMenuItem]',\n templateUrl: './menu-item.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'thy-menu-item'\n }\n})\nexport class ThyMenuItemComponent implements OnInit, AfterViewInit {\n @ViewChild('content', { read: ElementRef }) content: ElementRef<HTMLElement>;\n /**\n * 菜单项的图标\n */\n @Input() thyIcon: string;\n\n constructor(private renderer: Renderer2, private elementRef: ElementRef<HTMLElement>) {}\n\n ngOnInit(): void {}\n\n ngAfterViewInit() {\n this.wrapSpanForText(this.content.nativeElement.childNodes);\n }\n\n private wrapSpanForText(nodes: NodeList): void {\n nodes.forEach(node => {\n if (node.nodeName === '#text') {\n const span = this.renderer.createElement('span');\n const parent = this.renderer.parentNode(node);\n this.renderer.addClass(span, 'thy-menu-item-name');\n this.renderer.insertBefore(parent, span, node);\n this.renderer.appendChild(span, node);\n }\n });\n }\n}\n","<div class=\"thy-menu-item-content\" #content>\n <thy-icon *ngIf=\"thyIcon\" class=\"thy-menu-item-icon\" [thyIconName]=\"thyIcon\"></thy-icon>\n <ng-content></ng-content>\n</div>\n","import { Component, OnInit, HostBinding, Input } from '@angular/core';\n\n/**\n * 菜单项名称\n */\n@Component({\n selector: 'thy-menu-item-name,[thy-menu-item-name],[thyMenuItemName]',\n templateUrl: './menu-item-name.component.html',\n host: {\n class: 'thy-menu-item-name'\n }\n})\nexport class ThyMenuItemNameComponent implements OnInit {\n /**\n * 是否 ellipsis,默认 true\n */\n @HostBinding('class.thy-menu-item-name-ellipsis')\n @Input()\n thyOverflowEllipsis = true;\n\n constructor() {}\n\n ngOnInit(): void {}\n}\n","<ng-content></ng-content>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThyPopoverModule } from 'ngx-tethys/popover';\nimport { ThyMenuDividerComponent } from './divider/menu-divider.component';\nimport { ThyMenuGroupComponent } from './group/menu-group.component';\nimport { ThyMenuItemActionComponent } from './item/action/menu-item-action.component';\nimport { ThyMenuItemIconComponent } from './item/icon/menu-item-icon.component';\nimport { ThyMenuItemComponent } from './item/menu-item.component';\nimport { ThyMenuItemNameComponent } from './item/name/menu-item-name.component';\nimport { ThyMenuComponent } from './menu.component';\n\n@NgModule({\n declarations: [\n ThyMenuComponent,\n ThyMenuGroupComponent,\n ThyMenuItemComponent,\n ThyMenuItemNameComponent,\n ThyMenuItemIconComponent,\n ThyMenuItemActionComponent,\n ThyMenuDividerComponent\n ],\n imports: [CommonModule, ThyIconModule, ThyPopoverModule],\n exports: [\n ThyMenuComponent,\n ThyMenuGroupComponent,\n ThyMenuItemComponent,\n ThyMenuItemNameComponent,\n ThyMenuItemIconComponent,\n ThyMenuItemActionComponent,\n ThyMenuDividerComponent\n ]\n})\nexport class ThyMenuModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.ThyMenuComponent","i1","i2"],"mappings":"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"}
1
+ {"version":3,"file":"ngx-tethys-menu.mjs","sources":["../../../src/menu/divider/menu-divider.component.ts","../../../src/menu/divider/menu-divider.component.html","../../../src/menu/menu.component.ts","../../../src/menu/menu.component.html","../../../src/menu/group/menu-group.component.ts","../../../src/menu/group/menu-group.component.html","../../../src/menu/item/action/menu-item-action.component.ts","../../../src/menu/item/action/menu-item-action.component.html","../../../src/menu/item/icon/menu-item-icon.component.ts","../../../src/menu/item/icon/menu-item-icon.component.html","../../../src/menu/item/menu-item.component.ts","../../../src/menu/item/menu-item.component.html","../../../src/menu/item/name/menu-item-name.component.ts","../../../src/menu/item/name/menu-item-name.component.html","../../../src/menu/menu.module.ts","../../../src/menu/ngx-tethys-menu.ts"],"sourcesContent":["import { Component, OnInit, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'thy-menu-divider,[thy-menu-divider],[thyMenuDivider]',\n templateUrl: './menu-divider.component.html'\n})\nexport class ThyMenuDividerComponent implements OnInit {\n @HostBinding('class.thy-menu-divider') isThyMenuDivider = true;\n\n constructor() {}\n\n ngOnInit(): void {}\n}\n","<ng-content></ng-content>","import { Component, OnInit, HostBinding, ElementRef, Input, Host } from '@angular/core';\nimport { InputBoolean } from 'ngx-tethys/core';\n\nexport type ThyMenuTheme = 'compact' | 'loose' | 'dark';\n\n/**\n * 菜单组件,支持`thy-menu,[thy-menu],[thyMenu]`三种形式\n */\n@Component({\n selector: 'thy-menu,[thy-menu],[thyMenu]',\n templateUrl: './menu.component.html',\n host: {\n class: 'thy-menu',\n '[class.thy-menu-collapsed]': 'thyCollapsed',\n '[class.thy-menu-theme-loose]': 'theme === \"loose\"',\n '[class.thy-menu-theme-dark]': 'theme === \"dark\"'\n }\n})\nexport class ThyMenuComponent implements OnInit {\n theme: ThyMenuTheme = 'compact';\n\n /**\n * 主题,分别为 'compact' | 'loose'\n * @default compact\n */\n @Input() set thyTheme(value: ThyMenuTheme) {\n this.theme = value;\n }\n\n @Input() @InputBoolean() thyCollapsed: boolean;\n\n constructor() {}\n\n ngOnInit(): void {}\n}\n","<ng-content></ng-content>","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { ComponentType } from '@angular/cdk/portal';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnInit,\n Output,\n TemplateRef,\n ViewChild\n} from '@angular/core';\nimport { InputBoolean } from 'ngx-tethys/core';\nimport { ThyPopover } from 'ngx-tethys/popover';\nimport { ThyMenuComponent } from '../menu.component';\n\n/**\n * 菜单分组组件,支持选择器 thy-menu-group, [thy-menu-group],[thyMenuGroup]\n */\n@Component({\n selector: 'thy-menu-group, [thy-menu-group],[thyMenuGroup]',\n templateUrl: './menu-group.component.html',\n animations: [\n trigger('detailsContentAnimation', [\n state(\n 'void',\n style({\n height: '*'\n })\n ),\n state(\n '1',\n style({\n height: 0,\n overflow: 'hidden'\n })\n ),\n state(\n '0',\n style({\n height: '*'\n })\n ),\n transition('* => *', animate('0ms ease-out'))\n ])\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ThyMenuGroupComponent implements OnInit {\n public _actionMenu: ComponentType<any> | TemplateRef<any>;\n\n public rightIconClass = 'more';\n\n public iconClass = 'folder-bold';\n\n public groupHeaderPaddingLeft = 0;\n\n @ViewChild('thyMenuGroup', { static: true }) _thyMenuGroup: ElementRef;\n\n @ContentChild('headerContent')\n headerContentTemplateRef: TemplateRef<any>;\n\n @HostBinding('class.thy-menu-group') isThyMenuGroup = true;\n\n @HostBinding('class.has-icon') showIcon = false;\n\n @HostBinding('class.collapsed') isCollapsed = false;\n\n /**\n * 分组标题\n */\n @Input() thyTitle = '';\n\n /**\n * 已废弃,请使用 thyCollapsed\n * @deprecated\n */\n @Input('thyExpand')\n set thyExpand(value: boolean) {\n this.isCollapsed = !!!value;\n }\n\n /**\n * 是否处于收起状态\n * @default false\n */\n @Input('thyCollapsed')\n @InputBoolean()\n set thyCollapsed(value: boolean) {\n this.isCollapsed = value;\n }\n\n /**\n * 是否支持展开收起\n * @default false\n */\n @Input() @InputBoolean() thyCollapsible: boolean = false;\n\n /**\n * 是否显示 Icon\n */\n @Input('thyShowIcon')\n set thyShowIcon(value: boolean) {\n this.showIcon = value;\n }\n\n /**\n * 图标\n */\n @Input('thyIcon')\n set thyIcon(value: string) {\n this.iconClass = value;\n }\n\n /**\n * 操作图标\n */\n @Input('thyActionIcon')\n set thyActionIcon(value: string) {\n this.rightIconClass = value;\n }\n\n /**\n *是否显示操作\n */\n @Input() thyShowAction = false;\n\n /**\n * 操作阻止冒泡事件\n */\n @Input() thyActionStopPropagation = true;\n\n /**\n * Action 点击事件\n */\n @Output() thyOnActionClick: EventEmitter<Event> = new EventEmitter<Event>();\n\n @Output() thyCollapsedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /**\n * 设置 Action 菜单\n */\n @Input()\n set thyActionMenu(value: ComponentType<any> | TemplateRef<any>) {\n this._actionMenu = value;\n }\n\n constructor(private popover: ThyPopover, public parent: ThyMenuComponent) {}\n\n ngOnInit(): void {}\n\n collapseGroup(): void {\n if (!this.thyCollapsible) {\n return;\n }\n this.isCollapsed = !this.isCollapsed;\n this.thyCollapsedChange.emit(this.isCollapsed);\n }\n\n onActionClick(event: Event): void {\n if (this.thyActionStopPropagation) {\n event.stopPropagation();\n }\n if (this._actionMenu) {\n this.popover.open(this._actionMenu, {\n origin: event.currentTarget as HTMLElement,\n insideClosable: true,\n placement: 'bottom'\n });\n } else {\n this.thyOnActionClick.emit(event);\n }\n }\n}\n","<div class=\"thy-menu-group-header\" [ngClass]=\"{ 'thy-menu-group-collapsible': thyCollapsible }\" (click)=\"collapseGroup()\">\n <div class=\"thy-menu-group-header-content\">\n <ng-template *ngIf=\"headerContentTemplateRef; else defaultTitle\" [ngTemplateOutlet]=\"headerContentTemplateRef\"></ng-template>\n <ng-template #defaultTitle>\n <span class=\"thy-menu-group-title\">\n <thy-icon *ngIf=\"showIcon\" class=\"thy-menu-group-title-icon mr-2\" [thyIconName]=\"iconClass\"></thy-icon>\n <span class=\"thy-menu-group-title-text\">{{ thyTitle }}</span>\n </span>\n </ng-template>\n </div>\n <thy-icon\n *ngIf=\"thyShowAction\"\n class=\"thy-menu-group-operation\"\n [thyIconName]=\"rightIconClass\"\n (click)=\"onActionClick($event)\"\n ></thy-icon>\n <thy-icon thyIconName=\"angle-up\" *ngIf=\"thyCollapsible\" class=\"thy-menu-group-arrow\"></thy-icon>\n</div>\n<div class=\"thy-menu-group-body\" #thyMenuGroup [@detailsContentAnimation]=\"isCollapsed\">\n <ng-content></ng-content>\n</div>\n","import { ComponentType } from '@angular/cdk/portal';\nimport { Component, ElementRef, Input, OnDestroy, Renderer2, TemplateRef } from '@angular/core';\nimport { ThyPopover } from 'ngx-tethys/popover';\n\n/**\n * 菜单项操作组件\n */\n@Component({\n selector: 'thy-menu-item-action,[thy-menu-item-action],[thyMenuItemAction]',\n templateUrl: './menu-item-action.component.html',\n host: {\n class: 'thy-menu-item-action'\n }\n})\nexport class ThyMenuItemActionComponent implements OnDestroy {\n _boundEvent = false;\n\n _actionMenu: ComponentType<any> | TemplateRef<any>;\n\n /**\n * 设置 Action 菜单\n */\n @Input()\n set thyActionMenu(value: ComponentType<any> | TemplateRef<any>) {\n this._actionMenu = value;\n if (this._actionMenu) {\n this.bindClickEvent();\n }\n }\n\n @Input() thyStopPropagation = true;\n\n private bindClickEvent() {\n if (this._boundEvent) {\n return;\n }\n this._boundEvent = true;\n this.removeClickListenerFn = this.renderer.listen(this.elementRef.nativeElement, 'click', event => {\n if (this.thyStopPropagation) {\n event.stopPropagation();\n }\n if (this._actionMenu) {\n this.popover.open(this._actionMenu, {\n origin: event.currentTarget as HTMLElement,\n insideClosable: true,\n placement: 'bottom'\n });\n }\n });\n }\n\n private removeClickListenerFn: VoidFunction | null = null;\n\n constructor(private popover: ThyPopover, private renderer: Renderer2, private elementRef: ElementRef) {}\n\n ngOnDestroy(): void {\n this.removeClickListenerFn?.();\n }\n}\n","<ng-content></ng-content>","import { Component, OnInit, HostBinding, Input, ElementRef, Renderer2, ChangeDetectionStrategy } from '@angular/core';\n\n/**\n * 菜单项图标组件\n */\n@Component({\n selector: 'thy-menu-item-icon,[thy-menu-item-icon],[thyMenuItemIcon]',\n templateUrl: './menu-item-icon.component.html',\n host: {\n class: 'thy-menu-item-icon'\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ThyMenuItemIconComponent implements OnInit {\n /**\n * 设置图标颜色\n */\n @Input()\n set thyColor(value: string) {\n if (value) {\n this.renderer.setStyle(this.elementRef.nativeElement, 'color', value);\n }\n }\n\n constructor(private elementRef: ElementRef, private renderer: Renderer2) {}\n\n ngOnInit(): void {}\n}\n","<ng-content></ng-content>","import { Component, OnInit, AfterViewInit, ChangeDetectionStrategy, Input, Renderer2, ElementRef, ViewChild } from '@angular/core';\n\n/**\n * 菜单项组件,支持 thy-menu-item,[thy-menu-item],[thyMenuItem] 使用\n */\n@Component({\n selector: 'thy-menu-item,[thy-menu-item],[thyMenuItem]',\n templateUrl: './menu-item.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'thy-menu-item'\n }\n})\nexport class ThyMenuItemComponent implements OnInit, AfterViewInit {\n @ViewChild('content', { read: ElementRef }) content: ElementRef<HTMLElement>;\n /**\n * 菜单项的图标\n */\n @Input() thyIcon: string;\n\n constructor(private renderer: Renderer2, private elementRef: ElementRef<HTMLElement>) {}\n\n ngOnInit(): void {}\n\n ngAfterViewInit() {\n this.wrapSpanForText(this.content.nativeElement.childNodes);\n }\n\n private wrapSpanForText(nodes: NodeList): void {\n nodes.forEach(node => {\n if (node.nodeName === '#text') {\n const span = this.renderer.createElement('span');\n const parent = this.renderer.parentNode(node);\n this.renderer.addClass(span, 'thy-menu-item-name');\n this.renderer.insertBefore(parent, span, node);\n this.renderer.appendChild(span, node);\n }\n });\n }\n}\n","<div class=\"thy-menu-item-content\" #content>\n <thy-icon *ngIf=\"thyIcon\" class=\"thy-menu-item-icon\" [thyIconName]=\"thyIcon\"></thy-icon>\n <ng-content></ng-content>\n</div>\n","import { Component, OnInit, HostBinding, Input } from '@angular/core';\n\n/**\n * 菜单项名称\n */\n@Component({\n selector: 'thy-menu-item-name,[thy-menu-item-name],[thyMenuItemName]',\n templateUrl: './menu-item-name.component.html',\n host: {\n class: 'thy-menu-item-name'\n }\n})\nexport class ThyMenuItemNameComponent implements OnInit {\n /**\n * 是否 ellipsis,默认 true\n */\n @HostBinding('class.thy-menu-item-name-ellipsis')\n @Input()\n thyOverflowEllipsis = true;\n\n constructor() {}\n\n ngOnInit(): void {}\n}\n","<ng-content></ng-content>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThyPopoverModule } from 'ngx-tethys/popover';\nimport { ThyMenuDividerComponent } from './divider/menu-divider.component';\nimport { ThyMenuGroupComponent } from './group/menu-group.component';\nimport { ThyMenuItemActionComponent } from './item/action/menu-item-action.component';\nimport { ThyMenuItemIconComponent } from './item/icon/menu-item-icon.component';\nimport { ThyMenuItemComponent } from './item/menu-item.component';\nimport { ThyMenuItemNameComponent } from './item/name/menu-item-name.component';\nimport { ThyMenuComponent } from './menu.component';\n\n@NgModule({\n declarations: [\n ThyMenuComponent,\n ThyMenuGroupComponent,\n ThyMenuItemComponent,\n ThyMenuItemNameComponent,\n ThyMenuItemIconComponent,\n ThyMenuItemActionComponent,\n ThyMenuDividerComponent\n ],\n imports: [CommonModule, ThyIconModule, ThyPopoverModule],\n exports: [\n ThyMenuComponent,\n ThyMenuGroupComponent,\n ThyMenuItemComponent,\n ThyMenuItemNameComponent,\n ThyMenuItemIconComponent,\n ThyMenuItemActionComponent,\n ThyMenuDividerComponent\n ]\n})\nexport class ThyMenuModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.ThyMenuComponent","i1","i2"],"mappings":";;;;;;;;;;;;MAMa,uBAAuB,CAAA;AAGhC,IAAA,WAAA,GAAA;AAFuC,QAAA,IAAgB,CAAA,gBAAA,GAAG,IAAI,CAAC;KAE/C;AAEhB,IAAA,QAAQ,MAAW;;oHALV,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,yKCNpC,2BAAyB,EAAA,CAAA,CAAA;2FDMZ,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAJnC,SAAS;+BACI,sDAAsD,EAAA,QAAA,EAAA,2BAAA,EAAA,CAAA;0EAIzB,gBAAgB,EAAA,CAAA;sBAAtD,WAAW;uBAAC,wBAAwB,CAAA;;;AEFzC;;AAEG;MAWU,gBAAgB,CAAA;AAazB,IAAA,WAAA,GAAA;AAZA,QAAA,IAAK,CAAA,KAAA,GAAiB,SAAS,CAAC;KAYhB;AAVhB;;;AAGG;IACH,IAAa,QAAQ,CAAC,KAAmB,EAAA;AACrC,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;KACtB;AAMD,IAAA,QAAQ,MAAW;;6GAfV,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhB,gBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,+UClB7B,2BAAyB,EAAA,CAAA,CAAA;AD6BI,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;;CAAuB,EAAA,gBAAA,CAAA,SAAA,EAAA,cAAA,EAAA,KAAA,CAAA,CAAA,CAAA;2FAXtC,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAV5B,SAAS;YACI,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,+BAA+B,EAEnC,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,UAAU;AACjB,wBAAA,4BAA4B,EAAE,cAAc;AAC5C,wBAAA,8BAA8B,EAAE,mBAAmB;AACnD,wBAAA,6BAA6B,EAAE,kBAAkB;AACpD,qBAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,CAAA;0EASY,QAAQ,EAAA,CAAA;sBAApB,KAAK;gBAImB,YAAY,EAAA,CAAA;sBAApC,KAAK;;;AEVV;;AAEG;MA8BU,qBAAqB,CAAA;IAmG9B,WAAoB,CAAA,OAAmB,EAAS,MAAwB,EAAA;AAApD,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAY;AAAS,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAkB;AAhGjE,QAAA,IAAc,CAAA,cAAA,GAAG,MAAM,CAAC;AAExB,QAAA,IAAS,CAAA,SAAA,GAAG,aAAa,CAAC;AAE1B,QAAA,IAAsB,CAAA,sBAAA,GAAG,CAAC,CAAC;AAOG,QAAA,IAAc,CAAA,cAAA,GAAG,IAAI,CAAC;AAE5B,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AAEhB,QAAA,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;AAEpD;;AAEG;AACM,QAAA,IAAQ,CAAA,QAAA,GAAG,EAAE,CAAC;AAqBvB;;;AAGG;AACsB,QAAA,IAAc,CAAA,cAAA,GAAY,KAAK,CAAC;AA0BzD;;AAEG;AACM,QAAA,IAAa,CAAA,aAAA,GAAG,KAAK,CAAC;AAE/B;;AAEG;AACM,QAAA,IAAwB,CAAA,wBAAA,GAAG,IAAI,CAAC;AAEzC;;AAEG;AACO,QAAA,IAAA,CAAA,gBAAgB,GAAwB,IAAI,YAAY,EAAS,CAAC;AAElE,QAAA,IAAA,CAAA,kBAAkB,GAA0B,IAAI,YAAY,EAAW,CAAC;KAUN;AA1E5E;;;AAGG;IACH,IACI,SAAS,CAAC,KAAc,EAAA;AACxB,QAAA,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;KAC/B;AAED;;;AAGG;IAGH,IAAI,YAAY,CAAC,KAAc,EAAA;AAC3B,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;KAC5B;AAQD;;AAEG;IACH,IACI,WAAW,CAAC,KAAc,EAAA;AAC1B,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;KACzB;AAED;;AAEG;IACH,IACI,OAAO,CAAC,KAAa,EAAA;AACrB,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;KAC1B;AAED;;AAEG;IACH,IACI,aAAa,CAAC,KAAa,EAAA;AAC3B,QAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;KAC/B;AAmBD;;AAEG;IACH,IACI,aAAa,CAAC,KAA4C,EAAA;AAC1D,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;KAC5B;AAID,IAAA,QAAQ,MAAW;IAEnB,aAAa,GAAA;AACT,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACtB,OAAO;AACV,SAAA;AACD,QAAA,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;KAClD;AAED,IAAA,aAAa,CAAC,KAAY,EAAA;QACtB,IAAI,IAAI,CAAC,wBAAwB,EAAE;YAC/B,KAAK,CAAC,eAAe,EAAE,CAAC;AAC3B,SAAA;QACD,IAAI,IAAI,CAAC,WAAW,EAAE;YAClB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;gBAChC,MAAM,EAAE,KAAK,CAAC,aAA4B;AAC1C,gBAAA,cAAc,EAAE,IAAI;AACpB,gBAAA,SAAS,EAAE,QAAQ;AACtB,aAAA,CAAC,CAAC;AACN,SAAA;AAAM,aAAA;AACH,YAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACrC,SAAA;KACJ;;kHA5HQ,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;sGAArB,qBAAqB,EAAA,QAAA,EAAA,iDAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,YAAA,EAAA,cAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,OAAA,EAAA,SAAA,EAAA,aAAA,EAAA,eAAA,EAAA,aAAA,EAAA,eAAA,EAAA,wBAAA,EAAA,0BAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,OAAA,EAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,sBAAA,EAAA,qBAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,0BAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,eAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,eAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,cAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECnDlC,2hCAqBA,EDIgB,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,uBAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA;QACR,OAAO,CAAC,yBAAyB,EAAE;AAC/B,YAAA,KAAK,CACD,MAAM,EACN,KAAK,CAAC;AACF,gBAAA,MAAM,EAAE,GAAG;AACd,aAAA,CAAC,CACL;AACD,YAAA,KAAK,CACD,GAAG,EACH,KAAK,CAAC;AACF,gBAAA,MAAM,EAAE,CAAC;AACT,gBAAA,QAAQ,EAAE,QAAQ;AACrB,aAAA,CAAC,CACL;AACD,YAAA,KAAK,CACD,GAAG,EACH,KAAK,CAAC;AACF,gBAAA,MAAM,EAAE,GAAG;AACd,aAAA,CAAC,CACL;AACD,YAAA,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;SAChD,CAAC;KACL,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;AA2CD,UAAA,CAAA;AADC,IAAA,YAAY,EAAE;;;CAGd,EAAA,qBAAA,CAAA,SAAA,EAAA,cAAA,EAAA,IAAA,CAAA,CAAA;AAMwB,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;;CAAiC,EAAA,qBAAA,CAAA,SAAA,EAAA,gBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;2FAhDhD,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBA7BjC,SAAS;YACI,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iDAAiD,EAE/C,UAAA,EAAA;wBACR,OAAO,CAAC,yBAAyB,EAAE;AAC/B,4BAAA,KAAK,CACD,MAAM,EACN,KAAK,CAAC;AACF,gCAAA,MAAM,EAAE,GAAG;AACd,6BAAA,CAAC,CACL;AACD,4BAAA,KAAK,CACD,GAAG,EACH,KAAK,CAAC;AACF,gCAAA,MAAM,EAAE,CAAC;AACT,gCAAA,QAAQ,EAAE,QAAQ;AACrB,6BAAA,CAAC,CACL;AACD,4BAAA,KAAK,CACD,GAAG,EACH,KAAK,CAAC;AACF,gCAAA,MAAM,EAAE,GAAG;AACd,6BAAA,CAAC,CACL;AACD,4BAAA,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;yBAChD,CAAC;qBACL,EACgB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,2hCAAA,EAAA,CAAA;6HAWF,aAAa,EAAA,CAAA;sBAAzD,SAAS;gBAAC,IAAA,EAAA,CAAA,cAAc,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBAG3C,wBAAwB,EAAA,CAAA;sBADvB,YAAY;uBAAC,eAAe,CAAA;gBAGQ,cAAc,EAAA,CAAA;sBAAlD,WAAW;uBAAC,sBAAsB,CAAA;gBAEJ,QAAQ,EAAA,CAAA;sBAAtC,WAAW;uBAAC,gBAAgB,CAAA;gBAEG,WAAW,EAAA,CAAA;sBAA1C,WAAW;uBAAC,iBAAiB,CAAA;gBAKrB,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAOF,SAAS,EAAA,CAAA;sBADZ,KAAK;uBAAC,WAAW,CAAA;gBAWd,YAAY,EAAA,CAAA;sBAFf,KAAK;uBAAC,cAAc,CAAA;gBAUI,cAAc,EAAA,CAAA;sBAAtC,KAAK;gBAMF,WAAW,EAAA,CAAA;sBADd,KAAK;uBAAC,aAAa,CAAA;gBAShB,OAAO,EAAA,CAAA;sBADV,KAAK;uBAAC,SAAS,CAAA;gBASZ,aAAa,EAAA,CAAA;sBADhB,KAAK;uBAAC,eAAe,CAAA;gBAQb,aAAa,EAAA,CAAA;sBAArB,KAAK;gBAKG,wBAAwB,EAAA,CAAA;sBAAhC,KAAK;gBAKI,gBAAgB,EAAA,CAAA;sBAAzB,MAAM;gBAEG,kBAAkB,EAAA,CAAA;sBAA3B,MAAM;gBAMH,aAAa,EAAA,CAAA;sBADhB,KAAK;;;AE7IV;;AAEG;MAQU,0BAA0B,CAAA;AAuCnC,IAAA,WAAA,CAAoB,OAAmB,EAAU,QAAmB,EAAU,UAAsB,EAAA;AAAhF,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAY;AAAU,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAtCpG,QAAA,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;AAeX,QAAA,IAAkB,CAAA,kBAAA,GAAG,IAAI,CAAC;AAqB3B,QAAA,IAAqB,CAAA,qBAAA,GAAwB,IAAI,CAAC;KAE8C;AAlCxG;;AAEG;IACH,IACI,aAAa,CAAC,KAA4C,EAAA;AAC1D,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,IAAI,CAAC,WAAW,EAAE;YAClB,IAAI,CAAC,cAAc,EAAE,CAAC;AACzB,SAAA;KACJ;IAIO,cAAc,GAAA;QAClB,IAAI,IAAI,CAAC,WAAW,EAAE;YAClB,OAAO;AACV,SAAA;AACD,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;AACxB,QAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,OAAO,EAAE,KAAK,IAAG;YAC9F,IAAI,IAAI,CAAC,kBAAkB,EAAE;gBACzB,KAAK,CAAC,eAAe,EAAE,CAAC;AAC3B,aAAA;YACD,IAAI,IAAI,CAAC,WAAW,EAAE;gBAClB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;oBAChC,MAAM,EAAE,KAAK,CAAC,aAA4B;AAC1C,oBAAA,cAAc,EAAE,IAAI;AACpB,oBAAA,SAAS,EAAE,QAAQ;AACtB,iBAAA,CAAC,CAAC;AACN,aAAA;AACL,SAAC,CAAC,CAAC;KACN;IAMD,WAAW,GAAA;;AACP,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,qBAAqB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,IAAA,CAAI,CAAC;KAClC;;uHA3CQ,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,0BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,0BAA0B,+OCdvC,2BAAyB,EAAA,CAAA,CAAA;2FDcZ,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAPtC,SAAS;YACI,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iEAAiE,EAErE,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,sBAAsB;AAChC,qBAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,CAAA;kJAWG,aAAa,EAAA,CAAA;sBADhB,KAAK;gBAQG,kBAAkB,EAAA,CAAA;sBAA1B,KAAK;;;AE5BV;;AAEG;MASU,wBAAwB,CAAA;IAWjC,WAAoB,CAAA,UAAsB,EAAU,QAAmB,EAAA;AAAnD,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAAU,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;KAAI;AAV3E;;AAEG;IACH,IACI,QAAQ,CAAC,KAAa,EAAA;AACtB,QAAA,IAAI,KAAK,EAAE;AACP,YAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;AACzE,SAAA;KACJ;AAID,IAAA,QAAQ,MAAW;;qHAbV,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,mLCbrC,2BAAyB,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FDaZ,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBARpC,SAAS;YACI,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,2DAA2D,EAE/D,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,oBAAoB;qBAC9B,EACgB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,2BAAA,EAAA,CAAA;yHAO3C,QAAQ,EAAA,CAAA;sBADX,KAAK;;;AEfV;;AAEG;MASU,oBAAoB,CAAA;IAO7B,WAAoB,CAAA,QAAmB,EAAU,UAAmC,EAAA;AAAhE,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAyB;KAAI;AAExF,IAAA,QAAQ,MAAW;IAEnB,eAAe,GAAA;QACX,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;KAC/D;AAEO,IAAA,eAAe,CAAC,KAAe,EAAA;AACnC,QAAA,KAAK,CAAC,OAAO,CAAC,IAAI,IAAG;AACjB,YAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,EAAE;gBAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;gBACjD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBAC9C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;gBACnD,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC/C,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACzC,aAAA;AACL,SAAC,CAAC,CAAC;KACN;;iHAzBQ,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;qGAApB,oBAAoB,EAAA,QAAA,EAAA,6CAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,eAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EACC,UAAU,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECd5C,yLAIA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,uBAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FDSa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBARhC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,6CAA6C,EAEtC,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,eAAe;AACzB,qBAAA,EAAA,QAAA,EAAA,yLAAA,EAAA,CAAA;yHAG2C,OAAO,EAAA,CAAA;sBAAlD,SAAS;gBAAC,IAAA,EAAA,CAAA,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAA;gBAIjC,OAAO,EAAA,CAAA;sBAAf,KAAK;;;AEhBV;;AAEG;MAQU,wBAAwB,CAAA;AAQjC,IAAA,WAAA,GAAA;AAPA;;AAEG;AAGH,QAAA,IAAmB,CAAA,mBAAA,GAAG,IAAI,CAAC;KAEX;AAEhB,IAAA,QAAQ,MAAW;;qHAVV,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,0RCZrC,2BAAyB,EAAA,CAAA,CAAA;2FDYZ,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAPpC,SAAS;YACI,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,2DAA2D,EAE/D,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,oBAAoB;AAC9B,qBAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,CAAA;0EAQD,mBAAmB,EAAA,CAAA;sBAFlB,WAAW;uBAAC,mCAAmC,CAAA;;sBAC/C,KAAK;;;MEgBG,aAAa,CAAA;;0GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAb,aAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,iBAnBlB,gBAAgB;QAChB,qBAAqB;QACrB,oBAAoB;QACpB,wBAAwB;QACxB,wBAAwB;QACxB,0BAA0B;AAC1B,QAAA,uBAAuB,aAEjB,YAAY,EAAE,aAAa,EAAE,gBAAgB,aAEnD,gBAAgB;QAChB,qBAAqB;QACrB,oBAAoB;QACpB,wBAAwB;QACxB,wBAAwB;QACxB,0BAA0B;QAC1B,uBAAuB,CAAA,EAAA,CAAA,CAAA;AAGlB,aAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,YAXb,CAAC,YAAY,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAA,EAAA,CAAA,CAAA;2FAW/C,aAAa,EAAA,UAAA,EAAA,CAAA;kBArBzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,YAAY,EAAE;wBACV,gBAAgB;wBAChB,qBAAqB;wBACrB,oBAAoB;wBACpB,wBAAwB;wBACxB,wBAAwB;wBACxB,0BAA0B;wBAC1B,uBAAuB;AAC1B,qBAAA;AACD,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,gBAAgB,CAAC;AACxD,oBAAA,OAAO,EAAE;wBACL,gBAAgB;wBAChB,qBAAqB;wBACrB,oBAAoB;wBACpB,wBAAwB;wBACxB,wBAAwB;wBACxB,0BAA0B;wBAC1B,uBAAuB;AAC1B,qBAAA;iBACJ,CAAA;;;AChCD;;AAEG;;;;"}