@seniorsistemas/data-seniorx-core 3.2.0 → 3.3.0
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/core/types/tree.type.d.ts +1 -0
- package/esm2022/core/types/tree.type.mjs +1 -1
- package/esm2022/features/tree/components/tree-node-item/tree-node-item.component.mjs +3 -3
- package/fesm2022/seniorsistemas-data-seniorx-core.mjs +2 -2
- package/fesm2022/seniorsistemas-data-seniorx-core.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9jb3JlL3R5cGVzL3RyZWUudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBUcmVlTm9kZUl0ZW08VCA9IHVua25vd24+
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9jb3JlL3R5cGVzL3RyZWUudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBUcmVlTm9kZUl0ZW08VCA9IHVua25vd24+IHtcbiAgaWQ6IHN0cmluZyB8IG51bWJlcjtcbiAgbGFiZWw6IHN0cmluZztcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIGljb24/OiBzdHJpbmc7XG4gIGNoZWNrZWQ/OiBib29sZWFuIHwgbnVsbDtcbiAgaXNFeHBhbmRlZD86IGJvb2xlYW47XG4gIHBheWxvYWQ/OiBUO1xuICBjaGlsZHJlbj86IFRyZWVOb2RlSXRlbTxUPltdO1xuICBlZGl0YWJsZT86IGJvb2xlYW47XG4gIGxlYWY/OiBib29sZWFuO1xuICBleHBhbmRlZEljb24/OiBzdHJpbmc7XG4gIGNvbGxhcHNlZEljb24/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZXJuYWxUcmVlTm9kZUl0ZW08VCA9IHVua25vd24+IGV4dGVuZHMgVHJlZU5vZGVJdGVtPFQ+IHtcbiAgaXNFZGl0aW5nPzogYm9vbGVhbjtcbiAgZWRpdFByZXZpb3VzVmFsdWU/OiBzdHJpbmc7XG4gIGVkaXROZXdWYWx1ZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmVlTm9kZUVkaXQge1xuICByZXZlcnRBY3Rpb246ICgpID0+IHZvaWQ7XG4gIGl0ZW06IFRyZWVOb2RlSXRlbTtcbiAgcHJldmlvdXNWYWx1ZTogc3RyaW5nO1xuICBuZXdWYWx1ZTogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBUcmVlU2VsZWN0aW9uTW9kZSA9ICdzaW5nbGUnIHwgJ211bHRpcGxlJztcbiJdfQ==
|
|
@@ -110,7 +110,7 @@ export class TreeNodeItemComponent {
|
|
|
110
110
|
});
|
|
111
111
|
}
|
|
112
112
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TreeNodeItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
113
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TreeNodeItemComponent, isStandalone: true, selector: "sdc-tree-node-item", inputs: { ariaLevel: "ariaLevel", showCheckbox: "showCheckbox", treeNodeItem: "treeNodeItem" }, outputs: { treeNodeItemClicked: "treeNodeItemClicked", treeNodeEdit: "treeNodeEdit", nodeExpanded: "nodeExpanded", nodeCollapsed: "nodeCollapsed" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true, read: ElementRef }], ngImport: i0, template: "@if (treeNodeItem) {\n<div\n class=\"sdc-tree-node-item\"\n role=\"treeitem\"\n tabindex=\"0\"\n [class.sdc-tree-node-item--selected]=\"treeNodeItem.checked\"\n [class.sdc-tree-node-item--selectable]=\"treeNodeItem.checked === true || treeNodeItem.checked === null\"\n [attr.aria-expanded]=\"hasChildren ? treeNodeItem.isExpanded : null\"\n [attr.aria-selected]=\"treeNodeItem.checked === true ? 'true' : 'false'\"\n [attr.aria-label]=\"treeNodeItem.label\"\n [attr.aria-level]=\"ariaLevel\"\n (keydown.enter)=\"handleTreeNodeItemKeyboardActivate($event)\"\n (keydown.space)=\"handleTreeNodeItemKeyboardActivate($event)\"\n (keydown.arrowRight)=\"expandNode()\"\n (keydown.arrowLeft)=\"collapseNode()\"\n>\n @if (hasChildren) {\n <button\n type=\"button\"\n class=\"sdc-tree-node-item__arrow\"\n (click)=\"$event.stopPropagation(); toggleExpanded(treeNodeItem)\"\n [attr.aria-label]=\"treeNodeItem.isExpanded ? collapseAriaLabel : expandAriaLabel\"\n >\n @if (!treeNodeItem.isExpanded) {\n <i [class]=\"treeNodeItem.collapsedIcon || 'fas fa-chevron-right'\"></i>\n }\n @if (treeNodeItem.isExpanded) {\n <i [class]=\"treeNodeItem.expandedIcon || 'fas fa-chevron-down'\"></i>\n }\n </button>\n }\n\n <div\n class=\"sdc-tree-node-item__content\"\n (click)=\"handleTreeNodeItemClick($event)\"\n (keydown.enter)=\"handleTreeNodeItemKeyboardActivate($event)\"\n (keydown.space)=\"handleTreeNodeItemKeyboardActivate($event)\"\n >\n @if (treeNodeItem.icon || treeNodeItem.isEditing) {\n <span class=\"sdc-tree-node-item__icon\">\n @if (treeNodeItem.icon && !treeNodeItem.isEditing) {\n <i [class]=\"treeNodeItem.icon\"></i>\n }\n @if (treeNodeItem.isEditing) {\n <button\n type=\"button\"\n class=\"sdc-tree-node-item__edit-icon\"\n (click)=\"saveEdit($event)\"\n >\n <i class=\"fas fa-edit\"></i>\n </button>\n }\n </span>\n }\n\n @if (showCheckbox && !treeNodeItem.isEditing) {\n <span class=\"sdc-tree-node-item__checkbox\">\n <input\n type=\"checkbox\"\n [checked]=\"treeNodeItem.checked === true\"\n [indeterminate]=\"treeNodeItem.checked === null\"\n [attr.aria-label]=\"checkboxAriaLabel\"\n tabindex=\"0\"\n (click)=\"handleCheckboxChange($event, treeNodeItem)\"\n (keydown)=\"onCheckboxKeydown($event, treeNodeItem)\"\n />\n </span>\n }\n\n <span class=\"sdc-tree-node-item__label\">\n @if (treeNodeItem.isEditing) {\n <input\n #input\n type=\"text\"\n class=\"sdc-tree-node-item__input\"\n [(ngModel)]=\"treeNodeItem.editNewValue\"\n [attr.aria-label]=\"editInputAriaLabel\"\n aria-live=\"polite\"\n (keydown.enter)=\"saveEdit($event)\"\n (keydown.escape)=\"cancelEdit($event)\"\n (click)=\"$event.stopPropagation()\"\n />\n } @else {\n {{ treeNodeItem.label }}\n }\n </span>\n\n @if (editable) {\n <button\n type=\"button\"\n class=\"sdc-tree-node-item__editable\"\n [attr.aria-label]=\"editButtonAriaLabel\"\n (click)=\"toggleEditing($event)\"\n >\n <i class=\"fas fa-pencil-alt\"></i>\n </button>\n }\n </div>\n</div>\n}\n\n@if (hasChildren && treeNodeItem.isExpanded) {\n<div\n @fadeExpand\n class=\"sdc-tree-node-item__children\"\n @childrenAnimation\n>\n @for (child of treeNodeItem.children; track child.id) {\n <sdc-tree-node-item\n class=\"sdc-tree-node-item__child\"\n [showCheckbox]=\"showCheckbox\"\n [treeNodeItem]=\"child\"\n [ariaLevel]=\"ariaLevel + 1\"\n (treeNodeItemClicked)=\"treeNodeItemClicked.emit($event)\"\n (treeNodeEdit)=\"treeNodeEdit.emit($event)\"\n (nodeExpanded)=\"nodeExpanded.emit($event)\"\n (nodeCollapsed)=\"nodeCollapsed.emit($event)\"\n ></sdc-tree-node-item>\n }\n</div>\n}\n", styles: [".sdc-tree-node-item{display:flex;width:100%;cursor:pointer}.sdc-tree-node-item__arrow{display:inline-flex;align-items:center;justify-content:center;padding:.1875rem .5625rem;border:0;background:transparent;cursor:pointer}.sdc-tree-node-item__content{display:flex;flex:1;align-items:center;padding:.1875rem 0}.sdc-tree-node-item__content:hover{background:#f1f7f8}.sdc-tree-node-item__icon,.sdc-tree-node-item__checkbox{display:inline-flex;align-items:center;padding-right:.5625rem}.sdc-tree-node-item__label{display:flex;flex:1;color:#212533;font-size:.875rem;line-height:1.5}.sdc-tree-node-item__editable{display:inline-flex;align-items:center;justify-content:center;padding:.5625rem;border:0;background:transparent;cursor:pointer}.sdc-tree-node-item__input{width:100%}.sdc-tree-node-item--selectable .sdc-tree-node-item__label{font-weight:700}.sdc-tree-node-item--selected .sdc-tree-node-item__content{background:#d5e8ec}.sdc-tree-node-item__children{display:flex;flex-direction:column;gap:.3125rem;overflow:hidden;padding-left:2.2em}.sdc-tree-node-item__child:first-child{padding-top:.3125rem}\n"], dependencies: [{ kind: "component", type: i0.forwardRef(() => TreeNodeItemComponent), selector: "sdc-tree-node-item", inputs: ["ariaLevel", "showCheckbox", "treeNodeItem"], outputs: ["treeNodeItemClicked", "treeNodeEdit", "nodeExpanded", "nodeCollapsed"] }, { kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "ngmodule", type: i0.forwardRef(() => FormsModule) }, { kind: "directive", type: i0.forwardRef(() => i1.DefaultValueAccessor), selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i0.forwardRef(() => i1.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i1.NgModel), selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], animations: [
|
|
113
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TreeNodeItemComponent, isStandalone: true, selector: "sdc-tree-node-item", inputs: { ariaLevel: "ariaLevel", showCheckbox: "showCheckbox", treeNodeItem: "treeNodeItem" }, outputs: { treeNodeItemClicked: "treeNodeItemClicked", treeNodeEdit: "treeNodeEdit", nodeExpanded: "nodeExpanded", nodeCollapsed: "nodeCollapsed" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true, read: ElementRef }], ngImport: i0, template: "@if (treeNodeItem) {\n<div\n class=\"sdc-tree-node-item\"\n role=\"treeitem\"\n tabindex=\"0\"\n [class.sdc-tree-node-item--selected]=\"treeNodeItem.checked\"\n [class.sdc-tree-node-item--selectable]=\"treeNodeItem.checked === true || treeNodeItem.checked === null\"\n [attr.aria-expanded]=\"hasChildren ? treeNodeItem.isExpanded : null\"\n [attr.aria-selected]=\"treeNodeItem.checked === true ? 'true' : 'false'\"\n [attr.aria-label]=\"treeNodeItem.label\"\n [attr.aria-level]=\"ariaLevel\"\n (keydown.enter)=\"handleTreeNodeItemKeyboardActivate($event)\"\n (keydown.space)=\"handleTreeNodeItemKeyboardActivate($event)\"\n (keydown.arrowRight)=\"expandNode()\"\n (keydown.arrowLeft)=\"collapseNode()\"\n>\n @if (hasChildren) {\n <button\n type=\"button\"\n class=\"sdc-tree-node-item__arrow\"\n (click)=\"$event.stopPropagation(); toggleExpanded(treeNodeItem)\"\n [attr.aria-label]=\"treeNodeItem.isExpanded ? collapseAriaLabel : expandAriaLabel\"\n >\n @if (!treeNodeItem.isExpanded) {\n <i [class]=\"treeNodeItem.collapsedIcon || 'fas fa-chevron-right'\"></i>\n }\n @if (treeNodeItem.isExpanded) {\n <i [class]=\"treeNodeItem.expandedIcon || 'fas fa-chevron-down'\"></i>\n }\n </button>\n }\n\n <div\n class=\"sdc-tree-node-item__content\"\n (click)=\"handleTreeNodeItemClick($event)\"\n (keydown.enter)=\"handleTreeNodeItemKeyboardActivate($event)\"\n (keydown.space)=\"handleTreeNodeItemKeyboardActivate($event)\"\n >\n @if (treeNodeItem.icon || treeNodeItem.isEditing) {\n <span class=\"sdc-tree-node-item__icon\">\n @if (treeNodeItem.icon && !treeNodeItem.isEditing) {\n <i [class]=\"treeNodeItem.icon\"></i>\n }\n @if (treeNodeItem.isEditing) {\n <button\n type=\"button\"\n class=\"sdc-tree-node-item__edit-icon\"\n (click)=\"saveEdit($event)\"\n >\n <i class=\"fas fa-edit\"></i>\n </button>\n }\n </span>\n }\n\n @if (showCheckbox && !treeNodeItem.isEditing) {\n <span class=\"sdc-tree-node-item__checkbox\">\n <input\n type=\"checkbox\"\n [checked]=\"treeNodeItem.checked === true\"\n [indeterminate]=\"treeNodeItem.checked === null\"\n [attr.aria-label]=\"checkboxAriaLabel\"\n tabindex=\"0\"\n (click)=\"handleCheckboxChange($event, treeNodeItem)\"\n (keydown)=\"onCheckboxKeydown($event, treeNodeItem)\"\n />\n </span>\n }\n\n <span class=\"sdc-tree-node-item__label\" [attr.title]=\"treeNodeItem.title || null\">\n @if (treeNodeItem.isEditing) {\n <input\n #input\n type=\"text\"\n class=\"sdc-tree-node-item__input\"\n [(ngModel)]=\"treeNodeItem.editNewValue\"\n [attr.aria-label]=\"editInputAriaLabel\"\n aria-live=\"polite\"\n (keydown.enter)=\"saveEdit($event)\"\n (keydown.escape)=\"cancelEdit($event)\"\n (click)=\"$event.stopPropagation()\"\n />\n } @else {\n {{ treeNodeItem.label }}\n }\n </span>\n\n @if (editable) {\n <button\n type=\"button\"\n class=\"sdc-tree-node-item__editable\"\n [attr.aria-label]=\"editButtonAriaLabel\"\n (click)=\"toggleEditing($event)\"\n >\n <i class=\"fas fa-pencil-alt\"></i>\n </button>\n }\n </div>\n</div>\n}\n\n@if (hasChildren && treeNodeItem.isExpanded) {\n<div\n @fadeExpand\n class=\"sdc-tree-node-item__children\"\n @childrenAnimation\n>\n @for (child of treeNodeItem.children; track child.id) {\n <sdc-tree-node-item\n class=\"sdc-tree-node-item__child\"\n [showCheckbox]=\"showCheckbox\"\n [treeNodeItem]=\"child\"\n [ariaLevel]=\"ariaLevel + 1\"\n (treeNodeItemClicked)=\"treeNodeItemClicked.emit($event)\"\n (treeNodeEdit)=\"treeNodeEdit.emit($event)\"\n (nodeExpanded)=\"nodeExpanded.emit($event)\"\n (nodeCollapsed)=\"nodeCollapsed.emit($event)\"\n ></sdc-tree-node-item>\n }\n</div>\n}\n", styles: [".sdc-tree-node-item{display:flex;width:100%;cursor:pointer}.sdc-tree-node-item__arrow{display:inline-flex;align-items:center;justify-content:center;padding:.1875rem .5625rem;border:0;background:transparent;cursor:pointer}.sdc-tree-node-item__content{display:flex;flex:1;align-items:center;padding:.1875rem 0}.sdc-tree-node-item__content:hover{background:#f1f7f8}.sdc-tree-node-item__icon,.sdc-tree-node-item__checkbox{display:inline-flex;align-items:center;padding-right:.5625rem}.sdc-tree-node-item__label{display:flex;flex:1;color:#212533;font-size:.875rem;line-height:1.5}.sdc-tree-node-item__editable{display:inline-flex;align-items:center;justify-content:center;padding:.5625rem;border:0;background:transparent;cursor:pointer}.sdc-tree-node-item__input{width:100%}.sdc-tree-node-item--selectable .sdc-tree-node-item__label{font-weight:700}.sdc-tree-node-item--selected .sdc-tree-node-item__content{background:#d5e8ec}.sdc-tree-node-item__children{display:flex;flex-direction:column;gap:.3125rem;overflow:hidden;padding-left:2.2em}.sdc-tree-node-item__child:first-child{padding-top:.3125rem}\n"], dependencies: [{ kind: "component", type: i0.forwardRef(() => TreeNodeItemComponent), selector: "sdc-tree-node-item", inputs: ["ariaLevel", "showCheckbox", "treeNodeItem"], outputs: ["treeNodeItemClicked", "treeNodeEdit", "nodeExpanded", "nodeCollapsed"] }, { kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "ngmodule", type: i0.forwardRef(() => FormsModule) }, { kind: "directive", type: i0.forwardRef(() => i1.DefaultValueAccessor), selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i0.forwardRef(() => i1.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i1.NgModel), selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], animations: [
|
|
114
114
|
trigger('fadeExpand', [
|
|
115
115
|
transition(':enter', [
|
|
116
116
|
style({ height: '0px', opacity: 0, overflow: 'hidden' }),
|
|
@@ -146,7 +146,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
146
146
|
], { optional: true })
|
|
147
147
|
])
|
|
148
148
|
])
|
|
149
|
-
], template: "@if (treeNodeItem) {\n<div\n class=\"sdc-tree-node-item\"\n role=\"treeitem\"\n tabindex=\"0\"\n [class.sdc-tree-node-item--selected]=\"treeNodeItem.checked\"\n [class.sdc-tree-node-item--selectable]=\"treeNodeItem.checked === true || treeNodeItem.checked === null\"\n [attr.aria-expanded]=\"hasChildren ? treeNodeItem.isExpanded : null\"\n [attr.aria-selected]=\"treeNodeItem.checked === true ? 'true' : 'false'\"\n [attr.aria-label]=\"treeNodeItem.label\"\n [attr.aria-level]=\"ariaLevel\"\n (keydown.enter)=\"handleTreeNodeItemKeyboardActivate($event)\"\n (keydown.space)=\"handleTreeNodeItemKeyboardActivate($event)\"\n (keydown.arrowRight)=\"expandNode()\"\n (keydown.arrowLeft)=\"collapseNode()\"\n>\n @if (hasChildren) {\n <button\n type=\"button\"\n class=\"sdc-tree-node-item__arrow\"\n (click)=\"$event.stopPropagation(); toggleExpanded(treeNodeItem)\"\n [attr.aria-label]=\"treeNodeItem.isExpanded ? collapseAriaLabel : expandAriaLabel\"\n >\n @if (!treeNodeItem.isExpanded) {\n <i [class]=\"treeNodeItem.collapsedIcon || 'fas fa-chevron-right'\"></i>\n }\n @if (treeNodeItem.isExpanded) {\n <i [class]=\"treeNodeItem.expandedIcon || 'fas fa-chevron-down'\"></i>\n }\n </button>\n }\n\n <div\n class=\"sdc-tree-node-item__content\"\n (click)=\"handleTreeNodeItemClick($event)\"\n (keydown.enter)=\"handleTreeNodeItemKeyboardActivate($event)\"\n (keydown.space)=\"handleTreeNodeItemKeyboardActivate($event)\"\n >\n @if (treeNodeItem.icon || treeNodeItem.isEditing) {\n <span class=\"sdc-tree-node-item__icon\">\n @if (treeNodeItem.icon && !treeNodeItem.isEditing) {\n <i [class]=\"treeNodeItem.icon\"></i>\n }\n @if (treeNodeItem.isEditing) {\n <button\n type=\"button\"\n class=\"sdc-tree-node-item__edit-icon\"\n (click)=\"saveEdit($event)\"\n >\n <i class=\"fas fa-edit\"></i>\n </button>\n }\n </span>\n }\n\n @if (showCheckbox && !treeNodeItem.isEditing) {\n <span class=\"sdc-tree-node-item__checkbox\">\n <input\n type=\"checkbox\"\n [checked]=\"treeNodeItem.checked === true\"\n [indeterminate]=\"treeNodeItem.checked === null\"\n [attr.aria-label]=\"checkboxAriaLabel\"\n tabindex=\"0\"\n (click)=\"handleCheckboxChange($event, treeNodeItem)\"\n (keydown)=\"onCheckboxKeydown($event, treeNodeItem)\"\n />\n </span>\n }\n\n <span class=\"sdc-tree-node-item__label\">\n @if (treeNodeItem.isEditing) {\n <input\n #input\n type=\"text\"\n class=\"sdc-tree-node-item__input\"\n [(ngModel)]=\"treeNodeItem.editNewValue\"\n [attr.aria-label]=\"editInputAriaLabel\"\n aria-live=\"polite\"\n (keydown.enter)=\"saveEdit($event)\"\n (keydown.escape)=\"cancelEdit($event)\"\n (click)=\"$event.stopPropagation()\"\n />\n } @else {\n {{ treeNodeItem.label }}\n }\n </span>\n\n @if (editable) {\n <button\n type=\"button\"\n class=\"sdc-tree-node-item__editable\"\n [attr.aria-label]=\"editButtonAriaLabel\"\n (click)=\"toggleEditing($event)\"\n >\n <i class=\"fas fa-pencil-alt\"></i>\n </button>\n }\n </div>\n</div>\n}\n\n@if (hasChildren && treeNodeItem.isExpanded) {\n<div\n @fadeExpand\n class=\"sdc-tree-node-item__children\"\n @childrenAnimation\n>\n @for (child of treeNodeItem.children; track child.id) {\n <sdc-tree-node-item\n class=\"sdc-tree-node-item__child\"\n [showCheckbox]=\"showCheckbox\"\n [treeNodeItem]=\"child\"\n [ariaLevel]=\"ariaLevel + 1\"\n (treeNodeItemClicked)=\"treeNodeItemClicked.emit($event)\"\n (treeNodeEdit)=\"treeNodeEdit.emit($event)\"\n (nodeExpanded)=\"nodeExpanded.emit($event)\"\n (nodeCollapsed)=\"nodeCollapsed.emit($event)\"\n ></sdc-tree-node-item>\n }\n</div>\n}\n", styles: [".sdc-tree-node-item{display:flex;width:100%;cursor:pointer}.sdc-tree-node-item__arrow{display:inline-flex;align-items:center;justify-content:center;padding:.1875rem .5625rem;border:0;background:transparent;cursor:pointer}.sdc-tree-node-item__content{display:flex;flex:1;align-items:center;padding:.1875rem 0}.sdc-tree-node-item__content:hover{background:#f1f7f8}.sdc-tree-node-item__icon,.sdc-tree-node-item__checkbox{display:inline-flex;align-items:center;padding-right:.5625rem}.sdc-tree-node-item__label{display:flex;flex:1;color:#212533;font-size:.875rem;line-height:1.5}.sdc-tree-node-item__editable{display:inline-flex;align-items:center;justify-content:center;padding:.5625rem;border:0;background:transparent;cursor:pointer}.sdc-tree-node-item__input{width:100%}.sdc-tree-node-item--selectable .sdc-tree-node-item__label{font-weight:700}.sdc-tree-node-item--selected .sdc-tree-node-item__content{background:#d5e8ec}.sdc-tree-node-item__children{display:flex;flex-direction:column;gap:.3125rem;overflow:hidden;padding-left:2.2em}.sdc-tree-node-item__child:first-child{padding-top:.3125rem}\n"] }]
|
|
149
|
+
], template: "@if (treeNodeItem) {\n<div\n class=\"sdc-tree-node-item\"\n role=\"treeitem\"\n tabindex=\"0\"\n [class.sdc-tree-node-item--selected]=\"treeNodeItem.checked\"\n [class.sdc-tree-node-item--selectable]=\"treeNodeItem.checked === true || treeNodeItem.checked === null\"\n [attr.aria-expanded]=\"hasChildren ? treeNodeItem.isExpanded : null\"\n [attr.aria-selected]=\"treeNodeItem.checked === true ? 'true' : 'false'\"\n [attr.aria-label]=\"treeNodeItem.label\"\n [attr.aria-level]=\"ariaLevel\"\n (keydown.enter)=\"handleTreeNodeItemKeyboardActivate($event)\"\n (keydown.space)=\"handleTreeNodeItemKeyboardActivate($event)\"\n (keydown.arrowRight)=\"expandNode()\"\n (keydown.arrowLeft)=\"collapseNode()\"\n>\n @if (hasChildren) {\n <button\n type=\"button\"\n class=\"sdc-tree-node-item__arrow\"\n (click)=\"$event.stopPropagation(); toggleExpanded(treeNodeItem)\"\n [attr.aria-label]=\"treeNodeItem.isExpanded ? collapseAriaLabel : expandAriaLabel\"\n >\n @if (!treeNodeItem.isExpanded) {\n <i [class]=\"treeNodeItem.collapsedIcon || 'fas fa-chevron-right'\"></i>\n }\n @if (treeNodeItem.isExpanded) {\n <i [class]=\"treeNodeItem.expandedIcon || 'fas fa-chevron-down'\"></i>\n }\n </button>\n }\n\n <div\n class=\"sdc-tree-node-item__content\"\n (click)=\"handleTreeNodeItemClick($event)\"\n (keydown.enter)=\"handleTreeNodeItemKeyboardActivate($event)\"\n (keydown.space)=\"handleTreeNodeItemKeyboardActivate($event)\"\n >\n @if (treeNodeItem.icon || treeNodeItem.isEditing) {\n <span class=\"sdc-tree-node-item__icon\">\n @if (treeNodeItem.icon && !treeNodeItem.isEditing) {\n <i [class]=\"treeNodeItem.icon\"></i>\n }\n @if (treeNodeItem.isEditing) {\n <button\n type=\"button\"\n class=\"sdc-tree-node-item__edit-icon\"\n (click)=\"saveEdit($event)\"\n >\n <i class=\"fas fa-edit\"></i>\n </button>\n }\n </span>\n }\n\n @if (showCheckbox && !treeNodeItem.isEditing) {\n <span class=\"sdc-tree-node-item__checkbox\">\n <input\n type=\"checkbox\"\n [checked]=\"treeNodeItem.checked === true\"\n [indeterminate]=\"treeNodeItem.checked === null\"\n [attr.aria-label]=\"checkboxAriaLabel\"\n tabindex=\"0\"\n (click)=\"handleCheckboxChange($event, treeNodeItem)\"\n (keydown)=\"onCheckboxKeydown($event, treeNodeItem)\"\n />\n </span>\n }\n\n <span class=\"sdc-tree-node-item__label\" [attr.title]=\"treeNodeItem.title || null\">\n @if (treeNodeItem.isEditing) {\n <input\n #input\n type=\"text\"\n class=\"sdc-tree-node-item__input\"\n [(ngModel)]=\"treeNodeItem.editNewValue\"\n [attr.aria-label]=\"editInputAriaLabel\"\n aria-live=\"polite\"\n (keydown.enter)=\"saveEdit($event)\"\n (keydown.escape)=\"cancelEdit($event)\"\n (click)=\"$event.stopPropagation()\"\n />\n } @else {\n {{ treeNodeItem.label }}\n }\n </span>\n\n @if (editable) {\n <button\n type=\"button\"\n class=\"sdc-tree-node-item__editable\"\n [attr.aria-label]=\"editButtonAriaLabel\"\n (click)=\"toggleEditing($event)\"\n >\n <i class=\"fas fa-pencil-alt\"></i>\n </button>\n }\n </div>\n</div>\n}\n\n@if (hasChildren && treeNodeItem.isExpanded) {\n<div\n @fadeExpand\n class=\"sdc-tree-node-item__children\"\n @childrenAnimation\n>\n @for (child of treeNodeItem.children; track child.id) {\n <sdc-tree-node-item\n class=\"sdc-tree-node-item__child\"\n [showCheckbox]=\"showCheckbox\"\n [treeNodeItem]=\"child\"\n [ariaLevel]=\"ariaLevel + 1\"\n (treeNodeItemClicked)=\"treeNodeItemClicked.emit($event)\"\n (treeNodeEdit)=\"treeNodeEdit.emit($event)\"\n (nodeExpanded)=\"nodeExpanded.emit($event)\"\n (nodeCollapsed)=\"nodeCollapsed.emit($event)\"\n ></sdc-tree-node-item>\n }\n</div>\n}\n", styles: [".sdc-tree-node-item{display:flex;width:100%;cursor:pointer}.sdc-tree-node-item__arrow{display:inline-flex;align-items:center;justify-content:center;padding:.1875rem .5625rem;border:0;background:transparent;cursor:pointer}.sdc-tree-node-item__content{display:flex;flex:1;align-items:center;padding:.1875rem 0}.sdc-tree-node-item__content:hover{background:#f1f7f8}.sdc-tree-node-item__icon,.sdc-tree-node-item__checkbox{display:inline-flex;align-items:center;padding-right:.5625rem}.sdc-tree-node-item__label{display:flex;flex:1;color:#212533;font-size:.875rem;line-height:1.5}.sdc-tree-node-item__editable{display:inline-flex;align-items:center;justify-content:center;padding:.5625rem;border:0;background:transparent;cursor:pointer}.sdc-tree-node-item__input{width:100%}.sdc-tree-node-item--selectable .sdc-tree-node-item__label{font-weight:700}.sdc-tree-node-item--selected .sdc-tree-node-item__content{background:#d5e8ec}.sdc-tree-node-item__children{display:flex;flex-direction:column;gap:.3125rem;overflow:hidden;padding-left:2.2em}.sdc-tree-node-item__child:first-child{padding-top:.3125rem}\n"] }]
|
|
150
150
|
}], propDecorators: { ariaLevel: [{
|
|
151
151
|
type: Input
|
|
152
152
|
}], showCheckbox: [{
|
|
@@ -166,4 +166,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
166
166
|
type: ViewChild,
|
|
167
167
|
args: ['input', { read: ElementRef }]
|
|
168
168
|
}] } });
|
|
169
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1ub2RlLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9mZWF0dXJlcy90cmVlL2NvbXBvbmVudHMvdHJlZS1ub2RlLWl0ZW0vdHJlZS1ub2RlLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9mZWF0dXJlcy90cmVlL2NvbXBvbmVudHMvdHJlZS1ub2RlLWl0ZW0vdHJlZS1ub2RlLWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFGLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixFQUNqQixVQUFVLEVBQ1YsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBa0N2RCxNQUFNLE9BQU8scUJBQXFCO0lBQ2YsR0FBRyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ2hDLFNBQVMsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUU3QyxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBQ2QsWUFBWSxHQUFHLEtBQUssQ0FBQztJQUNILFlBQVksQ0FBd0I7SUFFckQsbUJBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQWdELENBQUM7SUFDdkYsWUFB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Qzs2QkFDOUQsQ0FBQzs0QkFDRixVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQzt5QkFDdkYsQ0FBQzt3QkFDRixPQUFPLENBQUMsbUJBQW1CLEVBQUU7NEJBQzNCLFVBQVUsQ0FBQyxRQUFRLEVBQUU7Z0NBQ25CLEtBQUssQ0FDSCxRQUFRLEVBQ1I7b0NBQ0UsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQztvQ0FDckQsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztpQ0FDNUYsRUFDRCxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FDbkI7NkJBQ0YsQ0FBQzt5QkFDSCxDQUFDO3FCQUNIOzhCQU1RLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDcUIsWUFBWTtzQkFBdEMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBRWYsbUJBQW1CO3NCQUE1QixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUU2QyxLQUFLO3NCQUF4RCxTQUFTO3VCQUFDLE9BQU8sRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgYW5pbWF0ZSwgcXVlcnksIHN0YWdnZXIsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBmb3J3YXJkUmVmLFxuICBpbmplY3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuaW1wb3J0IHR5cGUgeyBJbnRlcm5hbFRyZWVOb2RlSXRlbSwgVHJlZU5vZGVFZGl0IH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS90eXBlcy90cmVlLnR5cGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZGMtdHJlZS1ub2RlLWl0ZW0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgZm9yd2FyZFJlZigoKSA9PiBUcmVlTm9kZUl0ZW1Db21wb25lbnQpXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3RyZWUtbm9kZS1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdHJlZS1ub2RlLWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLkVtdWxhdGVkLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignZmFkZUV4cGFuZCcsIFtcbiAgICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFtcbiAgICAgICAgc3R5bGUoeyBoZWlnaHQ6ICcwcHgnLCBvcGFjaXR5OiAwLCBvdmVyZmxvdzogJ2hpZGRlbicgfSksXG4gICAgICAgIGFuaW1hdGUoJzIwMG1zIGVhc2Utb3V0Jywgc3R5bGUoeyBoZWlnaHQ6ICcqJywgb3BhY2l0eTogMSB9KSlcbiAgICAgIF0pLFxuICAgICAgdHJhbnNpdGlvbignOmxlYXZlJywgW2FuaW1hdGUoJzE1MG1zIGVhc2UtaW4nLCBzdHlsZSh7IGhlaWdodDogJzBweCcsIG9wYWNpdHk6IDAgfSkpXSlcbiAgICBdKSxcbiAgICB0cmlnZ2VyKCdjaGlsZHJlbkFuaW1hdGlvbicsIFtcbiAgICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFtcbiAgICAgICAgcXVlcnkoXG4gICAgICAgICAgJzplbnRlcicsXG4gICAgICAgICAgW1xuICAgICAgICAgICAgc3R5bGUoeyBvcGFjaXR5OiAwLCB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKC0xMHB4KScgfSksXG4gICAgICAgICAgICBzdGFnZ2VyKDYwLCBbYW5pbWF0ZSgnMjAwbXMgZWFzZS1vdXQnLCBzdHlsZSh7IG9wYWNpdHk6IDEsIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMCknIH0pKV0pXG4gICAgICAgICAgXSxcbiAgICAgICAgICB7IG9wdGlvbmFsOiB0cnVlIH1cbiAgICAgICAgKVxuICAgICAgXSlcbiAgICBdKVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFRyZWVOb2RlSXRlbUNvbXBvbmVudCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGUgPSBpbmplY3QoVHJhbnNsYXRlU2VydmljZSk7XG5cbiAgQElucHV0KCkgYXJpYUxldmVsID0gMTtcbiAgQElucHV0KCkgc2hvd0NoZWNrYm94ID0gZmFsc2U7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHRyZWVOb2RlSXRlbSE6IEludGVybmFsVHJlZU5vZGVJdGVtO1xuXG4gIEBPdXRwdXQoKSB0cmVlTm9kZUl0ZW1DbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjx7IGl0ZW06IEludGVybmFsVHJlZU5vZGVJdGVtOyBldmVudDogRXZlbnQgfT4oKTtcbiAgQE91dHB1dCgpIHRyZWVOb2RlRWRpdCA9IG5ldyBFdmVudEVtaXR0ZXI8VHJlZU5vZGVFZGl0PigpO1xuICBAT3V0cHV0KCkgbm9kZUV4cGFuZGVkID0gbmV3IEV2ZW50RW1pdHRlcjxJbnRlcm5hbFRyZWVOb2RlSXRlbT4oKTtcbiAgQE91dHB1dCgpIG5vZGVDb2xsYXBzZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEludGVybmFsVHJlZU5vZGVJdGVtPigpO1xuXG4gIEBWaWV3Q2hpbGQoJ2lucHV0JywgeyByZWFkOiBFbGVtZW50UmVmIH0pIHByb3RlY3RlZCBpbnB1dD86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgcHJvdGVjdGVkIGdldCBoYXNDaGlsZHJlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLnRyZWVOb2RlSXRlbT8uY2hpbGRyZW4/Lmxlbmd0aDtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgZWRpdGFibGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHJlZU5vZGVJdGVtPy5lZGl0YWJsZSA/PyBmYWxzZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgY2hlY2tib3hBcmlhTGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy50cmFuc2xhdGUuaW5zdGFudCgncGxhdGZvcm0uZGF0YWNvcmUudHJlZV9zZWxlY3QnKX0gJHt0aGlzLnRyZWVOb2RlSXRlbS5sYWJlbH1gO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBleHBhbmRBcmlhTGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgncGxhdGZvcm0uZGF0YWNvcmUudHJlZV9leHBhbmQnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgY29sbGFwc2VBcmlhTGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgncGxhdGZvcm0uZGF0YWNvcmUudHJlZV9jb2xsYXBzZScpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBlZGl0SW5wdXRBcmlhTGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgncGxhdGZvcm0uZGF0YWNvcmUudHJlZV9lZGl0X25hbWUnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgZWRpdEJ1dHRvbkFyaWFMYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdwbGF0Zm9ybS5kYXRhY29yZS50cmVlX2VkaXQnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBleHBhbmROb2RlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmhhc0NoaWxkcmVuICYmICF0aGlzLnRyZWVOb2RlSXRlbS5pc0V4cGFuZGVkKSB7XG4gICAgICB0aGlzLnRvZ2dsZUV4cGFuZGVkKHRoaXMudHJlZU5vZGVJdGVtKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgY29sbGFwc2VOb2RlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmhhc0NoaWxkcmVuICYmIHRoaXMudHJlZU5vZGVJdGVtLmlzRXhwYW5kZWQpIHtcbiAgICAgIHRoaXMudG9nZ2xlRXhwYW5kZWQodGhpcy50cmVlTm9kZUl0ZW0pO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVDaGVja2JveENoYW5nZShldmVudDogRXZlbnQsIG5vZGU6IEludGVybmFsVHJlZU5vZGVJdGVtKTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy50cmVlTm9kZUl0ZW1DbGlja2VkLmVtaXQoeyBpdGVtOiBub2RlLCBldmVudCB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbkNoZWNrYm94S2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCwgbm9kZTogSW50ZXJuYWxUcmVlTm9kZUl0ZW0pOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQua2V5ICE9PSAnRW50ZXInICYmIGV2ZW50LmtleSAhPT0gJyAnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLnRyZWVOb2RlSXRlbUNsaWNrZWQuZW1pdCh7IGl0ZW06IG5vZGUsIGV2ZW50IH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZVRyZWVOb2RlSXRlbUNsaWNrKGV2ZW50OiBFdmVudCwgdHJlZU5vZGVJdGVtPzogSW50ZXJuYWxUcmVlTm9kZUl0ZW0pOiB2b2lkIHtcbiAgICB0aGlzLnRyZWVOb2RlSXRlbUNsaWNrZWQuZW1pdCh7IGl0ZW06IHRyZWVOb2RlSXRlbSA/PyB0aGlzLnRyZWVOb2RlSXRlbSwgZXZlbnQgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlVHJlZU5vZGVJdGVtS2V5Ym9hcmRBY3RpdmF0ZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMuaGFuZGxlVHJlZU5vZGVJdGVtQ2xpY2soZXZlbnQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHRvZ2dsZUV4cGFuZGVkKHRyZWVOb2RlSXRlbTogSW50ZXJuYWxUcmVlTm9kZUl0ZW0pOiB2b2lkIHtcbiAgICB0cmVlTm9kZUl0ZW0uaXNFeHBhbmRlZCA9ICF0cmVlTm9kZUl0ZW0uaXNFeHBhbmRlZDtcblxuICAgIGlmICh0cmVlTm9kZUl0ZW0uaXNFeHBhbmRlZCkge1xuICAgICAgdGhpcy5ub2RlRXhwYW5kZWQuZW1pdCh0cmVlTm9kZUl0ZW0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm5vZGVDb2xsYXBzZWQuZW1pdCh0cmVlTm9kZUl0ZW0pO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCB0b2dnbGVFZGl0aW5nKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMudHJlZU5vZGVJdGVtLmlzRWRpdGluZyA9ICF0aGlzLnRyZWVOb2RlSXRlbS5pc0VkaXRpbmc7XG4gICAgdGhpcy50cmVlTm9kZUl0ZW0uZWRpdE5ld1ZhbHVlID0gdGhpcy50cmVlTm9kZUl0ZW0ubGFiZWw7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIHRoaXMuaW5wdXQ/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjYW5jZWxFZGl0KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMudHJlZU5vZGVJdGVtLmlzRWRpdGluZyA9IGZhbHNlO1xuICAgIHRoaXMudHJlZU5vZGVJdGVtLmVkaXROZXdWYWx1ZSA9ICcnO1xuICAgIHRoaXMudHJlZU5vZGVJdGVtLmVkaXRQcmV2aW91c1ZhbHVlID0gJyc7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNhdmVFZGl0KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMudHJlZU5vZGVJdGVtLmlzRWRpdGluZyA9IGZhbHNlO1xuXG4gICAgaWYgKCF0aGlzLnRyZWVOb2RlSXRlbS5lZGl0TmV3VmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnRyZWVOb2RlSXRlbS5lZGl0UHJldmlvdXNWYWx1ZSA9IHRoaXMudHJlZU5vZGVJdGVtLmxhYmVsO1xuICAgIHRoaXMudHJlZU5vZGVJdGVtLmxhYmVsID0gdGhpcy50cmVlTm9kZUl0ZW0uZWRpdE5ld1ZhbHVlO1xuXG4gICAgY29uc3QgcmV2ZXJ0QWN0aW9uID0gKCk6IHZvaWQgPT4ge1xuICAgICAgdGhpcy50cmVlTm9kZUl0ZW0ubGFiZWwgPSB0aGlzLnRyZWVOb2RlSXRlbS5lZGl0UHJldmlvdXNWYWx1ZSA/PyB0aGlzLnRyZWVOb2RlSXRlbS5sYWJlbDtcbiAgICAgIHRoaXMudHJlZU5vZGVJdGVtLmlzRWRpdGluZyA9IGZhbHNlO1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH07XG5cbiAgICB0aGlzLnRyZWVOb2RlRWRpdC5lbWl0KHtcbiAgICAgIHJldmVydEFjdGlvbixcbiAgICAgIGl0ZW06IHRoaXMudHJlZU5vZGVJdGVtLFxuICAgICAgbmV3VmFsdWU6IHRoaXMudHJlZU5vZGVJdGVtLmVkaXROZXdWYWx1ZSxcbiAgICAgIHByZXZpb3VzVmFsdWU6IHRoaXMudHJlZU5vZGVJdGVtLmVkaXRQcmV2aW91c1ZhbHVlID8/ICcnXG4gICAgfSk7XG4gIH1cbn1cbiIsIkBpZiAodHJlZU5vZGVJdGVtKSB7XG48ZGl2XG4gIGNsYXNzPVwic2RjLXRyZWUtbm9kZS1pdGVtXCJcbiAgcm9sZT1cInRyZWVpdGVtXCJcbiAgdGFiaW5kZXg9XCIwXCJcbiAgW2NsYXNzLnNkYy10cmVlLW5vZGUtaXRlbS0tc2VsZWN0ZWRdPVwidHJlZU5vZGVJdGVtLmNoZWNrZWRcIlxuICBbY2xhc3Muc2RjLXRyZWUtbm9kZS1pdGVtLS1zZWxlY3RhYmxlXT1cInRyZWVOb2RlSXRlbS5jaGVja2VkID09PSB0cnVlIHx8IHRyZWVOb2RlSXRlbS5jaGVja2VkID09PSBudWxsXCJcbiAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJoYXNDaGlsZHJlbiA/IHRyZWVOb2RlSXRlbS5pc0V4cGFuZGVkIDogbnVsbFwiXG4gIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwidHJlZU5vZGVJdGVtLmNoZWNrZWQgPT09IHRydWUgPyAndHJ1ZScgOiAnZmFsc2UnXCJcbiAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0cmVlTm9kZUl0ZW0ubGFiZWxcIlxuICBbYXR0ci5hcmlhLWxldmVsXT1cImFyaWFMZXZlbFwiXG4gIChrZXlkb3duLmVudGVyKT1cImhhbmRsZVRyZWVOb2RlSXRlbUtleWJvYXJkQWN0aXZhdGUoJGV2ZW50KVwiXG4gIChrZXlkb3duLnNwYWNlKT1cImhhbmRsZVRyZWVOb2RlSXRlbUtleWJvYXJkQWN0aXZhdGUoJGV2ZW50KVwiXG4gIChrZXlkb3duLmFycm93UmlnaHQpPVwiZXhwYW5kTm9kZSgpXCJcbiAgKGtleWRvd24uYXJyb3dMZWZ0KT1cImNvbGxhcHNlTm9kZSgpXCJcbj5cbiAgQGlmIChoYXNDaGlsZHJlbikge1xuICA8YnV0dG9uXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgY2xhc3M9XCJzZGMtdHJlZS1ub2RlLWl0ZW1fX2Fycm93XCJcbiAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyB0b2dnbGVFeHBhbmRlZCh0cmVlTm9kZUl0ZW0pXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRyZWVOb2RlSXRlbS5pc0V4cGFuZGVkID8gY29sbGFwc2VBcmlhTGFiZWwgOiBleHBhbmRBcmlhTGFiZWxcIlxuICA+XG4gICAgQGlmICghdHJlZU5vZGVJdGVtLmlzRXhwYW5kZWQpIHtcbiAgICA8aSBbY2xhc3NdPVwidHJlZU5vZGVJdGVtLmNvbGxhcHNlZEljb24gfHwgJ2ZhcyBmYS1jaGV2cm9uLXJpZ2h0J1wiPjwvaT5cbiAgICB9XG4gICAgQGlmICh0cmVlTm9kZUl0ZW0uaXNFeHBhbmRlZCkge1xuICAgIDxpIFtjbGFzc109XCJ0cmVlTm9kZUl0ZW0uZXhwYW5kZWRJY29uIHx8ICdmYXMgZmEtY2hldnJvbi1kb3duJ1wiPjwvaT5cbiAgICB9XG4gIDwvYnV0dG9uPlxuICB9XG5cbiAgPGRpdlxuICAgIGNsYXNzPVwic2RjLXRyZWUtbm9kZS1pdGVtX19jb250ZW50XCJcbiAgICAoY2xpY2spPVwiaGFuZGxlVHJlZU5vZGVJdGVtQ2xpY2soJGV2ZW50KVwiXG4gICAgKGtleWRvd24uZW50ZXIpPVwiaGFuZGxlVHJlZU5vZGVJdGVtS2V5Ym9hcmRBY3RpdmF0ZSgkZXZlbnQpXCJcbiAgICAoa2V5ZG93bi5zcGFjZSk9XCJoYW5kbGVUcmVlTm9kZUl0ZW1LZXlib2FyZEFjdGl2YXRlKCRldmVudClcIlxuICA+XG4gICAgQGlmICh0cmVlTm9kZUl0ZW0uaWNvbiB8fCB0cmVlTm9kZUl0ZW0uaXNFZGl0aW5nKSB7XG4gICAgPHNwYW4gY2xhc3M9XCJzZGMtdHJlZS1ub2RlLWl0ZW1fX2ljb25cIj5cbiAgICAgIEBpZiAodHJlZU5vZGVJdGVtLmljb24gJiYgIXRyZWVOb2RlSXRlbS5pc0VkaXRpbmcpIHtcbiAgICAgIDxpIFtjbGFzc109XCJ0cmVlTm9kZUl0ZW0uaWNvblwiPjwvaT5cbiAgICAgIH1cbiAgICAgIEBpZiAodHJlZU5vZGVJdGVtLmlzRWRpdGluZykge1xuICAgICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJzZGMtdHJlZS1ub2RlLWl0ZW1fX2VkaXQtaWNvblwiXG4gICAgICAgIChjbGljayk9XCJzYXZlRWRpdCgkZXZlbnQpXCJcbiAgICAgID5cbiAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtZWRpdFwiPjwvaT5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgfVxuICAgIDwvc3Bhbj5cbiAgICB9XG5cbiAgICBAaWYgKHNob3dDaGVja2JveCAmJiAhdHJlZU5vZGVJdGVtLmlzRWRpdGluZykge1xuICAgIDxzcGFuIGNsYXNzPVwic2RjLXRyZWUtbm9kZS1pdGVtX19jaGVja2JveFwiPlxuICAgICAgPGlucHV0XG4gICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgIFtjaGVja2VkXT1cInRyZWVOb2RlSXRlbS5jaGVja2VkID09PSB0cnVlXCJcbiAgICAgICAgW2luZGV0ZXJtaW5hdGVdPVwidHJlZU5vZGVJdGVtLmNoZWNrZWQgPT09IG51bGxcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImNoZWNrYm94QXJpYUxhYmVsXCJcbiAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgKGNsaWNrKT1cImhhbmRsZUNoZWNrYm94Q2hhbmdlKCRldmVudCwgdHJlZU5vZGVJdGVtKVwiXG4gICAgICAgIChrZXlkb3duKT1cIm9uQ2hlY2tib3hLZXlkb3duKCRldmVudCwgdHJlZU5vZGVJdGVtKVwiXG4gICAgICAvPlxuICAgIDwvc3Bhbj5cbiAgICB9XG5cbiAgICA8c3BhbiBjbGFzcz1cInNkYy10cmVlLW5vZGUtaXRlbV9fbGFiZWxcIj5cbiAgICAgIEBpZiAodHJlZU5vZGVJdGVtLmlzRWRpdGluZykge1xuICAgICAgPGlucHV0XG4gICAgICAgICNpbnB1dFxuICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgIGNsYXNzPVwic2RjLXRyZWUtbm9kZS1pdGVtX19pbnB1dFwiXG4gICAgICAgIFsobmdNb2RlbCldPVwidHJlZU5vZGVJdGVtLmVkaXROZXdWYWx1ZVwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZWRpdElucHV0QXJpYUxhYmVsXCJcbiAgICAgICAgYXJpYS1saXZlPVwicG9saXRlXCJcbiAgICAgICAgKGtleWRvd24uZW50ZXIpPVwic2F2ZUVkaXQoJGV2ZW50KVwiXG4gICAgICAgIChrZXlkb3duLmVzY2FwZSk9XCJjYW5jZWxFZGl0KCRldmVudClcIlxuICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgIC8+XG4gICAgICB9IEBlbHNlIHtcbiAgICAgIHt7IHRyZWVOb2RlSXRlbS5sYWJlbCB9fVxuICAgICAgfVxuICAgIDwvc3Bhbj5cblxuICAgIEBpZiAoZWRpdGFibGUpIHtcbiAgICA8YnV0dG9uXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGNsYXNzPVwic2RjLXRyZWUtbm9kZS1pdGVtX19lZGl0YWJsZVwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImVkaXRCdXR0b25BcmlhTGFiZWxcIlxuICAgICAgKGNsaWNrKT1cInRvZ2dsZUVkaXRpbmcoJGV2ZW50KVwiXG4gICAgPlxuICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtcGVuY2lsLWFsdFwiPjwvaT5cbiAgICA8L2J1dHRvbj5cbiAgICB9XG4gIDwvZGl2PlxuPC9kaXY+XG59XG5cbkBpZiAoaGFzQ2hpbGRyZW4gJiYgdHJlZU5vZGVJdGVtLmlzRXhwYW5kZWQpIHtcbjxkaXZcbiAgQGZhZGVFeHBhbmRcbiAgY2xhc3M9XCJzZGMtdHJlZS1ub2RlLWl0ZW1fX2NoaWxkcmVuXCJcbiAgQGNoaWxkcmVuQW5pbWF0aW9uXG4+XG4gIEBmb3IgKGNoaWxkIG9mIHRyZWVOb2RlSXRlbS5jaGlsZHJlbjsgdHJhY2sgY2hpbGQuaWQpIHtcbiAgPHNkYy10cmVlLW5vZGUtaXRlbVxuICAgIGNsYXNzPVwic2RjLXRyZWUtbm9kZS1pdGVtX19jaGlsZFwiXG4gICAgW3Nob3dDaGVja2JveF09XCJzaG93Q2hlY2tib3hcIlxuICAgIFt0cmVlTm9kZUl0ZW1dPVwiY2hpbGRcIlxuICAgIFthcmlhTGV2ZWxdPVwiYXJpYUxldmVsICsgMVwiXG4gICAgKHRyZWVOb2RlSXRlbUNsaWNrZWQpPVwidHJlZU5vZGVJdGVtQ2xpY2tlZC5lbWl0KCRldmVudClcIlxuICAgICh0cmVlTm9kZUVkaXQpPVwidHJlZU5vZGVFZGl0LmVtaXQoJGV2ZW50KVwiXG4gICAgKG5vZGVFeHBhbmRlZCk9XCJub2RlRXhwYW5kZWQuZW1pdCgkZXZlbnQpXCJcbiAgICAobm9kZUNvbGxhcHNlZCk9XCJub2RlQ29sbGFwc2VkLmVtaXQoJGV2ZW50KVwiXG4gID48L3NkYy10cmVlLW5vZGUtaXRlbT5cbiAgfVxuPC9kaXY+XG59XG4iXX0=
|
|
169
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1ub2RlLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9mZWF0dXJlcy90cmVlL2NvbXBvbmVudHMvdHJlZS1ub2RlLWl0ZW0vdHJlZS1ub2RlLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9mZWF0dXJlcy90cmVlL2NvbXBvbmVudHMvdHJlZS1ub2RlLWl0ZW0vdHJlZS1ub2RlLWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFGLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixFQUNqQixVQUFVLEVBQ1YsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBa0N2RCxNQUFNLE9BQU8scUJBQXFCO0lBQ2YsR0FBRyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ2hDLFNBQVMsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUU3QyxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBQ2QsWUFBWSxHQUFHLEtBQUssQ0FBQztJQUNILFlBQVksQ0FBd0I7SUFFckQsbUJBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQWdELENBQUM7SUFDdkYsWUFB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Qzs2QkFDOUQsQ0FBQzs0QkFDRixVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQzt5QkFDdkYsQ0FBQzt3QkFDRixPQUFPLENBQUMsbUJBQW1CLEVBQUU7NEJBQzNCLFVBQVUsQ0FBQyxRQUFRLEVBQUU7Z0NBQ25CLEtBQUssQ0FDSCxRQUFRLEVBQ1I7b0NBQ0UsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQztvQ0FDckQsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztpQ0FDNUYsRUFDRCxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FDbkI7NkJBQ0YsQ0FBQzt5QkFDSCxDQUFDO3FCQUNIOzhCQU1RLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDcUIsWUFBWTtzQkFBdEMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBRWYsbUJBQW1CO3NCQUE1QixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUU2QyxLQUFLO3NCQUF4RCxTQUFTO3VCQUFDLE9BQU8sRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgYW5pbWF0ZSwgcXVlcnksIHN0YWdnZXIsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBmb3J3YXJkUmVmLFxuICBpbmplY3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuaW1wb3J0IHR5cGUgeyBJbnRlcm5hbFRyZWVOb2RlSXRlbSwgVHJlZU5vZGVFZGl0IH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS90eXBlcy90cmVlLnR5cGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZGMtdHJlZS1ub2RlLWl0ZW0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgZm9yd2FyZFJlZigoKSA9PiBUcmVlTm9kZUl0ZW1Db21wb25lbnQpXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3RyZWUtbm9kZS1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdHJlZS1ub2RlLWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLkVtdWxhdGVkLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignZmFkZUV4cGFuZCcsIFtcbiAgICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFtcbiAgICAgICAgc3R5bGUoeyBoZWlnaHQ6ICcwcHgnLCBvcGFjaXR5OiAwLCBvdmVyZmxvdzogJ2hpZGRlbicgfSksXG4gICAgICAgIGFuaW1hdGUoJzIwMG1zIGVhc2Utb3V0Jywgc3R5bGUoeyBoZWlnaHQ6ICcqJywgb3BhY2l0eTogMSB9KSlcbiAgICAgIF0pLFxuICAgICAgdHJhbnNpdGlvbignOmxlYXZlJywgW2FuaW1hdGUoJzE1MG1zIGVhc2UtaW4nLCBzdHlsZSh7IGhlaWdodDogJzBweCcsIG9wYWNpdHk6IDAgfSkpXSlcbiAgICBdKSxcbiAgICB0cmlnZ2VyKCdjaGlsZHJlbkFuaW1hdGlvbicsIFtcbiAgICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFtcbiAgICAgICAgcXVlcnkoXG4gICAgICAgICAgJzplbnRlcicsXG4gICAgICAgICAgW1xuICAgICAgICAgICAgc3R5bGUoeyBvcGFjaXR5OiAwLCB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKC0xMHB4KScgfSksXG4gICAgICAgICAgICBzdGFnZ2VyKDYwLCBbYW5pbWF0ZSgnMjAwbXMgZWFzZS1vdXQnLCBzdHlsZSh7IG9wYWNpdHk6IDEsIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMCknIH0pKV0pXG4gICAgICAgICAgXSxcbiAgICAgICAgICB7IG9wdGlvbmFsOiB0cnVlIH1cbiAgICAgICAgKVxuICAgICAgXSlcbiAgICBdKVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFRyZWVOb2RlSXRlbUNvbXBvbmVudCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGUgPSBpbmplY3QoVHJhbnNsYXRlU2VydmljZSk7XG5cbiAgQElucHV0KCkgYXJpYUxldmVsID0gMTtcbiAgQElucHV0KCkgc2hvd0NoZWNrYm94ID0gZmFsc2U7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHRyZWVOb2RlSXRlbSE6IEludGVybmFsVHJlZU5vZGVJdGVtO1xuXG4gIEBPdXRwdXQoKSB0cmVlTm9kZUl0ZW1DbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjx7IGl0ZW06IEludGVybmFsVHJlZU5vZGVJdGVtOyBldmVudDogRXZlbnQgfT4oKTtcbiAgQE91dHB1dCgpIHRyZWVOb2RlRWRpdCA9IG5ldyBFdmVudEVtaXR0ZXI8VHJlZU5vZGVFZGl0PigpO1xuICBAT3V0cHV0KCkgbm9kZUV4cGFuZGVkID0gbmV3IEV2ZW50RW1pdHRlcjxJbnRlcm5hbFRyZWVOb2RlSXRlbT4oKTtcbiAgQE91dHB1dCgpIG5vZGVDb2xsYXBzZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEludGVybmFsVHJlZU5vZGVJdGVtPigpO1xuXG4gIEBWaWV3Q2hpbGQoJ2lucHV0JywgeyByZWFkOiBFbGVtZW50UmVmIH0pIHByb3RlY3RlZCBpbnB1dD86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgcHJvdGVjdGVkIGdldCBoYXNDaGlsZHJlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLnRyZWVOb2RlSXRlbT8uY2hpbGRyZW4/Lmxlbmd0aDtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgZWRpdGFibGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHJlZU5vZGVJdGVtPy5lZGl0YWJsZSA/PyBmYWxzZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgY2hlY2tib3hBcmlhTGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy50cmFuc2xhdGUuaW5zdGFudCgncGxhdGZvcm0uZGF0YWNvcmUudHJlZV9zZWxlY3QnKX0gJHt0aGlzLnRyZWVOb2RlSXRlbS5sYWJlbH1gO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBleHBhbmRBcmlhTGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgncGxhdGZvcm0uZGF0YWNvcmUudHJlZV9leHBhbmQnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgY29sbGFwc2VBcmlhTGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgncGxhdGZvcm0uZGF0YWNvcmUudHJlZV9jb2xsYXBzZScpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBlZGl0SW5wdXRBcmlhTGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgncGxhdGZvcm0uZGF0YWNvcmUudHJlZV9lZGl0X25hbWUnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgZWRpdEJ1dHRvbkFyaWFMYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdwbGF0Zm9ybS5kYXRhY29yZS50cmVlX2VkaXQnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBleHBhbmROb2RlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmhhc0NoaWxkcmVuICYmICF0aGlzLnRyZWVOb2RlSXRlbS5pc0V4cGFuZGVkKSB7XG4gICAgICB0aGlzLnRvZ2dsZUV4cGFuZGVkKHRoaXMudHJlZU5vZGVJdGVtKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgY29sbGFwc2VOb2RlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmhhc0NoaWxkcmVuICYmIHRoaXMudHJlZU5vZGVJdGVtLmlzRXhwYW5kZWQpIHtcbiAgICAgIHRoaXMudG9nZ2xlRXhwYW5kZWQodGhpcy50cmVlTm9kZUl0ZW0pO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVDaGVja2JveENoYW5nZShldmVudDogRXZlbnQsIG5vZGU6IEludGVybmFsVHJlZU5vZGVJdGVtKTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy50cmVlTm9kZUl0ZW1DbGlja2VkLmVtaXQoeyBpdGVtOiBub2RlLCBldmVudCB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbkNoZWNrYm94S2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCwgbm9kZTogSW50ZXJuYWxUcmVlTm9kZUl0ZW0pOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQua2V5ICE9PSAnRW50ZXInICYmIGV2ZW50LmtleSAhPT0gJyAnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLnRyZWVOb2RlSXRlbUNsaWNrZWQuZW1pdCh7IGl0ZW06IG5vZGUsIGV2ZW50IH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZVRyZWVOb2RlSXRlbUNsaWNrKGV2ZW50OiBFdmVudCwgdHJlZU5vZGVJdGVtPzogSW50ZXJuYWxUcmVlTm9kZUl0ZW0pOiB2b2lkIHtcbiAgICB0aGlzLnRyZWVOb2RlSXRlbUNsaWNrZWQuZW1pdCh7IGl0ZW06IHRyZWVOb2RlSXRlbSA/PyB0aGlzLnRyZWVOb2RlSXRlbSwgZXZlbnQgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlVHJlZU5vZGVJdGVtS2V5Ym9hcmRBY3RpdmF0ZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMuaGFuZGxlVHJlZU5vZGVJdGVtQ2xpY2soZXZlbnQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHRvZ2dsZUV4cGFuZGVkKHRyZWVOb2RlSXRlbTogSW50ZXJuYWxUcmVlTm9kZUl0ZW0pOiB2b2lkIHtcbiAgICB0cmVlTm9kZUl0ZW0uaXNFeHBhbmRlZCA9ICF0cmVlTm9kZUl0ZW0uaXNFeHBhbmRlZDtcblxuICAgIGlmICh0cmVlTm9kZUl0ZW0uaXNFeHBhbmRlZCkge1xuICAgICAgdGhpcy5ub2RlRXhwYW5kZWQuZW1pdCh0cmVlTm9kZUl0ZW0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm5vZGVDb2xsYXBzZWQuZW1pdCh0cmVlTm9kZUl0ZW0pO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCB0b2dnbGVFZGl0aW5nKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMudHJlZU5vZGVJdGVtLmlzRWRpdGluZyA9ICF0aGlzLnRyZWVOb2RlSXRlbS5pc0VkaXRpbmc7XG4gICAgdGhpcy50cmVlTm9kZUl0ZW0uZWRpdE5ld1ZhbHVlID0gdGhpcy50cmVlTm9kZUl0ZW0ubGFiZWw7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIHRoaXMuaW5wdXQ/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjYW5jZWxFZGl0KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMudHJlZU5vZGVJdGVtLmlzRWRpdGluZyA9IGZhbHNlO1xuICAgIHRoaXMudHJlZU5vZGVJdGVtLmVkaXROZXdWYWx1ZSA9ICcnO1xuICAgIHRoaXMudHJlZU5vZGVJdGVtLmVkaXRQcmV2aW91c1ZhbHVlID0gJyc7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNhdmVFZGl0KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMudHJlZU5vZGVJdGVtLmlzRWRpdGluZyA9IGZhbHNlO1xuXG4gICAgaWYgKCF0aGlzLnRyZWVOb2RlSXRlbS5lZGl0TmV3VmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnRyZWVOb2RlSXRlbS5lZGl0UHJldmlvdXNWYWx1ZSA9IHRoaXMudHJlZU5vZGVJdGVtLmxhYmVsO1xuICAgIHRoaXMudHJlZU5vZGVJdGVtLmxhYmVsID0gdGhpcy50cmVlTm9kZUl0ZW0uZWRpdE5ld1ZhbHVlO1xuXG4gICAgY29uc3QgcmV2ZXJ0QWN0aW9uID0gKCk6IHZvaWQgPT4ge1xuICAgICAgdGhpcy50cmVlTm9kZUl0ZW0ubGFiZWwgPSB0aGlzLnRyZWVOb2RlSXRlbS5lZGl0UHJldmlvdXNWYWx1ZSA/PyB0aGlzLnRyZWVOb2RlSXRlbS5sYWJlbDtcbiAgICAgIHRoaXMudHJlZU5vZGVJdGVtLmlzRWRpdGluZyA9IGZhbHNlO1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH07XG5cbiAgICB0aGlzLnRyZWVOb2RlRWRpdC5lbWl0KHtcbiAgICAgIHJldmVydEFjdGlvbixcbiAgICAgIGl0ZW06IHRoaXMudHJlZU5vZGVJdGVtLFxuICAgICAgbmV3VmFsdWU6IHRoaXMudHJlZU5vZGVJdGVtLmVkaXROZXdWYWx1ZSxcbiAgICAgIHByZXZpb3VzVmFsdWU6IHRoaXMudHJlZU5vZGVJdGVtLmVkaXRQcmV2aW91c1ZhbHVlID8/ICcnXG4gICAgfSk7XG4gIH1cbn1cbiIsIkBpZiAodHJlZU5vZGVJdGVtKSB7XG48ZGl2XG4gIGNsYXNzPVwic2RjLXRyZWUtbm9kZS1pdGVtXCJcbiAgcm9sZT1cInRyZWVpdGVtXCJcbiAgdGFiaW5kZXg9XCIwXCJcbiAgW2NsYXNzLnNkYy10cmVlLW5vZGUtaXRlbS0tc2VsZWN0ZWRdPVwidHJlZU5vZGVJdGVtLmNoZWNrZWRcIlxuICBbY2xhc3Muc2RjLXRyZWUtbm9kZS1pdGVtLS1zZWxlY3RhYmxlXT1cInRyZWVOb2RlSXRlbS5jaGVja2VkID09PSB0cnVlIHx8IHRyZWVOb2RlSXRlbS5jaGVja2VkID09PSBudWxsXCJcbiAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJoYXNDaGlsZHJlbiA/IHRyZWVOb2RlSXRlbS5pc0V4cGFuZGVkIDogbnVsbFwiXG4gIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwidHJlZU5vZGVJdGVtLmNoZWNrZWQgPT09IHRydWUgPyAndHJ1ZScgOiAnZmFsc2UnXCJcbiAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0cmVlTm9kZUl0ZW0ubGFiZWxcIlxuICBbYXR0ci5hcmlhLWxldmVsXT1cImFyaWFMZXZlbFwiXG4gIChrZXlkb3duLmVudGVyKT1cImhhbmRsZVRyZWVOb2RlSXRlbUtleWJvYXJkQWN0aXZhdGUoJGV2ZW50KVwiXG4gIChrZXlkb3duLnNwYWNlKT1cImhhbmRsZVRyZWVOb2RlSXRlbUtleWJvYXJkQWN0aXZhdGUoJGV2ZW50KVwiXG4gIChrZXlkb3duLmFycm93UmlnaHQpPVwiZXhwYW5kTm9kZSgpXCJcbiAgKGtleWRvd24uYXJyb3dMZWZ0KT1cImNvbGxhcHNlTm9kZSgpXCJcbj5cbiAgQGlmIChoYXNDaGlsZHJlbikge1xuICA8YnV0dG9uXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgY2xhc3M9XCJzZGMtdHJlZS1ub2RlLWl0ZW1fX2Fycm93XCJcbiAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyB0b2dnbGVFeHBhbmRlZCh0cmVlTm9kZUl0ZW0pXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRyZWVOb2RlSXRlbS5pc0V4cGFuZGVkID8gY29sbGFwc2VBcmlhTGFiZWwgOiBleHBhbmRBcmlhTGFiZWxcIlxuICA+XG4gICAgQGlmICghdHJlZU5vZGVJdGVtLmlzRXhwYW5kZWQpIHtcbiAgICA8aSBbY2xhc3NdPVwidHJlZU5vZGVJdGVtLmNvbGxhcHNlZEljb24gfHwgJ2ZhcyBmYS1jaGV2cm9uLXJpZ2h0J1wiPjwvaT5cbiAgICB9XG4gICAgQGlmICh0cmVlTm9kZUl0ZW0uaXNFeHBhbmRlZCkge1xuICAgIDxpIFtjbGFzc109XCJ0cmVlTm9kZUl0ZW0uZXhwYW5kZWRJY29uIHx8ICdmYXMgZmEtY2hldnJvbi1kb3duJ1wiPjwvaT5cbiAgICB9XG4gIDwvYnV0dG9uPlxuICB9XG5cbiAgPGRpdlxuICAgIGNsYXNzPVwic2RjLXRyZWUtbm9kZS1pdGVtX19jb250ZW50XCJcbiAgICAoY2xpY2spPVwiaGFuZGxlVHJlZU5vZGVJdGVtQ2xpY2soJGV2ZW50KVwiXG4gICAgKGtleWRvd24uZW50ZXIpPVwiaGFuZGxlVHJlZU5vZGVJdGVtS2V5Ym9hcmRBY3RpdmF0ZSgkZXZlbnQpXCJcbiAgICAoa2V5ZG93bi5zcGFjZSk9XCJoYW5kbGVUcmVlTm9kZUl0ZW1LZXlib2FyZEFjdGl2YXRlKCRldmVudClcIlxuICA+XG4gICAgQGlmICh0cmVlTm9kZUl0ZW0uaWNvbiB8fCB0cmVlTm9kZUl0ZW0uaXNFZGl0aW5nKSB7XG4gICAgPHNwYW4gY2xhc3M9XCJzZGMtdHJlZS1ub2RlLWl0ZW1fX2ljb25cIj5cbiAgICAgIEBpZiAodHJlZU5vZGVJdGVtLmljb24gJiYgIXRyZWVOb2RlSXRlbS5pc0VkaXRpbmcpIHtcbiAgICAgIDxpIFtjbGFzc109XCJ0cmVlTm9kZUl0ZW0uaWNvblwiPjwvaT5cbiAgICAgIH1cbiAgICAgIEBpZiAodHJlZU5vZGVJdGVtLmlzRWRpdGluZykge1xuICAgICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJzZGMtdHJlZS1ub2RlLWl0ZW1fX2VkaXQtaWNvblwiXG4gICAgICAgIChjbGljayk9XCJzYXZlRWRpdCgkZXZlbnQpXCJcbiAgICAgID5cbiAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtZWRpdFwiPjwvaT5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgfVxuICAgIDwvc3Bhbj5cbiAgICB9XG5cbiAgICBAaWYgKHNob3dDaGVja2JveCAmJiAhdHJlZU5vZGVJdGVtLmlzRWRpdGluZykge1xuICAgIDxzcGFuIGNsYXNzPVwic2RjLXRyZWUtbm9kZS1pdGVtX19jaGVja2JveFwiPlxuICAgICAgPGlucHV0XG4gICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgIFtjaGVja2VkXT1cInRyZWVOb2RlSXRlbS5jaGVja2VkID09PSB0cnVlXCJcbiAgICAgICAgW2luZGV0ZXJtaW5hdGVdPVwidHJlZU5vZGVJdGVtLmNoZWNrZWQgPT09IG51bGxcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImNoZWNrYm94QXJpYUxhYmVsXCJcbiAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgKGNsaWNrKT1cImhhbmRsZUNoZWNrYm94Q2hhbmdlKCRldmVudCwgdHJlZU5vZGVJdGVtKVwiXG4gICAgICAgIChrZXlkb3duKT1cIm9uQ2hlY2tib3hLZXlkb3duKCRldmVudCwgdHJlZU5vZGVJdGVtKVwiXG4gICAgICAvPlxuICAgIDwvc3Bhbj5cbiAgICB9XG5cbiAgICA8c3BhbiBjbGFzcz1cInNkYy10cmVlLW5vZGUtaXRlbV9fbGFiZWxcIiBbYXR0ci50aXRsZV09XCJ0cmVlTm9kZUl0ZW0udGl0bGUgfHwgbnVsbFwiPlxuICAgICAgQGlmICh0cmVlTm9kZUl0ZW0uaXNFZGl0aW5nKSB7XG4gICAgICA8aW5wdXRcbiAgICAgICAgI2lucHV0XG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgY2xhc3M9XCJzZGMtdHJlZS1ub2RlLWl0ZW1fX2lucHV0XCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJ0cmVlTm9kZUl0ZW0uZWRpdE5ld1ZhbHVlXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJlZGl0SW5wdXRBcmlhTGFiZWxcIlxuICAgICAgICBhcmlhLWxpdmU9XCJwb2xpdGVcIlxuICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJzYXZlRWRpdCgkZXZlbnQpXCJcbiAgICAgICAgKGtleWRvd24uZXNjYXBlKT1cImNhbmNlbEVkaXQoJGV2ZW50KVwiXG4gICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgLz5cbiAgICAgIH0gQGVsc2Uge1xuICAgICAge3sgdHJlZU5vZGVJdGVtLmxhYmVsIH19XG4gICAgICB9XG4gICAgPC9zcGFuPlxuXG4gICAgQGlmIChlZGl0YWJsZSkge1xuICAgIDxidXR0b25cbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgY2xhc3M9XCJzZGMtdHJlZS1ub2RlLWl0ZW1fX2VkaXRhYmxlXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZWRpdEJ1dHRvbkFyaWFMYWJlbFwiXG4gICAgICAoY2xpY2spPVwidG9nZ2xlRWRpdGluZygkZXZlbnQpXCJcbiAgICA+XG4gICAgICA8aSBjbGFzcz1cImZhcyBmYS1wZW5jaWwtYWx0XCI+PC9pPlxuICAgIDwvYnV0dG9uPlxuICAgIH1cbiAgPC9kaXY+XG48L2Rpdj5cbn1cblxuQGlmIChoYXNDaGlsZHJlbiAmJiB0cmVlTm9kZUl0ZW0uaXNFeHBhbmRlZCkge1xuPGRpdlxuICBAZmFkZUV4cGFuZFxuICBjbGFzcz1cInNkYy10cmVlLW5vZGUtaXRlbV9fY2hpbGRyZW5cIlxuICBAY2hpbGRyZW5BbmltYXRpb25cbj5cbiAgQGZvciAoY2hpbGQgb2YgdHJlZU5vZGVJdGVtLmNoaWxkcmVuOyB0cmFjayBjaGlsZC5pZCkge1xuICA8c2RjLXRyZWUtbm9kZS1pdGVtXG4gICAgY2xhc3M9XCJzZGMtdHJlZS1ub2RlLWl0ZW1fX2NoaWxkXCJcbiAgICBbc2hvd0NoZWNrYm94XT1cInNob3dDaGVja2JveFwiXG4gICAgW3RyZWVOb2RlSXRlbV09XCJjaGlsZFwiXG4gICAgW2FyaWFMZXZlbF09XCJhcmlhTGV2ZWwgKyAxXCJcbiAgICAodHJlZU5vZGVJdGVtQ2xpY2tlZCk9XCJ0cmVlTm9kZUl0ZW1DbGlja2VkLmVtaXQoJGV2ZW50KVwiXG4gICAgKHRyZWVOb2RlRWRpdCk9XCJ0cmVlTm9kZUVkaXQuZW1pdCgkZXZlbnQpXCJcbiAgICAobm9kZUV4cGFuZGVkKT1cIm5vZGVFeHBhbmRlZC5lbWl0KCRldmVudClcIlxuICAgIChub2RlQ29sbGFwc2VkKT1cIm5vZGVDb2xsYXBzZWQuZW1pdCgkZXZlbnQpXCJcbiAgPjwvc2RjLXRyZWUtbm9kZS1pdGVtPlxuICB9XG48L2Rpdj5cbn1cbiJdfQ==
|
|
@@ -32807,7 +32807,7 @@ class TreeNodeItemComponent {
|
|
|
32807
32807
|
});
|
|
32808
32808
|
}
|
|
32809
32809
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TreeNodeItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
32810
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TreeNodeItemComponent, isStandalone: true, selector: "sdc-tree-node-item", inputs: { ariaLevel: "ariaLevel", showCheckbox: "showCheckbox", treeNodeItem: "treeNodeItem" }, outputs: { treeNodeItemClicked: "treeNodeItemClicked", treeNodeEdit: "treeNodeEdit", nodeExpanded: "nodeExpanded", nodeCollapsed: "nodeCollapsed" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true, read: ElementRef }], ngImport: i0, template: "@if (treeNodeItem) {\n<div\n class=\"sdc-tree-node-item\"\n role=\"treeitem\"\n tabindex=\"0\"\n [class.sdc-tree-node-item--selected]=\"treeNodeItem.checked\"\n [class.sdc-tree-node-item--selectable]=\"treeNodeItem.checked === true || treeNodeItem.checked === null\"\n [attr.aria-expanded]=\"hasChildren ? treeNodeItem.isExpanded : null\"\n [attr.aria-selected]=\"treeNodeItem.checked === true ? 'true' : 'false'\"\n [attr.aria-label]=\"treeNodeItem.label\"\n [attr.aria-level]=\"ariaLevel\"\n (keydown.enter)=\"handleTreeNodeItemKeyboardActivate($event)\"\n (keydown.space)=\"handleTreeNodeItemKeyboardActivate($event)\"\n (keydown.arrowRight)=\"expandNode()\"\n (keydown.arrowLeft)=\"collapseNode()\"\n>\n @if (hasChildren) {\n <button\n type=\"button\"\n class=\"sdc-tree-node-item__arrow\"\n (click)=\"$event.stopPropagation(); toggleExpanded(treeNodeItem)\"\n [attr.aria-label]=\"treeNodeItem.isExpanded ? collapseAriaLabel : expandAriaLabel\"\n >\n @if (!treeNodeItem.isExpanded) {\n <i [class]=\"treeNodeItem.collapsedIcon || 'fas fa-chevron-right'\"></i>\n }\n @if (treeNodeItem.isExpanded) {\n <i [class]=\"treeNodeItem.expandedIcon || 'fas fa-chevron-down'\"></i>\n }\n </button>\n }\n\n <div\n class=\"sdc-tree-node-item__content\"\n (click)=\"handleTreeNodeItemClick($event)\"\n (keydown.enter)=\"handleTreeNodeItemKeyboardActivate($event)\"\n (keydown.space)=\"handleTreeNodeItemKeyboardActivate($event)\"\n >\n @if (treeNodeItem.icon || treeNodeItem.isEditing) {\n <span class=\"sdc-tree-node-item__icon\">\n @if (treeNodeItem.icon && !treeNodeItem.isEditing) {\n <i [class]=\"treeNodeItem.icon\"></i>\n }\n @if (treeNodeItem.isEditing) {\n <button\n type=\"button\"\n class=\"sdc-tree-node-item__edit-icon\"\n (click)=\"saveEdit($event)\"\n >\n <i class=\"fas fa-edit\"></i>\n </button>\n }\n </span>\n }\n\n @if (showCheckbox && !treeNodeItem.isEditing) {\n <span class=\"sdc-tree-node-item__checkbox\">\n <input\n type=\"checkbox\"\n [checked]=\"treeNodeItem.checked === true\"\n [indeterminate]=\"treeNodeItem.checked === null\"\n [attr.aria-label]=\"checkboxAriaLabel\"\n tabindex=\"0\"\n (click)=\"handleCheckboxChange($event, treeNodeItem)\"\n (keydown)=\"onCheckboxKeydown($event, treeNodeItem)\"\n />\n </span>\n }\n\n <span class=\"sdc-tree-node-item__label\">\n @if (treeNodeItem.isEditing) {\n <input\n #input\n type=\"text\"\n class=\"sdc-tree-node-item__input\"\n [(ngModel)]=\"treeNodeItem.editNewValue\"\n [attr.aria-label]=\"editInputAriaLabel\"\n aria-live=\"polite\"\n (keydown.enter)=\"saveEdit($event)\"\n (keydown.escape)=\"cancelEdit($event)\"\n (click)=\"$event.stopPropagation()\"\n />\n } @else {\n {{ treeNodeItem.label }}\n }\n </span>\n\n @if (editable) {\n <button\n type=\"button\"\n class=\"sdc-tree-node-item__editable\"\n [attr.aria-label]=\"editButtonAriaLabel\"\n (click)=\"toggleEditing($event)\"\n >\n <i class=\"fas fa-pencil-alt\"></i>\n </button>\n }\n </div>\n</div>\n}\n\n@if (hasChildren && treeNodeItem.isExpanded) {\n<div\n @fadeExpand\n class=\"sdc-tree-node-item__children\"\n @childrenAnimation\n>\n @for (child of treeNodeItem.children; track child.id) {\n <sdc-tree-node-item\n class=\"sdc-tree-node-item__child\"\n [showCheckbox]=\"showCheckbox\"\n [treeNodeItem]=\"child\"\n [ariaLevel]=\"ariaLevel + 1\"\n (treeNodeItemClicked)=\"treeNodeItemClicked.emit($event)\"\n (treeNodeEdit)=\"treeNodeEdit.emit($event)\"\n (nodeExpanded)=\"nodeExpanded.emit($event)\"\n (nodeCollapsed)=\"nodeCollapsed.emit($event)\"\n ></sdc-tree-node-item>\n }\n</div>\n}\n", styles: [".sdc-tree-node-item{display:flex;width:100%;cursor:pointer}.sdc-tree-node-item__arrow{display:inline-flex;align-items:center;justify-content:center;padding:.1875rem .5625rem;border:0;background:transparent;cursor:pointer}.sdc-tree-node-item__content{display:flex;flex:1;align-items:center;padding:.1875rem 0}.sdc-tree-node-item__content:hover{background:#f1f7f8}.sdc-tree-node-item__icon,.sdc-tree-node-item__checkbox{display:inline-flex;align-items:center;padding-right:.5625rem}.sdc-tree-node-item__label{display:flex;flex:1;color:#212533;font-size:.875rem;line-height:1.5}.sdc-tree-node-item__editable{display:inline-flex;align-items:center;justify-content:center;padding:.5625rem;border:0;background:transparent;cursor:pointer}.sdc-tree-node-item__input{width:100%}.sdc-tree-node-item--selectable .sdc-tree-node-item__label{font-weight:700}.sdc-tree-node-item--selected .sdc-tree-node-item__content{background:#d5e8ec}.sdc-tree-node-item__children{display:flex;flex-direction:column;gap:.3125rem;overflow:hidden;padding-left:2.2em}.sdc-tree-node-item__child:first-child{padding-top:.3125rem}\n"], dependencies: [{ kind: "component", type: i0.forwardRef(() => TreeNodeItemComponent), selector: "sdc-tree-node-item", inputs: ["ariaLevel", "showCheckbox", "treeNodeItem"], outputs: ["treeNodeItemClicked", "treeNodeEdit", "nodeExpanded", "nodeCollapsed"] }, { kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "ngmodule", type: i0.forwardRef(() => FormsModule) }, { kind: "directive", type: i0.forwardRef(() => i1$2.DefaultValueAccessor), selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i0.forwardRef(() => i1$2.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i1$2.NgModel), selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], animations: [
|
|
32810
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TreeNodeItemComponent, isStandalone: true, selector: "sdc-tree-node-item", inputs: { ariaLevel: "ariaLevel", showCheckbox: "showCheckbox", treeNodeItem: "treeNodeItem" }, outputs: { treeNodeItemClicked: "treeNodeItemClicked", treeNodeEdit: "treeNodeEdit", nodeExpanded: "nodeExpanded", nodeCollapsed: "nodeCollapsed" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true, read: ElementRef }], ngImport: i0, template: "@if (treeNodeItem) {\n<div\n class=\"sdc-tree-node-item\"\n role=\"treeitem\"\n tabindex=\"0\"\n [class.sdc-tree-node-item--selected]=\"treeNodeItem.checked\"\n [class.sdc-tree-node-item--selectable]=\"treeNodeItem.checked === true || treeNodeItem.checked === null\"\n [attr.aria-expanded]=\"hasChildren ? treeNodeItem.isExpanded : null\"\n [attr.aria-selected]=\"treeNodeItem.checked === true ? 'true' : 'false'\"\n [attr.aria-label]=\"treeNodeItem.label\"\n [attr.aria-level]=\"ariaLevel\"\n (keydown.enter)=\"handleTreeNodeItemKeyboardActivate($event)\"\n (keydown.space)=\"handleTreeNodeItemKeyboardActivate($event)\"\n (keydown.arrowRight)=\"expandNode()\"\n (keydown.arrowLeft)=\"collapseNode()\"\n>\n @if (hasChildren) {\n <button\n type=\"button\"\n class=\"sdc-tree-node-item__arrow\"\n (click)=\"$event.stopPropagation(); toggleExpanded(treeNodeItem)\"\n [attr.aria-label]=\"treeNodeItem.isExpanded ? collapseAriaLabel : expandAriaLabel\"\n >\n @if (!treeNodeItem.isExpanded) {\n <i [class]=\"treeNodeItem.collapsedIcon || 'fas fa-chevron-right'\"></i>\n }\n @if (treeNodeItem.isExpanded) {\n <i [class]=\"treeNodeItem.expandedIcon || 'fas fa-chevron-down'\"></i>\n }\n </button>\n }\n\n <div\n class=\"sdc-tree-node-item__content\"\n (click)=\"handleTreeNodeItemClick($event)\"\n (keydown.enter)=\"handleTreeNodeItemKeyboardActivate($event)\"\n (keydown.space)=\"handleTreeNodeItemKeyboardActivate($event)\"\n >\n @if (treeNodeItem.icon || treeNodeItem.isEditing) {\n <span class=\"sdc-tree-node-item__icon\">\n @if (treeNodeItem.icon && !treeNodeItem.isEditing) {\n <i [class]=\"treeNodeItem.icon\"></i>\n }\n @if (treeNodeItem.isEditing) {\n <button\n type=\"button\"\n class=\"sdc-tree-node-item__edit-icon\"\n (click)=\"saveEdit($event)\"\n >\n <i class=\"fas fa-edit\"></i>\n </button>\n }\n </span>\n }\n\n @if (showCheckbox && !treeNodeItem.isEditing) {\n <span class=\"sdc-tree-node-item__checkbox\">\n <input\n type=\"checkbox\"\n [checked]=\"treeNodeItem.checked === true\"\n [indeterminate]=\"treeNodeItem.checked === null\"\n [attr.aria-label]=\"checkboxAriaLabel\"\n tabindex=\"0\"\n (click)=\"handleCheckboxChange($event, treeNodeItem)\"\n (keydown)=\"onCheckboxKeydown($event, treeNodeItem)\"\n />\n </span>\n }\n\n <span class=\"sdc-tree-node-item__label\" [attr.title]=\"treeNodeItem.title || null\">\n @if (treeNodeItem.isEditing) {\n <input\n #input\n type=\"text\"\n class=\"sdc-tree-node-item__input\"\n [(ngModel)]=\"treeNodeItem.editNewValue\"\n [attr.aria-label]=\"editInputAriaLabel\"\n aria-live=\"polite\"\n (keydown.enter)=\"saveEdit($event)\"\n (keydown.escape)=\"cancelEdit($event)\"\n (click)=\"$event.stopPropagation()\"\n />\n } @else {\n {{ treeNodeItem.label }}\n }\n </span>\n\n @if (editable) {\n <button\n type=\"button\"\n class=\"sdc-tree-node-item__editable\"\n [attr.aria-label]=\"editButtonAriaLabel\"\n (click)=\"toggleEditing($event)\"\n >\n <i class=\"fas fa-pencil-alt\"></i>\n </button>\n }\n </div>\n</div>\n}\n\n@if (hasChildren && treeNodeItem.isExpanded) {\n<div\n @fadeExpand\n class=\"sdc-tree-node-item__children\"\n @childrenAnimation\n>\n @for (child of treeNodeItem.children; track child.id) {\n <sdc-tree-node-item\n class=\"sdc-tree-node-item__child\"\n [showCheckbox]=\"showCheckbox\"\n [treeNodeItem]=\"child\"\n [ariaLevel]=\"ariaLevel + 1\"\n (treeNodeItemClicked)=\"treeNodeItemClicked.emit($event)\"\n (treeNodeEdit)=\"treeNodeEdit.emit($event)\"\n (nodeExpanded)=\"nodeExpanded.emit($event)\"\n (nodeCollapsed)=\"nodeCollapsed.emit($event)\"\n ></sdc-tree-node-item>\n }\n</div>\n}\n", styles: [".sdc-tree-node-item{display:flex;width:100%;cursor:pointer}.sdc-tree-node-item__arrow{display:inline-flex;align-items:center;justify-content:center;padding:.1875rem .5625rem;border:0;background:transparent;cursor:pointer}.sdc-tree-node-item__content{display:flex;flex:1;align-items:center;padding:.1875rem 0}.sdc-tree-node-item__content:hover{background:#f1f7f8}.sdc-tree-node-item__icon,.sdc-tree-node-item__checkbox{display:inline-flex;align-items:center;padding-right:.5625rem}.sdc-tree-node-item__label{display:flex;flex:1;color:#212533;font-size:.875rem;line-height:1.5}.sdc-tree-node-item__editable{display:inline-flex;align-items:center;justify-content:center;padding:.5625rem;border:0;background:transparent;cursor:pointer}.sdc-tree-node-item__input{width:100%}.sdc-tree-node-item--selectable .sdc-tree-node-item__label{font-weight:700}.sdc-tree-node-item--selected .sdc-tree-node-item__content{background:#d5e8ec}.sdc-tree-node-item__children{display:flex;flex-direction:column;gap:.3125rem;overflow:hidden;padding-left:2.2em}.sdc-tree-node-item__child:first-child{padding-top:.3125rem}\n"], dependencies: [{ kind: "component", type: i0.forwardRef(() => TreeNodeItemComponent), selector: "sdc-tree-node-item", inputs: ["ariaLevel", "showCheckbox", "treeNodeItem"], outputs: ["treeNodeItemClicked", "treeNodeEdit", "nodeExpanded", "nodeCollapsed"] }, { kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "ngmodule", type: i0.forwardRef(() => FormsModule) }, { kind: "directive", type: i0.forwardRef(() => i1$2.DefaultValueAccessor), selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i0.forwardRef(() => i1$2.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i1$2.NgModel), selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], animations: [
|
|
32811
32811
|
trigger('fadeExpand', [
|
|
32812
32812
|
transition(':enter', [
|
|
32813
32813
|
style({ height: '0px', opacity: 0, overflow: 'hidden' }),
|
|
@@ -32843,7 +32843,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
32843
32843
|
], { optional: true })
|
|
32844
32844
|
])
|
|
32845
32845
|
])
|
|
32846
|
-
], template: "@if (treeNodeItem) {\n<div\n class=\"sdc-tree-node-item\"\n role=\"treeitem\"\n tabindex=\"0\"\n [class.sdc-tree-node-item--selected]=\"treeNodeItem.checked\"\n [class.sdc-tree-node-item--selectable]=\"treeNodeItem.checked === true || treeNodeItem.checked === null\"\n [attr.aria-expanded]=\"hasChildren ? treeNodeItem.isExpanded : null\"\n [attr.aria-selected]=\"treeNodeItem.checked === true ? 'true' : 'false'\"\n [attr.aria-label]=\"treeNodeItem.label\"\n [attr.aria-level]=\"ariaLevel\"\n (keydown.enter)=\"handleTreeNodeItemKeyboardActivate($event)\"\n (keydown.space)=\"handleTreeNodeItemKeyboardActivate($event)\"\n (keydown.arrowRight)=\"expandNode()\"\n (keydown.arrowLeft)=\"collapseNode()\"\n>\n @if (hasChildren) {\n <button\n type=\"button\"\n class=\"sdc-tree-node-item__arrow\"\n (click)=\"$event.stopPropagation(); toggleExpanded(treeNodeItem)\"\n [attr.aria-label]=\"treeNodeItem.isExpanded ? collapseAriaLabel : expandAriaLabel\"\n >\n @if (!treeNodeItem.isExpanded) {\n <i [class]=\"treeNodeItem.collapsedIcon || 'fas fa-chevron-right'\"></i>\n }\n @if (treeNodeItem.isExpanded) {\n <i [class]=\"treeNodeItem.expandedIcon || 'fas fa-chevron-down'\"></i>\n }\n </button>\n }\n\n <div\n class=\"sdc-tree-node-item__content\"\n (click)=\"handleTreeNodeItemClick($event)\"\n (keydown.enter)=\"handleTreeNodeItemKeyboardActivate($event)\"\n (keydown.space)=\"handleTreeNodeItemKeyboardActivate($event)\"\n >\n @if (treeNodeItem.icon || treeNodeItem.isEditing) {\n <span class=\"sdc-tree-node-item__icon\">\n @if (treeNodeItem.icon && !treeNodeItem.isEditing) {\n <i [class]=\"treeNodeItem.icon\"></i>\n }\n @if (treeNodeItem.isEditing) {\n <button\n type=\"button\"\n class=\"sdc-tree-node-item__edit-icon\"\n (click)=\"saveEdit($event)\"\n >\n <i class=\"fas fa-edit\"></i>\n </button>\n }\n </span>\n }\n\n @if (showCheckbox && !treeNodeItem.isEditing) {\n <span class=\"sdc-tree-node-item__checkbox\">\n <input\n type=\"checkbox\"\n [checked]=\"treeNodeItem.checked === true\"\n [indeterminate]=\"treeNodeItem.checked === null\"\n [attr.aria-label]=\"checkboxAriaLabel\"\n tabindex=\"0\"\n (click)=\"handleCheckboxChange($event, treeNodeItem)\"\n (keydown)=\"onCheckboxKeydown($event, treeNodeItem)\"\n />\n </span>\n }\n\n <span class=\"sdc-tree-node-item__label\">\n @if (treeNodeItem.isEditing) {\n <input\n #input\n type=\"text\"\n class=\"sdc-tree-node-item__input\"\n [(ngModel)]=\"treeNodeItem.editNewValue\"\n [attr.aria-label]=\"editInputAriaLabel\"\n aria-live=\"polite\"\n (keydown.enter)=\"saveEdit($event)\"\n (keydown.escape)=\"cancelEdit($event)\"\n (click)=\"$event.stopPropagation()\"\n />\n } @else {\n {{ treeNodeItem.label }}\n }\n </span>\n\n @if (editable) {\n <button\n type=\"button\"\n class=\"sdc-tree-node-item__editable\"\n [attr.aria-label]=\"editButtonAriaLabel\"\n (click)=\"toggleEditing($event)\"\n >\n <i class=\"fas fa-pencil-alt\"></i>\n </button>\n }\n </div>\n</div>\n}\n\n@if (hasChildren && treeNodeItem.isExpanded) {\n<div\n @fadeExpand\n class=\"sdc-tree-node-item__children\"\n @childrenAnimation\n>\n @for (child of treeNodeItem.children; track child.id) {\n <sdc-tree-node-item\n class=\"sdc-tree-node-item__child\"\n [showCheckbox]=\"showCheckbox\"\n [treeNodeItem]=\"child\"\n [ariaLevel]=\"ariaLevel + 1\"\n (treeNodeItemClicked)=\"treeNodeItemClicked.emit($event)\"\n (treeNodeEdit)=\"treeNodeEdit.emit($event)\"\n (nodeExpanded)=\"nodeExpanded.emit($event)\"\n (nodeCollapsed)=\"nodeCollapsed.emit($event)\"\n ></sdc-tree-node-item>\n }\n</div>\n}\n", styles: [".sdc-tree-node-item{display:flex;width:100%;cursor:pointer}.sdc-tree-node-item__arrow{display:inline-flex;align-items:center;justify-content:center;padding:.1875rem .5625rem;border:0;background:transparent;cursor:pointer}.sdc-tree-node-item__content{display:flex;flex:1;align-items:center;padding:.1875rem 0}.sdc-tree-node-item__content:hover{background:#f1f7f8}.sdc-tree-node-item__icon,.sdc-tree-node-item__checkbox{display:inline-flex;align-items:center;padding-right:.5625rem}.sdc-tree-node-item__label{display:flex;flex:1;color:#212533;font-size:.875rem;line-height:1.5}.sdc-tree-node-item__editable{display:inline-flex;align-items:center;justify-content:center;padding:.5625rem;border:0;background:transparent;cursor:pointer}.sdc-tree-node-item__input{width:100%}.sdc-tree-node-item--selectable .sdc-tree-node-item__label{font-weight:700}.sdc-tree-node-item--selected .sdc-tree-node-item__content{background:#d5e8ec}.sdc-tree-node-item__children{display:flex;flex-direction:column;gap:.3125rem;overflow:hidden;padding-left:2.2em}.sdc-tree-node-item__child:first-child{padding-top:.3125rem}\n"] }]
|
|
32846
|
+
], template: "@if (treeNodeItem) {\n<div\n class=\"sdc-tree-node-item\"\n role=\"treeitem\"\n tabindex=\"0\"\n [class.sdc-tree-node-item--selected]=\"treeNodeItem.checked\"\n [class.sdc-tree-node-item--selectable]=\"treeNodeItem.checked === true || treeNodeItem.checked === null\"\n [attr.aria-expanded]=\"hasChildren ? treeNodeItem.isExpanded : null\"\n [attr.aria-selected]=\"treeNodeItem.checked === true ? 'true' : 'false'\"\n [attr.aria-label]=\"treeNodeItem.label\"\n [attr.aria-level]=\"ariaLevel\"\n (keydown.enter)=\"handleTreeNodeItemKeyboardActivate($event)\"\n (keydown.space)=\"handleTreeNodeItemKeyboardActivate($event)\"\n (keydown.arrowRight)=\"expandNode()\"\n (keydown.arrowLeft)=\"collapseNode()\"\n>\n @if (hasChildren) {\n <button\n type=\"button\"\n class=\"sdc-tree-node-item__arrow\"\n (click)=\"$event.stopPropagation(); toggleExpanded(treeNodeItem)\"\n [attr.aria-label]=\"treeNodeItem.isExpanded ? collapseAriaLabel : expandAriaLabel\"\n >\n @if (!treeNodeItem.isExpanded) {\n <i [class]=\"treeNodeItem.collapsedIcon || 'fas fa-chevron-right'\"></i>\n }\n @if (treeNodeItem.isExpanded) {\n <i [class]=\"treeNodeItem.expandedIcon || 'fas fa-chevron-down'\"></i>\n }\n </button>\n }\n\n <div\n class=\"sdc-tree-node-item__content\"\n (click)=\"handleTreeNodeItemClick($event)\"\n (keydown.enter)=\"handleTreeNodeItemKeyboardActivate($event)\"\n (keydown.space)=\"handleTreeNodeItemKeyboardActivate($event)\"\n >\n @if (treeNodeItem.icon || treeNodeItem.isEditing) {\n <span class=\"sdc-tree-node-item__icon\">\n @if (treeNodeItem.icon && !treeNodeItem.isEditing) {\n <i [class]=\"treeNodeItem.icon\"></i>\n }\n @if (treeNodeItem.isEditing) {\n <button\n type=\"button\"\n class=\"sdc-tree-node-item__edit-icon\"\n (click)=\"saveEdit($event)\"\n >\n <i class=\"fas fa-edit\"></i>\n </button>\n }\n </span>\n }\n\n @if (showCheckbox && !treeNodeItem.isEditing) {\n <span class=\"sdc-tree-node-item__checkbox\">\n <input\n type=\"checkbox\"\n [checked]=\"treeNodeItem.checked === true\"\n [indeterminate]=\"treeNodeItem.checked === null\"\n [attr.aria-label]=\"checkboxAriaLabel\"\n tabindex=\"0\"\n (click)=\"handleCheckboxChange($event, treeNodeItem)\"\n (keydown)=\"onCheckboxKeydown($event, treeNodeItem)\"\n />\n </span>\n }\n\n <span class=\"sdc-tree-node-item__label\" [attr.title]=\"treeNodeItem.title || null\">\n @if (treeNodeItem.isEditing) {\n <input\n #input\n type=\"text\"\n class=\"sdc-tree-node-item__input\"\n [(ngModel)]=\"treeNodeItem.editNewValue\"\n [attr.aria-label]=\"editInputAriaLabel\"\n aria-live=\"polite\"\n (keydown.enter)=\"saveEdit($event)\"\n (keydown.escape)=\"cancelEdit($event)\"\n (click)=\"$event.stopPropagation()\"\n />\n } @else {\n {{ treeNodeItem.label }}\n }\n </span>\n\n @if (editable) {\n <button\n type=\"button\"\n class=\"sdc-tree-node-item__editable\"\n [attr.aria-label]=\"editButtonAriaLabel\"\n (click)=\"toggleEditing($event)\"\n >\n <i class=\"fas fa-pencil-alt\"></i>\n </button>\n }\n </div>\n</div>\n}\n\n@if (hasChildren && treeNodeItem.isExpanded) {\n<div\n @fadeExpand\n class=\"sdc-tree-node-item__children\"\n @childrenAnimation\n>\n @for (child of treeNodeItem.children; track child.id) {\n <sdc-tree-node-item\n class=\"sdc-tree-node-item__child\"\n [showCheckbox]=\"showCheckbox\"\n [treeNodeItem]=\"child\"\n [ariaLevel]=\"ariaLevel + 1\"\n (treeNodeItemClicked)=\"treeNodeItemClicked.emit($event)\"\n (treeNodeEdit)=\"treeNodeEdit.emit($event)\"\n (nodeExpanded)=\"nodeExpanded.emit($event)\"\n (nodeCollapsed)=\"nodeCollapsed.emit($event)\"\n ></sdc-tree-node-item>\n }\n</div>\n}\n", styles: [".sdc-tree-node-item{display:flex;width:100%;cursor:pointer}.sdc-tree-node-item__arrow{display:inline-flex;align-items:center;justify-content:center;padding:.1875rem .5625rem;border:0;background:transparent;cursor:pointer}.sdc-tree-node-item__content{display:flex;flex:1;align-items:center;padding:.1875rem 0}.sdc-tree-node-item__content:hover{background:#f1f7f8}.sdc-tree-node-item__icon,.sdc-tree-node-item__checkbox{display:inline-flex;align-items:center;padding-right:.5625rem}.sdc-tree-node-item__label{display:flex;flex:1;color:#212533;font-size:.875rem;line-height:1.5}.sdc-tree-node-item__editable{display:inline-flex;align-items:center;justify-content:center;padding:.5625rem;border:0;background:transparent;cursor:pointer}.sdc-tree-node-item__input{width:100%}.sdc-tree-node-item--selectable .sdc-tree-node-item__label{font-weight:700}.sdc-tree-node-item--selected .sdc-tree-node-item__content{background:#d5e8ec}.sdc-tree-node-item__children{display:flex;flex-direction:column;gap:.3125rem;overflow:hidden;padding-left:2.2em}.sdc-tree-node-item__child:first-child{padding-top:.3125rem}\n"] }]
|
|
32847
32847
|
}], propDecorators: { ariaLevel: [{
|
|
32848
32848
|
type: Input
|
|
32849
32849
|
}], showCheckbox: [{
|