@magicx-eng/ai-autocomplete-angular 0.7.1 → 0.8.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/esm2020/lib/ai-autocomplete/ai-autocomplete.component.mjs +3 -3
- package/esm2020/lib/ai-autocomplete-dropdown/ai-autocomplete-dropdown.component.mjs +3 -3
- package/esm2020/lib/internal/editor-host/editor-host.directive.mjs +9 -2
- package/esm2020/lib/internal/layout/grid.component.mjs +14 -3
- package/esm2020/lib/internal/pill-list/pill-list.component.mjs +3 -3
- package/esm2020/lib/internal/suggestion-grid/suggestion-grid.component.mjs +27 -4
- package/esm2020/lib/internal/suggestion-item/suggestion-item.component.mjs +3 -3
- package/fesm2015/magicx-eng-ai-autocomplete-angular.mjs +54 -15
- package/fesm2015/magicx-eng-ai-autocomplete-angular.mjs.map +1 -1
- package/fesm2020/magicx-eng-ai-autocomplete-angular.mjs +54 -15
- package/fesm2020/magicx-eng-ai-autocomplete-angular.mjs.map +1 -1
- package/lib/internal/editor-host/editor-host.directive.d.ts.map +1 -1
- package/lib/internal/layout/grid.component.d.ts +9 -1
- package/lib/internal/layout/grid.component.d.ts.map +1 -1
- package/lib/internal/suggestion-grid/suggestion-grid.component.d.ts +10 -1
- package/lib/internal/suggestion-grid/suggestion-grid.component.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { CommonModule } from "@angular/common";
|
|
2
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation, } from "@angular/core";
|
|
2
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, HostListener, Input, inject, Output, ViewEncapsulation, } from "@angular/core";
|
|
3
|
+
import { computeOptionsGridLayout, isOptionsGridMobileViewport, } from "@magicx-eng/ai-autocomplete-vanilla";
|
|
3
4
|
import { GridComponent } from "../layout/grid.component";
|
|
4
5
|
import { SuggestionItemComponent } from "../suggestion-item/suggestion-item.component";
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
@@ -27,14 +28,33 @@ export class SuggestionGridComponent {
|
|
|
27
28
|
this.groupKey = "";
|
|
28
29
|
this.select = new EventEmitter();
|
|
29
30
|
this.highlight = new EventEmitter();
|
|
31
|
+
this.cdr = inject(ChangeDetectorRef);
|
|
30
32
|
this.trackByOptionText = (_, opt) => opt.text;
|
|
31
33
|
}
|
|
34
|
+
// Recompute the responsive layout when the viewport crosses the mobile
|
|
35
|
+
// breakpoint (OnPush getters only re-run when change detection is triggered).
|
|
36
|
+
onResize() {
|
|
37
|
+
this.cdr.markForCheck();
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Rows/columns policy — owned by the core so vanilla, React and Angular all
|
|
41
|
+
* lay the options grid out identically. See `computeOptionsGridLayout`.
|
|
42
|
+
*/
|
|
43
|
+
get layout() {
|
|
44
|
+
return computeOptionsGridLayout(this.options.length, isOptionsGridMobileViewport());
|
|
45
|
+
}
|
|
46
|
+
get gridCols() {
|
|
47
|
+
return this.layout.cols;
|
|
48
|
+
}
|
|
49
|
+
get gridMaxHeight() {
|
|
50
|
+
return this.layout.maxHeight;
|
|
51
|
+
}
|
|
32
52
|
}
|
|
33
53
|
SuggestionGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SuggestionGridComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
34
|
-
SuggestionGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SuggestionGridComponent, isStandalone: true, selector: "aia-suggestion-grid", inputs: { options: "options", activeIndex: "activeIndex", listboxId: "listboxId", loading: "loading", groupKey: "groupKey" }, outputs: { select: "select", highlight: "highlight" }, ngImport: i0, template: "<!-- max=\"1fr\": columns share out the full width, so a lone column spans the\n whole options box instead of stopping at 250px. -->\n<aia-grid
|
|
54
|
+
SuggestionGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SuggestionGridComponent, isStandalone: true, selector: "aia-suggestion-grid", inputs: { options: "options", activeIndex: "activeIndex", listboxId: "listboxId", loading: "loading", groupKey: "groupKey" }, outputs: { select: "select", highlight: "highlight" }, host: { listeners: { "window:resize": "onResize()" } }, ngImport: i0, template: "<!-- max=\"1fr\": columns share out the full width, so a lone column spans the\n whole options box instead of stopping at 250px. -->\n<aia-grid\n min=\"250px\"\n max=\"1fr\"\n gap=\"0\"\n [scroll]=\"true\"\n [scrollResetKey]=\"groupKey\"\n [cols]=\"gridCols\"\n [maxHeight]=\"gridMaxHeight\"\n>\n <aia-suggestion-item\n *ngFor=\"let option of options; trackBy: trackByOptionText; let i = index\"\n [option]=\"option\"\n [isHighlighted]=\"i === activeIndex\"\n [id]=\"listboxId + '-option-' + i\"\n [loading]=\"loading\"\n (select)=\"select.emit($event)\"\n (highlight)=\"highlight.emit(i)\"\n ></aia-suggestion-item>\n</aia-grid>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: GridComponent, selector: "aia-grid", inputs: ["min", "max", "gap", "scroll", "maxHeight", "scrollResetKey", "cols"] }, { kind: "component", type: SuggestionItemComponent, selector: "aia-suggestion-item", inputs: ["option", "isHighlighted", "id", "loading"], outputs: ["select", "highlight"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
35
55
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SuggestionGridComponent, decorators: [{
|
|
36
56
|
type: Component,
|
|
37
|
-
args: [{ selector: "aia-suggestion-grid", standalone: true, imports: [CommonModule, GridComponent, SuggestionItemComponent], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<!-- max=\"1fr\": columns share out the full width, so a lone column spans the\n whole options box instead of stopping at 250px. -->\n<aia-grid
|
|
57
|
+
args: [{ selector: "aia-suggestion-grid", standalone: true, imports: [CommonModule, GridComponent, SuggestionItemComponent], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<!-- max=\"1fr\": columns share out the full width, so a lone column spans the\n whole options box instead of stopping at 250px. -->\n<aia-grid\n min=\"250px\"\n max=\"1fr\"\n gap=\"0\"\n [scroll]=\"true\"\n [scrollResetKey]=\"groupKey\"\n [cols]=\"gridCols\"\n [maxHeight]=\"gridMaxHeight\"\n>\n <aia-suggestion-item\n *ngFor=\"let option of options; trackBy: trackByOptionText; let i = index\"\n [option]=\"option\"\n [isHighlighted]=\"i === activeIndex\"\n [id]=\"listboxId + '-option-' + i\"\n [loading]=\"loading\"\n (select)=\"select.emit($event)\"\n (highlight)=\"highlight.emit(i)\"\n ></aia-suggestion-item>\n</aia-grid>\n" }]
|
|
38
58
|
}], propDecorators: { options: [{
|
|
39
59
|
type: Input
|
|
40
60
|
}], activeIndex: [{
|
|
@@ -49,5 +69,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
49
69
|
type: Output
|
|
50
70
|
}], highlight: [{
|
|
51
71
|
type: Output
|
|
72
|
+
}], onResize: [{
|
|
73
|
+
type: HostListener,
|
|
74
|
+
args: ["window:resize"]
|
|
52
75
|
}] } });
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VnZ2VzdGlvbi1ncmlkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvaW50ZXJuYWwvc3VnZ2VzdGlvbi1ncmlkL3N1Z2dlc3Rpb24tZ3JpZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ludGVybmFsL3N1Z2dlc3Rpb24tZ3JpZC9zdWdnZXN0aW9uLWdyaWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLDJCQUEyQixHQUU1QixNQUFNLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7O0FBRXZGOzs7Ozs7OztHQVFHO0FBU0gsTUFBTSxPQUFPLHVCQUF1QjtJQVJwQztRQVNXLFlBQU8sR0FBdUIsRUFBRSxDQUFDO1FBQ2pDLGdCQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDakIsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNmLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDekI7Ozs7V0FJRztRQUNNLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFFSixXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQW9CLENBQUM7UUFDOUMsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFFekMsUUFBRyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBd0JqRCxzQkFBaUIsR0FBRyxDQUFDLENBQVMsRUFBRSxHQUFxQixFQUFVLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDO0tBQzVFO0lBdkJDLHVFQUF1RTtJQUN2RSw4RUFBOEU7SUFFOUUsUUFBUTtRQUNOLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQVksTUFBTTtRQUNoQixPQUFPLHdCQUF3QixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLDJCQUEyQixFQUFFLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztJQUMxQixDQUFDO0lBQ0QsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQztJQUMvQixDQUFDOztxSEFyQ1UsdUJBQXVCO3lHQUF2Qix1QkFBdUIsNFRDckNwQywycEJBcUJBLDJDRFdZLFlBQVksNEpBQUUsYUFBYSxxSUFBRSx1QkFBdUI7NEZBS25ELHVCQUF1QjtrQkFSbkMsU0FBUzsrQkFDRSxxQkFBcUIsY0FDbkIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSx1QkFBdUIsQ0FBQyxtQkFDOUMsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSTs4QkFJNUIsT0FBTztzQkFBZixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBTUcsUUFBUTtzQkFBaEIsS0FBSztnQkFFYSxNQUFNO3NCQUF4QixNQUFNO2dCQUNZLFNBQVM7c0JBQTNCLE1BQU07Z0JBT1AsUUFBUTtzQkFEUCxZQUFZO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBpbmplY3QsXG4gIE91dHB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge1xuICBjb21wdXRlT3B0aW9uc0dyaWRMYXlvdXQsXG4gIGlzT3B0aW9uc0dyaWRNb2JpbGVWaWV3cG9ydCxcbiAgdHlwZSBTdWdnZXN0aW9uT3B0aW9uLFxufSBmcm9tIFwiQG1hZ2ljeC1lbmcvYWktYXV0b2NvbXBsZXRlLXZhbmlsbGFcIjtcbmltcG9ydCB7IEdyaWRDb21wb25lbnQgfSBmcm9tIFwiLi4vbGF5b3V0L2dyaWQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBTdWdnZXN0aW9uSXRlbUNvbXBvbmVudCB9IGZyb20gXCIuLi9zdWdnZXN0aW9uLWl0ZW0vc3VnZ2VzdGlvbi1pdGVtLmNvbXBvbmVudFwiO1xuXG4vKipcbiAqIEludGVybmFsIGdyaWQgb2Ygc3VnZ2VzdGlvbiBvcHRpb25zLiBNaXJyb3JzXG4gKiBgcGFja2FnZXMvcmVhY3Qvc3JjL2NvbXBvbmVudHMvU3VnZ2VzdGlvbkdyaWQudHN4YCDigJQgYSB0aGluIHdyYXBwZXIgb3ZlciB0aGVcbiAqIGBHcmlkYCBsYXlvdXQgcHJpbWl0aXZlICh3aGljaCBvd25zIHRoZSBhdXRvLWZpdCBjb2x1bW5zIGFuZCB0aGVcbiAqIGNhcHBlZC1oZWlnaHQgc2Nyb2xsKS4gSXQgb25seSB3aXJlcyBlYWNoIG9wdGlvbiB0byBpdHNcbiAqIHNlbGVjdC9oaWdobGlnaHQgaGFuZGxlcnMgYW5kIGxpc3Rib3gtc2NvcGVkIGlkLlxuICpcbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiYWlhLXN1Z2dlc3Rpb24tZ3JpZFwiLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBHcmlkQ29tcG9uZW50LCBTdWdnZXN0aW9uSXRlbUNvbXBvbmVudF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICB0ZW1wbGF0ZVVybDogXCIuL3N1Z2dlc3Rpb24tZ3JpZC5jb21wb25lbnQuaHRtbFwiLFxufSlcbmV4cG9ydCBjbGFzcyBTdWdnZXN0aW9uR3JpZENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIG9wdGlvbnM6IFN1Z2dlc3Rpb25PcHRpb25bXSA9IFtdO1xuICBASW5wdXQoKSBhY3RpdmVJbmRleCA9IC0xO1xuICBASW5wdXQoKSBsaXN0Ym94SWQgPSBcIlwiO1xuICBASW5wdXQoKSBsb2FkaW5nID0gZmFsc2U7XG4gIC8qKlxuICAgKiBJZGVudGl0eSBvZiB0aGUgc3VnZ2VzdGlvbiB0aGVzZSBvcHRpb25zIGJlbG9uZyB0by4gV2hlbiBpdCBjaGFuZ2VzIHRoZVxuICAgKiBncmlkIHNjcm9sbHMgYmFjayB0byB0aGUgdG9wLCBzbyB0aGUgbmV4dCBwYXJhbWV0ZXIncyBvcHRpb25zIGFyZSByZWFkXG4gICAqIGZyb20gdGhlIGZpcnN0IG9uZSBpbnN0ZWFkIG9mIGZyb20gdGhlIHByZXZpb3VzIGxpc3QncyBzY3JvbGwgb2Zmc2V0LlxuICAgKi9cbiAgQElucHV0KCkgZ3JvdXBLZXkgPSBcIlwiO1xuXG4gIEBPdXRwdXQoKSByZWFkb25seSBzZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPFN1Z2dlc3Rpb25PcHRpb24+KCk7XG4gIEBPdXRwdXQoKSByZWFkb25seSBoaWdobGlnaHQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgLy8gUmVjb21wdXRlIHRoZSByZXNwb25zaXZlIGxheW91dCB3aGVuIHRoZSB2aWV3cG9ydCBjcm9zc2VzIHRoZSBtb2JpbGVcbiAgLy8gYnJlYWtwb2ludCAoT25QdXNoIGdldHRlcnMgb25seSByZS1ydW4gd2hlbiBjaGFuZ2UgZGV0ZWN0aW9uIGlzIHRyaWdnZXJlZCkuXG4gIEBIb3N0TGlzdGVuZXIoXCJ3aW5kb3c6cmVzaXplXCIpXG4gIG9uUmVzaXplKCk6IHZvaWQge1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJvd3MvY29sdW1ucyBwb2xpY3kg4oCUIG93bmVkIGJ5IHRoZSBjb3JlIHNvIHZhbmlsbGEsIFJlYWN0IGFuZCBBbmd1bGFyIGFsbFxuICAgKiBsYXkgdGhlIG9wdGlvbnMgZ3JpZCBvdXQgaWRlbnRpY2FsbHkuIFNlZSBgY29tcHV0ZU9wdGlvbnNHcmlkTGF5b3V0YC5cbiAgICovXG4gIHByaXZhdGUgZ2V0IGxheW91dCgpIHtcbiAgICByZXR1cm4gY29tcHV0ZU9wdGlvbnNHcmlkTGF5b3V0KHRoaXMub3B0aW9ucy5sZW5ndGgsIGlzT3B0aW9uc0dyaWRNb2JpbGVWaWV3cG9ydCgpKTtcbiAgfVxuXG4gIGdldCBncmlkQ29scygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmxheW91dC5jb2xzO1xuICB9XG4gIGdldCBncmlkTWF4SGVpZ2h0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubGF5b3V0Lm1heEhlaWdodDtcbiAgfVxuXG4gIHRyYWNrQnlPcHRpb25UZXh0ID0gKF86IG51bWJlciwgb3B0OiBTdWdnZXN0aW9uT3B0aW9uKTogc3RyaW5nID0+IG9wdC50ZXh0O1xufVxuIiwiPCEtLSBtYXg9XCIxZnJcIjogY29sdW1ucyBzaGFyZSBvdXQgdGhlIGZ1bGwgd2lkdGgsIHNvIGEgbG9uZSBjb2x1bW4gc3BhbnMgdGhlXG4gICAgIHdob2xlIG9wdGlvbnMgYm94IGluc3RlYWQgb2Ygc3RvcHBpbmcgYXQgMjUwcHguIC0tPlxuPGFpYS1ncmlkXG4gIG1pbj1cIjI1MHB4XCJcbiAgbWF4PVwiMWZyXCJcbiAgZ2FwPVwiMFwiXG4gIFtzY3JvbGxdPVwidHJ1ZVwiXG4gIFtzY3JvbGxSZXNldEtleV09XCJncm91cEtleVwiXG4gIFtjb2xzXT1cImdyaWRDb2xzXCJcbiAgW21heEhlaWdodF09XCJncmlkTWF4SGVpZ2h0XCJcbj5cbiAgPGFpYS1zdWdnZXN0aW9uLWl0ZW1cbiAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIG9wdGlvbnM7IHRyYWNrQnk6IHRyYWNrQnlPcHRpb25UZXh0OyBsZXQgaSA9IGluZGV4XCJcbiAgICBbb3B0aW9uXT1cIm9wdGlvblwiXG4gICAgW2lzSGlnaGxpZ2h0ZWRdPVwiaSA9PT0gYWN0aXZlSW5kZXhcIlxuICAgIFtpZF09XCJsaXN0Ym94SWQgKyAnLW9wdGlvbi0nICsgaVwiXG4gICAgW2xvYWRpbmddPVwibG9hZGluZ1wiXG4gICAgKHNlbGVjdCk9XCJzZWxlY3QuZW1pdCgkZXZlbnQpXCJcbiAgICAoaGlnaGxpZ2h0KT1cImhpZ2hsaWdodC5lbWl0KGkpXCJcbiAgPjwvYWlhLXN1Z2dlc3Rpb24taXRlbT5cbjwvYWlhLWdyaWQ+XG4iXX0=
|
|
@@ -56,10 +56,10 @@ export class SuggestionItemComponent {
|
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
58
|
SuggestionItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SuggestionItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
59
|
-
SuggestionItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SuggestionItemComponent, isStandalone: true, selector: "aia-suggestion-item", inputs: { option: "option", isHighlighted: "isHighlighted", id: "id", loading: "loading" }, outputs: { select: "select", highlight: "highlight" }, ngImport: i0, template: "<div\n [id]=\"id\"\n role=\"option\"\n data-aia-option=\"\"\n [attr.data-aia-loading]=\"loading ? '' : null\"\n [attr.aria-selected]=\"isHighlighted\"\n class=\"aia-suggestion-item\"\n [class.aia-suggestion-item-highlighted]=\"isHighlighted && !loading\"\n [class.aia-suggestion-item-tappable]=\"option.is_tappable\"\n [class.aia-suggestion-item-non-tappable]=\"!option.is_tappable\"\n [class.aia-suggestion-item-pressed]=\"pressed\"\n [attr.tabindex]=\"loading || !option.is_tappable ? -1 : 0\"\n (click)=\"onSelect()\"\n (keydown)=\"onKeyDown($event)\"\n (mouseenter)=\"onMouseEnter()\"\n>\n <div class=\"aia-suggestion-streaks\"></div>\n <div class=\"aia-suggestion-streaks-vert\"></div>\n <span class=\"aia-suggestion-content\">\n <span class=\"aia-suggestion-text\">\n <ng-container *ngIf=\"option.icon; else noIcon\"\n >{{ option.icon }} {{ option.text }}</ng-container\n >\n <ng-template #noIcon>{{ option.text }}</ng-template>\n </span>\n <span *ngIf=\"option.tag\" class=\"aia-suggestion-tag\">{{ option.tag }}</span>\n </span>\n</div>\n", styles: [".aia-suggestion-item{position:relative;overflow:visible;display:flex;align-items:flex-start;font-family:inherit;font-size:var(--aia-option-font-size,
|
|
59
|
+
SuggestionItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SuggestionItemComponent, isStandalone: true, selector: "aia-suggestion-item", inputs: { option: "option", isHighlighted: "isHighlighted", id: "id", loading: "loading" }, outputs: { select: "select", highlight: "highlight" }, ngImport: i0, template: "<div\n [id]=\"id\"\n role=\"option\"\n data-aia-option=\"\"\n [attr.data-aia-loading]=\"loading ? '' : null\"\n [attr.aria-selected]=\"isHighlighted\"\n class=\"aia-suggestion-item\"\n [class.aia-suggestion-item-highlighted]=\"isHighlighted && !loading\"\n [class.aia-suggestion-item-tappable]=\"option.is_tappable\"\n [class.aia-suggestion-item-non-tappable]=\"!option.is_tappable\"\n [class.aia-suggestion-item-pressed]=\"pressed\"\n [attr.tabindex]=\"loading || !option.is_tappable ? -1 : 0\"\n (click)=\"onSelect()\"\n (keydown)=\"onKeyDown($event)\"\n (mouseenter)=\"onMouseEnter()\"\n>\n <div class=\"aia-suggestion-streaks\"></div>\n <div class=\"aia-suggestion-streaks-vert\"></div>\n <span class=\"aia-suggestion-content\">\n <span class=\"aia-suggestion-text\">\n <ng-container *ngIf=\"option.icon; else noIcon\"\n >{{ option.icon }} {{ option.text }}</ng-container\n >\n <ng-template #noIcon>{{ option.text }}</ng-template>\n </span>\n <span *ngIf=\"option.tag\" class=\"aia-suggestion-tag\">{{ option.tag }}</span>\n </span>\n</div>\n", styles: [".aia-suggestion-item{position:relative;overflow:visible;display:flex;align-items:flex-start;font-family:inherit;font-size:var(--aia-option-font-size, 16px);font-weight:450;line-height:21px;color:var(--aia-option-color, var(--aia-color-text-muted, #c1c4cb));white-space:normal;word-break:break-word;border-radius:8px;padding:8px 10px;animation:aiaSuggestionFadeIn .5s cubic-bezier(.4,0,.2,1) forwards}@keyframes aiaSuggestionFadeIn{0%{opacity:0}}.aia-suggestion-content{position:relative;z-index:2}.aia-suggestion-item-tappable{cursor:pointer}.aia-suggestion-item-tappable:hover{color:var(--aia-option-color-selected, var(--aia-color-text-default, #fff))}.aia-suggestion-item-non-tappable{cursor:default}.aia-suggestion-item-highlighted{color:var(--aia-option-color-selected, var(--aia-color-text-default, #fff));background:var(--aia-option-bg, transparent);font-weight:500}.aia-suggestion-tag{font-size:11px;margin-left:6px;opacity:.5}.aia-suggestion-item-pressed{opacity:.8;color:var(--aia-color-text-default, #fff);background:rgba(var(--aia-streak-rgb, 255, 255, 255),.06);animation:aiaGlassFade .5s ease forwards,aiaTapDown .5s ease forwards}@keyframes aiaTapDown{0%{transform:scale(1)}30%{transform:scale(.97)}to{transform:scale(1)}}@keyframes aiaGlassFade{0%{background:var(--aia-streak-glass-bg, rgba(255, 255, 255, .1))}to{background:transparent}}.aia-suggestion-streaks{position:absolute;inset:0;z-index:1;pointer-events:none;border-radius:inherit;overflow:hidden}.aia-suggestion-streaks:before{content:\"\";position:absolute;bottom:-3px;left:60%;width:0;height:6px;opacity:0;background:radial-gradient(ellipse at center,rgba(var(--aia-streak-rgb, 255, 255, 255),.5) 0%,rgba(var(--aia-streak-rgb, 255, 255, 255),.2) 40%,transparent 70%);box-shadow:0 0 12px 4px rgba(var(--aia-streak-rgb, 255, 255, 255),.2);filter:blur(1px);border-radius:50%}.aia-suggestion-streaks:after{content:\"\";position:absolute;top:-3px;right:60%;width:0;height:6px;opacity:0;background:radial-gradient(ellipse at center,rgba(var(--aia-streak-rgb, 255, 255, 255),.5) 0%,rgba(var(--aia-streak-rgb, 255, 255, 255),.2) 40%,transparent 70%);box-shadow:0 0 12px 4px rgba(var(--aia-streak-rgb, 255, 255, 255),.2);filter:blur(1px);border-radius:50%}.aia-suggestion-streaks-vert{position:absolute;inset:0;z-index:1;pointer-events:none;border-radius:inherit;overflow:hidden}.aia-suggestion-streaks-vert:before{content:\"\";position:absolute;bottom:0;right:-3px;width:6px;height:0;opacity:0;background:radial-gradient(ellipse at center,rgba(var(--aia-streak-rgb, 255, 255, 255),.4) 0%,rgba(var(--aia-streak-rgb, 255, 255, 255),.15) 40%,transparent 70%);box-shadow:0 0 12px 4px rgba(var(--aia-streak-rgb, 255, 255, 255),.15);filter:blur(1px);border-radius:50%}.aia-suggestion-streaks-vert:after{content:\"\";position:absolute;top:0;left:-3px;width:6px;height:0;opacity:0;background:radial-gradient(ellipse at center,rgba(var(--aia-streak-rgb, 255, 255, 255),.4) 0%,rgba(var(--aia-streak-rgb, 255, 255, 255),.15) 40%,transparent 70%);box-shadow:0 0 12px 4px rgba(var(--aia-streak-rgb, 255, 255, 255),.15);filter:blur(1px);border-radius:50%}.aia-suggestion-item-pressed .aia-suggestion-streaks:before{animation:aiaStreakHorizRight .5s cubic-bezier(.4,0,.2,1) forwards}.aia-suggestion-item-pressed .aia-suggestion-streaks:after{animation:aiaStreakHorizLeft .5s cubic-bezier(.4,0,.2,1) forwards}.aia-suggestion-item-pressed .aia-suggestion-streaks-vert:before{animation:aiaStreakVertUp .3s cubic-bezier(.3,0,.2,1) .2s forwards}.aia-suggestion-item-pressed .aia-suggestion-streaks-vert:after{animation:aiaStreakVertDown .3s cubic-bezier(.3,0,.2,1) .2s forwards}@keyframes aiaStreakHorizRight{0%{width:0;height:4px;opacity:0;filter:blur(1px);box-shadow:0 0 8px 3px rgba(var(--aia-streak-rgb, 255, 255, 255),.3)}15%{height:4px;opacity:1;filter:blur(1px);box-shadow:0 0 10px 4px rgba(var(--aia-streak-rgb, 255, 255, 255),.3)}80%{width:50%;height:10px;opacity:.8;filter:blur(3px);box-shadow:0 0 16px 6px rgba(var(--aia-streak-rgb, 255, 255, 255),.1)}to{width:50%;height:12px;opacity:0;filter:blur(5px);box-shadow:0 0 20px 8px rgba(var(--aia-streak-rgb, 255, 255, 255),.03)}}@keyframes aiaStreakHorizLeft{0%{width:0;height:4px;opacity:0;filter:blur(1px);box-shadow:0 0 8px 3px rgba(var(--aia-streak-rgb, 255, 255, 255),.3)}15%{height:4px;opacity:1;filter:blur(1px);box-shadow:0 0 10px 4px rgba(var(--aia-streak-rgb, 255, 255, 255),.3)}80%{width:50%;height:10px;opacity:.8;filter:blur(3px);box-shadow:0 0 16px 6px rgba(var(--aia-streak-rgb, 255, 255, 255),.1)}to{width:50%;height:12px;opacity:0;filter:blur(5px);box-shadow:0 0 20px 8px rgba(var(--aia-streak-rgb, 255, 255, 255),.03)}}@keyframes aiaStreakVertUp{0%{height:0;width:6px;opacity:.9;filter:blur(1.8px);box-shadow:0 0 12px 5px rgba(var(--aia-streak-rgb, 255, 255, 255),.25)}75%{height:100%;width:10px;opacity:.4;filter:blur(3px);box-shadow:0 0 18px 8px rgba(var(--aia-streak-rgb, 255, 255, 255),.06)}to{height:100%;width:14px;opacity:0;filter:blur(5px);box-shadow:0 0 24px 10px rgba(var(--aia-streak-rgb, 255, 255, 255),.02)}}@keyframes aiaStreakVertDown{0%{height:0;width:6px;opacity:.9;filter:blur(1.8px);box-shadow:0 0 12px 5px rgba(var(--aia-streak-rgb, 255, 255, 255),.25)}75%{height:100%;width:10px;opacity:.4;filter:blur(3px);box-shadow:0 0 18px 8px rgba(var(--aia-streak-rgb, 255, 255, 255),.06)}to{height:100%;width:14px;opacity:0;filter:blur(5px);box-shadow:0 0 24px 10px rgba(var(--aia-streak-rgb, 255, 255, 255),.02)}}.aia-suggestion-item[data-aia-loading]{cursor:default;animation:aiaSuggestionSkeletonPulse 1.4s ease-in-out infinite}.aia-suggestion-item[data-aia-loading] .aia-suggestion-text{color:transparent;background:var(--aia-skeleton-bg, var(--aia-pill-bg, rgba(189, 189, 189, .25)));border-radius:999px;-webkit-box-decoration-break:clone;box-decoration-break:clone}.aia-suggestion-item[data-aia-loading] .aia-suggestion-tag{display:none}@keyframes aiaSuggestionSkeletonPulse{0%,to{filter:brightness(1)}50%{filter:brightness(.55)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
60
60
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SuggestionItemComponent, decorators: [{
|
|
61
61
|
type: Component,
|
|
62
|
-
args: [{ selector: "aia-suggestion-item", standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div\n [id]=\"id\"\n role=\"option\"\n data-aia-option=\"\"\n [attr.data-aia-loading]=\"loading ? '' : null\"\n [attr.aria-selected]=\"isHighlighted\"\n class=\"aia-suggestion-item\"\n [class.aia-suggestion-item-highlighted]=\"isHighlighted && !loading\"\n [class.aia-suggestion-item-tappable]=\"option.is_tappable\"\n [class.aia-suggestion-item-non-tappable]=\"!option.is_tappable\"\n [class.aia-suggestion-item-pressed]=\"pressed\"\n [attr.tabindex]=\"loading || !option.is_tappable ? -1 : 0\"\n (click)=\"onSelect()\"\n (keydown)=\"onKeyDown($event)\"\n (mouseenter)=\"onMouseEnter()\"\n>\n <div class=\"aia-suggestion-streaks\"></div>\n <div class=\"aia-suggestion-streaks-vert\"></div>\n <span class=\"aia-suggestion-content\">\n <span class=\"aia-suggestion-text\">\n <ng-container *ngIf=\"option.icon; else noIcon\"\n >{{ option.icon }} {{ option.text }}</ng-container\n >\n <ng-template #noIcon>{{ option.text }}</ng-template>\n </span>\n <span *ngIf=\"option.tag\" class=\"aia-suggestion-tag\">{{ option.tag }}</span>\n </span>\n</div>\n", styles: [".aia-suggestion-item{position:relative;overflow:visible;display:flex;align-items:flex-start;font-family:inherit;font-size:var(--aia-option-font-size,
|
|
62
|
+
args: [{ selector: "aia-suggestion-item", standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div\n [id]=\"id\"\n role=\"option\"\n data-aia-option=\"\"\n [attr.data-aia-loading]=\"loading ? '' : null\"\n [attr.aria-selected]=\"isHighlighted\"\n class=\"aia-suggestion-item\"\n [class.aia-suggestion-item-highlighted]=\"isHighlighted && !loading\"\n [class.aia-suggestion-item-tappable]=\"option.is_tappable\"\n [class.aia-suggestion-item-non-tappable]=\"!option.is_tappable\"\n [class.aia-suggestion-item-pressed]=\"pressed\"\n [attr.tabindex]=\"loading || !option.is_tappable ? -1 : 0\"\n (click)=\"onSelect()\"\n (keydown)=\"onKeyDown($event)\"\n (mouseenter)=\"onMouseEnter()\"\n>\n <div class=\"aia-suggestion-streaks\"></div>\n <div class=\"aia-suggestion-streaks-vert\"></div>\n <span class=\"aia-suggestion-content\">\n <span class=\"aia-suggestion-text\">\n <ng-container *ngIf=\"option.icon; else noIcon\"\n >{{ option.icon }} {{ option.text }}</ng-container\n >\n <ng-template #noIcon>{{ option.text }}</ng-template>\n </span>\n <span *ngIf=\"option.tag\" class=\"aia-suggestion-tag\">{{ option.tag }}</span>\n </span>\n</div>\n", styles: [".aia-suggestion-item{position:relative;overflow:visible;display:flex;align-items:flex-start;font-family:inherit;font-size:var(--aia-option-font-size, 16px);font-weight:450;line-height:21px;color:var(--aia-option-color, var(--aia-color-text-muted, #c1c4cb));white-space:normal;word-break:break-word;border-radius:8px;padding:8px 10px;animation:aiaSuggestionFadeIn .5s cubic-bezier(.4,0,.2,1) forwards}@keyframes aiaSuggestionFadeIn{0%{opacity:0}}.aia-suggestion-content{position:relative;z-index:2}.aia-suggestion-item-tappable{cursor:pointer}.aia-suggestion-item-tappable:hover{color:var(--aia-option-color-selected, var(--aia-color-text-default, #fff))}.aia-suggestion-item-non-tappable{cursor:default}.aia-suggestion-item-highlighted{color:var(--aia-option-color-selected, var(--aia-color-text-default, #fff));background:var(--aia-option-bg, transparent);font-weight:500}.aia-suggestion-tag{font-size:11px;margin-left:6px;opacity:.5}.aia-suggestion-item-pressed{opacity:.8;color:var(--aia-color-text-default, #fff);background:rgba(var(--aia-streak-rgb, 255, 255, 255),.06);animation:aiaGlassFade .5s ease forwards,aiaTapDown .5s ease forwards}@keyframes aiaTapDown{0%{transform:scale(1)}30%{transform:scale(.97)}to{transform:scale(1)}}@keyframes aiaGlassFade{0%{background:var(--aia-streak-glass-bg, rgba(255, 255, 255, .1))}to{background:transparent}}.aia-suggestion-streaks{position:absolute;inset:0;z-index:1;pointer-events:none;border-radius:inherit;overflow:hidden}.aia-suggestion-streaks:before{content:\"\";position:absolute;bottom:-3px;left:60%;width:0;height:6px;opacity:0;background:radial-gradient(ellipse at center,rgba(var(--aia-streak-rgb, 255, 255, 255),.5) 0%,rgba(var(--aia-streak-rgb, 255, 255, 255),.2) 40%,transparent 70%);box-shadow:0 0 12px 4px rgba(var(--aia-streak-rgb, 255, 255, 255),.2);filter:blur(1px);border-radius:50%}.aia-suggestion-streaks:after{content:\"\";position:absolute;top:-3px;right:60%;width:0;height:6px;opacity:0;background:radial-gradient(ellipse at center,rgba(var(--aia-streak-rgb, 255, 255, 255),.5) 0%,rgba(var(--aia-streak-rgb, 255, 255, 255),.2) 40%,transparent 70%);box-shadow:0 0 12px 4px rgba(var(--aia-streak-rgb, 255, 255, 255),.2);filter:blur(1px);border-radius:50%}.aia-suggestion-streaks-vert{position:absolute;inset:0;z-index:1;pointer-events:none;border-radius:inherit;overflow:hidden}.aia-suggestion-streaks-vert:before{content:\"\";position:absolute;bottom:0;right:-3px;width:6px;height:0;opacity:0;background:radial-gradient(ellipse at center,rgba(var(--aia-streak-rgb, 255, 255, 255),.4) 0%,rgba(var(--aia-streak-rgb, 255, 255, 255),.15) 40%,transparent 70%);box-shadow:0 0 12px 4px rgba(var(--aia-streak-rgb, 255, 255, 255),.15);filter:blur(1px);border-radius:50%}.aia-suggestion-streaks-vert:after{content:\"\";position:absolute;top:0;left:-3px;width:6px;height:0;opacity:0;background:radial-gradient(ellipse at center,rgba(var(--aia-streak-rgb, 255, 255, 255),.4) 0%,rgba(var(--aia-streak-rgb, 255, 255, 255),.15) 40%,transparent 70%);box-shadow:0 0 12px 4px rgba(var(--aia-streak-rgb, 255, 255, 255),.15);filter:blur(1px);border-radius:50%}.aia-suggestion-item-pressed .aia-suggestion-streaks:before{animation:aiaStreakHorizRight .5s cubic-bezier(.4,0,.2,1) forwards}.aia-suggestion-item-pressed .aia-suggestion-streaks:after{animation:aiaStreakHorizLeft .5s cubic-bezier(.4,0,.2,1) forwards}.aia-suggestion-item-pressed .aia-suggestion-streaks-vert:before{animation:aiaStreakVertUp .3s cubic-bezier(.3,0,.2,1) .2s forwards}.aia-suggestion-item-pressed .aia-suggestion-streaks-vert:after{animation:aiaStreakVertDown .3s cubic-bezier(.3,0,.2,1) .2s forwards}@keyframes aiaStreakHorizRight{0%{width:0;height:4px;opacity:0;filter:blur(1px);box-shadow:0 0 8px 3px rgba(var(--aia-streak-rgb, 255, 255, 255),.3)}15%{height:4px;opacity:1;filter:blur(1px);box-shadow:0 0 10px 4px rgba(var(--aia-streak-rgb, 255, 255, 255),.3)}80%{width:50%;height:10px;opacity:.8;filter:blur(3px);box-shadow:0 0 16px 6px rgba(var(--aia-streak-rgb, 255, 255, 255),.1)}to{width:50%;height:12px;opacity:0;filter:blur(5px);box-shadow:0 0 20px 8px rgba(var(--aia-streak-rgb, 255, 255, 255),.03)}}@keyframes aiaStreakHorizLeft{0%{width:0;height:4px;opacity:0;filter:blur(1px);box-shadow:0 0 8px 3px rgba(var(--aia-streak-rgb, 255, 255, 255),.3)}15%{height:4px;opacity:1;filter:blur(1px);box-shadow:0 0 10px 4px rgba(var(--aia-streak-rgb, 255, 255, 255),.3)}80%{width:50%;height:10px;opacity:.8;filter:blur(3px);box-shadow:0 0 16px 6px rgba(var(--aia-streak-rgb, 255, 255, 255),.1)}to{width:50%;height:12px;opacity:0;filter:blur(5px);box-shadow:0 0 20px 8px rgba(var(--aia-streak-rgb, 255, 255, 255),.03)}}@keyframes aiaStreakVertUp{0%{height:0;width:6px;opacity:.9;filter:blur(1.8px);box-shadow:0 0 12px 5px rgba(var(--aia-streak-rgb, 255, 255, 255),.25)}75%{height:100%;width:10px;opacity:.4;filter:blur(3px);box-shadow:0 0 18px 8px rgba(var(--aia-streak-rgb, 255, 255, 255),.06)}to{height:100%;width:14px;opacity:0;filter:blur(5px);box-shadow:0 0 24px 10px rgba(var(--aia-streak-rgb, 255, 255, 255),.02)}}@keyframes aiaStreakVertDown{0%{height:0;width:6px;opacity:.9;filter:blur(1.8px);box-shadow:0 0 12px 5px rgba(var(--aia-streak-rgb, 255, 255, 255),.25)}75%{height:100%;width:10px;opacity:.4;filter:blur(3px);box-shadow:0 0 18px 8px rgba(var(--aia-streak-rgb, 255, 255, 255),.06)}to{height:100%;width:14px;opacity:0;filter:blur(5px);box-shadow:0 0 24px 10px rgba(var(--aia-streak-rgb, 255, 255, 255),.02)}}.aia-suggestion-item[data-aia-loading]{cursor:default;animation:aiaSuggestionSkeletonPulse 1.4s ease-in-out infinite}.aia-suggestion-item[data-aia-loading] .aia-suggestion-text{color:transparent;background:var(--aia-skeleton-bg, var(--aia-pill-bg, rgba(189, 189, 189, .25)));border-radius:999px;-webkit-box-decoration-break:clone;box-decoration-break:clone}.aia-suggestion-item[data-aia-loading] .aia-suggestion-tag{display:none}@keyframes aiaSuggestionSkeletonPulse{0%,to{filter:brightness(1)}50%{filter:brightness(.55)}}\n"] }]
|
|
63
63
|
}], propDecorators: { option: [{
|
|
64
64
|
type: Input
|
|
65
65
|
}], isHighlighted: [{
|
|
@@ -73,4 +73,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
73
73
|
}], highlight: [{
|
|
74
74
|
type: Output
|
|
75
75
|
}] } });
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VnZ2VzdGlvbi1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvaW50ZXJuYWwvc3VnZ2VzdGlvbi1pdGVtL3N1Z2dlc3Rpb24taXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ludGVybmFsL3N1Z2dlc3Rpb24taXRlbS9zdWdnZXN0aW9uLWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFFTixNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDOzs7QUFHdkI7Ozs7Ozs7Ozs7O0dBV0c7QUFVSCxNQUFNLE9BQU8sdUJBQXVCO0lBVHBDO1FBV1csa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFDdEIsT0FBRSxHQUFHLEVBQUUsQ0FBQztRQUNSLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFFTixXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQW9CLENBQUM7UUFDOUMsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFFeEQsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUVDLFFBQUcsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztLQStCbEQ7SUE1QkMsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxTQUFTO1lBQUUsWUFBWSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTztRQUNyRSxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNwQixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM5QixJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssU0FBUztZQUFFLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDckUsSUFBSSxDQUFDLFlBQVksR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2xDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDMUIsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVc7WUFBRSxPQUFPO1FBQ3JELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFvQjtRQUM1QixJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVc7WUFBRSxPQUFPO1FBQ3JELElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxPQUFPLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxHQUFHLEVBQUU7WUFDOUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUNqQjtJQUNILENBQUM7O3FIQXpDVSx1QkFBdUI7eUdBQXZCLHVCQUF1QixrT0NuQ3BDLHlrQ0E0QkEsZzVMRENZLFlBQVk7NEZBTVgsdUJBQXVCO2tCQVRuQyxTQUFTOytCQUNFLHFCQUFxQixjQUNuQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUMsbUJBQ04sdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSTs4QkFLNUIsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csRUFBRTtzQkFBVixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFFYSxNQUFNO3NCQUF4QixNQUFNO2dCQUNZLFNBQVM7c0JBQTNCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgaW5qZWN0LFxuICB0eXBlIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB0eXBlIHsgU3VnZ2VzdGlvbk9wdGlvbiB9IGZyb20gXCJAbWFnaWN4LWVuZy9haS1hdXRvY29tcGxldGUtdmFuaWxsYVwiO1xuXG4vKipcbiAqIEludGVybmFsIHNpbmdsZS1vcHRpb24gY2VsbCB1c2VkIGluc2lkZSB0aGUgc3VnZ2VzdGlvbiBncmlkLiBNaXJyb3JzXG4gKiBgcGFja2FnZXMvcmVhY3Qvc3JjL2NvbXBvbmVudHMvU3VnZ2VzdGlvbkl0ZW0udHN4YC4gSGFuZGxlczpcbiAqXG4gKiAtIFRhcHBhYmxlIHZzIG5vbi10YXBwYWJsZSBjdXJzb3IgKyBob3ZlciBzdHlsaW5nXG4gKiAtIFByZXNzZWQtc3RhdGUgc3RyZWFrIGFuaW1hdGlvbiAoNTAwbXMsIHNpbmdsZS1mbGlnaHQpXG4gKiAtIEtleWJvYXJkIGFjdGl2YXRpb24gKEVudGVyL1NwYWNlKVxuICogLSBBUklBIGByb2xlPVwib3B0aW9uXCJgICsgYGFyaWEtc2VsZWN0ZWRgIGZvciB0aGUgbGlzdGJveCBwYXR0ZXJuXG4gKiAtIExvYWRpbmcgc2tlbGV0b24gd2hlbiBgbG9hZGluZz10cnVlYFxuICpcbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiYWlhLXN1Z2dlc3Rpb24taXRlbVwiLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHRlbXBsYXRlVXJsOiBcIi4vc3VnZ2VzdGlvbi1pdGVtLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9zdWdnZXN0aW9uLWl0ZW0uY29tcG9uZW50LmNzc1wiXSxcbn0pXG5leHBvcnQgY2xhc3MgU3VnZ2VzdGlvbkl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBvcHRpb24hOiBTdWdnZXN0aW9uT3B0aW9uO1xuICBASW5wdXQoKSBpc0hpZ2hsaWdodGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGlkID0gXCJcIjtcbiAgQElucHV0KCkgbG9hZGluZyA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSByZWFkb25seSBzZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPFN1Z2dlc3Rpb25PcHRpb24+KCk7XG4gIEBPdXRwdXQoKSByZWFkb25seSBoaWdobGlnaHQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgcHJlc3NlZCA9IGZhbHNlO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgcHJpdmF0ZSBwcmVzc2VkVGltZXI6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgdW5kZWZpbmVkO1xuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnByZXNzZWRUaW1lciAhPT0gdW5kZWZpbmVkKSBjbGVhclRpbWVvdXQodGhpcy5wcmVzc2VkVGltZXIpO1xuICB9XG5cbiAgb25TZWxlY3QoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubG9hZGluZyB8fCAhdGhpcy5vcHRpb24uaXNfdGFwcGFibGUgfHwgdGhpcy5wcmVzc2VkKSByZXR1cm47XG4gICAgdGhpcy5wcmVzc2VkID0gdHJ1ZTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB0aGlzLnNlbGVjdC5lbWl0KHRoaXMub3B0aW9uKTtcbiAgICBpZiAodGhpcy5wcmVzc2VkVGltZXIgIT09IHVuZGVmaW5lZCkgY2xlYXJUaW1lb3V0KHRoaXMucHJlc3NlZFRpbWVyKTtcbiAgICB0aGlzLnByZXNzZWRUaW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5wcmVzc2VkID0gZmFsc2U7XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9LCA1MDApO1xuICB9XG5cbiAgb25Nb3VzZUVudGVyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmxvYWRpbmcgfHwgIXRoaXMub3B0aW9uLmlzX3RhcHBhYmxlKSByZXR1cm47XG4gICAgdGhpcy5oaWdobGlnaHQuZW1pdCgpO1xuICB9XG5cbiAgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMubG9hZGluZyB8fCAhdGhpcy5vcHRpb24uaXNfdGFwcGFibGUpIHJldHVybjtcbiAgICBpZiAoZXZlbnQua2V5ID09PSBcIkVudGVyXCIgfHwgZXZlbnQua2V5ID09PSBcIiBcIikge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMub25TZWxlY3QoKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXZcbiAgW2lkXT1cImlkXCJcbiAgcm9sZT1cIm9wdGlvblwiXG4gIGRhdGEtYWlhLW9wdGlvbj1cIlwiXG4gIFthdHRyLmRhdGEtYWlhLWxvYWRpbmddPVwibG9hZGluZyA/ICcnIDogbnVsbFwiXG4gIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwiaXNIaWdobGlnaHRlZFwiXG4gIGNsYXNzPVwiYWlhLXN1Z2dlc3Rpb24taXRlbVwiXG4gIFtjbGFzcy5haWEtc3VnZ2VzdGlvbi1pdGVtLWhpZ2hsaWdodGVkXT1cImlzSGlnaGxpZ2h0ZWQgJiYgIWxvYWRpbmdcIlxuICBbY2xhc3MuYWlhLXN1Z2dlc3Rpb24taXRlbS10YXBwYWJsZV09XCJvcHRpb24uaXNfdGFwcGFibGVcIlxuICBbY2xhc3MuYWlhLXN1Z2dlc3Rpb24taXRlbS1ub24tdGFwcGFibGVdPVwiIW9wdGlvbi5pc190YXBwYWJsZVwiXG4gIFtjbGFzcy5haWEtc3VnZ2VzdGlvbi1pdGVtLXByZXNzZWRdPVwicHJlc3NlZFwiXG4gIFthdHRyLnRhYmluZGV4XT1cImxvYWRpbmcgfHwgIW9wdGlvbi5pc190YXBwYWJsZSA/IC0xIDogMFwiXG4gIChjbGljayk9XCJvblNlbGVjdCgpXCJcbiAgKGtleWRvd24pPVwib25LZXlEb3duKCRldmVudClcIlxuICAobW91c2VlbnRlcik9XCJvbk1vdXNlRW50ZXIoKVwiXG4+XG4gIDxkaXYgY2xhc3M9XCJhaWEtc3VnZ2VzdGlvbi1zdHJlYWtzXCI+PC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJhaWEtc3VnZ2VzdGlvbi1zdHJlYWtzLXZlcnRcIj48L2Rpdj5cbiAgPHNwYW4gY2xhc3M9XCJhaWEtc3VnZ2VzdGlvbi1jb250ZW50XCI+XG4gICAgPHNwYW4gY2xhc3M9XCJhaWEtc3VnZ2VzdGlvbi10ZXh0XCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwib3B0aW9uLmljb247IGVsc2Ugbm9JY29uXCJcbiAgICAgICAgPnt7IG9wdGlvbi5pY29uIH19IHt7IG9wdGlvbi50ZXh0IH19PC9uZy1jb250YWluZXJcbiAgICAgID5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjbm9JY29uPnt7IG9wdGlvbi50ZXh0IH19PC9uZy10ZW1wbGF0ZT5cbiAgICA8L3NwYW4+XG4gICAgPHNwYW4gKm5nSWY9XCJvcHRpb24udGFnXCIgY2xhc3M9XCJhaWEtc3VnZ2VzdGlvbi10YWdcIj57eyBvcHRpb24udGFnIH19PC9zcGFuPlxuICA8L3NwYW4+XG48L2Rpdj5cbiJdfQ==
|