@agorapulse/ui-components 18.0.13 → 18.0.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/agorapulse-ui-components-18.0.15.tgz +0 -0
- package/avatar/avatar.component.d.ts +1 -1
- package/checkbox/checkbox.component.d.ts +1 -1
- package/esm2022/add-comment/add-comment.component.mjs +3 -3
- package/esm2022/checkbox/checkbox.component.mjs +5 -4
- package/esm2022/datepicker/datepicker.component.mjs +3 -3
- package/esm2022/labels/label-list.component.mjs +3 -3
- package/esm2022/labels-selector/labels-selector.component.mjs +3 -3
- package/esm2022/media-display-overlay/media-display-overlay-dialog.component.mjs +3 -3
- package/esm2022/modal/modal.component.mjs +3 -3
- package/esm2022/nav-selector/directives/nav-selector-popover-trigger.directive.mjs +71 -0
- package/esm2022/nav-selector/nav-selector-category/nav-selector-category.component.mjs +15 -12
- package/esm2022/nav-selector/nav-selector-group/nav-selector-group.component.mjs +17 -14
- package/esm2022/nav-selector/nav-selector-leaf/nav-selector-leaf.component.mjs +38 -94
- package/esm2022/nav-selector/nav-selector-leaf/nav-selector-leaf.presenter.mjs +2 -2
- package/esm2022/nav-selector/nav-selector-leaf-detail/nav-selector-leaf-detail.component.mjs +6 -6
- package/esm2022/nav-selector/nav-selector-leaf-details/nav-selector-leaf-details.component.mjs +12 -9
- package/esm2022/nav-selector/nav-selector-popover/nav-selector-popover-item.component.mjs +14 -0
- package/esm2022/nav-selector/nav-selector-popover/nav-selector-popover.component.mjs +127 -0
- package/esm2022/nav-selector/nav-selector.component.mjs +45 -23
- package/esm2022/nav-selector/nav-selector.mjs +1 -1
- package/esm2022/nav-selector/nav-selector.state.mjs +35 -11
- package/esm2022/nav-selector/utils/leaf.utils.mjs +12 -3
- package/esm2022/nav-selector/utils/nav-selector.accessibility.mjs +22 -14
- package/esm2022/nav-selector/utils/nav-selector.builder.mjs +4 -2
- package/esm2022/nav-selector/utils/nav-selector.filter.mjs +49 -11
- package/esm2022/nav-selector/utils/nav-selector.folding.mjs +26 -23
- package/esm2022/nav-selector/utils/nav-selector.merger.mjs +76 -0
- package/esm2022/nav-selector/utils/nav-selector.minifying.mjs +14 -9
- package/esm2022/nav-selector/utils/nav-selector.multi-select.mjs +2 -2
- package/esm2022/nav-selector/utils/nav-selector.single-select.mjs +46 -23
- package/esm2022/neo-datepicker/neo-datepicker.component.mjs +3 -3
- package/esm2022/notification/notification.component.mjs +3 -3
- package/esm2022/paginator/paginator-button/paginator-button.component.mjs +2 -2
- package/esm2022/password-input/password-input.component.mjs +3 -3
- package/esm2022/popmenu/popmenu.component.mjs +3 -3
- package/esm2022/slide-toggle/slide-toggle.component.mjs +3 -3
- package/esm2022/snackbars-thread/component/snackbars-thread.component.mjs +3 -3
- package/esm2022/stepper/stepper.component.mjs +3 -3
- package/fesm2022/agorapulse-ui-components-add-comment.mjs +2 -2
- package/fesm2022/agorapulse-ui-components-add-comment.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-checkbox.mjs +4 -3
- package/fesm2022/agorapulse-ui-components-checkbox.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-datepicker.mjs +2 -2
- package/fesm2022/agorapulse-ui-components-datepicker.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-labels-selector.mjs +2 -2
- package/fesm2022/agorapulse-ui-components-labels-selector.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-labels.mjs +2 -2
- package/fesm2022/agorapulse-ui-components-labels.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-media-display-overlay.mjs +2 -2
- package/fesm2022/agorapulse-ui-components-media-display-overlay.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-modal.mjs +2 -2
- package/fesm2022/agorapulse-ui-components-modal.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-nav-selector.mjs +599 -238
- package/fesm2022/agorapulse-ui-components-nav-selector.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-neo-datepicker.mjs +2 -2
- package/fesm2022/agorapulse-ui-components-neo-datepicker.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-notification.mjs +2 -2
- package/fesm2022/agorapulse-ui-components-notification.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-paginator.mjs +2 -2
- package/fesm2022/agorapulse-ui-components-paginator.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-password-input.mjs +2 -2
- package/fesm2022/agorapulse-ui-components-password-input.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-popmenu.mjs +2 -2
- package/fesm2022/agorapulse-ui-components-popmenu.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-slide-toggle.mjs +2 -2
- package/fesm2022/agorapulse-ui-components-slide-toggle.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-snackbars-thread.mjs +2 -2
- package/fesm2022/agorapulse-ui-components-snackbars-thread.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-stepper.mjs +2 -2
- package/fesm2022/agorapulse-ui-components-stepper.mjs.map +1 -1
- package/nav-selector/directives/nav-selector-popover-trigger.directive.d.ts +25 -0
- package/nav-selector/nav-selector-group/nav-selector-group.component.d.ts +1 -1
- package/nav-selector/nav-selector-leaf/nav-selector-leaf.component.d.ts +5 -20
- package/nav-selector/nav-selector-leaf/nav-selector-leaf.presenter.d.ts +1 -1
- package/nav-selector/nav-selector-leaf-detail/nav-selector-leaf-detail.component.d.ts +1 -1
- package/nav-selector/nav-selector-popover/nav-selector-popover-item.component.d.ts +6 -0
- package/nav-selector/nav-selector-popover/nav-selector-popover.component.d.ts +39 -0
- package/nav-selector/nav-selector.component.d.ts +6 -4
- package/nav-selector/nav-selector.d.ts +6 -0
- package/nav-selector/nav-selector.state.d.ts +3 -2
- package/nav-selector/utils/leaf.utils.d.ts +15 -2
- package/nav-selector/utils/nav-selector.accessibility.d.ts +1 -1
- package/nav-selector/utils/nav-selector.filter.d.ts +3 -1
- package/nav-selector/utils/nav-selector.folding.d.ts +6 -3
- package/nav-selector/utils/nav-selector.merger.d.ts +23 -0
- package/nav-selector/utils/nav-selector.minifying.d.ts +4 -2
- package/nav-selector/utils/nav-selector.single-select.d.ts +2 -0
- package/package.json +1 -1
- package/agorapulse-ui-components-18.0.13.tgz +0 -0
package/esm2022/nav-selector/nav-selector-leaf-detail/nav-selector-leaf-detail.component.mjs
CHANGED
|
@@ -13,18 +13,18 @@ export class NavSelectorLeafDetailComponent {
|
|
|
13
13
|
constructor(navSelectorLeafDetailPresenter) {
|
|
14
14
|
this.navSelectorLeafDetailPresenter = navSelectorLeafDetailPresenter;
|
|
15
15
|
}
|
|
16
|
-
onClick(
|
|
17
|
-
|
|
16
|
+
onClick(event) {
|
|
17
|
+
event.stopImmediatePropagation();
|
|
18
18
|
this.navSelectorLeafDetailPresenter.onLeafDetailClicked(this.detail());
|
|
19
19
|
}
|
|
20
20
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NavSelectorLeafDetailComponent, deps: [{ token: i1.NavSelectorLeafDetailPresenter }], target: i0.ɵɵFactoryTarget.Component });
|
|
21
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.9", type: NavSelectorLeafDetailComponent, isStandalone: true, selector: "ap-nav-selector-leaf-detail", inputs: { detail: { classPropertyName: "detail", publicName: "detail", isSignal: true, isRequired: true, transformFunction: null }, embedded: { classPropertyName: "embedded", publicName: "embedded", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "onClick($event)", "keydown.enter": "onClick($event)", "keydown.space": "onClick($event)" }, properties: { "class.selected": "detail().selected
|
|
21
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.9", type: NavSelectorLeafDetailComponent, isStandalone: true, selector: "ap-nav-selector-leaf-detail", inputs: { detail: { classPropertyName: "detail", publicName: "detail", isSignal: true, isRequired: true, transformFunction: null }, embedded: { classPropertyName: "embedded", publicName: "embedded", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "onClick($event)", "keydown.enter": "onClick($event)", "keydown.space": "onClick($event)" }, properties: { "class.selected": "detail().selected", "class.embedded": "embedded()" } }, providers: [withSymbols(apErrorFill), NavSelectorLeafDetailPresenter], hostDirectives: [{ directive: i2.TreeNodeAccessibilityDirective, inputs: ["apTreeNodeAccessibility", "detail"] }], ngImport: i0, template: "<span class=\"caption\">{{ detail().alias }}</span>\n\n@if (detail().displayCounter) {\n <ap-counter\n color=\"orange\"\n size=\"normal\"\n [background]=\"false\">\n {{ detail().counter }}\n </ap-counter>\n}\n@if (detail().displayError) {\n <ap-symbol\n size=\"sm\"\n symbolId=\"error_fill\" />\n}\n", styles: [":host{display:flex;height:32px;padding:0 var(--ref-spacing-xxs);align-items:center;gap:var(--ref-spacing-xxs);align-self:stretch;flex-grow:1}:host.embedded{padding:0}:host ap-symbol[symbol-id=error_fill]{color:var(--ref-color-red-100)}:host .caption{flex-grow:1;overflow:hidden;color:var(--ref-color-grey-100);text-overflow:ellipsis;white-space:nowrap;font-family:Averta;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-regular);line-height:var(--ref-font-line-height-xs)}:host:not(.disabled):not(.embedded){cursor:pointer}:host:not(.disabled):not(.embedded):hover{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-10)}:host:not(.disabled):not(.embedded):active{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host:not(.disabled):not(.embedded):focus-visible{outline:none;border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-10);box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-electric-blue-100)}:host:not(.disabled):not(.embedded).selected{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host:not(.disabled):not(.embedded).selected .caption{overflow:hidden;color:var(--ref-color-electric-blue-150);text-overflow:ellipsis;white-space:nowrap;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-xs)}:host:not(.disabled):not(.embedded).selected:focus-visible{box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-electric-blue-100)}:host.embedded.selected .caption{color:var(--ref-color-electric-blue-150);font-size:var(--ref-font-size-sm);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-sm)}\n"], dependencies: [{ kind: "component", type: CounterComponent, selector: "ap-counter", inputs: ["color", "size", "background", "notif"] }, { kind: "component", type: SymbolComponent, selector: "ap-symbol", inputs: ["symbolId", "color", "size"], outputs: ["sizeChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
22
22
|
}
|
|
23
23
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NavSelectorLeafDetailComponent, decorators: [{
|
|
24
24
|
type: Component,
|
|
25
25
|
args: [{ selector: 'ap-nav-selector-leaf-detail', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [CounterComponent, SymbolComponent], providers: [withSymbols(apErrorFill), NavSelectorLeafDetailPresenter], host: {
|
|
26
26
|
'(click)': 'onClick($event)',
|
|
27
|
-
'[class.selected]': 'detail().selected
|
|
27
|
+
'[class.selected]': 'detail().selected',
|
|
28
28
|
'[class.embedded]': 'embedded()',
|
|
29
29
|
'(keydown.enter)': 'onClick($event)',
|
|
30
30
|
'(keydown.space)': 'onClick($event)',
|
|
@@ -34,6 +34,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
34
34
|
// Alias the input of the directive to detail the input detail will be used in the directive and in the component as well
|
|
35
35
|
inputs: ['apTreeNodeAccessibility: detail'],
|
|
36
36
|
},
|
|
37
|
-
], template: "<span class=\"caption\"
|
|
37
|
+
], template: "<span class=\"caption\">{{ detail().alias }}</span>\n\n@if (detail().displayCounter) {\n <ap-counter\n color=\"orange\"\n size=\"normal\"\n [background]=\"false\">\n {{ detail().counter }}\n </ap-counter>\n}\n@if (detail().displayError) {\n <ap-symbol\n size=\"sm\"\n symbolId=\"error_fill\" />\n}\n", styles: [":host{display:flex;height:32px;padding:0 var(--ref-spacing-xxs);align-items:center;gap:var(--ref-spacing-xxs);align-self:stretch;flex-grow:1}:host.embedded{padding:0}:host ap-symbol[symbol-id=error_fill]{color:var(--ref-color-red-100)}:host .caption{flex-grow:1;overflow:hidden;color:var(--ref-color-grey-100);text-overflow:ellipsis;white-space:nowrap;font-family:Averta;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-regular);line-height:var(--ref-font-line-height-xs)}:host:not(.disabled):not(.embedded){cursor:pointer}:host:not(.disabled):not(.embedded):hover{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-10)}:host:not(.disabled):not(.embedded):active{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host:not(.disabled):not(.embedded):focus-visible{outline:none;border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-10);box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-electric-blue-100)}:host:not(.disabled):not(.embedded).selected{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host:not(.disabled):not(.embedded).selected .caption{overflow:hidden;color:var(--ref-color-electric-blue-150);text-overflow:ellipsis;white-space:nowrap;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-xs)}:host:not(.disabled):not(.embedded).selected:focus-visible{box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-electric-blue-100)}:host.embedded.selected .caption{color:var(--ref-color-electric-blue-150);font-size:var(--ref-font-size-sm);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-sm)}\n"] }]
|
|
38
38
|
}], ctorParameters: () => [{ type: i1.NavSelectorLeafDetailPresenter }] });
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LXNlbGVjdG9yLWxlYWYtZGV0YWlsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9uYXYtc2VsZWN0b3Ivc3JjL25hdi1zZWxlY3Rvci1sZWFmLWRldGFpbC9uYXYtc2VsZWN0b3ItbGVhZi1kZXRhaWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL25hdi1zZWxlY3Rvci9zcmMvbmF2LXNlbGVjdG9yLWxlYWYtZGV0YWlsL25hdi1zZWxlY3Rvci1sZWFmLWRldGFpbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUVqRyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7OztBQXlCdEYsTUFBTSxPQUFPLDhCQUE4QjtJQUtwQjtJQUpuQixNQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBa0MsQ0FBQztJQUUxRCxRQUFRLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRXhCLFlBQW1CLDhCQUE4RDtRQUE5RCxtQ0FBOEIsR0FBOUIsOEJBQThCLENBQWdDO0lBQUcsQ0FBQztJQUVyRixPQUFPLENBQUMsS0FBWTtRQUNoQixLQUFLLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztRQUNqQyxJQUFJLENBQUMsOEJBQThCLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDM0UsQ0FBQzt1R0FWUSw4QkFBOEI7MkZBQTlCLDhCQUE4QixxaUJBaEI1QixDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsRUFBRSw4QkFBOEIsQ0FBQyw2SUNkekUsZ1dBZUEsdTJEREZjLGdCQUFnQix5R0FBRSxlQUFlOzsyRkFpQmxDLDhCQUE4QjtrQkF2QjFDLFNBQVM7K0JBQ0ksNkJBQTZCLGNBRzNCLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSxXQUN0QyxDQUFDLGdCQUFnQixFQUFFLGVBQWUsQ0FBQyxhQUNqQyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsRUFBRSw4QkFBOEIsQ0FBQyxRQUMvRDt3QkFDRixTQUFTLEVBQUUsaUJBQWlCO3dCQUM1QixrQkFBa0IsRUFBRSxtQkFBbUI7d0JBQ3ZDLGtCQUFrQixFQUFFLFlBQVk7d0JBQ2hDLGlCQUFpQixFQUFFLGlCQUFpQjt3QkFDcEMsaUJBQWlCLEVBQUUsaUJBQWlCO3FCQUN2QyxrQkFDZTt3QkFDWjs0QkFDSSxTQUFTLEVBQUUsOEJBQThCOzRCQUN6Qyx5SEFBeUg7NEJBQ3pILE1BQU0sRUFBRSxDQUFDLGlDQUFpQyxDQUFDO3lCQUM5QztxQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvdW50ZXJDb21wb25lbnQgfSBmcm9tICdAYWdvcmFwdWxzZS91aS1jb21wb25lbnRzL2NvdW50ZXInO1xuaW1wb3J0IHsgYXBFcnJvckZpbGwsIFN5bWJvbENvbXBvbmVudCwgd2l0aFN5bWJvbHMgfSBmcm9tICdAYWdvcmFwdWxzZS91aS1zeW1ib2wnO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyZWVOb2RlQWNjZXNzaWJpbGl0eURpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvdHJlZS1ub2RlLWFjY2Vzc2liaWxpdHkuZGlyZWN0aXZlJztcbmltcG9ydCB7IEludGVybmFsTmF2U2VsZWN0b3JMZWFmRGV0YWlscyB9IGZyb20gJy4uL25hdi1zZWxlY3Rvcic7XG5pbXBvcnQgeyBOYXZTZWxlY3RvckxlYWZEZXRhaWxQcmVzZW50ZXIgfSBmcm9tICcuL25hdi1zZWxlY3Rvci1sZWFmLWRldGFpbC5wcmVzZW50ZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwLW5hdi1zZWxlY3Rvci1sZWFmLWRldGFpbCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL25hdi1zZWxlY3Rvci1sZWFmLWRldGFpbC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbmF2LXNlbGVjdG9yLWxlYWYtZGV0YWlsLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBpbXBvcnRzOiBbQ291bnRlckNvbXBvbmVudCwgU3ltYm9sQ29tcG9uZW50XSxcbiAgICBwcm92aWRlcnM6IFt3aXRoU3ltYm9scyhhcEVycm9yRmlsbCksIE5hdlNlbGVjdG9yTGVhZkRldGFpbFByZXNlbnRlcl0sXG4gICAgaG9zdDoge1xuICAgICAgICAnKGNsaWNrKSc6ICdvbkNsaWNrKCRldmVudCknLFxuICAgICAgICAnW2NsYXNzLnNlbGVjdGVkXSc6ICdkZXRhaWwoKS5zZWxlY3RlZCcsXG4gICAgICAgICdbY2xhc3MuZW1iZWRkZWRdJzogJ2VtYmVkZGVkKCknLFxuICAgICAgICAnKGtleWRvd24uZW50ZXIpJzogJ29uQ2xpY2soJGV2ZW50KScsXG4gICAgICAgICcoa2V5ZG93bi5zcGFjZSknOiAnb25DbGljaygkZXZlbnQpJyxcbiAgICB9LFxuICAgIGhvc3REaXJlY3RpdmVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIGRpcmVjdGl2ZTogVHJlZU5vZGVBY2Nlc3NpYmlsaXR5RGlyZWN0aXZlLFxuICAgICAgICAgICAgLy8gQWxpYXMgdGhlIGlucHV0IG9mIHRoZSBkaXJlY3RpdmUgdG8gZGV0YWlsIHRoZSBpbnB1dCBkZXRhaWwgd2lsbCBiZSB1c2VkIGluIHRoZSBkaXJlY3RpdmUgYW5kIGluIHRoZSBjb21wb25lbnQgYXMgd2VsbFxuICAgICAgICAgICAgaW5wdXRzOiBbJ2FwVHJlZU5vZGVBY2Nlc3NpYmlsaXR5OiBkZXRhaWwnXSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBOYXZTZWxlY3RvckxlYWZEZXRhaWxDb21wb25lbnQge1xuICAgIGRldGFpbCA9IGlucHV0LnJlcXVpcmVkPEludGVybmFsTmF2U2VsZWN0b3JMZWFmRGV0YWlscz4oKTtcblxuICAgIGVtYmVkZGVkID0gaW5wdXQoZmFsc2UpO1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIG5hdlNlbGVjdG9yTGVhZkRldGFpbFByZXNlbnRlcjogTmF2U2VsZWN0b3JMZWFmRGV0YWlsUHJlc2VudGVyKSB7fVxuXG4gICAgb25DbGljayhldmVudDogRXZlbnQpIHtcbiAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMubmF2U2VsZWN0b3JMZWFmRGV0YWlsUHJlc2VudGVyLm9uTGVhZkRldGFpbENsaWNrZWQodGhpcy5kZXRhaWwoKSk7XG4gICAgfVxufVxuIiwiPHNwYW4gY2xhc3M9XCJjYXB0aW9uXCI+e3sgZGV0YWlsKCkuYWxpYXMgfX08L3NwYW4+XG5cbkBpZiAoZGV0YWlsKCkuZGlzcGxheUNvdW50ZXIpIHtcbiAgICA8YXAtY291bnRlclxuICAgICAgICBjb2xvcj1cIm9yYW5nZVwiXG4gICAgICAgIHNpemU9XCJub3JtYWxcIlxuICAgICAgICBbYmFja2dyb3VuZF09XCJmYWxzZVwiPlxuICAgICAgICB7eyBkZXRhaWwoKS5jb3VudGVyIH19XG4gICAgPC9hcC1jb3VudGVyPlxufVxuQGlmIChkZXRhaWwoKS5kaXNwbGF5RXJyb3IpIHtcbiAgICA8YXAtc3ltYm9sXG4gICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgIHN5bWJvbElkPVwiZXJyb3JfZmlsbFwiIC8+XG59XG4iXX0=
|
package/esm2022/nav-selector/nav-selector-leaf-details/nav-selector-leaf-details.component.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { animate, keyframes, state, style, transition, trigger } from '@angular/animations';
|
|
2
|
-
import { ChangeDetectionStrategy, Component, computed, effect, input, signal } from '@angular/core';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, computed, effect, input, signal, untracked } from '@angular/core';
|
|
3
3
|
import { NavSelectorLeafDetailComponent } from '../nav-selector-leaf-detail/nav-selector-leaf-detail.component';
|
|
4
4
|
import { NavSelectorLeafDetailsPresenter } from '../nav-selector-leaf-details/nav-selector-leaf-details.presenter';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
@@ -21,13 +21,16 @@ export class NavSelectorLeafDetailsComponent {
|
|
|
21
21
|
this.el = el;
|
|
22
22
|
this.navSelectorLeafDetailsPresenter = navSelectorLeafDetailsPresenter;
|
|
23
23
|
effect(() => {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
24
|
+
const viewMoreDisplayed = this.leaf().viewMoreDisplayed;
|
|
25
|
+
untracked(() => {
|
|
26
|
+
if (viewMoreDisplayed) {
|
|
27
|
+
setTimeout(() => this.viewMoreDelay.set(false), 150);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
this.viewMoreDelay.set(true);
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
});
|
|
31
34
|
}
|
|
32
35
|
ngAfterViewInit() {
|
|
33
36
|
// scrollHeight = leaf + first details displayed when there is a limit
|
|
@@ -89,4 +92,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
89
92
|
]),
|
|
90
93
|
], template: "@for (detail of firstDetails(); track detail.uid) {\n <div class=\"detail\">\n <div class=\"separator\">\n <div class=\"rectangle\"></div>\n </div>\n <ap-nav-selector-leaf-detail [detail]=\"detail\" />\n </div>\n}\n\n@if (leaf().viewMoreDisplayable) {\n <div\n class=\"details-container\"\n [@accordion]=\"{\n value: animationState(),\n params: {\n maxHeight: maxHeight()\n }\n }\">\n @if (viewMoreDelay()) {\n @for (detail of lastDetails(); track detail.uid) {\n <div class=\"detail\">\n <div class=\"separator\">\n <div class=\"rectangle\"></div>\n </div>\n <ap-nav-selector-leaf-detail [detail]=\"detail\" />\n </div>\n }\n }\n </div>\n\n <div class=\"detail\">\n <div class=\"separator\">\n <div class=\"rectangle\"></div>\n </div>\n <a\n tabindex=\"0\"\n role=\"button\"\n class=\"standalone view-more\"\n (keydown.space)=\"onSpaceOrEnter($event)\"\n (keydown.enter)=\"onSpaceOrEnter($event)\"\n (click)=\"toggleViewMore()\">\n @if (leaf().viewMoreDisplayed) {\n {{ navSelectorLeafDetailsPresenter.viewMoreText() }}\n } @else {\n {{ navSelectorLeafDetailsPresenter.viewLessText() }}\n }\n </a>\n </div>\n}\n", styles: [":host{display:flex;flex-direction:column;align-items:flex-start;flex:1 0 0}:host .detail{display:flex;align-self:stretch}:host .separator{display:flex;padding:0 11px 0 20px;align-items:center;align-self:stretch}:host .rectangle{width:1px;align-self:stretch;background:var(--ref-color-grey-10)}:host .view-more{display:flex;padding:8px;align-items:center;align-self:stretch}:host .details-container{display:flex;flex-direction:column;align-self:stretch}\n"] }]
|
|
91
94
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.NavSelectorLeafDetailsPresenter }] });
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LXNlbGVjdG9yLWxlYWYtZGV0YWlscy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvbmF2LXNlbGVjdG9yL3NyYy9uYXYtc2VsZWN0b3ItbGVhZi1kZXRhaWxzL25hdi1zZWxlY3Rvci1sZWFmLWRldGFpbHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL25hdi1zZWxlY3Rvci9zcmMvbmF2LXNlbGVjdG9yLWxlYWYtZGV0YWlscy9uYXYtc2VsZWN0b3ItbGVhZi1kZXRhaWxzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzVGLE9BQU8sRUFBaUIsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQWMsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvSCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUNoSCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQzs7O0FBMkNuSCxNQUFNLE9BQU8sK0JBQStCO0lBaUI1QjtJQUNEO0lBakJYLElBQUksR0FBRyxLQUFLLENBQUMsUUFBUSxFQUEyQixDQUFDO0lBQ2pELE9BQU8sR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFvQyxDQUFDO0lBRTdELFlBQVksR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLDZCQUE2QixDQUFDLENBQUMsQ0FBQztJQUNsRyxXQUFXLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLDZCQUE2QixDQUFDLENBQUMsQ0FBQztJQUU5RixhQUFhLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRTlCLGNBQWMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsbUJBQW1CLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFFL0g7O09BRUc7SUFDSCxTQUFTLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRTFCLFlBQ1ksRUFBYyxFQUNmLCtCQUFnRTtRQUQvRCxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ2Ysb0NBQStCLEdBQS9CLCtCQUErQixDQUFpQztRQUV2RSxNQUFNLENBQ0YsR0FBRyxFQUFFO1lBQ0QsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztnQkFDaEMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ3pELENBQUM7aUJBQU0sQ0FBQztnQkFDSixJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNqQyxDQUFDO1FBQ0wsQ0FBQyxFQUNELEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLENBQzlCLENBQUM7SUFDTixDQUFDO0lBRUQsZUFBZTtRQUNYLHNFQUFzRTtRQUN0RSxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUM7UUFDbEQsZ0VBQWdFO1FBQ2hFLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDO0lBQ2pHLENBQUM7SUFFRCxjQUFjO1FBQ1YsSUFBSSxDQUFDLCtCQUErQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQsY0FBYyxDQUFDLEtBQVk7UUFDdkIsS0FBSyxDQUFDLHdCQUF3QixFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzFCLENBQUM7dUdBOUNRLCtCQUErQjsyRkFBL0IsK0JBQStCLG1iQWxDN0IsQ0FBQywrQkFBK0IsQ0FBQywwQkNiaEQsMmdEQWlEQSxnZ0JEckNjLDhCQUE4QiwwRkFLNUI7WUFDUjs7ZUFFRztZQUNILE9BQU8sQ0FBQyxXQUFXLEVBQUU7Z0JBQ2pCLEtBQUssQ0FDRCxXQUFXLEVBQ1gsS0FBSyxDQUFDO29CQUNGLFNBQVMsRUFBRSxHQUFHO29CQUNkLFFBQVEsRUFBRSxRQUFRO2lCQUNyQixDQUFDLENBQ0w7Z0JBQ0QsS0FBSyxDQUNELFVBQVUsRUFDVixLQUFLLENBQUM7b0JBQ0YsU0FBUyxFQUFFLFNBQVM7aUJBQ3ZCLENBQUMsQ0FDTDtnQkFDRCxVQUFVLENBQUMsdUJBQXVCLEVBQUU7b0JBQ2hDLE9BQU8sQ0FBQyxrQ0FBa0MsRUFBRSxLQUFLLENBQUMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDO2lCQUN6RyxDQUFDO2dCQUNGLFVBQVUsQ0FBQyx1QkFBdUIsRUFBRTtvQkFDaEMsT0FBTyxDQUNILGtDQUFrQyxFQUNsQyxTQUFTLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FDbEc7aUJBQ0osQ0FBQzthQUNMLENBQUM7U0FDTDs7MkZBRVEsK0JBQStCO2tCQXpDM0MsU0FBUzsrQkFDSSw4QkFBOEIsY0FHNUIsSUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDLENBQUMsOEJBQThCLENBQUMsYUFDOUIsQ0FBQywrQkFBK0IsQ0FBQyxRQUN0Qzt3QkFDRixzQkFBc0IsRUFBRSx5REFBeUQ7cUJBQ3BGLGNBQ1c7d0JBQ1I7OzJCQUVHO3dCQUNILE9BQU8sQ0FBQyxXQUFXLEVBQUU7NEJBQ2pCLEtBQUssQ0FDRCxXQUFXLEVBQ1gsS0FBSyxDQUFDO2dDQUNGLFNBQVMsRUFBRSxHQUFHO2dDQUNkLFFBQVEsRUFBRSxRQUFROzZCQUNyQixDQUFDLENBQ0w7NEJBQ0QsS0FBSyxDQUNELFVBQVUsRUFDVixLQUFLLENBQUM7Z0NBQ0YsU0FBUyxFQUFFLFNBQVM7NkJBQ3ZCLENBQUMsQ0FDTDs0QkFDRCxVQUFVLENBQUMsdUJBQXVCLEVBQUU7Z0NBQ2hDLE9BQU8sQ0FBQyxrQ0FBa0MsRUFBRSxLQUFLLENBQUMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDOzZCQUN6RyxDQUFDOzRCQUNGLFVBQVUsQ0FBQyx1QkFBdUIsRUFBRTtnQ0FDaEMsT0FBTyxDQUNILGtDQUFrQyxFQUNsQyxTQUFTLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FDbEc7NkJBQ0osQ0FBQzt5QkFDTCxDQUFDO3FCQUNMIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwga2V5ZnJhbWVzLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBlZmZlY3QsIEVsZW1lbnRSZWYsIGlucHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEludGVybmFsTmF2U2VsZWN0b3JMZWFmLCBJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZkRldGFpbHMgfSBmcm9tICcuLi9uYXYtc2VsZWN0b3InO1xuaW1wb3J0IHsgTmF2U2VsZWN0b3JMZWFmRGV0YWlsQ29tcG9uZW50IH0gZnJvbSAnLi4vbmF2LXNlbGVjdG9yLWxlYWYtZGV0YWlsL25hdi1zZWxlY3Rvci1sZWFmLWRldGFpbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmF2U2VsZWN0b3JMZWFmRGV0YWlsc1ByZXNlbnRlciB9IGZyb20gJy4uL25hdi1zZWxlY3Rvci1sZWFmLWRldGFpbHMvbmF2LXNlbGVjdG9yLWxlYWYtZGV0YWlscy5wcmVzZW50ZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwLW5hdi1zZWxlY3Rvci1sZWFmLWRldGFpbHMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9uYXYtc2VsZWN0b3ItbGVhZi1kZXRhaWxzLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9uYXYtc2VsZWN0b3ItbGVhZi1kZXRhaWxzLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBpbXBvcnRzOiBbTmF2U2VsZWN0b3JMZWFmRGV0YWlsQ29tcG9uZW50XSxcbiAgICBwcm92aWRlcnM6IFtOYXZTZWxlY3RvckxlYWZEZXRhaWxzUHJlc2VudGVyXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci5hcmlhLWV4cGFuZGVkXSc6ICchbGVhZigpLnZpZXdNb3JlRGlzcGxheWFibGUgfHwgbGVhZigpLnZpZXdNb3JlRGlzcGxheWVkJyxcbiAgICB9LFxuICAgIGFuaW1hdGlvbnM6IFtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIE92ZXJmbG93IGhpZGRlbiBpcyBwdXQgb25seSBkdXJpbmcgdGhlIGFuaW1hdGlvbiBhbmQgb24gdGhlIGNvbGxhcHNlZCBzdGF0ZSBiZWNhdXNlIGlmIGl0IGlzIHB1dCBvbiB0aGUgZXhwYW5kZWQgc3RhdGUgdGhlbiBjaGlsZHJlbuKAmXMgYm9yZGVyIHdpbGwgYmUgY3V0IChob3ZlciAvIGZvY3VzKVxuICAgICAgICAgKi9cbiAgICAgICAgdHJpZ2dlcignYWNjb3JkaW9uJywgW1xuICAgICAgICAgICAgc3RhdGUoXG4gICAgICAgICAgICAgICAgJ2NvbGxhcHNlZCcsXG4gICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICBtYXhIZWlnaHQ6ICcwJyxcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgc3RhdGUoXG4gICAgICAgICAgICAgICAgJ2V4cGFuZGVkJyxcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIG1heEhlaWdodDogJ2luaXRpYWwnLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgdHJhbnNpdGlvbignY29sbGFwc2VkID0+IGV4cGFuZGVkJywgW1xuICAgICAgICAgICAgICAgIGFuaW1hdGUoJzI1MG1zIGN1YmljLWJlemllciguNCwgMCwgLjMsIDEpJywgc3R5bGUoeyBvdmVyZmxvdzogJ2hpZGRlbicsIG1heEhlaWdodDogJ3t7bWF4SGVpZ2h0fX0nIH0pKSxcbiAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgdHJhbnNpdGlvbignZXhwYW5kZWQgPT4gY29sbGFwc2VkJywgW1xuICAgICAgICAgICAgICAgIGFuaW1hdGUoXG4gICAgICAgICAgICAgICAgICAgICcyNTBtcyBjdWJpYy1iZXppZXIoLjQsIDAsIC4zLCAxKScsXG4gICAgICAgICAgICAgICAgICAgIGtleWZyYW1lcyhbc3R5bGUoeyBvdmVyZmxvdzogJ2hpZGRlbicsIG1heEhlaWdodDogJ3t7bWF4SGVpZ2h0fX0nIH0pLCBzdHlsZSh7IG1heEhlaWdodDogMCB9KV0pXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIF0pLFxuICAgICAgICBdKSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBOYXZTZWxlY3RvckxlYWZEZXRhaWxzQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgbGVhZiA9IGlucHV0LnJlcXVpcmVkPEludGVybmFsTmF2U2VsZWN0b3JMZWFmPigpO1xuICAgIGRldGFpbHMgPSBpbnB1dC5yZXF1aXJlZDxJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZkRldGFpbHNbXT4oKTtcblxuICAgIGZpcnN0RGV0YWlscyA9IGNvbXB1dGVkKCgpID0+IHRoaXMuZGV0YWlscygpLnNsaWNlKDAsIHRoaXMubGVhZigpLnZpZXdNb3JlRGV0YWlsc0Rpc3BsYXllZExpbWl0KSk7XG4gICAgbGFzdERldGFpbHMgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmRldGFpbHMoKS5zbGljZSh0aGlzLmxlYWYoKS52aWV3TW9yZURldGFpbHNEaXNwbGF5ZWRMaW1pdCkpO1xuXG4gICAgdmlld01vcmVEZWxheSA9IHNpZ25hbChmYWxzZSk7XG5cbiAgICBhbmltYXRpb25TdGF0ZSA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLmxlYWYoKS52aWV3TW9yZURpc3BsYXlhYmxlICYmIHRoaXMubGVhZigpLnZpZXdNb3JlRGlzcGxheWVkID8gJ2NvbGxhcHNlZCcgOiAnZXhwYW5kZWQnKSk7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgaGVpZ2h0IHdoZW4gZGV0YWlscyBhcmUgYWxsIGRpc3BsYXllZFxuICAgICAqL1xuICAgIG1heEhlaWdodCA9IHNpZ25hbCgnMHB4Jyk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcbiAgICAgICAgcHVibGljIG5hdlNlbGVjdG9yTGVhZkRldGFpbHNQcmVzZW50ZXI6IE5hdlNlbGVjdG9yTGVhZkRldGFpbHNQcmVzZW50ZXJcbiAgICApIHtcbiAgICAgICAgZWZmZWN0KFxuICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmxlYWYoKS52aWV3TW9yZURpc3BsYXllZCkge1xuICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMudmlld01vcmVEZWxheS5zZXQoZmFsc2UpLCAxNTApO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmlld01vcmVEZWxheS5zZXQodHJ1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfVxuICAgICAgICApO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgLy8gc2Nyb2xsSGVpZ2h0ID0gbGVhZiArIGZpcnN0IGRldGFpbHMgZGlzcGxheWVkIHdoZW4gdGhlcmUgaXMgYSBsaW1pdFxuICAgICAgICBjb25zdCBoZWlnaHQgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsSGVpZ2h0O1xuICAgICAgICAvLyBjcm9zcyBtdWx0aXBsaWNhdGlvbiB0byBkZXRlcm1pbmUgaGVpZ2h0IG9mIHJlbWFpbmluZyBkZXRhaWxzXG4gICAgICAgIHRoaXMubWF4SGVpZ2h0LnNldChgJHsoaGVpZ2h0ICogdGhpcy5sYXN0RGV0YWlscygpLmxlbmd0aCkgLyB0aGlzLmZpcnN0RGV0YWlscygpLmxlbmd0aH1weGApO1xuICAgIH1cblxuICAgIHRvZ2dsZVZpZXdNb3JlKCkge1xuICAgICAgICB0aGlzLm5hdlNlbGVjdG9yTGVhZkRldGFpbHNQcmVzZW50ZXIudG9nZ2xlVmlld01vcmUodGhpcy5sZWFmKCkpO1xuICAgIH1cblxuICAgIG9uU3BhY2VPckVudGVyKGV2ZW50OiBFdmVudCkge1xuICAgICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy50b2dnbGVWaWV3TW9yZSgpO1xuICAgIH1cbn1cbiIsIkBmb3IgKGRldGFpbCBvZiBmaXJzdERldGFpbHMoKTsgdHJhY2sgZGV0YWlsLnVpZCkge1xuICAgIDxkaXYgY2xhc3M9XCJkZXRhaWxcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNlcGFyYXRvclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlY3RhbmdsZVwiPjwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGFwLW5hdi1zZWxlY3Rvci1sZWFmLWRldGFpbCBbZGV0YWlsXT1cImRldGFpbFwiIC8+XG4gICAgPC9kaXY+XG59XG5cbkBpZiAobGVhZigpLnZpZXdNb3JlRGlzcGxheWFibGUpIHtcbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZGV0YWlscy1jb250YWluZXJcIlxuICAgICAgICBbQGFjY29yZGlvbl09XCJ7XG4gICAgICAgICAgICB2YWx1ZTogYW5pbWF0aW9uU3RhdGUoKSxcbiAgICAgICAgICAgIHBhcmFtczoge1xuICAgICAgICAgICAgICAgIG1heEhlaWdodDogbWF4SGVpZ2h0KClcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVwiPlxuICAgICAgICBAaWYgKHZpZXdNb3JlRGVsYXkoKSkge1xuICAgICAgICAgICAgQGZvciAoZGV0YWlsIG9mIGxhc3REZXRhaWxzKCk7IHRyYWNrIGRldGFpbC51aWQpIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGV0YWlsXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZXBhcmF0b3JcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZWN0YW5nbGVcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxhcC1uYXYtc2VsZWN0b3ItbGVhZi1kZXRhaWwgW2RldGFpbF09XCJkZXRhaWxcIiAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZGV0YWlsXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZXBhcmF0b3JcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZWN0YW5nbGVcIj48L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxhXG4gICAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBjbGFzcz1cInN0YW5kYWxvbmUgdmlldy1tb3JlXCJcbiAgICAgICAgICAgIChrZXlkb3duLnNwYWNlKT1cIm9uU3BhY2VPckVudGVyKCRldmVudClcIlxuICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwib25TcGFjZU9yRW50ZXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlVmlld01vcmUoKVwiPlxuICAgICAgICAgICAgQGlmIChsZWFmKCkudmlld01vcmVEaXNwbGF5ZWQpIHtcbiAgICAgICAgICAgICAgICB7eyBuYXZTZWxlY3RvckxlYWZEZXRhaWxzUHJlc2VudGVyLnZpZXdNb3JlVGV4dCgpIH19XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICB7eyBuYXZTZWxlY3RvckxlYWZEZXRhaWxzUHJlc2VudGVyLnZpZXdMZXNzVGV4dCgpIH19XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvYT5cbiAgICA8L2Rpdj5cbn1cbiJdfQ==
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LXNlbGVjdG9yLWxlYWYtZGV0YWlscy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvbmF2LXNlbGVjdG9yL3NyYy9uYXYtc2VsZWN0b3ItbGVhZi1kZXRhaWxzL25hdi1zZWxlY3Rvci1sZWFmLWRldGFpbHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL25hdi1zZWxlY3Rvci9zcmMvbmF2LXNlbGVjdG9yLWxlYWYtZGV0YWlscy9uYXYtc2VsZWN0b3ItbGVhZi1kZXRhaWxzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzVGLE9BQU8sRUFBaUIsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQWMsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUksT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sZ0VBQWdFLENBQUM7QUFDaEgsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sa0VBQWtFLENBQUM7OztBQTJDbkgsTUFBTSxPQUFPLCtCQUErQjtJQWlCNUI7SUFDRDtJQWpCWCxJQUFJLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBMkIsQ0FBQztJQUNqRCxPQUFPLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBb0MsQ0FBQztJQUU3RCxZQUFZLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDLENBQUM7SUFDbEcsV0FB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IHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBlZmZlY3QsIEVsZW1lbnRSZWYsIGlucHV0LCBzaWduYWwsIHVudHJhY2tlZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW50ZXJuYWxOYXZTZWxlY3RvckxlYWYsIEludGVybmFsTmF2U2VsZWN0b3JMZWFmRGV0YWlscyB9IGZyb20gJy4uL25hdi1zZWxlY3Rvcic7XG5pbXBvcnQgeyBOYXZTZWxlY3RvckxlYWZEZXRhaWxDb21wb25lbnQgfSBmcm9tICcuLi9uYXYtc2VsZWN0b3ItbGVhZi1kZXRhaWwvbmF2LXNlbGVjdG9yLWxlYWYtZGV0YWlsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOYXZTZWxlY3RvckxlYWZEZXRhaWxzUHJlc2VudGVyIH0gZnJvbSAnLi4vbmF2LXNlbGVjdG9yLWxlYWYtZGV0YWlscy9uYXYtc2VsZWN0b3ItbGVhZi1kZXRhaWxzLnByZXNlbnRlcic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXAtbmF2LXNlbGVjdG9yLWxlYWYtZGV0YWlscycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL25hdi1zZWxlY3Rvci1sZWFmLWRldGFpbHMuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL25hdi1zZWxlY3Rvci1sZWFmLWRldGFpbHMuY29tcG9uZW50LnNjc3MnXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGltcG9ydHM6IFtOYXZTZWxlY3RvckxlYWZEZXRhaWxDb21wb25lbnRdLFxuICAgIHByb3ZpZGVyczogW05hdlNlbGVjdG9yTGVhZkRldGFpbHNQcmVzZW50ZXJdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1thdHRyLmFyaWEtZXhwYW5kZWRdJzogJyFsZWFmKCkudmlld01vcmVEaXNwbGF5YWJsZSB8fCBsZWFmKCkudmlld01vcmVEaXNwbGF5ZWQnLFxuICAgIH0sXG4gICAgYW5pbWF0aW9uczogW1xuICAgICAgICAvKipcbiAgICAgICAgICogT3ZlcmZsb3cgaGlkZGVuIGlzIHB1dCBvbmx5IGR1cmluZyB0aGUgYW5pbWF0aW9uIGFuZCBvbiB0aGUgY29sbGFwc2VkIHN0YXRlIGJlY2F1c2UgaWYgaXQgaXMgcHV0IG9uIHRoZSBleHBhbmRlZCBzdGF0ZSB0aGVuIGNoaWxkcmVu4oCZcyBib3JkZXIgd2lsbCBiZSBjdXQgKGhvdmVyIC8gZm9jdXMpXG4gICAgICAgICAqL1xuICAgICAgICB0cmlnZ2VyKCdhY2NvcmRpb24nLCBbXG4gICAgICAgICAgICBzdGF0ZShcbiAgICAgICAgICAgICAgICAnY29sbGFwc2VkJyxcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIG1heEhlaWdodDogJzAnLFxuICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBzdGF0ZShcbiAgICAgICAgICAgICAgICAnZXhwYW5kZWQnLFxuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgbWF4SGVpZ2h0OiAnaW5pdGlhbCcsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCdjb2xsYXBzZWQgPT4gZXhwYW5kZWQnLCBbXG4gICAgICAgICAgICAgICAgYW5pbWF0ZSgnMjUwbXMgY3ViaWMtYmV6aWVyKC40LCAwLCAuMywgMSknLCBzdHlsZSh7IG92ZXJmbG93OiAnaGlkZGVuJywgbWF4SGVpZ2h0OiAne3ttYXhIZWlnaHR9fScgfSkpLFxuICAgICAgICAgICAgXSksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCdleHBhbmRlZCA9PiBjb2xsYXBzZWQnLCBbXG4gICAgICAgICAgICAgICAgYW5pbWF0ZShcbiAgICAgICAgICAgICAgICAgICAgJzI1MG1zIGN1YmljLWJlemllciguNCwgMCwgLjMsIDEpJyxcbiAgICAgICAgICAgICAgICAgICAga2V5ZnJhbWVzKFtzdHlsZSh7IG92ZXJmbG93OiAnaGlkZGVuJywgbWF4SGVpZ2h0OiAne3ttYXhIZWlnaHR9fScgfSksIHN0eWxlKHsgbWF4SGVpZ2h0OiAwIH0pXSlcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgXSksXG4gICAgICAgIF0pLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIE5hdlNlbGVjdG9yTGVhZkRldGFpbHNDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgICBsZWFmID0gaW5wdXQucmVxdWlyZWQ8SW50ZXJuYWxOYXZTZWxlY3RvckxlYWY+KCk7XG4gICAgZGV0YWlscyA9IGlucHV0LnJlcXVpcmVkPEludGVybmFsTmF2U2VsZWN0b3JMZWFmRGV0YWlsc1tdPigpO1xuXG4gICAgZmlyc3REZXRhaWxzID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5kZXRhaWxzKCkuc2xpY2UoMCwgdGhpcy5sZWFmKCkudmlld01vcmVEZXRhaWxzRGlzcGxheWVkTGltaXQpKTtcbiAgICBsYXN0RGV0YWlscyA9IGNvbXB1dGVkKCgpID0+IHRoaXMuZGV0YWlscygpLnNsaWNlKHRoaXMubGVhZigpLnZpZXdNb3JlRGV0YWlsc0Rpc3BsYXllZExpbWl0KSk7XG5cbiAgICB2aWV3TW9yZURlbGF5ID0gc2lnbmFsKGZhbHNlKTtcblxuICAgIGFuaW1hdGlvblN0YXRlID0gY29tcHV0ZWQoKCkgPT4gKHRoaXMubGVhZigpLnZpZXdNb3JlRGlzcGxheWFibGUgJiYgdGhpcy5sZWFmKCkudmlld01vcmVEaXNwbGF5ZWQgPyAnY29sbGFwc2VkJyA6ICdleHBhbmRlZCcpKTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBoZWlnaHQgd2hlbiBkZXRhaWxzIGFyZSBhbGwgZGlzcGxheWVkXG4gICAgICovXG4gICAgbWF4SGVpZ2h0ID0gc2lnbmFsKCcwcHgnKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxuICAgICAgICBwdWJsaWMgbmF2U2VsZWN0b3JMZWFmRGV0YWlsc1ByZXNlbnRlcjogTmF2U2VsZWN0b3JMZWFmRGV0YWlsc1ByZXNlbnRlclxuICAgICkge1xuICAgICAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgdmlld01vcmVEaXNwbGF5ZWQgPSB0aGlzLmxlYWYoKS52aWV3TW9yZURpc3BsYXllZDtcbiAgICAgICAgICAgIHVudHJhY2tlZCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHZpZXdNb3JlRGlzcGxheWVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy52aWV3TW9yZURlbGF5LnNldChmYWxzZSksIDE1MCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy52aWV3TW9yZURlbGF5LnNldCh0cnVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICAvLyBzY3JvbGxIZWlnaHQgPSBsZWFmICsgZmlyc3QgZGV0YWlscyBkaXNwbGF5ZWQgd2hlbiB0aGVyZSBpcyBhIGxpbWl0XG4gICAgICAgIGNvbnN0IGhlaWdodCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5zY3JvbGxIZWlnaHQ7XG4gICAgICAgIC8vIGNyb3NzIG11bHRpcGxpY2F0aW9uIHRvIGRldGVybWluZSBoZWlnaHQgb2YgcmVtYWluaW5nIGRldGFpbHNcbiAgICAgICAgdGhpcy5tYXhIZWlnaHQuc2V0KGAkeyhoZWlnaHQgKiB0aGlzLmxhc3REZXRhaWxzKCkubGVuZ3RoKSAvIHRoaXMuZmlyc3REZXRhaWxzKCkubGVuZ3RofXB4YCk7XG4gICAgfVxuXG4gICAgdG9nZ2xlVmlld01vcmUoKSB7XG4gICAgICAgIHRoaXMubmF2U2VsZWN0b3JMZWFmRGV0YWlsc1ByZXNlbnRlci50b2dnbGVWaWV3TW9yZSh0aGlzLmxlYWYoKSk7XG4gICAgfVxuXG4gICAgb25TcGFjZU9yRW50ZXIoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLnRvZ2dsZVZpZXdNb3JlKCk7XG4gICAgfVxufVxuIiwiQGZvciAoZGV0YWlsIG9mIGZpcnN0RGV0YWlscygpOyB0cmFjayBkZXRhaWwudWlkKSB7XG4gICAgPGRpdiBjbGFzcz1cImRldGFpbFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VwYXJhdG9yXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmVjdGFuZ2xlXCI+PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8YXAtbmF2LXNlbGVjdG9yLWxlYWYtZGV0YWlsIFtkZXRhaWxdPVwiZGV0YWlsXCIgLz5cbiAgICA8L2Rpdj5cbn1cblxuQGlmIChsZWFmKCkudmlld01vcmVEaXNwbGF5YWJsZSkge1xuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJkZXRhaWxzLWNvbnRhaW5lclwiXG4gICAgICAgIFtAYWNjb3JkaW9uXT1cIntcbiAgICAgICAgICAgIHZhbHVlOiBhbmltYXRpb25TdGF0ZSgpLFxuICAgICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgbWF4SGVpZ2h0OiBtYXhIZWlnaHQoKVxuICAgICAgICAgICAgfVxuICAgICAgICB9XCI+XG4gICAgICAgIEBpZiAodmlld01vcmVEZWxheSgpKSB7XG4gICAgICAgICAgICBAZm9yIChkZXRhaWwgb2YgbGFzdERldGFpbHMoKTsgdHJhY2sgZGV0YWlsLnVpZCkge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXRhaWxcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlcGFyYXRvclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlY3RhbmdsZVwiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGFwLW5hdi1zZWxlY3Rvci1sZWFmLWRldGFpbCBbZGV0YWlsXT1cImRldGFpbFwiIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJkZXRhaWxcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNlcGFyYXRvclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlY3RhbmdsZVwiPjwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGFcbiAgICAgICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsYXNzPVwic3RhbmRhbG9uZSB2aWV3LW1vcmVcIlxuICAgICAgICAgICAgKGtleWRvd24uc3BhY2UpPVwib25TcGFjZU9yRW50ZXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJvblNwYWNlT3JFbnRlcigkZXZlbnQpXCJcbiAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVWaWV3TW9yZSgpXCI+XG4gICAgICAgICAgICBAaWYgKGxlYWYoKS52aWV3TW9yZURpc3BsYXllZCkge1xuICAgICAgICAgICAgICAgIHt7IG5hdlNlbGVjdG9yTGVhZkRldGFpbHNQcmVzZW50ZXIudmlld01vcmVUZXh0KCkgfX1cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIHt7IG5hdlNlbGVjdG9yTGVhZkRldGFpbHNQcmVzZW50ZXIudmlld0xlc3NUZXh0KCkgfX1cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9hPlxuICAgIDwvZGl2PlxufVxuIl19
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Component, input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class NavSelectorPopoverItemComponent {
|
|
4
|
+
selected = input(false);
|
|
5
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NavSelectorPopoverItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.9", type: NavSelectorPopoverItemComponent, isStandalone: true, selector: "ap-nav-selector-popover-item", inputs: { selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.selected": "selected()" } }, ngImport: i0, template: '<ng-content/>', isInline: true, styles: [":host{width:100%;height:40px;display:flex;flex-wrap:wrap;align-content:center;gap:var(--ref-spacing-xxs);padding:var(--ref-spacing-xxs) var(--ref-spacing-sm);background:none;border:none;cursor:pointer;color:var(--ref-color-grey-100)}:host:focus-visible{background-color:var(--ref-color-electric-blue-10)}:host:hover{background-color:var(--ref-color-electric-blue-10)}:host:active{background-color:var(--ref-color-electric-blue-20)}:host.nav-selector-popover__item--active{background-color:var(--ref-color-electric-blue-10);color:var(--ref-color-electric-blue-100);font-weight:var(--ref-font-weight-bold)}:host.selected{background:var(--ref-color-electric-blue-10)}\n"] });
|
|
7
|
+
}
|
|
8
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NavSelectorPopoverItemComponent, decorators: [{
|
|
9
|
+
type: Component,
|
|
10
|
+
args: [{ selector: 'ap-nav-selector-popover-item', standalone: true, template: '<ng-content/>', host: {
|
|
11
|
+
'[class.selected]': 'selected()',
|
|
12
|
+
}, styles: [":host{width:100%;height:40px;display:flex;flex-wrap:wrap;align-content:center;gap:var(--ref-spacing-xxs);padding:var(--ref-spacing-xxs) var(--ref-spacing-sm);background:none;border:none;cursor:pointer;color:var(--ref-color-grey-100)}:host:focus-visible{background-color:var(--ref-color-electric-blue-10)}:host:hover{background-color:var(--ref-color-electric-blue-10)}:host:active{background-color:var(--ref-color-electric-blue-20)}:host.nav-selector-popover__item--active{background-color:var(--ref-color-electric-blue-10);color:var(--ref-color-electric-blue-100);font-weight:var(--ref-font-weight-bold)}:host.selected{background:var(--ref-color-electric-blue-10)}\n"] }]
|
|
13
|
+
}] });
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LXNlbGVjdG9yLXBvcG92ZXItaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvbmF2LXNlbGVjdG9yL3NyYy9uYXYtc2VsZWN0b3ItcG9wb3Zlci9uYXYtc2VsZWN0b3ItcG9wb3Zlci1pdGVtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFXakQsTUFBTSxPQUFPLCtCQUErQjtJQUN4QyxRQUFRLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO3VHQURmLCtCQUErQjsyRkFBL0IsK0JBQStCLCtSQU45QixlQUFlOzsyRkFNaEIsK0JBQStCO2tCQVQzQyxTQUFTOytCQUNJLDhCQUE4QixjQUM1QixJQUFJLFlBQ04sZUFBZSxRQUVuQjt3QkFDRixrQkFBa0IsRUFBRSxZQUFZO3FCQUNuQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcC1uYXYtc2VsZWN0b3ItcG9wb3Zlci1pdGVtJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQvPicsXG4gICAgc3R5bGVVcmxzOiBbJy4vbmF2LXNlbGVjdG9yLXBvcG92ZXItaXRlbS5jb21wb25lbnQuc2NzcyddLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tjbGFzcy5zZWxlY3RlZF0nOiAnc2VsZWN0ZWQoKScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgTmF2U2VsZWN0b3JQb3BvdmVySXRlbUNvbXBvbmVudCB7XG4gICAgc2VsZWN0ZWQgPSBpbnB1dChmYWxzZSk7XG59XG4iXX0=
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { NgTemplateOutlet } from '@angular/common';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, computed, contentChildren, input, signal } from '@angular/core';
|
|
3
|
+
import { NavSelectorPopoverItemComponent } from './nav-selector-popover-item.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export const NavSelectorPopoverPlacement = {
|
|
6
|
+
RIGHT: 'right',
|
|
7
|
+
BOTTOM_START: 'bottom_start',
|
|
8
|
+
};
|
|
9
|
+
export class NavSelectorPopoverComponent {
|
|
10
|
+
elementRef;
|
|
11
|
+
placement = input(NavSelectorPopoverPlacement.RIGHT);
|
|
12
|
+
popoverTitle = input();
|
|
13
|
+
offset = input({ mainAxis: 0, crossAxis: 0 });
|
|
14
|
+
items = contentChildren('item');
|
|
15
|
+
displayed = signal(false);
|
|
16
|
+
navSelectorPopoverDisplayed = this.displayed.asReadonly();
|
|
17
|
+
position = signal({
|
|
18
|
+
top: 0,
|
|
19
|
+
left: 0,
|
|
20
|
+
});
|
|
21
|
+
parentEl = signal(null);
|
|
22
|
+
mainAxisOffset = computed(() => this.offset().mainAxis ?? 0);
|
|
23
|
+
crossAxisOffset = computed(() => this.offset().crossAxis ?? 0);
|
|
24
|
+
constructor(elementRef) {
|
|
25
|
+
this.elementRef = elementRef;
|
|
26
|
+
}
|
|
27
|
+
display(parentEl) {
|
|
28
|
+
this.parentEl.set(parentEl);
|
|
29
|
+
this.displayed.set(true);
|
|
30
|
+
this.computePosition(parentEl);
|
|
31
|
+
}
|
|
32
|
+
hide() {
|
|
33
|
+
this.displayed.set(false);
|
|
34
|
+
}
|
|
35
|
+
toggle(parentEl) {
|
|
36
|
+
this.parentEl.set(parentEl);
|
|
37
|
+
this.displayed.update(value => !value);
|
|
38
|
+
if (this.displayed()) {
|
|
39
|
+
this.computePosition(parentEl);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
onClick(event) {
|
|
43
|
+
// Prevent click to be caught from element behind the popover (real bug)
|
|
44
|
+
event.stopImmediatePropagation();
|
|
45
|
+
this.displayed.set(false);
|
|
46
|
+
}
|
|
47
|
+
computePosition(parentEl) {
|
|
48
|
+
// Needed to wait first render and have the total height of the popover
|
|
49
|
+
setTimeout(() => {
|
|
50
|
+
const parentRect = parentEl.nativeElement.getBoundingClientRect();
|
|
51
|
+
if (!parentRect.top && !parentRect.left) {
|
|
52
|
+
this.displayed.set(false);
|
|
53
|
+
}
|
|
54
|
+
else if (this.placement().startsWith('right')) {
|
|
55
|
+
this.computeRightPosition(parentEl);
|
|
56
|
+
}
|
|
57
|
+
else if (this.placement().startsWith('bottom')) {
|
|
58
|
+
this.computeBottomPosition(parentEl);
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
computeRightPosition(parentEl) {
|
|
63
|
+
const nativeEl = parentEl.nativeElement;
|
|
64
|
+
const rect = nativeEl.getBoundingClientRect();
|
|
65
|
+
let top = rect.top + (rect.height - nativeEl.offsetHeight) / 2 + this.crossAxisOffset();
|
|
66
|
+
const left = rect.left + rect.width + this.mainAxisOffset();
|
|
67
|
+
const elementEl = this.elementRef.nativeElement;
|
|
68
|
+
const popoverRect = elementEl.getBoundingClientRect();
|
|
69
|
+
if (top + elementEl.clientHeight > window.innerHeight) {
|
|
70
|
+
const popoverEl = document.querySelector('.nav-selector-popover');
|
|
71
|
+
const paddingBottom = parseInt(getComputedStyle(popoverEl).paddingBottom);
|
|
72
|
+
top = rect.top + rect.height - popoverRect.height + paddingBottom;
|
|
73
|
+
}
|
|
74
|
+
this.position.set({
|
|
75
|
+
top: top,
|
|
76
|
+
left: left,
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
computeBottomPosition(parentEl) {
|
|
80
|
+
const nativeEl = parentEl.nativeElement;
|
|
81
|
+
const rect = nativeEl.getBoundingClientRect();
|
|
82
|
+
let top = rect.top + rect.height + this.mainAxisOffset();
|
|
83
|
+
let left = rect.left + (rect.width - nativeEl.offsetWidth) / 2 + this.crossAxisOffset();
|
|
84
|
+
if (this.placement() === NavSelectorPopoverPlacement.BOTTOM_START) {
|
|
85
|
+
left = rect.left;
|
|
86
|
+
}
|
|
87
|
+
const elementEl = this.elementRef.nativeElement;
|
|
88
|
+
const popoverRect = elementEl.getBoundingClientRect();
|
|
89
|
+
if (top + elementEl.clientHeight > window.innerHeight) {
|
|
90
|
+
top -= popoverRect.height + rect.height;
|
|
91
|
+
}
|
|
92
|
+
this.position.set({
|
|
93
|
+
top: top,
|
|
94
|
+
left: left,
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
onAnyScroll() {
|
|
98
|
+
const parent = this.parentEl();
|
|
99
|
+
if (parent) {
|
|
100
|
+
this.computePosition(parent);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
onFocusChanged(event) {
|
|
104
|
+
if (!this.elementRef.nativeElement.contains(event.target)) {
|
|
105
|
+
this.displayed.set(false);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
onAnyClick(event) {
|
|
109
|
+
if (!this.elementRef.nativeElement.contains(event.target)) {
|
|
110
|
+
this.displayed.set(false);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NavSelectorPopoverComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
114
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.9", type: NavSelectorPopoverComponent, isStandalone: true, selector: "ap-nav-selector-popover", inputs: { placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, popoverTitle: { classPropertyName: "popoverTitle", publicName: "popoverTitle", isSignal: true, isRequired: false, transformFunction: null }, offset: { classPropertyName: "offset", publicName: "offset", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "onClick($event)", "window:wheel": "onAnyScroll()", "window:focusin": "onFocusChanged($event)", "window:click": "onAnyClick($event)" }, properties: { "style.top.px": "position().top", "style.left.px": "position().left" } }, queries: [{ propertyName: "items", predicate: ["item"], isSignal: true }], ngImport: i0, template: "@if (displayed()) {\n <div class=\"nav-selector-popover\">\n @if (popoverTitle()) {\n <div class=\"nav-selector-popover__title\">{{ popoverTitle() }}</div>\n }\n\n @let itemsNotNull = items();\n\n @if (itemsNotNull?.length) {\n @for (item of itemsNotNull; track item) {\n <ap-nav-selector-popover-item>\n <ng-container [ngTemplateOutlet]=\"item\"/>\n </ap-nav-selector-popover-item>\n }\n } @else {\n <ng-content select=\"[item]\"/>\n }\n </div>\n}\n", styles: [":host{position:fixed;z-index:10}:host .nav-selector-popover{padding:var(--ref-spacing-xxs) 0;background:var(--ref-color-white);border-radius:var(--ref-border-radius-sm);box-shadow:0 4px 25px -2px #34456326,0 4px 6px -2px #34456326}:host .nav-selector-popover__title{padding:var(--ref-spacing-xxs) var(--ref-spacing-sm) var(--ref-spacing-xxxs);text-align:left;color:var(--ref-color-grey-100);font-size:var(--ref-font-size-xs);font-weight:var(--ref-font-weight-bold)}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: NavSelectorPopoverItemComponent, selector: "ap-nav-selector-popover-item", inputs: ["selected"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
115
|
+
}
|
|
116
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NavSelectorPopoverComponent, decorators: [{
|
|
117
|
+
type: Component,
|
|
118
|
+
args: [{ selector: 'ap-nav-selector-popover', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
119
|
+
'[style.top.px]': 'position().top',
|
|
120
|
+
'[style.left.px]': 'position().left',
|
|
121
|
+
'(click)': 'onClick($event)',
|
|
122
|
+
'(window:wheel)': 'onAnyScroll()',
|
|
123
|
+
'(window:focusin)': 'onFocusChanged($event)',
|
|
124
|
+
'(window:click)': 'onAnyClick($event)',
|
|
125
|
+
}, imports: [NgTemplateOutlet, NavSelectorPopoverItemComponent], template: "@if (displayed()) {\n <div class=\"nav-selector-popover\">\n @if (popoverTitle()) {\n <div class=\"nav-selector-popover__title\">{{ popoverTitle() }}</div>\n }\n\n @let itemsNotNull = items();\n\n @if (itemsNotNull?.length) {\n @for (item of itemsNotNull; track item) {\n <ap-nav-selector-popover-item>\n <ng-container [ngTemplateOutlet]=\"item\"/>\n </ap-nav-selector-popover-item>\n }\n } @else {\n <ng-content select=\"[item]\"/>\n }\n </div>\n}\n", styles: [":host{position:fixed;z-index:10}:host .nav-selector-popover{padding:var(--ref-spacing-xxs) 0;background:var(--ref-color-white);border-radius:var(--ref-border-radius-sm);box-shadow:0 4px 25px -2px #34456326,0 4px 6px -2px #34456326}:host .nav-selector-popover__title{padding:var(--ref-spacing-xxs) var(--ref-spacing-sm) var(--ref-spacing-xxxs);text-align:left;color:var(--ref-color-grey-100);font-size:var(--ref-font-size-xs);font-weight:var(--ref-font-weight-bold)}\n"] }]
|
|
126
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }] });
|
|
127
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LXNlbGVjdG9yLXBvcG92ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL25hdi1zZWxlY3Rvci9zcmMvbmF2LXNlbGVjdG9yLXBvcG92ZXIvbmF2LXNlbGVjdG9yLXBvcG92ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL25hdi1zZWxlY3Rvci9zcmMvbmF2LXNlbGVjdG9yLXBvcG92ZXIvbmF2LXNlbGVjdG9yLXBvcG92ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFjLEtBQUssRUFBRSxNQUFNLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDdEksT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7O0FBRXhGLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHO0lBQ3ZDLEtBQUssRUFBRSxPQUFPO0lBQ2QsWUFBWSxFQUFFLGNBQWM7Q0FDdEIsQ0FBQztBQW1CWCxNQUFNLE9BQU8sMkJBQTJCO0lBbUJoQjtJQWxCcEIsU0FBUyxHQUFHLEtBQUssQ0FBOEIsMkJBQTJCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEYsWUFBWSxHQUFHLEtBQUssRUFBVSxDQUFDO0lBQy9CLE1BQU0sR0FBRyxLQUFLLENBQW1ELEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUVoRyxLQUFLLEdBQUcsZUFBZSxDQUF1QixNQUFNLENBQUMsQ0FBQztJQUV0RCxTQUFTLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFCLDJCQUEyQixHQUFHLElBQUksQ0FB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QztJQUNMLENBQUM7dUdBeEhRLDJCQUEyQjsyRkFBM0IsMkJBQTJCLG96QkMxQnhDLGlsQkFtQkEsNmdCREtjLGdCQUFnQixvSkFBRSwrQkFBK0I7OzJGQUVsRCwyQkFBMkI7a0JBaEJ2QyxTQUFTOytCQUNJLHlCQUF5QixjQUN2QixJQUFJLG1CQUdDLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0YsZ0JBQWdCLEVBQUUsZ0JBQWdCO3dCQUNsQyxpQkFBaUIsRUFBRSxpQkFBaUI7d0JBQ3BDLFNBQVMsRUFBRSxpQkFBaUI7d0JBQzVCLGdCQUFnQixFQUFFLGVBQWU7d0JBQ2pDLGtCQUFrQixFQUFFLHdCQUF3Qjt3QkFDNUMsZ0JBQWdCLEVBQUUsb0JBQW9CO3FCQUN6QyxXQUNRLENBQUMsZ0JBQWdCLEVBQUUsK0JBQStCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBjb250ZW50Q2hpbGRyZW4sIEVsZW1lbnRSZWYsIGlucHV0LCBzaWduYWwsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXZTZWxlY3RvclBvcG92ZXJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9uYXYtc2VsZWN0b3ItcG9wb3Zlci1pdGVtLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBjb25zdCBOYXZTZWxlY3RvclBvcG92ZXJQbGFjZW1lbnQgPSB7XG4gICAgUklHSFQ6ICdyaWdodCcsXG4gICAgQk9UVE9NX1NUQVJUOiAnYm90dG9tX3N0YXJ0Jyxcbn0gYXMgY29uc3Q7XG5leHBvcnQgdHlwZSBOYXZTZWxlY3RvclBvcG92ZXJQbGFjZW1lbnQgPSAodHlwZW9mIE5hdlNlbGVjdG9yUG9wb3ZlclBsYWNlbWVudClba2V5b2YgdHlwZW9mIE5hdlNlbGVjdG9yUG9wb3ZlclBsYWNlbWVudF07XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXAtbmF2LXNlbGVjdG9yLXBvcG92ZXInLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgdGVtcGxhdGVVcmw6ICcuL25hdi1zZWxlY3Rvci1wb3BvdmVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9uYXYtc2VsZWN0b3ItcG9wb3Zlci5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tzdHlsZS50b3AucHhdJzogJ3Bvc2l0aW9uKCkudG9wJyxcbiAgICAgICAgJ1tzdHlsZS5sZWZ0LnB4XSc6ICdwb3NpdGlvbigpLmxlZnQnLFxuICAgICAgICAnKGNsaWNrKSc6ICdvbkNsaWNrKCRldmVudCknLFxuICAgICAgICAnKHdpbmRvdzp3aGVlbCknOiAnb25BbnlTY3JvbGwoKScsXG4gICAgICAgICcod2luZG93OmZvY3VzaW4pJzogJ29uRm9jdXNDaGFuZ2VkKCRldmVudCknLFxuICAgICAgICAnKHdpbmRvdzpjbGljayknOiAnb25BbnlDbGljaygkZXZlbnQpJyxcbiAgICB9LFxuICAgIGltcG9ydHM6IFtOZ1RlbXBsYXRlT3V0bGV0LCBOYXZTZWxlY3RvclBvcG92ZXJJdGVtQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgTmF2U2VsZWN0b3JQb3BvdmVyQ29tcG9uZW50IHtcbiAgICBwbGFjZW1lbnQgPSBpbnB1dDxOYXZTZWxlY3RvclBvcG92ZXJQbGFjZW1lbnQ+KE5hdlNlbGVjdG9yUG9wb3ZlclBsYWNlbWVudC5SSUdIVCk7XG4gICAgcG9wb3ZlclRpdGxlID0gaW5wdXQ8c3RyaW5nPigpO1xuICAgIG9mZnNldCA9IGlucHV0PFBhcnRpYWw8eyBtYWluQXhpczogbnVtYmVyOyBjcm9zc0F4aXM6IG51bWJlciB9Pj4oeyBtYWluQXhpczogMCwgY3Jvc3NBeGlzOiAwIH0pO1xuXG4gICAgaXRlbXMgPSBjb250ZW50Q2hpbGRyZW48VGVtcGxhdGVSZWY8dW5rbm93bj4+KCdpdGVtJyk7XG5cbiAgICBkaXNwbGF5ZWQgPSBzaWduYWwoZmFsc2UpO1xuICAgIG5hdlNlbGVjdG9yUG9wb3ZlckRpc3BsYXllZCA9IHRoaXMuZGlzcGxheWVkLmFzUmVhZG9ubHkoKTtcblxuICAgIHBvc2l0aW9uID0gc2lnbmFsKHtcbiAgICAgICAgdG9wOiAwLFxuICAgICAgICBsZWZ0OiAwLFxuICAgIH0pO1xuICAgIHBhcmVudEVsID0gc2lnbmFsPEVsZW1lbnRSZWYgfCBudWxsPihudWxsKTtcblxuICAgIG1haW5BeGlzT2Zmc2V0ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5vZmZzZXQoKS5tYWluQXhpcyA/PyAwKTtcbiAgICBjcm9zc0F4aXNPZmZzZXQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLm9mZnNldCgpLmNyb3NzQXhpcyA/PyAwKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZikge31cblxuICAgIGRpc3BsYXkocGFyZW50RWw6IEVsZW1lbnRSZWYpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wYXJlbnRFbC5zZXQocGFyZW50RWwpO1xuICAgICAgICB0aGlzLmRpc3BsYXllZC5zZXQodHJ1ZSk7XG4gICAgICAgIHRoaXMuY29tcHV0ZVBvc2l0aW9uKHBhcmVudEVsKTtcbiAgICB9XG5cbiAgICBoaWRlKCkge1xuICAgICAgICB0aGlzLmRpc3BsYXllZC5zZXQoZmFsc2UpO1xuICAgIH1cblxuICAgIHRvZ2dsZShwYXJlbnRFbDogRWxlbWVudFJlZik6IHZvaWQge1xuICAgICAgICB0aGlzLnBhcmVudEVsLnNldChwYXJlbnRFbCk7XG4gICAgICAgIHRoaXMuZGlzcGxheWVkLnVwZGF0ZSh2YWx1ZSA9PiAhdmFsdWUpO1xuICAgICAgICBpZiAodGhpcy5kaXNwbGF5ZWQoKSkge1xuICAgICAgICAgICAgdGhpcy5jb21wdXRlUG9zaXRpb24ocGFyZW50RWwpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25DbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgLy8gUHJldmVudCBjbGljayB0byBiZSBjYXVnaHQgZnJvbSBlbGVtZW50IGJlaGluZCB0aGUgcG9wb3ZlciAocmVhbCBidWcpXG4gICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLmRpc3BsYXllZC5zZXQoZmFsc2UpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY29tcHV0ZVBvc2l0aW9uKHBhcmVudEVsOiBFbGVtZW50UmVmKTogdm9pZCB7XG4gICAgICAgIC8vIE5lZWRlZCB0byB3YWl0IGZpcnN0IHJlbmRlciBhbmQgaGF2ZSB0aGUgdG90YWwgaGVpZ2h0IG9mIHRoZSBwb3BvdmVyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcGFyZW50UmVjdCA9IHBhcmVudEVsLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgICAgICBpZiAoIXBhcmVudFJlY3QudG9wICYmICFwYXJlbnRSZWN0LmxlZnQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRpc3BsYXllZC5zZXQoZmFsc2UpO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnBsYWNlbWVudCgpLnN0YXJ0c1dpdGgoJ3JpZ2h0JykpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbXB1dGVSaWdodFBvc2l0aW9uKHBhcmVudEVsKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5wbGFjZW1lbnQoKS5zdGFydHNXaXRoKCdib3R0b20nKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuY29tcHV0ZUJvdHRvbVBvc2l0aW9uKHBhcmVudEVsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjb21wdXRlUmlnaHRQb3NpdGlvbihwYXJlbnRFbDogRWxlbWVudFJlZikge1xuICAgICAgICBjb25zdCBuYXRpdmVFbCA9IHBhcmVudEVsLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHJlY3QgPSBuYXRpdmVFbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgbGV0IHRvcCA9IHJlY3QudG9wICsgKHJlY3QuaGVpZ2h0IC0gbmF0aXZlRWwub2Zmc2V0SGVpZ2h0KSAvIDIgKyB0aGlzLmNyb3NzQXhpc09mZnNldCgpO1xuICAgICAgICBjb25zdCBsZWZ0ID0gcmVjdC5sZWZ0ICsgcmVjdC53aWR0aCArIHRoaXMubWFpbkF4aXNPZmZzZXQoKTtcblxuICAgICAgICBjb25zdCBlbGVtZW50RWwgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcblxuICAgICAgICBjb25zdCBwb3BvdmVyUmVjdCA9IGVsZW1lbnRFbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgaWYgKHRvcCArIGVsZW1lbnRFbC5jbGllbnRIZWlnaHQgPiB3aW5kb3cuaW5uZXJIZWlnaHQpIHtcbiAgICAgICAgICAgIGNvbnN0IHBvcG92ZXJFbCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5uYXYtc2VsZWN0b3ItcG9wb3ZlcicpIGFzIEVsZW1lbnQ7XG4gICAgICAgICAgICBjb25zdCBwYWRkaW5nQm90dG9tID0gcGFyc2VJbnQoZ2V0Q29tcHV0ZWRTdHlsZShwb3BvdmVyRWwpLnBhZGRpbmdCb3R0b20pO1xuICAgICAgICAgICAgdG9wID0gcmVjdC50b3AgKyByZWN0LmhlaWdodCAtIHBvcG92ZXJSZWN0LmhlaWdodCArIHBhZGRpbmdCb3R0b207XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnBvc2l0aW9uLnNldCh7XG4gICAgICAgICAgICB0b3A6IHRvcCxcbiAgICAgICAgICAgIGxlZnQ6IGxlZnQsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY29tcHV0ZUJvdHRvbVBvc2l0aW9uKHBhcmVudEVsOiBFbGVtZW50UmVmKSB7XG4gICAgICAgIGNvbnN0IG5hdGl2ZUVsID0gcGFyZW50RWwubmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3QgcmVjdCA9IG5hdGl2ZUVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICBsZXQgdG9wID0gcmVjdC50b3AgKyByZWN0LmhlaWdodCArIHRoaXMubWFpbkF4aXNPZmZzZXQoKTtcbiAgICAgICAgbGV0IGxlZnQgPSByZWN0LmxlZnQgKyAocmVjdC53aWR0aCAtIG5hdGl2ZUVsLm9mZnNldFdpZHRoKSAvIDIgKyB0aGlzLmNyb3NzQXhpc09mZnNldCgpO1xuXG4gICAgICAgIGlmICh0aGlzLnBsYWNlbWVudCgpID09PSBOYXZTZWxlY3RvclBvcG92ZXJQbGFjZW1lbnQuQk9UVE9NX1NUQVJUKSB7XG4gICAgICAgICAgICBsZWZ0ID0gcmVjdC5sZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZWxlbWVudEVsID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgY29uc3QgcG9wb3ZlclJlY3QgPSBlbGVtZW50RWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGlmICh0b3AgKyBlbGVtZW50RWwuY2xpZW50SGVpZ2h0ID4gd2luZG93LmlubmVySGVpZ2h0KSB7XG4gICAgICAgICAgICB0b3AgLT0gcG9wb3ZlclJlY3QuaGVpZ2h0ICsgcmVjdC5oZWlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnBvc2l0aW9uLnNldCh7XG4gICAgICAgICAgICB0b3A6IHRvcCxcbiAgICAgICAgICAgIGxlZnQ6IGxlZnQsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uQW55U2Nyb2xsKCkge1xuICAgICAgICBjb25zdCBwYXJlbnQgPSB0aGlzLnBhcmVudEVsKCk7XG4gICAgICAgIGlmIChwYXJlbnQpIHtcbiAgICAgICAgICAgIHRoaXMuY29tcHV0ZVBvc2l0aW9uKHBhcmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkZvY3VzQ2hhbmdlZChldmVudDogRm9jdXNFdmVudCkge1xuICAgICAgICBpZiAoIXRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBFbGVtZW50KSkge1xuICAgICAgICAgICAgdGhpcy5kaXNwbGF5ZWQuc2V0KGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQW55Q2xpY2soZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGlmICghdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIEVsZW1lbnQpKSB7XG4gICAgICAgICAgICB0aGlzLmRpc3BsYXllZC5zZXQoZmFsc2UpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiQGlmIChkaXNwbGF5ZWQoKSkge1xuICAgIDxkaXYgY2xhc3M9XCJuYXYtc2VsZWN0b3ItcG9wb3ZlclwiPlxuICAgICAgICBAaWYgKHBvcG92ZXJUaXRsZSgpKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmF2LXNlbGVjdG9yLXBvcG92ZXJfX3RpdGxlXCI+e3sgcG9wb3ZlclRpdGxlKCkgfX08L2Rpdj5cbiAgICAgICAgfVxuXG4gICAgICAgIEBsZXQgaXRlbXNOb3ROdWxsID0gaXRlbXMoKTtcblxuICAgICAgICBAaWYgKGl0ZW1zTm90TnVsbD8ubGVuZ3RoKSB7XG4gICAgICAgICAgICBAZm9yIChpdGVtIG9mIGl0ZW1zTm90TnVsbDsgdHJhY2sgaXRlbSkge1xuICAgICAgICAgICAgICAgIDxhcC1uYXYtc2VsZWN0b3ItcG9wb3Zlci1pdGVtPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW1cIi8+XG4gICAgICAgICAgICAgICAgPC9hcC1uYXYtc2VsZWN0b3ItcG9wb3Zlci1pdGVtPlxuICAgICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltpdGVtXVwiLz5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxufVxuIl19
|