@magicx-eng/ai-autocomplete-angular 0.11.1 → 0.13.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/README.md +122 -6
- package/esm2020/lib/ai-autocomplete/ai-autocomplete.component.mjs +3 -3
- package/esm2020/lib/ai-autocomplete-dropdown/ai-autocomplete-dropdown.component.mjs +66 -8
- package/esm2020/lib/controller/ai-autocomplete.controller.mjs +36 -4
- package/esm2020/lib/internal/date-grid/date-grid.component.mjs +101 -0
- package/esm2020/lib/internal/editor-host/editor-host.directive.mjs +12 -3
- package/esm2020/lib/internal/layout/grid.component.mjs +10 -4
- package/esm2020/lib/internal/suggestion-grid/suggestion-grid.component.mjs +79 -18
- package/esm2020/lib/internal/suggestion-item/suggestion-item.component.mjs +25 -4
- package/esm2020/lib/shared/types.mjs +1 -1
- package/esm2020/public-api.mjs +23 -2
- package/fesm2015/magicx-eng-ai-autocomplete-angular.mjs +348 -43
- package/fesm2015/magicx-eng-ai-autocomplete-angular.mjs.map +1 -1
- package/fesm2020/magicx-eng-ai-autocomplete-angular.mjs +339 -37
- package/fesm2020/magicx-eng-ai-autocomplete-angular.mjs.map +1 -1
- package/lib/ai-autocomplete-dropdown/ai-autocomplete-dropdown.component.d.ts +26 -3
- package/lib/ai-autocomplete-dropdown/ai-autocomplete-dropdown.component.d.ts.map +1 -1
- package/lib/controller/ai-autocomplete.controller.d.ts +5 -1
- package/lib/controller/ai-autocomplete.controller.d.ts.map +1 -1
- package/lib/internal/date-grid/date-grid.component.d.ts +48 -0
- package/lib/internal/date-grid/date-grid.component.d.ts.map +1 -0
- package/lib/internal/editor-host/editor-host.directive.d.ts +6 -0
- package/lib/internal/editor-host/editor-host.directive.d.ts.map +1 -1
- package/lib/internal/layout/grid.component.d.ts +10 -2
- package/lib/internal/layout/grid.component.d.ts.map +1 -1
- package/lib/internal/suggestion-grid/suggestion-grid.component.d.ts +30 -9
- package/lib/internal/suggestion-grid/suggestion-grid.component.d.ts.map +1 -1
- package/lib/internal/suggestion-item/suggestion-item.component.d.ts +16 -2
- package/lib/internal/suggestion-item/suggestion-item.component.d.ts.map +1 -1
- package/lib/shared/types.d.ts +25 -2
- package/lib/shared/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/public-api.d.ts +21 -2
- package/public-api.d.ts.map +1 -1
|
@@ -20,9 +20,11 @@ export class GridComponent {
|
|
|
20
20
|
/**
|
|
21
21
|
* Explicit column template overrides the intrinsic auto-fit (inline wins).
|
|
22
22
|
* The track string is built by the core so all three packages emit the same
|
|
23
|
-
* one.
|
|
23
|
+
* one; a measured template (the two-column split) wins over the count.
|
|
24
24
|
*/
|
|
25
25
|
get templateColumns() {
|
|
26
|
+
if (this.template)
|
|
27
|
+
return this.template;
|
|
26
28
|
return this.cols ? optionsGridTemplateColumns(this.cols) : null;
|
|
27
29
|
}
|
|
28
30
|
/**
|
|
@@ -40,10 +42,10 @@ export class GridComponent {
|
|
|
40
42
|
}
|
|
41
43
|
}
|
|
42
44
|
GridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: GridComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
43
|
-
GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: GridComponent, isStandalone: true, selector: "aia-grid", inputs: { min: "min", max: "max", gap: "gap", scroll: "scroll", maxHeight: "maxHeight", scrollResetKey: "scrollResetKey", cols: "cols" }, viewQueries: [{ propertyName: "gridRef", first: true, predicate: ["grid"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n #grid\n class=\"aia-grid\"\n [attr.data-scroll]=\"scroll ? '' : null\"\n [style.--aia-grid-min]=\"min\"\n [style.--aia-grid-max]=\"max\"\n [style.--aia-grid-gap]=\"gap\"\n [style.--aia-grid-max-height]=\"maxHeight\"\n [style.grid-template-columns]=\"templateColumns\"\n>\n <ng-content></ng-content>\n</div>\n", styles: ["aia-grid{display:contents}@layer layout{.aia-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(var(--aia-grid-min),100%),var(--aia-grid-max, 1fr)));gap:var(--aia-grid-gap, 0)}.aia-grid[data-scroll]{grid-auto-rows:min-content;align-content:start;justify-content:start;max-height:var(--aia-grid-max-height, 120px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--aia-scrollbar-thumb, rgba(0, 0, 0, .3)) transparent}.aia-grid[data-scroll]::-webkit-scrollbar{width:6px}.aia-grid[data-scroll]::-webkit-scrollbar-track{background:transparent}.aia-grid[data-scroll]::-webkit-scrollbar-thumb{background:var(--aia-scrollbar-thumb, rgba(0, 0, 0, .3));border-radius:3px}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
45
|
+
GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: GridComponent, isStandalone: true, selector: "aia-grid", inputs: { min: "min", max: "max", gap: "gap", scroll: "scroll", maxHeight: "maxHeight", scrollResetKey: "scrollResetKey", cols: "cols", template: "template", group: "group" }, viewQueries: [{ propertyName: "gridRef", first: true, predicate: ["grid"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n #grid\n class=\"aia-grid\"\n [attr.data-scroll]=\"scroll ? '' : null\"\n [attr.data-aia-group]=\"group ?? null\"\n [style.--aia-grid-min]=\"min\"\n [style.--aia-grid-max]=\"max\"\n [style.--aia-grid-gap]=\"gap\"\n [style.--aia-grid-max-height]=\"maxHeight\"\n [style.grid-template-columns]=\"templateColumns\"\n>\n <ng-content></ng-content>\n</div>\n", styles: ["aia-grid{display:contents}@layer layout{.aia-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(var(--aia-grid-min),100%),var(--aia-grid-max, 1fr)));gap:var(--aia-grid-gap, 0)}.aia-grid[data-scroll]{grid-auto-rows:min-content;align-content:start;justify-content:start;max-height:var(--aia-grid-max-height, 120px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--aia-scrollbar-thumb, rgba(0, 0, 0, .3)) transparent}.aia-grid[data-scroll]::-webkit-scrollbar{width:6px}.aia-grid[data-scroll]::-webkit-scrollbar-track{background:transparent}.aia-grid[data-scroll]::-webkit-scrollbar-thumb{background:var(--aia-scrollbar-thumb, rgba(0, 0, 0, .3));border-radius:3px}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
44
46
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: GridComponent, decorators: [{
|
|
45
47
|
type: Component,
|
|
46
|
-
args: [{ selector: "aia-grid", standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div\n #grid\n class=\"aia-grid\"\n [attr.data-scroll]=\"scroll ? '' : null\"\n [style.--aia-grid-min]=\"min\"\n [style.--aia-grid-max]=\"max\"\n [style.--aia-grid-gap]=\"gap\"\n [style.--aia-grid-max-height]=\"maxHeight\"\n [style.grid-template-columns]=\"templateColumns\"\n>\n <ng-content></ng-content>\n</div>\n", styles: ["aia-grid{display:contents}@layer layout{.aia-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(var(--aia-grid-min),100%),var(--aia-grid-max, 1fr)));gap:var(--aia-grid-gap, 0)}.aia-grid[data-scroll]{grid-auto-rows:min-content;align-content:start;justify-content:start;max-height:var(--aia-grid-max-height, 120px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--aia-scrollbar-thumb, rgba(0, 0, 0, .3)) transparent}.aia-grid[data-scroll]::-webkit-scrollbar{width:6px}.aia-grid[data-scroll]::-webkit-scrollbar-track{background:transparent}.aia-grid[data-scroll]::-webkit-scrollbar-thumb{background:var(--aia-scrollbar-thumb, rgba(0, 0, 0, .3));border-radius:3px}}\n"] }]
|
|
48
|
+
args: [{ selector: "aia-grid", standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div\n #grid\n class=\"aia-grid\"\n [attr.data-scroll]=\"scroll ? '' : null\"\n [attr.data-aia-group]=\"group ?? null\"\n [style.--aia-grid-min]=\"min\"\n [style.--aia-grid-max]=\"max\"\n [style.--aia-grid-gap]=\"gap\"\n [style.--aia-grid-max-height]=\"maxHeight\"\n [style.grid-template-columns]=\"templateColumns\"\n>\n <ng-content></ng-content>\n</div>\n", styles: ["aia-grid{display:contents}@layer layout{.aia-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(var(--aia-grid-min),100%),var(--aia-grid-max, 1fr)));gap:var(--aia-grid-gap, 0)}.aia-grid[data-scroll]{grid-auto-rows:min-content;align-content:start;justify-content:start;max-height:var(--aia-grid-max-height, 120px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--aia-scrollbar-thumb, rgba(0, 0, 0, .3)) transparent}.aia-grid[data-scroll]::-webkit-scrollbar{width:6px}.aia-grid[data-scroll]::-webkit-scrollbar-track{background:transparent}.aia-grid[data-scroll]::-webkit-scrollbar-thumb{background:var(--aia-scrollbar-thumb, rgba(0, 0, 0, .3));border-radius:3px}}\n"] }]
|
|
47
49
|
}], propDecorators: { min: [{
|
|
48
50
|
type: Input
|
|
49
51
|
}], max: [{
|
|
@@ -58,8 +60,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
58
60
|
type: Input
|
|
59
61
|
}], cols: [{
|
|
60
62
|
type: Input
|
|
63
|
+
}], template: [{
|
|
64
|
+
type: Input
|
|
65
|
+
}], group: [{
|
|
66
|
+
type: Input
|
|
61
67
|
}], gridRef: [{
|
|
62
68
|
type: ViewChild,
|
|
63
69
|
args: ["grid", { static: false }]
|
|
64
70
|
}] } });
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ludGVybmFsL2xheW91dC9ncmlkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvaW50ZXJuYWwvbGF5b3V0L2dyaWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsS0FBSyxFQUdMLFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scUNBQXFDLENBQUM7O0FBRWpGOzs7Ozs7OztHQVFHO0FBU0gsTUFBTSxPQUFPLGFBQWE7SUFSMUI7UUFTRSxpRkFBaUY7UUFDeEUsUUFBRyxHQUFHLE9BQU8sQ0FBQztRQUt2QixtRUFBbUU7UUFDMUQsV0FBTSxHQUFHLEtBQUssQ0FBQztLQXVDekI7SUF2QkM7Ozs7T0FJRztJQUNILElBQUksZUFBZTtRQUNqQixJQUFJLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDbEUsQ0FBQztJQUlEOzs7O09BSUc7SUFDSCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsYUFBYSxFQUFFO1lBQUUsT0FBTztRQUM5QyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQztRQUN6QyxJQUFJLElBQUk7WUFBRSxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztJQUMvQixDQUFDOzsyR0E5Q1UsYUFBYTsrRkFBYixhQUFhLDBXQzdCMUIsaVhBYUE7NEZEZ0JhLGFBQWE7a0JBUnpCLFNBQVM7K0JBQ0UsVUFBVSxjQUNSLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSTs4QkFNNUIsR0FBRztzQkFBWCxLQUFLO2dCQUVHLEdBQUc7c0JBQVgsS0FBSztnQkFFRyxHQUFHO3NCQUFYLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsY0FBYztzQkFBdEIsS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFNRyxLQUFLO3NCQUFiLEtBQUs7Z0JBWWdDLE9BQU87c0JBQTVDLFNBQVM7dUJBQUMsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIHR5cGUgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIHR5cGUgT25DaGFuZ2VzLFxuICB0eXBlIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBvcHRpb25zR3JpZFRlbXBsYXRlQ29sdW1ucyB9IGZyb20gXCJAbWFnaWN4LWVuZy9haS1hdXRvY29tcGxldGUtdmFuaWxsYVwiO1xuXG4vKipcbiAqIEludHJpbnNpYyBncmlkIGxheW91dCBwcmltaXRpdmUg4oCUIGF1dG8tZml0cyBhcyBtYW55IGNvbHVtbnMgYXMgZml0IGJldHdlZW5cbiAqIGBtaW5gIGFuZCBgbWF4YCB3aWRlLCB3cmFwcGluZyB0byBuZXcgcm93cyB3aGVuIHRoZXJlJ3Mgbm8gbW9yZSBob3Jpem9udGFsXG4gKiByb29tLiBNaXJyb3JzIHRoZSBSZWFjdCBgPEdyaWQ+YCBjb21wb25lbnQgLyB2YW5pbGxhIGAuYWlhLWdyaWRgIHByaW1pdGl2ZS5cbiAqXG4gKiBPcHRpb25hbGx5IHNjcm9sbHMgKGBzY3JvbGxgLCBjYXBwZWQgaGVpZ2h0KS5cbiAqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImFpYS1ncmlkXCIsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICB0ZW1wbGF0ZVVybDogXCIuL2dyaWQuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL2dyaWQuY29tcG9uZW50LmNzc1wiXSxcbn0pXG5leHBvcnQgY2xhc3MgR3JpZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIC8qKiBNaW5pbXVtIGNlbGwgd2lkdGguIENTUyBsZW5ndGgsIGUuZy4gXCIxNnJlbVwiLiBDb2x1bW5zIGF1dG8tZml0IGF0IHJ1bnRpbWUuICovXG4gIEBJbnB1dCgpIG1pbiA9IFwiMTZyZW1cIjtcbiAgLyoqIE1heGltdW0gY2VsbCB3aWR0aC4gQ1NTIGxlbmd0aC4gRGVmYXVsdHMgKHZpYSBDU1MpIHRvIGAxZnJgIChzdHJldGNoKS4gKi9cbiAgQElucHV0KCkgbWF4Pzogc3RyaW5nO1xuICAvKiogR2FwIGJldHdlZW4gY2VsbHMuICovXG4gIEBJbnB1dCgpIGdhcD86IHN0cmluZztcbiAgLyoqIENhcCB0aGUgaGVpZ2h0IGFuZCBzY3JvbGwgdmVydGljYWxseSB3aGVuIGNvbnRlbnQgb3ZlcmZsb3dzLiAqL1xuICBASW5wdXQoKSBzY3JvbGwgPSBmYWxzZTtcbiAgLyoqIE1heCBoZWlnaHQgd2hlbiBgc2Nyb2xsYC4gQ1NTIGxlbmd0aC4gRGVmYXVsdHMgKHZpYSBDU1MpIHRvIDEyMHB4LiAqL1xuICBASW5wdXQoKSBtYXhIZWlnaHQ/OiBzdHJpbmc7XG4gIC8qKiBTY3JvbGwgYmFjayB0byB0aGUgdG9wIHdoZW5ldmVyIHRoaXMga2V5IGNoYW5nZXMgKGBzY3JvbGxgIG9ubHkpLiAqL1xuICBASW5wdXQoKSBzY3JvbGxSZXNldEtleT86IHN0cmluZztcbiAgLyoqIEZpeGVkIGNvbHVtbiBjb3VudC4gT3ZlcnJpZGVzIHRoZSBpbnRyaW5zaWMgYXV0by1maXQgd2hlbiBzZXQ7IHJvd3MgZmlsbCBsZWZ0LXRvLXJpZ2h0LiAqL1xuICBASW5wdXQoKSBjb2xzPzogbnVtYmVyO1xuICAvKiogRXhwbGljaXQgYGdyaWQtdGVtcGxhdGUtY29sdW1uc2AgdmFsdWUuIE92ZXJyaWRlcyBgY29sc2Agd2hlbiBzZXQuICovXG4gIEBJbnB1dCgpIHRlbXBsYXRlPzogc3RyaW5nO1xuICAvKipcbiAgICogSWRlbnRpdHkgb2YgdGhlIGNvbnRlbnQgZ3JvdXAgb24gc2NyZWVuLCBtaXJyb3JlZCBvbnRvIGBkYXRhLWFpYS1ncm91cGAuXG4gICAqIFRoZSBjb3JlJ3Mgc2Nyb2xsLWFycm93IGNvbnRyb2xsZXIgcmVhZHMgaXQgdG8gdGVsbCBhIG5ldyBzZXQgb2Ygb3B0aW9uc1xuICAgKiAocmlzaW5nIGluKSBmcm9tIHRoZSBzYW1lIHNldCByZS1yZW5kZXJlZC5cbiAgICovXG4gIEBJbnB1dCgpIGdyb3VwPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFeHBsaWNpdCBjb2x1bW4gdGVtcGxhdGUgb3ZlcnJpZGVzIHRoZSBpbnRyaW5zaWMgYXV0by1maXQgKGlubGluZSB3aW5zKS5cbiAgICogVGhlIHRyYWNrIHN0cmluZyBpcyBidWlsdCBieSB0aGUgY29yZSBzbyBhbGwgdGhyZWUgcGFja2FnZXMgZW1pdCB0aGUgc2FtZVxuICAgKiBvbmU7IGEgbWVhc3VyZWQgdGVtcGxhdGUgKHRoZSB0d28tY29sdW1uIHNwbGl0KSB3aW5zIG92ZXIgdGhlIGNvdW50LlxuICAgKi9cbiAgZ2V0IHRlbXBsYXRlQ29sdW1ucygpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBpZiAodGhpcy50ZW1wbGF0ZSkgcmV0dXJuIHRoaXMudGVtcGxhdGU7XG4gICAgcmV0dXJuIHRoaXMuY29scyA/IG9wdGlvbnNHcmlkVGVtcGxhdGVDb2x1bW5zKHRoaXMuY29scykgOiBudWxsO1xuICB9XG5cbiAgQFZpZXdDaGlsZChcImdyaWRcIiwgeyBzdGF0aWM6IGZhbHNlIH0pIGdyaWRSZWY/OiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcblxuICAvKipcbiAgICogQSBuZXcgYHNjcm9sbFJlc2V0S2V5YCBtZWFucyBhIGRpZmZlcmVudCBjb250ZW50IGdyb3VwIGlzIGJlaW5nIHNob3duIChlLmcuXG4gICAqIHRoZSBuZXh0IHN1Z2dlc3Rpb24ncyBvcHRpb25zIGFmdGVyIGEgc2VsZWN0aW9uKSDigJQgc3RhcnQgaXQgZnJvbSB0aGUgdG9wXG4gICAqIGluc3RlYWQgb2YgaW5oZXJpdGluZyB0aGUgcHJldmlvdXMgZ3JvdXAncyBzY3JvbGwgb2Zmc2V0LlxuICAgKi9cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGNvbnN0IGNoYW5nZSA9IGNoYW5nZXNbXCJzY3JvbGxSZXNldEtleVwiXTtcbiAgICBpZiAoIWNoYW5nZSB8fCBjaGFuZ2UuaXNGaXJzdENoYW5nZSgpKSByZXR1cm47XG4gICAgY29uc3QgZ3JpZCA9IHRoaXMuZ3JpZFJlZj8ubmF0aXZlRWxlbWVudDtcbiAgICBpZiAoZ3JpZCkgZ3JpZC5zY3JvbGxUb3AgPSAwO1xuICB9XG59XG4iLCI8ZGl2XG4gICNncmlkXG4gIGNsYXNzPVwiYWlhLWdyaWRcIlxuICBbYXR0ci5kYXRhLXNjcm9sbF09XCJzY3JvbGwgPyAnJyA6IG51bGxcIlxuICBbYXR0ci5kYXRhLWFpYS1ncm91cF09XCJncm91cCA/PyBudWxsXCJcbiAgW3N0eWxlLi0tYWlhLWdyaWQtbWluXT1cIm1pblwiXG4gIFtzdHlsZS4tLWFpYS1ncmlkLW1heF09XCJtYXhcIlxuICBbc3R5bGUuLS1haWEtZ3JpZC1nYXBdPVwiZ2FwXCJcbiAgW3N0eWxlLi0tYWlhLWdyaWQtbWF4LWhlaWdodF09XCJtYXhIZWlnaHRcIlxuICBbc3R5bGUuZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zXT1cInRlbXBsYXRlQ29sdW1uc1wiXG4+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CommonModule } from "@angular/common";
|
|
2
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, HostListener, Input, inject, Output, ViewEncapsulation, } from "@angular/core";
|
|
3
|
-
import {
|
|
2
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, HostListener, Input, inject, Output, ViewChild, ViewEncapsulation, } from "@angular/core";
|
|
3
|
+
import { isOptionsGridMobileViewport, measureOptionsGrid, needsOptionsGridMeasurement, optionEnterDelayMs, planOptionsGrid, } from "@magicx-eng/ai-autocomplete-vanilla";
|
|
4
4
|
import { GridComponent } from "../layout/grid.component";
|
|
5
5
|
import { SuggestionItemComponent } from "../suggestion-item/suggestion-item.component";
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
@@ -26,35 +26,91 @@ export class SuggestionGridComponent {
|
|
|
26
26
|
* from the first one instead of from the previous list's scroll offset.
|
|
27
27
|
*/
|
|
28
28
|
this.groupKey = "";
|
|
29
|
+
/**
|
|
30
|
+
* Which side of the input the dropdown opens on. The rows' entrance starts
|
|
31
|
+
* from the input's side outward, so "above" reverses the order.
|
|
32
|
+
*/
|
|
33
|
+
this.optionsPosition = "below";
|
|
29
34
|
this.select = new EventEmitter();
|
|
30
35
|
this.highlight = new EventEmitter();
|
|
31
36
|
this.cdr = inject(ChangeDetectorRef);
|
|
32
|
-
|
|
37
|
+
/**
|
|
38
|
+
* The measured layout plan. Starts as the measurement-free baseline (one
|
|
39
|
+
* column); after each view update the rendered rows are measured and the
|
|
40
|
+
* plan upgrades to two columns when they provably fit — same two-pass the
|
|
41
|
+
* React grid does with its layout effect, all through `planOptionsGrid`.
|
|
42
|
+
*/
|
|
43
|
+
this.plan = planOptionsGrid(0, false, null, null);
|
|
44
|
+
this.needsMeasure = true;
|
|
45
|
+
/**
|
|
46
|
+
* The group is part of the identity: a new suggestion's options are new
|
|
47
|
+
* rows and get the entrance animation even when one spells the same as a
|
|
48
|
+
* row already on screen.
|
|
49
|
+
*/
|
|
50
|
+
this.trackByOptionText = (_, opt) => `${this.groupKey}\0${opt.text}`;
|
|
33
51
|
}
|
|
34
|
-
//
|
|
35
|
-
//
|
|
52
|
+
// Re-measure when the viewport changes (breakpoint or width both matter to
|
|
53
|
+
// the two-column fit).
|
|
36
54
|
onResize() {
|
|
55
|
+
this.needsMeasure = true;
|
|
37
56
|
this.cdr.markForCheck();
|
|
38
57
|
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
58
|
+
ngOnChanges(changes) {
|
|
59
|
+
// Only the inputs the plan depends on reset it — activeIndex changes on
|
|
60
|
+
// every arrow key and must not knock a measured two-column grid back to
|
|
61
|
+
// the baseline (the React grid's layout effect excludes it the same way).
|
|
62
|
+
if (!changes["options"] && !changes["loading"])
|
|
63
|
+
return;
|
|
64
|
+
this.needsMeasure = true;
|
|
65
|
+
// The pre-measure baseline for the new inputs, so the first paint is the
|
|
66
|
+
// same one-column layout the other packages start from.
|
|
67
|
+
this.plan = planOptionsGrid(this.options.length, isOptionsGridMobileViewport(), null, null);
|
|
68
|
+
}
|
|
69
|
+
ngAfterViewChecked() {
|
|
70
|
+
if (!this.needsMeasure)
|
|
71
|
+
return;
|
|
72
|
+
this.needsMeasure = false;
|
|
73
|
+
const isMobile = isOptionsGridMobileViewport();
|
|
74
|
+
const grid = this.gridComp?.gridRef?.nativeElement;
|
|
75
|
+
// Measuring clones every row and forces a layout — skip it whenever the
|
|
76
|
+
// plan would ignore the result (mobile, fewer than five options).
|
|
77
|
+
const shouldMeasure = grid && !this.loading && needsOptionsGridMeasurement(this.options.length, isMobile);
|
|
78
|
+
const measured = shouldMeasure ? measureOptionsGrid(grid) : null;
|
|
79
|
+
const next = planOptionsGrid(this.options.length, isMobile, measured?.rowWidths ?? null, measured?.gridWidth ?? null);
|
|
80
|
+
const unchanged = next.template === this.plan.template &&
|
|
81
|
+
next.maxHeight === this.plan.maxHeight &&
|
|
82
|
+
next.scrollHintIndices.join() === this.plan.scrollHintIndices.join();
|
|
83
|
+
if (unchanged)
|
|
84
|
+
return;
|
|
85
|
+
// The view was already checked this cycle — apply the measured plan in a
|
|
86
|
+
// fresh microtask so OnPush picks it up without an
|
|
87
|
+
// ExpressionChangedAfterItHasBeenChecked error.
|
|
88
|
+
queueMicrotask(() => {
|
|
89
|
+
this.plan = next;
|
|
90
|
+
this.cdr.markForCheck();
|
|
91
|
+
});
|
|
45
92
|
}
|
|
46
|
-
|
|
47
|
-
return this.
|
|
93
|
+
isScrollHint(index) {
|
|
94
|
+
return !this.loading && this.plan.scrollHintIndices.includes(index);
|
|
48
95
|
}
|
|
49
|
-
|
|
50
|
-
|
|
96
|
+
/**
|
|
97
|
+
* Start delay of row `index`'s entrance — each row rises in a beat after
|
|
98
|
+
* the one nearer the input. Skeleton rows fade in together (they're
|
|
99
|
+
* placeholders, not content arriving).
|
|
100
|
+
*/
|
|
101
|
+
enterDelayMs(index) {
|
|
102
|
+
if (this.loading)
|
|
103
|
+
return 0;
|
|
104
|
+
// Across the columns the measured plan settled on — the two-column
|
|
105
|
+
// upgrade only decides that after the rows exist.
|
|
106
|
+
return optionEnterDelayMs(index, this.plan.cols, this.options.length, this.optionsPosition);
|
|
51
107
|
}
|
|
52
108
|
}
|
|
53
109
|
SuggestionGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SuggestionGridComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
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 [
|
|
110
|
+
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", optionsPosition: "optionsPosition" }, outputs: { select: "select", highlight: "highlight" }, host: { listeners: { "window:resize": "onResize()" } }, viewQueries: [{ propertyName: "gridComp", first: true, predicate: GridComponent, descendants: true }], usesOnChanges: true, 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 [template]=\"plan.template\"\n [maxHeight]=\"plan.maxHeight\"\n [group]=\"groupKey\"\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 [scrollHint]=\"isScrollHint(i)\"\n [enterDelayMs]=\"enterDelayMs(i)\"\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", "template", "group"] }, { kind: "component", type: SuggestionItemComponent, selector: "aia-suggestion-item", inputs: ["option", "isHighlighted", "id", "loading", "scrollHint", "enterDelayMs"], outputs: ["select", "highlight"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
55
111
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SuggestionGridComponent, decorators: [{
|
|
56
112
|
type: Component,
|
|
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 [
|
|
113
|
+
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 [template]=\"plan.template\"\n [maxHeight]=\"plan.maxHeight\"\n [group]=\"groupKey\"\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 [scrollHint]=\"isScrollHint(i)\"\n [enterDelayMs]=\"enterDelayMs(i)\"\n (select)=\"select.emit($event)\"\n (highlight)=\"highlight.emit(i)\"\n ></aia-suggestion-item>\n</aia-grid>\n" }]
|
|
58
114
|
}], propDecorators: { options: [{
|
|
59
115
|
type: Input
|
|
60
116
|
}], activeIndex: [{
|
|
@@ -65,12 +121,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
65
121
|
type: Input
|
|
66
122
|
}], groupKey: [{
|
|
67
123
|
type: Input
|
|
124
|
+
}], optionsPosition: [{
|
|
125
|
+
type: Input
|
|
68
126
|
}], select: [{
|
|
69
127
|
type: Output
|
|
70
128
|
}], highlight: [{
|
|
71
129
|
type: Output
|
|
130
|
+
}], gridComp: [{
|
|
131
|
+
type: ViewChild,
|
|
132
|
+
args: [GridComponent, { static: false }]
|
|
72
133
|
}], onResize: [{
|
|
73
134
|
type: HostListener,
|
|
74
135
|
args: ["window:resize"]
|
|
75
136
|
}] } });
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VnZ2VzdGlvbi1ncmlkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvaW50ZXJuYWwvc3VnZ2VzdGlvbi1ncmlkL3N1Z2dlc3Rpb24tZ3JpZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ludGVybmFsL3N1Z2dlc3Rpb24tZ3JpZC9zdWdnZXN0aW9uLWdyaWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLDJCQUEyQixHQUU1QixNQUFNLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7O0FBRXZGOzs7Ozs7OztHQVFHO0FBU0gsTUFBTSxPQUFPLHVCQUF1QjtJQVJwQztRQVNXLFlBQU8sR0FBdUIsRUFBRSxDQUFDO1FBQ2pDLGdCQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDakIsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNmLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDekI7Ozs7V0FJRztRQUNNLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFFSixXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQW9CLENBQUM7UUFDOUMsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFFekMsUUFBRyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBd0JqRCxzQkFBaUIsR0FBRyxDQUFDLENBQVMsRUFBRSxHQUFxQixFQUFVLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDO0tBQzVFO0lBdkJDLHVFQUF1RTtJQUN2RSw4RUFBOEU7SUFFOUUsUUFBUTtRQUNOLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQVksTUFBTTtRQUNoQixPQUFPLHdCQUF3QixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLDJCQUEyQixFQUFFLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztJQUMxQixDQUFDO0lBQ0QsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQztJQUMvQixDQUFDOztxSEFyQ1UsdUJBQXVCO3lHQUF2Qix1QkFBdUIsNFRDckNwQywycEJBcUJBLDJDRFdZLFlBQVksNEpBQUUsYUFBYSxxSUFBRSx1QkFBdUI7NEZBS25ELHVCQUF1QjtrQkFSbkMsU0FBUzsrQkFDRSxxQkFBcUIsY0FDbkIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSx1QkFBdUIsQ0FBQyxtQkFDOUMsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSTs4QkFJNUIsT0FBTztzQkFBZixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBTUcsUUFBUTtzQkFBaEIsS0FBSztnQkFFYSxNQUFNO3NCQUF4QixNQUFNO2dCQUNZLFNBQVM7c0JBQTNCLE1BQU07Z0JBT1AsUUFBUTtzQkFEUCxZQUFZO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBpbmplY3QsXG4gIE91dHB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge1xuICBjb21wdXRlT3B0aW9uc0dyaWRMYXlvdXQsXG4gIGlzT3B0aW9uc0dyaWRNb2JpbGVWaWV3cG9ydCxcbiAgdHlwZSBTdWdnZXN0aW9uT3B0aW9uLFxufSBmcm9tIFwiQG1hZ2ljeC1lbmcvYWktYXV0b2NvbXBsZXRlLXZhbmlsbGFcIjtcbmltcG9ydCB7IEdyaWRDb21wb25lbnQgfSBmcm9tIFwiLi4vbGF5b3V0L2dyaWQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBTdWdnZXN0aW9uSXRlbUNvbXBvbmVudCB9IGZyb20gXCIuLi9zdWdnZXN0aW9uLWl0ZW0vc3VnZ2VzdGlvbi1pdGVtLmNvbXBvbmVudFwiO1xuXG4vKipcbiAqIEludGVybmFsIGdyaWQgb2Ygc3VnZ2VzdGlvbiBvcHRpb25zLiBNaXJyb3JzXG4gKiBgcGFja2FnZXMvcmVhY3Qvc3JjL2NvbXBvbmVudHMvU3VnZ2VzdGlvbkdyaWQudHN4YCDigJQgYSB0aGluIHdyYXBwZXIgb3ZlciB0aGVcbiAqIGBHcmlkYCBsYXlvdXQgcHJpbWl0aXZlICh3aGljaCBvd25zIHRoZSBhdXRvLWZpdCBjb2x1bW5zIGFuZCB0aGVcbiAqIGNhcHBlZC1oZWlnaHQgc2Nyb2xsKS4gSXQgb25seSB3aXJlcyBlYWNoIG9wdGlvbiB0byBpdHNcbiAqIHNlbGVjdC9oaWdobGlnaHQgaGFuZGxlcnMgYW5kIGxpc3Rib3gtc2NvcGVkIGlkLlxuICpcbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiYWlhLXN1Z2dlc3Rpb24tZ3JpZFwiLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBHcmlkQ29tcG9uZW50LCBTdWdnZXN0aW9uSXRlbUNvbXBvbmVudF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICB0ZW1wbGF0ZVVybDogXCIuL3N1Z2dlc3Rpb24tZ3JpZC5jb21wb25lbnQuaHRtbFwiLFxufSlcbmV4cG9ydCBjbGFzcyBTdWdnZXN0aW9uR3JpZENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIG9wdGlvbnM6IFN1Z2dlc3Rpb25PcHRpb25bXSA9IFtdO1xuICBASW5wdXQoKSBhY3RpdmVJbmRleCA9IC0xO1xuICBASW5wdXQoKSBsaXN0Ym94SWQgPSBcIlwiO1xuICBASW5wdXQoKSBsb2FkaW5nID0gZmFsc2U7XG4gIC8qKlxuICAgKiBJZGVudGl0eSBvZiB0aGUgc3VnZ2VzdGlvbiB0aGVzZSBvcHRpb25zIGJlbG9uZyB0by4gV2hlbiBpdCBjaGFuZ2VzIHRoZVxuICAgKiBncmlkIHNjcm9sbHMgYmFjayB0byB0aGUgdG9wLCBzbyB0aGUgbmV4dCBwYXJhbWV0ZXIncyBvcHRpb25zIGFyZSByZWFkXG4gICAqIGZyb20gdGhlIGZpcnN0IG9uZSBpbnN0ZWFkIG9mIGZyb20gdGhlIHByZXZpb3VzIGxpc3QncyBzY3JvbGwgb2Zmc2V0LlxuICAgKi9cbiAgQElucHV0KCkgZ3JvdXBLZXkgPSBcIlwiO1xuXG4gIEBPdXRwdXQoKSByZWFkb25seSBzZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPFN1Z2dlc3Rpb25PcHRpb24+KCk7XG4gIEBPdXRwdXQoKSByZWFkb25seSBoaWdobGlnaHQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgLy8gUmVjb21wdXRlIHRoZSByZXNwb25zaXZlIGxheW91dCB3aGVuIHRoZSB2aWV3cG9ydCBjcm9zc2VzIHRoZSBtb2JpbGVcbiAgLy8gYnJlYWtwb2ludCAoT25QdXNoIGdldHRlcnMgb25seSByZS1ydW4gd2hlbiBjaGFuZ2UgZGV0ZWN0aW9uIGlzIHRyaWdnZXJlZCkuXG4gIEBIb3N0TGlzdGVuZXIoXCJ3aW5kb3c6cmVzaXplXCIpXG4gIG9uUmVzaXplKCk6IHZvaWQge1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJvd3MvY29sdW1ucyBwb2xpY3kg4oCUIG93bmVkIGJ5IHRoZSBjb3JlIHNvIHZhbmlsbGEsIFJlYWN0IGFuZCBBbmd1bGFyIGFsbFxuICAgKiBsYXkgdGhlIG9wdGlvbnMgZ3JpZCBvdXQgaWRlbnRpY2FsbHkuIFNlZSBgY29tcHV0ZU9wdGlvbnNHcmlkTGF5b3V0YC5cbiAgICovXG4gIHByaXZhdGUgZ2V0IGxheW91dCgpIHtcbiAgICByZXR1cm4gY29tcHV0ZU9wdGlvbnNHcmlkTGF5b3V0KHRoaXMub3B0aW9ucy5sZW5ndGgsIGlzT3B0aW9uc0dyaWRNb2JpbGVWaWV3cG9ydCgpKTtcbiAgfVxuXG4gIGdldCBncmlkQ29scygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmxheW91dC5jb2xzO1xuICB9XG4gIGdldCBncmlkTWF4SGVpZ2h0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubGF5b3V0Lm1heEhlaWdodDtcbiAgfVxuXG4gIHRyYWNrQnlPcHRpb25UZXh0ID0gKF86IG51bWJlciwgb3B0OiBTdWdnZXN0aW9uT3B0aW9uKTogc3RyaW5nID0+IG9wdC50ZXh0O1xufVxuIiwiPCEtLSBtYXg9XCIxZnJcIjogY29sdW1ucyBzaGFyZSBvdXQgdGhlIGZ1bGwgd2lkdGgsIHNvIGEgbG9uZSBjb2x1bW4gc3BhbnMgdGhlXG4gICAgIHdob2xlIG9wdGlvbnMgYm94IGluc3RlYWQgb2Ygc3RvcHBpbmcgYXQgMjUwcHguIC0tPlxuPGFpYS1ncmlkXG4gIG1pbj1cIjI1MHB4XCJcbiAgbWF4PVwiMWZyXCJcbiAgZ2FwPVwiMFwiXG4gIFtzY3JvbGxdPVwidHJ1ZVwiXG4gIFtzY3JvbGxSZXNldEtleV09XCJncm91cEtleVwiXG4gIFtjb2xzXT1cImdyaWRDb2xzXCJcbiAgW21heEhlaWdodF09XCJncmlkTWF4SGVpZ2h0XCJcbj5cbiAgPGFpYS1zdWdnZXN0aW9uLWl0ZW1cbiAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIG9wdGlvbnM7IHRyYWNrQnk6IHRyYWNrQnlPcHRpb25UZXh0OyBsZXQgaSA9IGluZGV4XCJcbiAgICBbb3B0aW9uXT1cIm9wdGlvblwiXG4gICAgW2lzSGlnaGxpZ2h0ZWRdPVwiaSA9PT0gYWN0aXZlSW5kZXhcIlxuICAgIFtpZF09XCJsaXN0Ym94SWQgKyAnLW9wdGlvbi0nICsgaVwiXG4gICAgW2xvYWRpbmddPVwibG9hZGluZ1wiXG4gICAgKHNlbGVjdCk9XCJzZWxlY3QuZW1pdCgkZXZlbnQpXCJcbiAgICAoaGlnaGxpZ2h0KT1cImhpZ2hsaWdodC5lbWl0KGkpXCJcbiAgPjwvYWlhLXN1Z2dlc3Rpb24taXRlbT5cbjwvYWlhLWdyaWQ+XG4iXX0=
|
|
137
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VnZ2VzdGlvbi1ncmlkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvaW50ZXJuYWwvc3VnZ2VzdGlvbi1ncmlkL3N1Z2dlc3Rpb24tZ3JpZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ludGVybmFsL3N1Z2dlc3Rpb24tZ3JpZC9zdWdnZXN0aW9uLWdyaWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBRU4sTUFBTSxFQUVOLFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLDJCQUEyQixFQUMzQixrQkFBa0IsRUFDbEIsMkJBQTJCLEVBRTNCLGtCQUFrQixFQUNsQixlQUFlLEdBRWhCLE1BQU0scUNBQXFDLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOzs7QUFFdkY7Ozs7Ozs7O0dBUUc7QUFTSCxNQUFNLE9BQU8sdUJBQXVCO0lBUnBDO1FBU1csWUFBTyxHQUF1QixFQUFFLENBQUM7UUFDakMsZ0JBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNqQixjQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ2YsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUN6Qjs7OztXQUlHO1FBQ00sYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUN2Qjs7O1dBR0c7UUFDTSxvQkFBZSxHQUFzQixPQUFPLENBQUM7UUFFbkMsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFvQixDQUFDO1FBQzlDLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRXpDLFFBQUcsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUlqRDs7Ozs7V0FLRztRQUNILFNBQUksR0FBb0IsZUFBZSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3RELGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBbUU1Qjs7OztXQUlHO1FBQ0gsc0JBQWlCLEdBQUcsQ0FBQyxDQUFTLEVBQUUsR0FBcUIsRUFBVSxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxLQUFLLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztLQUNuRztJQXZFQywyRUFBMkU7SUFDM0UsdUJBQXVCO0lBRXZCLFFBQVE7UUFDTixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUN6QixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsd0VBQXdFO1FBQ3hFLHdFQUF3RTtRQUN4RSwwRUFBMEU7UUFDMUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7WUFBRSxPQUFPO1FBQ3ZELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLHlFQUF5RTtRQUN6RSx3REFBd0Q7UUFDeEQsSUFBSSxDQUFDLElBQUksR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsMkJBQTJCLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDOUYsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVk7WUFBRSxPQUFPO1FBQy9CLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzFCLE1BQU0sUUFBUSxHQUFHLDJCQUEyQixFQUFFLENBQUM7UUFDL0MsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsYUFBYSxDQUFDO1FBQ25ELHdFQUF3RTtRQUN4RSxrRUFBa0U7UUFDbEUsTUFBTSxhQUFhLEdBQ2pCLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksMkJBQTJCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDdEYsTUFBTSxRQUFRLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ2pFLE1BQU0sSUFBSSxHQUFHLGVBQWUsQ0FDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQ25CLFFBQVEsRUFDUixRQUFRLEVBQUUsU0FBUyxJQUFJLElBQUksRUFDM0IsUUFBUSxFQUFFLFNBQVMsSUFBSSxJQUFJLENBQzVCLENBQUM7UUFDRixNQUFNLFNBQVMsR0FDYixJQUFJLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUTtZQUNwQyxJQUFJLENBQUMsU0FBUyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUztZQUN0QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN2RSxJQUFJLFNBQVM7WUFBRSxPQUFPO1FBQ3RCLHlFQUF5RTtRQUN6RSxtREFBbUQ7UUFDbkQsZ0RBQWdEO1FBQ2hELGNBQWMsQ0FBQyxHQUFHLEVBQUU7WUFDbEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7WUFDakIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBYTtRQUN4QixPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFlBQVksQ0FBQyxLQUFhO1FBQ3hCLElBQUksSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPLENBQUMsQ0FBQztRQUMzQixtRUFBbUU7UUFDbkUsa0RBQWtEO1FBQ2xELE9BQU8sa0JBQWtCLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUM5RixDQUFDOztxSEFoR1UsdUJBQXVCO3lHQUF2Qix1QkFBdUIsMFlBc0J2QixhQUFhLHFFQ25FMUIsMndCQXdCQSwyQ0RnQlksWUFBWSw0SkFBRSxhQUFhLDBKQUFFLHVCQUF1Qjs0RkFLbkQsdUJBQXVCO2tCQVJuQyxTQUFTOytCQUNFLHFCQUFxQixjQUNuQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsYUFBYSxFQUFFLHVCQUF1QixDQUFDLG1CQUM5Qyx1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJOzhCQUk1QixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFNRyxRQUFRO3NCQUFoQixLQUFLO2dCQUtHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRWEsTUFBTTtzQkFBeEIsTUFBTTtnQkFDWSxTQUFTO3NCQUEzQixNQUFNO2dCQUk4QyxRQUFRO3NCQUE1RCxTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBYzNDLFFBQVE7c0JBRFAsWUFBWTt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHtcbiAgdHlwZSBBZnRlclZpZXdDaGVja2VkLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBpbmplY3QsXG4gIHR5cGUgT25DaGFuZ2VzLFxuICBPdXRwdXQsXG4gIHR5cGUgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7XG4gIGlzT3B0aW9uc0dyaWRNb2JpbGVWaWV3cG9ydCxcbiAgbWVhc3VyZU9wdGlvbnNHcmlkLFxuICBuZWVkc09wdGlvbnNHcmlkTWVhc3VyZW1lbnQsXG4gIHR5cGUgT3B0aW9uc0dyaWRQbGFuLFxuICBvcHRpb25FbnRlckRlbGF5TXMsXG4gIHBsYW5PcHRpb25zR3JpZCxcbiAgdHlwZSBTdWdnZXN0aW9uT3B0aW9uLFxufSBmcm9tIFwiQG1hZ2ljeC1lbmcvYWktYXV0b2NvbXBsZXRlLXZhbmlsbGFcIjtcbmltcG9ydCB7IEdyaWRDb21wb25lbnQgfSBmcm9tIFwiLi4vbGF5b3V0L2dyaWQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBTdWdnZXN0aW9uSXRlbUNvbXBvbmVudCB9IGZyb20gXCIuLi9zdWdnZXN0aW9uLWl0ZW0vc3VnZ2VzdGlvbi1pdGVtLmNvbXBvbmVudFwiO1xuXG4vKipcbiAqIEludGVybmFsIGdyaWQgb2Ygc3VnZ2VzdGlvbiBvcHRpb25zLiBNaXJyb3JzXG4gKiBgcGFja2FnZXMvcmVhY3Qvc3JjL2NvbXBvbmVudHMvU3VnZ2VzdGlvbkdyaWQudHN4YCDigJQgYSB0aGluIHdyYXBwZXIgb3ZlciB0aGVcbiAqIGBHcmlkYCBsYXlvdXQgcHJpbWl0aXZlICh3aGljaCBvd25zIHRoZSBhdXRvLWZpdCBjb2x1bW5zIGFuZCB0aGVcbiAqIGNhcHBlZC1oZWlnaHQgc2Nyb2xsKS4gSXQgb25seSB3aXJlcyBlYWNoIG9wdGlvbiB0byBpdHNcbiAqIHNlbGVjdC9oaWdobGlnaHQgaGFuZGxlcnMgYW5kIGxpc3Rib3gtc2NvcGVkIGlkLlxuICpcbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiYWlhLXN1Z2dlc3Rpb24tZ3JpZFwiLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBHcmlkQ29tcG9uZW50LCBTdWdnZXN0aW9uSXRlbUNvbXBvbmVudF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICB0ZW1wbGF0ZVVybDogXCIuL3N1Z2dlc3Rpb24tZ3JpZC5jb21wb25lbnQuaHRtbFwiLFxufSlcbmV4cG9ydCBjbGFzcyBTdWdnZXN0aW9uR3JpZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3Q2hlY2tlZCB7XG4gIEBJbnB1dCgpIG9wdGlvbnM6IFN1Z2dlc3Rpb25PcHRpb25bXSA9IFtdO1xuICBASW5wdXQoKSBhY3RpdmVJbmRleCA9IC0xO1xuICBASW5wdXQoKSBsaXN0Ym94SWQgPSBcIlwiO1xuICBASW5wdXQoKSBsb2FkaW5nID0gZmFsc2U7XG4gIC8qKlxuICAgKiBJZGVudGl0eSBvZiB0aGUgc3VnZ2VzdGlvbiB0aGVzZSBvcHRpb25zIGJlbG9uZyB0by4gV2hlbiBpdCBjaGFuZ2VzIHRoZVxuICAgKiBncmlkIHNjcm9sbHMgYmFjayB0byB0aGUgdG9wLCBzbyB0aGUgbmV4dCBwYXJhbWV0ZXIncyBvcHRpb25zIGFyZSByZWFkXG4gICAqIGZyb20gdGhlIGZpcnN0IG9uZSBpbnN0ZWFkIG9mIGZyb20gdGhlIHByZXZpb3VzIGxpc3QncyBzY3JvbGwgb2Zmc2V0LlxuICAgKi9cbiAgQElucHV0KCkgZ3JvdXBLZXkgPSBcIlwiO1xuICAvKipcbiAgICogV2hpY2ggc2lkZSBvZiB0aGUgaW5wdXQgdGhlIGRyb3Bkb3duIG9wZW5zIG9uLiBUaGUgcm93cycgZW50cmFuY2Ugc3RhcnRzXG4gICAqIGZyb20gdGhlIGlucHV0J3Mgc2lkZSBvdXR3YXJkLCBzbyBcImFib3ZlXCIgcmV2ZXJzZXMgdGhlIG9yZGVyLlxuICAgKi9cbiAgQElucHV0KCkgb3B0aW9uc1Bvc2l0aW9uOiBcImFib3ZlXCIgfCBcImJlbG93XCIgPSBcImJlbG93XCI7XG5cbiAgQE91dHB1dCgpIHJlYWRvbmx5IHNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8U3VnZ2VzdGlvbk9wdGlvbj4oKTtcbiAgQE91dHB1dCgpIHJlYWRvbmx5IGhpZ2hsaWdodCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuICBAVmlld0NoaWxkKEdyaWRDb21wb25lbnQsIHsgc3RhdGljOiBmYWxzZSB9KSBwcml2YXRlIGdyaWRDb21wPzogR3JpZENvbXBvbmVudDtcblxuICAvKipcbiAgICogVGhlIG1lYXN1cmVkIGxheW91dCBwbGFuLiBTdGFydHMgYXMgdGhlIG1lYXN1cmVtZW50LWZyZWUgYmFzZWxpbmUgKG9uZVxuICAgKiBjb2x1bW4pOyBhZnRlciBlYWNoIHZpZXcgdXBkYXRlIHRoZSByZW5kZXJlZCByb3dzIGFyZSBtZWFzdXJlZCBhbmQgdGhlXG4gICAqIHBsYW4gdXBncmFkZXMgdG8gdHdvIGNvbHVtbnMgd2hlbiB0aGV5IHByb3ZhYmx5IGZpdCDigJQgc2FtZSB0d28tcGFzcyB0aGVcbiAgICogUmVhY3QgZ3JpZCBkb2VzIHdpdGggaXRzIGxheW91dCBlZmZlY3QsIGFsbCB0aHJvdWdoIGBwbGFuT3B0aW9uc0dyaWRgLlxuICAgKi9cbiAgcGxhbjogT3B0aW9uc0dyaWRQbGFuID0gcGxhbk9wdGlvbnNHcmlkKDAsIGZhbHNlLCBudWxsLCBudWxsKTtcbiAgcHJpdmF0ZSBuZWVkc01lYXN1cmUgPSB0cnVlO1xuXG4gIC8vIFJlLW1lYXN1cmUgd2hlbiB0aGUgdmlld3BvcnQgY2hhbmdlcyAoYnJlYWtwb2ludCBvciB3aWR0aCBib3RoIG1hdHRlciB0b1xuICAvLyB0aGUgdHdvLWNvbHVtbiBmaXQpLlxuICBASG9zdExpc3RlbmVyKFwid2luZG93OnJlc2l6ZVwiKVxuICBvblJlc2l6ZSgpOiB2b2lkIHtcbiAgICB0aGlzLm5lZWRzTWVhc3VyZSA9IHRydWU7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgLy8gT25seSB0aGUgaW5wdXRzIHRoZSBwbGFuIGRlcGVuZHMgb24gcmVzZXQgaXQg4oCUIGFjdGl2ZUluZGV4IGNoYW5nZXMgb25cbiAgICAvLyBldmVyeSBhcnJvdyBrZXkgYW5kIG11c3Qgbm90IGtub2NrIGEgbWVhc3VyZWQgdHdvLWNvbHVtbiBncmlkIGJhY2sgdG9cbiAgICAvLyB0aGUgYmFzZWxpbmUgKHRoZSBSZWFjdCBncmlkJ3MgbGF5b3V0IGVmZmVjdCBleGNsdWRlcyBpdCB0aGUgc2FtZSB3YXkpLlxuICAgIGlmICghY2hhbmdlc1tcIm9wdGlvbnNcIl0gJiYgIWNoYW5nZXNbXCJsb2FkaW5nXCJdKSByZXR1cm47XG4gICAgdGhpcy5uZWVkc01lYXN1cmUgPSB0cnVlO1xuICAgIC8vIFRoZSBwcmUtbWVhc3VyZSBiYXNlbGluZSBmb3IgdGhlIG5ldyBpbnB1dHMsIHNvIHRoZSBmaXJzdCBwYWludCBpcyB0aGVcbiAgICAvLyBzYW1lIG9uZS1jb2x1bW4gbGF5b3V0IHRoZSBvdGhlciBwYWNrYWdlcyBzdGFydCBmcm9tLlxuICAgIHRoaXMucGxhbiA9IHBsYW5PcHRpb25zR3JpZCh0aGlzLm9wdGlvbnMubGVuZ3RoLCBpc09wdGlvbnNHcmlkTW9iaWxlVmlld3BvcnQoKSwgbnVsbCwgbnVsbCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm5lZWRzTWVhc3VyZSkgcmV0dXJuO1xuICAgIHRoaXMubmVlZHNNZWFzdXJlID0gZmFsc2U7XG4gICAgY29uc3QgaXNNb2JpbGUgPSBpc09wdGlvbnNHcmlkTW9iaWxlVmlld3BvcnQoKTtcbiAgICBjb25zdCBncmlkID0gdGhpcy5ncmlkQ29tcD8uZ3JpZFJlZj8ubmF0aXZlRWxlbWVudDtcbiAgICAvLyBNZWFzdXJpbmcgY2xvbmVzIGV2ZXJ5IHJvdyBhbmQgZm9yY2VzIGEgbGF5b3V0IOKAlCBza2lwIGl0IHdoZW5ldmVyIHRoZVxuICAgIC8vIHBsYW4gd291bGQgaWdub3JlIHRoZSByZXN1bHQgKG1vYmlsZSwgZmV3ZXIgdGhhbiBmaXZlIG9wdGlvbnMpLlxuICAgIGNvbnN0IHNob3VsZE1lYXN1cmUgPVxuICAgICAgZ3JpZCAmJiAhdGhpcy5sb2FkaW5nICYmIG5lZWRzT3B0aW9uc0dyaWRNZWFzdXJlbWVudCh0aGlzLm9wdGlvbnMubGVuZ3RoLCBpc01vYmlsZSk7XG4gICAgY29uc3QgbWVhc3VyZWQgPSBzaG91bGRNZWFzdXJlID8gbWVhc3VyZU9wdGlvbnNHcmlkKGdyaWQpIDogbnVsbDtcbiAgICBjb25zdCBuZXh0ID0gcGxhbk9wdGlvbnNHcmlkKFxuICAgICAgdGhpcy5vcHRpb25zLmxlbmd0aCxcbiAgICAgIGlzTW9iaWxlLFxuICAgICAgbWVhc3VyZWQ/LnJvd1dpZHRocyA/PyBudWxsLFxuICAgICAgbWVhc3VyZWQ/LmdyaWRXaWR0aCA/PyBudWxsLFxuICAgICk7XG4gICAgY29uc3QgdW5jaGFuZ2VkID1cbiAgICAgIG5leHQudGVtcGxhdGUgPT09IHRoaXMucGxhbi50ZW1wbGF0ZSAmJlxuICAgICAgbmV4dC5tYXhIZWlnaHQgPT09IHRoaXMucGxhbi5tYXhIZWlnaHQgJiZcbiAgICAgIG5leHQuc2Nyb2xsSGludEluZGljZXMuam9pbigpID09PSB0aGlzLnBsYW4uc2Nyb2xsSGludEluZGljZXMuam9pbigpO1xuICAgIGlmICh1bmNoYW5nZWQpIHJldHVybjtcbiAgICAvLyBUaGUgdmlldyB3YXMgYWxyZWFkeSBjaGVja2VkIHRoaXMgY3ljbGUg4oCUIGFwcGx5IHRoZSBtZWFzdXJlZCBwbGFuIGluIGFcbiAgICAvLyBmcmVzaCBtaWNyb3Rhc2sgc28gT25QdXNoIHBpY2tzIGl0IHVwIHdpdGhvdXQgYW5cbiAgICAvLyBFeHByZXNzaW9uQ2hhbmdlZEFmdGVySXRIYXNCZWVuQ2hlY2tlZCBlcnJvci5cbiAgICBxdWV1ZU1pY3JvdGFzaygoKSA9PiB7XG4gICAgICB0aGlzLnBsYW4gPSBuZXh0O1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG4gIH1cblxuICBpc1Njcm9sbEhpbnQoaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5sb2FkaW5nICYmIHRoaXMucGxhbi5zY3JvbGxIaW50SW5kaWNlcy5pbmNsdWRlcyhpbmRleCk7XG4gIH1cblxuICAvKipcbiAgICogU3RhcnQgZGVsYXkgb2Ygcm93IGBpbmRleGAncyBlbnRyYW5jZSDigJQgZWFjaCByb3cgcmlzZXMgaW4gYSBiZWF0IGFmdGVyXG4gICAqIHRoZSBvbmUgbmVhcmVyIHRoZSBpbnB1dC4gU2tlbGV0b24gcm93cyBmYWRlIGluIHRvZ2V0aGVyICh0aGV5J3JlXG4gICAqIHBsYWNlaG9sZGVycywgbm90IGNvbnRlbnQgYXJyaXZpbmcpLlxuICAgKi9cbiAgZW50ZXJEZWxheU1zKGluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgIGlmICh0aGlzLmxvYWRpbmcpIHJldHVybiAwO1xuICAgIC8vIEFjcm9zcyB0aGUgY29sdW1ucyB0aGUgbWVhc3VyZWQgcGxhbiBzZXR0bGVkIG9uIOKAlCB0aGUgdHdvLWNvbHVtblxuICAgIC8vIHVwZ3JhZGUgb25seSBkZWNpZGVzIHRoYXQgYWZ0ZXIgdGhlIHJvd3MgZXhpc3QuXG4gICAgcmV0dXJuIG9wdGlvbkVudGVyRGVsYXlNcyhpbmRleCwgdGhpcy5wbGFuLmNvbHMsIHRoaXMub3B0aW9ucy5sZW5ndGgsIHRoaXMub3B0aW9uc1Bvc2l0aW9uKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgZ3JvdXAgaXMgcGFydCBvZiB0aGUgaWRlbnRpdHk6IGEgbmV3IHN1Z2dlc3Rpb24ncyBvcHRpb25zIGFyZSBuZXdcbiAgICogcm93cyBhbmQgZ2V0IHRoZSBlbnRyYW5jZSBhbmltYXRpb24gZXZlbiB3aGVuIG9uZSBzcGVsbHMgdGhlIHNhbWUgYXMgYVxuICAgKiByb3cgYWxyZWFkeSBvbiBzY3JlZW4uXG4gICAqL1xuICB0cmFja0J5T3B0aW9uVGV4dCA9IChfOiBudW1iZXIsIG9wdDogU3VnZ2VzdGlvbk9wdGlvbik6IHN0cmluZyA9PiBgJHt0aGlzLmdyb3VwS2V5fVxcMCR7b3B0LnRleHR9YDtcbn1cbiIsIjwhLS0gbWF4PVwiMWZyXCI6IGNvbHVtbnMgc2hhcmUgb3V0IHRoZSBmdWxsIHdpZHRoLCBzbyBhIGxvbmUgY29sdW1uIHNwYW5zIHRoZVxuICAgICB3aG9sZSBvcHRpb25zIGJveCBpbnN0ZWFkIG9mIHN0b3BwaW5nIGF0IDI1MHB4LiAtLT5cbjxhaWEtZ3JpZFxuICBtaW49XCIyNTBweFwiXG4gIG1heD1cIjFmclwiXG4gIGdhcD1cIjBcIlxuICBbc2Nyb2xsXT1cInRydWVcIlxuICBbc2Nyb2xsUmVzZXRLZXldPVwiZ3JvdXBLZXlcIlxuICBbdGVtcGxhdGVdPVwicGxhbi50ZW1wbGF0ZVwiXG4gIFttYXhIZWlnaHRdPVwicGxhbi5tYXhIZWlnaHRcIlxuICBbZ3JvdXBdPVwiZ3JvdXBLZXlcIlxuPlxuICA8YWlhLXN1Z2dlc3Rpb24taXRlbVxuICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uczsgdHJhY2tCeTogdHJhY2tCeU9wdGlvblRleHQ7IGxldCBpID0gaW5kZXhcIlxuICAgIFtvcHRpb25dPVwib3B0aW9uXCJcbiAgICBbaXNIaWdobGlnaHRlZF09XCJpID09PSBhY3RpdmVJbmRleFwiXG4gICAgW2lkXT1cImxpc3Rib3hJZCArICctb3B0aW9uLScgKyBpXCJcbiAgICBbbG9hZGluZ109XCJsb2FkaW5nXCJcbiAgICBbc2Nyb2xsSGludF09XCJpc1Njcm9sbEhpbnQoaSlcIlxuICAgIFtlbnRlckRlbGF5TXNdPVwiZW50ZXJEZWxheU1zKGkpXCJcbiAgICAoc2VsZWN0KT1cInNlbGVjdC5lbWl0KCRldmVudClcIlxuICAgIChoaWdobGlnaHQpPVwiaGlnaGxpZ2h0LmVtaXQoaSlcIlxuICA+PC9haWEtc3VnZ2VzdGlvbi1pdGVtPlxuPC9haWEtZ3JpZD5cbiJdfQ==
|
|
@@ -7,7 +7,7 @@ import * as i1 from "@angular/common";
|
|
|
7
7
|
* `packages/react/src/components/SuggestionItem.tsx`. Handles:
|
|
8
8
|
*
|
|
9
9
|
* - Tappable vs non-tappable cursor + hover styling
|
|
10
|
-
* - Pressed-state
|
|
10
|
+
* - Pressed-state compress animation (500ms, single-flight)
|
|
11
11
|
* - Keyboard activation (Enter/Space)
|
|
12
12
|
* - ARIA `role="option"` + `aria-selected` for the listbox pattern
|
|
13
13
|
* - Loading skeleton when `loading=true`
|
|
@@ -19,11 +19,28 @@ export class SuggestionItemComponent {
|
|
|
19
19
|
this.isHighlighted = false;
|
|
20
20
|
this.id = "";
|
|
21
21
|
this.loading = false;
|
|
22
|
+
/** Fade this option's text toward its bottom edge (last visible row of a scrollable grid). */
|
|
23
|
+
this.scrollHint = false;
|
|
24
|
+
/**
|
|
25
|
+
* The captured delay; `null` until the first `enterDelayMs` binding lands.
|
|
26
|
+
* The template binds it to `--aia-option-enter-delay` (the core's
|
|
27
|
+
* OPTION_ENTER_DELAY_VAR), which the stylesheet's entrance rule reads.
|
|
28
|
+
*/
|
|
29
|
+
this.enterDelay = null;
|
|
22
30
|
this.select = new EventEmitter();
|
|
23
31
|
this.highlight = new EventEmitter();
|
|
24
32
|
this.pressed = false;
|
|
25
33
|
this.cdr = inject(ChangeDetectorRef);
|
|
26
34
|
}
|
|
35
|
+
/**
|
|
36
|
+
* Start delay of this row's entrance animation (ms) — each row rises in a
|
|
37
|
+
* beat after the one nearer the input. Captured once, on first render, so a
|
|
38
|
+
* later change-detection pass can't restart a row mid-rise.
|
|
39
|
+
*/
|
|
40
|
+
set enterDelayMs(value) {
|
|
41
|
+
if (this.enterDelay === null)
|
|
42
|
+
this.enterDelay = value;
|
|
43
|
+
}
|
|
27
44
|
ngOnDestroy() {
|
|
28
45
|
if (this.pressedTimer !== undefined)
|
|
29
46
|
clearTimeout(this.pressedTimer);
|
|
@@ -56,10 +73,10 @@ export class SuggestionItemComponent {
|
|
|
56
73
|
}
|
|
57
74
|
}
|
|
58
75
|
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 <
|
|
76
|
+
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", scrollHint: "scrollHint", enterDelayMs: "enterDelayMs" }, 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 [style.--aia-option-enter-delay]=\"(enterDelay ?? 0) + 'ms'\"\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 [class.aia-suggestion-item-scroll-hint]=\"scrollHint\"\n [attr.tabindex]=\"loading || !option.is_tappable ? -1 : 0\"\n (click)=\"onSelect()\"\n (keydown)=\"onKeyDown($event)\"\n (mouseenter)=\"onMouseEnter()\"\n>\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 .15s ease-out both,aiaSuggestionRiseIn .28s cubic-bezier(.25,.46,.45,.94) both;animation-delay:var(--aia-option-enter-delay, 0ms)}@keyframes aiaSuggestionFadeIn{0%{opacity:0}}@keyframes aiaSuggestionRiseIn{0%{transform:translateY(16px)}}@media (prefers-reduced-motion: reduce){.aia-suggestion-item{animation-duration:0s;animation-delay:0s}}.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{color:var(--aia-option-color-selected, var(--aia-color-text-default, #fff));animation:aiaPressCompress .5s ease forwards}[role=listbox]:has(.aia-suggestion-item-pressed) .aia-suggestion-item:not(.aia-suggestion-item-pressed){opacity:.35;transition:opacity .15s ease}@keyframes aiaPressCompress{0%{transform:scale(1)}25%{transform:scale(.93)}60%{transform:scale(.93)}to{transform:scale(1)}}.aia-suggestion-item-scroll-hint .aia-suggestion-content{mask-image:linear-gradient(to bottom,rgb(0 0 0),rgb(0 0 0 / .6))}.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
77
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SuggestionItemComponent, decorators: [{
|
|
61
78
|
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 <
|
|
79
|
+
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 [style.--aia-option-enter-delay]=\"(enterDelay ?? 0) + 'ms'\"\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 [class.aia-suggestion-item-scroll-hint]=\"scrollHint\"\n [attr.tabindex]=\"loading || !option.is_tappable ? -1 : 0\"\n (click)=\"onSelect()\"\n (keydown)=\"onKeyDown($event)\"\n (mouseenter)=\"onMouseEnter()\"\n>\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 .15s ease-out both,aiaSuggestionRiseIn .28s cubic-bezier(.25,.46,.45,.94) both;animation-delay:var(--aia-option-enter-delay, 0ms)}@keyframes aiaSuggestionFadeIn{0%{opacity:0}}@keyframes aiaSuggestionRiseIn{0%{transform:translateY(16px)}}@media (prefers-reduced-motion: reduce){.aia-suggestion-item{animation-duration:0s;animation-delay:0s}}.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{color:var(--aia-option-color-selected, var(--aia-color-text-default, #fff));animation:aiaPressCompress .5s ease forwards}[role=listbox]:has(.aia-suggestion-item-pressed) .aia-suggestion-item:not(.aia-suggestion-item-pressed){opacity:.35;transition:opacity .15s ease}@keyframes aiaPressCompress{0%{transform:scale(1)}25%{transform:scale(.93)}60%{transform:scale(.93)}to{transform:scale(1)}}.aia-suggestion-item-scroll-hint .aia-suggestion-content{mask-image:linear-gradient(to bottom,rgb(0 0 0),rgb(0 0 0 / .6))}.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
80
|
}], propDecorators: { option: [{
|
|
64
81
|
type: Input
|
|
65
82
|
}], isHighlighted: [{
|
|
@@ -68,9 +85,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
68
85
|
type: Input
|
|
69
86
|
}], loading: [{
|
|
70
87
|
type: Input
|
|
88
|
+
}], scrollHint: [{
|
|
89
|
+
type: Input
|
|
90
|
+
}], enterDelayMs: [{
|
|
91
|
+
type: Input
|
|
71
92
|
}], select: [{
|
|
72
93
|
type: Output
|
|
73
94
|
}], highlight: [{
|
|
74
95
|
type: Output
|
|
75
96
|
}] } });
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VnZ2VzdGlvbi1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvaW50ZXJuYWwvc3VnZ2VzdGlvbi1pdGVtL3N1Z2dlc3Rpb24taXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ludGVybmFsL3N1Z2dlc3Rpb24taXRlbS9zdWdnZXN0aW9uLWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFFTixNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDOzs7QUFHdkI7Ozs7Ozs7Ozs7O0dBV0c7QUFVSCxNQUFNLE9BQU8sdUJBQXVCO0lBVHBDO1FBV1csa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFDdEIsT0FBRSxHQUFHLEVBQUUsQ0FBQztRQUNSLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDekIsOEZBQThGO1FBQ3JGLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFTNUI7Ozs7V0FJRztRQUNILGVBQVUsR0FBa0IsSUFBSSxDQUFDO1FBRWQsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFvQixDQUFDO1FBQzlDLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRXhELFlBQU8sR0FBRyxLQUFLLENBQUM7UUFFQyxRQUFHLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7S0ErQmxEO0lBbkRDOzs7O09BSUc7SUFDSCxJQUFhLFlBQVksQ0FBQyxLQUFhO1FBQ3JDLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxJQUFJO1lBQUUsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDeEQsQ0FBQztJQWdCRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLFNBQVM7WUFBRSxZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPO1FBQ3JFLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzlCLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxTQUFTO1lBQUUsWUFBWSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNyRSxJQUFJLENBQUMsWUFBWSxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDbEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDckIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMxQixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDVixDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVztZQUFFLE9BQU87UUFDckQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQW9CO1FBQzVCLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVztZQUFFLE9BQU87UUFDckQsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLE9BQU8sSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLEdBQUcsRUFBRTtZQUM5QyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ2pCO0lBQ0gsQ0FBQzs7cUhBekRVLHVCQUF1Qjt5R0FBdkIsdUJBQXVCLDBSQ25DcEMsK2xDQTRCQSwwd0VEQ1ksWUFBWTs0RkFNWCx1QkFBdUI7a0JBVG5DLFNBQVM7K0JBQ0UscUJBQXFCLGNBQ25CLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyxtQkFDTix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJOzhCQUs1QixNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBTU8sWUFBWTtzQkFBeEIsS0FBSztnQkFVYSxNQUFNO3NCQUF4QixNQUFNO2dCQUNZLFNBQVM7c0JBQTNCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgaW5qZWN0LFxuICB0eXBlIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB0eXBlIHsgU3VnZ2VzdGlvbk9wdGlvbiB9IGZyb20gXCJAbWFnaWN4LWVuZy9haS1hdXRvY29tcGxldGUtdmFuaWxsYVwiO1xuXG4vKipcbiAqIEludGVybmFsIHNpbmdsZS1vcHRpb24gY2VsbCB1c2VkIGluc2lkZSB0aGUgc3VnZ2VzdGlvbiBncmlkLiBNaXJyb3JzXG4gKiBgcGFja2FnZXMvcmVhY3Qvc3JjL2NvbXBvbmVudHMvU3VnZ2VzdGlvbkl0ZW0udHN4YC4gSGFuZGxlczpcbiAqXG4gKiAtIFRhcHBhYmxlIHZzIG5vbi10YXBwYWJsZSBjdXJzb3IgKyBob3ZlciBzdHlsaW5nXG4gKiAtIFByZXNzZWQtc3RhdGUgY29tcHJlc3MgYW5pbWF0aW9uICg1MDBtcywgc2luZ2xlLWZsaWdodClcbiAqIC0gS2V5Ym9hcmQgYWN0aXZhdGlvbiAoRW50ZXIvU3BhY2UpXG4gKiAtIEFSSUEgYHJvbGU9XCJvcHRpb25cImAgKyBgYXJpYS1zZWxlY3RlZGAgZm9yIHRoZSBsaXN0Ym94IHBhdHRlcm5cbiAqIC0gTG9hZGluZyBza2VsZXRvbiB3aGVuIGBsb2FkaW5nPXRydWVgXG4gKlxuICogQGludGVybmFsXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJhaWEtc3VnZ2VzdGlvbi1pdGVtXCIsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgdGVtcGxhdGVVcmw6IFwiLi9zdWdnZXN0aW9uLWl0ZW0uY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL3N1Z2dlc3Rpb24taXRlbS5jb21wb25lbnQuY3NzXCJdLFxufSlcbmV4cG9ydCBjbGFzcyBTdWdnZXN0aW9uSXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIG9wdGlvbiE6IFN1Z2dlc3Rpb25PcHRpb247XG4gIEBJbnB1dCgpIGlzSGlnaGxpZ2h0ZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgaWQgPSBcIlwiO1xuICBASW5wdXQoKSBsb2FkaW5nID0gZmFsc2U7XG4gIC8qKiBGYWRlIHRoaXMgb3B0aW9uJ3MgdGV4dCB0b3dhcmQgaXRzIGJvdHRvbSBlZGdlIChsYXN0IHZpc2libGUgcm93IG9mIGEgc2Nyb2xsYWJsZSBncmlkKS4gKi9cbiAgQElucHV0KCkgc2Nyb2xsSGludCA9IGZhbHNlO1xuICAvKipcbiAgICogU3RhcnQgZGVsYXkgb2YgdGhpcyByb3cncyBlbnRyYW5jZSBhbmltYXRpb24gKG1zKSDigJQgZWFjaCByb3cgcmlzZXMgaW4gYVxuICAgKiBiZWF0IGFmdGVyIHRoZSBvbmUgbmVhcmVyIHRoZSBpbnB1dC4gQ2FwdHVyZWQgb25jZSwgb24gZmlyc3QgcmVuZGVyLCBzbyBhXG4gICAqIGxhdGVyIGNoYW5nZS1kZXRlY3Rpb24gcGFzcyBjYW4ndCByZXN0YXJ0IGEgcm93IG1pZC1yaXNlLlxuICAgKi9cbiAgQElucHV0KCkgc2V0IGVudGVyRGVsYXlNcyh2YWx1ZTogbnVtYmVyKSB7XG4gICAgaWYgKHRoaXMuZW50ZXJEZWxheSA9PT0gbnVsbCkgdGhpcy5lbnRlckRlbGF5ID0gdmFsdWU7XG4gIH1cbiAgLyoqXG4gICAqIFRoZSBjYXB0dXJlZCBkZWxheTsgYG51bGxgIHVudGlsIHRoZSBmaXJzdCBgZW50ZXJEZWxheU1zYCBiaW5kaW5nIGxhbmRzLlxuICAgKiBUaGUgdGVtcGxhdGUgYmluZHMgaXQgdG8gYC0tYWlhLW9wdGlvbi1lbnRlci1kZWxheWAgKHRoZSBjb3JlJ3NcbiAgICogT1BUSU9OX0VOVEVSX0RFTEFZX1ZBUiksIHdoaWNoIHRoZSBzdHlsZXNoZWV0J3MgZW50cmFuY2UgcnVsZSByZWFkcy5cbiAgICovXG4gIGVudGVyRGVsYXk6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gIEBPdXRwdXQoKSByZWFkb25seSBzZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPFN1Z2dlc3Rpb25PcHRpb24+KCk7XG4gIEBPdXRwdXQoKSByZWFkb25seSBoaWdobGlnaHQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgcHJlc3NlZCA9IGZhbHNlO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgcHJpdmF0ZSBwcmVzc2VkVGltZXI6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgdW5kZWZpbmVkO1xuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnByZXNzZWRUaW1lciAhPT0gdW5kZWZpbmVkKSBjbGVhclRpbWVvdXQodGhpcy5wcmVzc2VkVGltZXIpO1xuICB9XG5cbiAgb25TZWxlY3QoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubG9hZGluZyB8fCAhdGhpcy5vcHRpb24uaXNfdGFwcGFibGUgfHwgdGhpcy5wcmVzc2VkKSByZXR1cm47XG4gICAgdGhpcy5wcmVzc2VkID0gdHJ1ZTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB0aGlzLnNlbGVjdC5lbWl0KHRoaXMub3B0aW9uKTtcbiAgICBpZiAodGhpcy5wcmVzc2VkVGltZXIgIT09IHVuZGVmaW5lZCkgY2xlYXJUaW1lb3V0KHRoaXMucHJlc3NlZFRpbWVyKTtcbiAgICB0aGlzLnByZXNzZWRUaW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5wcmVzc2VkID0gZmFsc2U7XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9LCA1MDApO1xuICB9XG5cbiAgb25Nb3VzZUVudGVyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmxvYWRpbmcgfHwgIXRoaXMub3B0aW9uLmlzX3RhcHBhYmxlKSByZXR1cm47XG4gICAgdGhpcy5oaWdobGlnaHQuZW1pdCgpO1xuICB9XG5cbiAgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMubG9hZGluZyB8fCAhdGhpcy5vcHRpb24uaXNfdGFwcGFibGUpIHJldHVybjtcbiAgICBpZiAoZXZlbnQua2V5ID09PSBcIkVudGVyXCIgfHwgZXZlbnQua2V5ID09PSBcIiBcIikge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMub25TZWxlY3QoKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXZcbiAgW2lkXT1cImlkXCJcbiAgcm9sZT1cIm9wdGlvblwiXG4gIGRhdGEtYWlhLW9wdGlvbj1cIlwiXG4gIFthdHRyLmRhdGEtYWlhLWxvYWRpbmddPVwibG9hZGluZyA/ICcnIDogbnVsbFwiXG4gIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwiaXNIaWdobGlnaHRlZFwiXG4gIGNsYXNzPVwiYWlhLXN1Z2dlc3Rpb24taXRlbVwiXG4gIFtzdHlsZS4tLWFpYS1vcHRpb24tZW50ZXItZGVsYXldPVwiKGVudGVyRGVsYXkgPz8gMCkgKyAnbXMnXCJcbiAgW2NsYXNzLmFpYS1zdWdnZXN0aW9uLWl0ZW0taGlnaGxpZ2h0ZWRdPVwiaXNIaWdobGlnaHRlZCAmJiAhbG9hZGluZ1wiXG4gIFtjbGFzcy5haWEtc3VnZ2VzdGlvbi1pdGVtLXRhcHBhYmxlXT1cIm9wdGlvbi5pc190YXBwYWJsZVwiXG4gIFtjbGFzcy5haWEtc3VnZ2VzdGlvbi1pdGVtLW5vbi10YXBwYWJsZV09XCIhb3B0aW9uLmlzX3RhcHBhYmxlXCJcbiAgW2NsYXNzLmFpYS1zdWdnZXN0aW9uLWl0ZW0tcHJlc3NlZF09XCJwcmVzc2VkXCJcbiAgW2NsYXNzLmFpYS1zdWdnZXN0aW9uLWl0ZW0tc2Nyb2xsLWhpbnRdPVwic2Nyb2xsSGludFwiXG4gIFthdHRyLnRhYmluZGV4XT1cImxvYWRpbmcgfHwgIW9wdGlvbi5pc190YXBwYWJsZSA/IC0xIDogMFwiXG4gIChjbGljayk9XCJvblNlbGVjdCgpXCJcbiAgKGtleWRvd24pPVwib25LZXlEb3duKCRldmVudClcIlxuICAobW91c2VlbnRlcik9XCJvbk1vdXNlRW50ZXIoKVwiXG4+XG4gIDxzcGFuIGNsYXNzPVwiYWlhLXN1Z2dlc3Rpb24tY29udGVudFwiPlxuICAgIDxzcGFuIGNsYXNzPVwiYWlhLXN1Z2dlc3Rpb24tdGV4dFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm9wdGlvbi5pY29uOyBlbHNlIG5vSWNvblwiXG4gICAgICAgID57eyBvcHRpb24uaWNvbiB9fSB7eyBvcHRpb24udGV4dCB9fTwvbmctY29udGFpbmVyXG4gICAgICA+XG4gICAgICA8bmctdGVtcGxhdGUgI25vSWNvbj57eyBvcHRpb24udGV4dCB9fTwvbmctdGVtcGxhdGU+XG4gICAgPC9zcGFuPlxuICAgIDxzcGFuICpuZ0lmPVwib3B0aW9uLnRhZ1wiIGNsYXNzPVwiYWlhLXN1Z2dlc3Rpb24tdGFnXCI+e3sgb3B0aW9uLnRhZyB9fTwvc3Bhbj5cbiAgPC9zcGFuPlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3NoYXJlZC90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBBUElDb25maWcsXG4gIEF1dG9jb21wbGV0ZVJlc3VsdCxcbiAgQ29tcGxldGVkUGFyYW1TdGF0ZSxcbiAgT3B0aW9uT3ZlcnJpZGVzLFxuICBQcm9kdWN0LFxuICBQcm9kdWN0c0NvbmZpZyxcbiAgU2VnbWVudCxcbiAgU2tpcHBlZFBhcmFtU3RhdGUsXG4gIFN1Z2dlc3Rpb24sXG59IGZyb20gXCJAbWFnaWN4LWVuZy9haS1hdXRvY29tcGxldGUtdmFuaWxsYVwiO1xuXG4vKipcbiAqIENvbnN0cnVjdGlvbi10aW1lIG9wdGlvbnMgZm9yIHtAbGluayBBSUF1dG9jb21wbGV0ZUNvbnRyb2xsZXJ9LlxuICpcbiAqIE1pcnJvcnMgdGhlIHByb3BzIHRoZSBSZWFjdCBgdXNlQUlBdXRvY29tcGxldGUoKWAgaG9vayBhY2NlcHRzLCBtaW51cyB0aGVcbiAqIGZpZWxkcyB0aGF0IG9ubHkgbWFrZSBzZW5zZSBmb3IgYSBSZWFjdCBjb21wb25lbnQgc2hlbGwgKGBjb2x1bW5zYCBpcyBoZXJlO1xuICogYGF1dG9Gb2N1c2AsIGBjbGFzc05hbWVgLCBgcGlsbFBsYWNlbWVudGAsIGV0Yy4gbGl2ZSBvbiB0aGUgVGllciAxXG4gKiBgPGFpLWF1dG9jb21wbGV0ZT5gIGNvbXBvbmVudCkuXG4gKlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEFJQXV0b2NvbXBsZXRlQ29udHJvbGxlck9wdGlvbnMge1xuICAvKiogUnVudGltZSBBUEkgY29uZmlndXJhdGlvbiAoYXBpS2V5LCBlbmRwb2ludCwgZXRjLikuICovXG4gIGFwaUNvbmZpZz86IEFQSUNvbmZpZztcbiAgLyoqXG4gICAqIE9wdGlvbmFsIHVzZXIgY29udGV4dC4gSW5jbHVkZSB3aGF0ZXZlciB5b3Uga25vdyBhYm91dCB0aGUgdXNlciDigJQgYVxuICAgKiBwcm9maWxlLCBwcmVmZXJlbmNlcywgd29ya3NwYWNlLCBhbnl0aGluZyDigJQgdG8gcGVyc29uYWxpemUgc3VnZ2VzdGVkXG4gICAqIHBhcmFtZXRlcnMgYW5kIG9wdGlvbnMgdG8gdGhlbS5cbiAgICovXG4gIGFkZGl0aW9uYWxDb250ZXh0PzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIC8qKiBQZXItc3VnZ2VzdGlvbi10eXBlIGNsaWVudC1zaWRlIG9wdGlvbiBvdmVycmlkZXMuICovXG4gIG9wdGlvbk92ZXJyaWRlcz86IE9wdGlvbk92ZXJyaWRlcztcbiAgLyoqIFdoZW4gdHJ1ZSwgY29tcGxldGVkIHBhcmFtcycgbGl0ZXJhbCB0ZXh0IGlzIG9taXR0ZWQgZnJvbSBBUEkgcmVxdWVzdHMuICovXG4gIG1hc2tDb21wbGV0ZWRUZXh0PzogYm9vbGVhbjtcbiAgLyoqIE51bWJlciBvZiBjb2x1bW5zIGluIHRoZSBkcm9wZG93biBncmlkLiBEZWZhdWx0OiAyLiAqL1xuICBjb2x1bW5zPzogbnVtYmVyO1xuICAvKipcbiAgICogV2hlcmUgdGhlIGRyb3Bkb3duIG9wZW5zIHJlbGF0aXZlIHRvIHRoZSBpbnB1dC4gRGVmYXVsdDogXCJiZWxvd1wiLlxuICAgKlxuICAgKiBSZWFkIGJ5IHRoZSBrZXlib2FyZCBjb250cm9sbGVyIHRvIGRlY2lkZSB3aGljaCB2ZXJ0aWNhbC1hcnJvdyBrZXkgb3BlbnNcbiAgICogdGhlIGRyb3Bkb3duIGZyb20gdGhlIGlucHV0IOKAlCBBcnJvd0Rvd24gd2hlbiB0aGUgZHJvcGRvd24gaXMgYmVsb3csXG4gICAqIEFycm93VXAgd2hlbiBpdCdzIGFib3ZlLlxuICAgKi9cbiAgb3B0aW9uc1Bvc2l0aW9uPzogXCJhYm92ZVwiIHwgXCJiZWxvd1wiO1xuICAvKipcbiAgICogV2hlbiB0aGUgZHJvcGRvd24gYXBwZWFycy4gXCJhdXRvXCIgKGRlZmF1bHQpIHNob3dzIHdoZW4gb3B0aW9ucyBhcmVcbiAgICogYXZhaWxhYmxlOyBcIm1hbnVhbFwiIHNob3dzIG9ubHkgb24gcGlsbCB0YXA7IFwiaGlkZGVuXCIgbmV2ZXIgc2hvd3MuXG4gICAqL1xuICBkcm9wZG93blRyaWdnZXI/OiBcImF1dG9cIiB8IFwibWFudWFsXCIgfCBcImhpZGRlblwiO1xuICAvKiogV2hlbiB0cnVlIChkZWZhdWx0KSwgdGhlIGRyb3Bkb3duIGNsb3NlcyBpZiB0aGUgaW5wdXQgbG9zZXMgZm9jdXMuICovXG4gIGNsb3NlRHJvcGRvd25PbkJsdXI/OiBib29sZWFuO1xuICAvKiogV2hlbiB0cnVlIChkZWZhdWx0KSwgbm9uLXRhcHBhYmxlIG9wdGlvbnMgcmVuZGVyIGFsb25nc2lkZSB0YXBwYWJsZSBvbmVzLiAqL1xuICBzaG93Tm9uVGFwcGFibGVPcHRpb25zPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFRlbGVtZXRyeSBzdXJmYWNlIGlkZW50aWZpZXIuIFNldCBhdXRvbWF0aWNhbGx5IHRvIFwiZnVsbC1zZGtcIiBieSB0aGVcbiAgICogVGllciAxIGA8YWktYXV0b2NvbXBsZXRlPmAgY29tcG9uZW50LiBEZWZhdWx0cyB0byBcImhlYWRsZXNzLXNka1wiLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHNvdXJjZT86IFwiZnVsbC1zZGtcIiB8IFwiaGVhZGxlc3Mtc2RrXCI7XG4gIC8qKiBDYWxsZWQgd2hlbiB0aGUgdXNlciBzdWJtaXRzIChFbnRlciBrZXkgb3IgYHN1Ym1pdCgpYCBhY3Rpb24pLiAqL1xuICBvblN1Ym1pdD86IChyZXN1bHQ6IEF1dG9jb21wbGV0ZVJlc3VsdCkgPT4gdm9pZDtcbiAgLyoqIENhbGxlZCB3aGVuIGEgZmV0Y2ggZmFpbHMuICovXG4gIG9uRXJyb3I/OiAoZXJyb3I6IEVycm9yKSA9PiB2b2lkO1xuICAvKiogQ2FsbGVkIHdoZW4gdGhlIGVkaXRvciB0ZXh0IGNoYW5nZXMgKGNvbnRyb2xsZWQtbW9kZSBzaWduYWwpLiAqL1xuICBvbkNoYW5nZT86ICh0ZXh0OiBzdHJpbmcpID0+IHZvaWQ7XG4gIC8qKiBDYWxsZWQgd2hlbiBjb21wbGV0ZWQgcGFyYW1zIGNoYW5nZSAoY29udHJvbGxlZC1tb2RlIHNpZ25hbCkuICovXG4gIG9uUGFyYW1zQ2hhbmdlPzogKHBhcmFtczogQ29tcGxldGVkUGFyYW1TdGF0ZVtdKSA9PiB2b2lkO1xuICAvKiogQ2FsbGVkIHdoZW4gdGhlIGlucHV0IGdhaW5zIGZvY3VzLiAqL1xuICBvbkZvY3VzPzogKCkgPT4gdm9pZDtcbiAgLyoqIENhbGxlZCB3aGVuIHRoZSBpbnB1dCBsb3NlcyBmb2N1cy4gKi9cbiAgb25CbHVyPzogKCkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIE9wdC1pbiBwcm9kdWN0IHN0cmlwLiBXaGVuIHNldCwgdGhlIGRyb3Bkb3duIHJlbmRlcnMgYSBob3Jpem9udGFsIHJvdyBvZlxuICAgKiBwcm9kdWN0IGNhcmRzIGJlbG93IHRoZSBvcHRpb25zIGdyaWQsIGZlZCBieSB0aGUgaW50ZWdyYXRpb24ncyBvd24gc2VhcmNoXG4gICAqIGVuZHBvaW50IG9uIHRoZSBTREsncyBleGlzdGluZyBmZXRjaCBjYWRlbmNlLiBPbWl0IGl0IGFuZCBub3RoaW5nIGFib3V0XG4gICAqIHRoZSBkcm9wZG93biBjaGFuZ2VzIOKAlCBubyByZXF1ZXN0LCBubyBtYXJrdXAsIG5vIGxheW91dCBzaGlmdC5cbiAgICovXG4gIHByb2R1Y3RzPzogUHJvZHVjdHNDb25maWc7XG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiB0aGUgdXNlciBhY3RpdmF0ZXMgYSBwcm9kdWN0IGNhcmQuIFRoZSBTREsgZG9lcyBub3QgbmF2aWdhdGUg4oCUXG4gICAqIHRoZSBpbnRlZ3JhdGlvbiBkZWNpZGVzIHdoYXQgYSBzZWxlY3Rpb24gbWVhbnMuIE1vZGlmaWVyIC8gbWlkZGxlIGNsaWNrc1xuICAgKiBhcmUgbGVmdCB0byB0aGUgYnJvd3NlciAoY21kLWNsaWNrIHN0aWxsIG9wZW5zIGEgdGFiKSBhbmQgZG9uJ3QgZmlyZSB0aGlzLlxuICAgKi9cbiAgb25Qcm9kdWN0U2VsZWN0PzogKHByb2R1Y3Q6IFByb2R1Y3QpID0+IHZvaWQ7XG4gIC8qKiBJbml0aWFsIGNvbnRyb2xsZWQgdGV4dCB2YWx1ZS4gKi9cbiAgdmFsdWU/OiBzdHJpbmc7XG4gIC8qKiBJbml0aWFsIGNvbnRyb2xsZWQgY29tcGxldGVkIHBhcmFtcy4gKi9cbiAgY29tcGxldGVkUGFyYW1zPzogQ29tcGxldGVkUGFyYW1TdGF0ZVtdO1xuICAvKipcbiAgICogQ2FyZXQtc2V0IGNhbGxiYWNrLiBJbnZva2VkIGJ5IHRoZSBjb3JlIHdoZW4gcmUtZWRpdCAvIEJhY2tzcGFjZSBmbG93c1xuICAgKiBuZWVkIHRoZSBlZGl0b3IgY2FyZXQgcGFya2VkIGF0IGEgc3BlY2lmaWMgcGxhaW4tdGV4dCBvZmZzZXQuIFRoZSBUaWVyIDFcbiAgICogYDxhaS1hdXRvY29tcGxldGU+YCBjb21wb25lbnQgd2lyZXMgdGhpcyBmcm9tIGl0cyBlZGl0b3IgaG9zdDsgaGVhZGxlc3NcbiAgICogY29uc3VtZXJzIGNhbiBsZWF2ZSBpdCB1bnNldC5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBzZXRDdXJzb3I/OiAob2Zmc2V0OiBudW1iZXIpID0+IHZvaWQ7XG59XG5cbi8qKlxuICogU3Vic2V0IG9mIHtAbGluayBBSUF1dG9jb21wbGV0ZUNvbnRyb2xsZXJPcHRpb25zfSB0aGF0IGNhbiBiZSBjaGFuZ2VkIGFmdGVyXG4gKiBjb25zdHJ1Y3Rpb24uIEV4Y2x1ZGVzIGV2ZW50IGNhbGxiYWNrcyAodGhvc2UgYXJlIHJlZ2lzdGVyZWQgb25jZSBhdFxuICogY29uc3RydWN0aW9uIOKAlCBzZWUgdmFuaWxsYSBgQ29yZVVwZGF0ZU9wdGlvbnNgKS5cbiAqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCB0eXBlIEFJQXV0b2NvbXBsZXRlQ29udHJvbGxlclVwZGF0ZSA9IFBhcnRpYWw8XG4gIE9taXQ8XG4gICAgQUlBdXRvY29tcGxldGVDb250cm9sbGVyT3B0aW9ucyxcbiAgICB8IFwib25TdWJtaXRcIlxuICAgIHwgXCJvbkVycm9yXCJcbiAgICB8IFwib25DaGFuZ2VcIlxuICAgIHwgXCJvblBhcmFtc0NoYW5nZVwiXG4gICAgfCBcIm9uRm9jdXNcIlxuICAgIHwgXCJvbkJsdXJcIlxuICAgIHwgXCJvblByb2R1Y3RTZWxlY3RcIlxuICAgIHwgXCJzZXRDdXJzb3JcIlxuICA+XG4+O1xuXG4vKipcbiAqIFNuYXBzaG90IG9mIHRoZSBjb250cm9sbGVyJ3MgcmVhY3RpdmUgc3RhdGUuIEVhY2ggZmllbGQgaXMgYWxzbyBleHBvc2VkIGFzXG4gKiBhIHN0YW5kLWFsb25lIG9ic2VydmFibGUgb24gdGhlIGNvbnRyb2xsZXIgKGUuZy4gYGNvbnRyb2xsZXIudGV4dCRgKS5cbiAqXG4gKiBgc3VnZ2VzdGlvblBpbGxzYCBtaXJyb3JzIFJlYWN0J3MgYHN1Z2dlc3Rpb25QaWxsc2Ag4oCUIHRoZSBhY3Rpb25hYmxlXG4gKiBzdWJzZXQgb2YgYHN1Z2dlc3Rpb25zYCByZWFkeSBmb3IgcGlsbCByZW5kZXJpbmcuIGBpc0xvYWRpbmdgIGlzIHRoZVxuICogVUktdmlzaWJsZSBsb2FkaW5nIGZsYWcgKHN1cHByZXNzZWQgZHVyaW5nIHRoZSBwb3N0LXNlbGVjdCBzdHJlYWtcbiAqIGFuaW1hdGlvbiBhbmQgZHVyaW5nIHJlLWVkaXQsIHdoZXJlIGNhY2hlZCBvcHRpb25zIHN0YXkgdmlzaWJsZSkuXG4gKlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEFJQXV0b2NvbXBsZXRlQ29udHJvbGxlclN0YXRlIHtcbiAgdGV4dDogc3RyaW5nO1xuICBjb21wbGV0ZWRQYXJhbXM6IENvbXBsZXRlZFBhcmFtU3RhdGVbXTtcbiAgLyoqXG4gICAqIFN1Z2dlc3Rpb25zIHRoZSB1c2VyIGRpc21pc3NlZCB3aXRoIHRoZSBza2lwIGtleSAo4oaSKS4gTm90aGluZyByZW5kZXJzXG4gICAqIHRoZW0g4oCUIHBhc3MgdGhlbSB0byBgYnVpbGRTdWJtaXRSZXN1bHRgIHNvIGEgaGFuZC1yb2xsZWQgc3VibWl0IGNhcnJpZXNcbiAgICogdGhlIHNhbWUgYHRleHQ6IFwic2tpcHBlZFwiYCBlbnRyaWVzIHRoZSBTREsncyBvd24gcmVxdWVzdHMgZG8uXG4gICAqL1xuICBza2lwcGVkUGFyYW1zOiBTa2lwcGVkUGFyYW1TdGF0ZVtdO1xuICBzdWdnZXN0aW9uUGlsbHM6IFN1Z2dlc3Rpb25bXTtcbiAgc2VnbWVudHM6IFNlZ21lbnRbXTtcbiAgbmV3UGFyYW1JZDogc3RyaW5nIHwgbnVsbDtcbiAgc3VnZ2VzdGlvbnM6IFN1Z2dlc3Rpb25bXTtcbiAgLyoqXG4gICAqIFJlc3VsdHMgb2YgdGhlIGxhdGVzdCBwcm9kdWN0IHNlYXJjaC4gQWx3YXlzIGVtcHR5IHVubGVzcyBgcHJvZHVjdHNgIGlzXG4gICAqIGNvbmZpZ3VyZWQuIEFscmVhZHkgZm9sZGVkIGludG8gdGhlIGRyb3Bkb3duIHNuYXBzaG90IOKAlCByZWFkIGl0IGhlcmUgb25seVxuICAgKiB3aGVuIHJlbmRlcmluZyB5b3VyIG93biBzdHJpcC5cbiAgICovXG4gIHByb2R1Y3RzOiBQcm9kdWN0W107XG4gIGFjdGl2ZUluZGV4OiBudW1iZXI7XG4gIGlzTG9hZGluZzogYm9vbGVhbjtcbiAgaXNSZWFkeTogYm9vbGVhbjtcbiAgaXNGb2N1c2VkOiBib29sZWFuO1xuICBpc0Ryb3Bkb3duT3BlbjogYm9vbGVhbjtcbiAgcGxhY2Vob2xkZXJUZXh0OiBzdHJpbmc7XG4gIGVycm9yOiBFcnJvciB8IG51bGw7XG4gIGVkaXRpbmdQYXJhbTogQ29tcGxldGVkUGFyYW1TdGF0ZSB8IG51bGw7XG4gIGVkaXRpbmdBbmNob3I6IG51bWJlciB8IG51bGw7XG4gIGNhcmV0T2Zmc2V0OiBudW1iZXIgfCBudWxsO1xufVxuXG4vKipcbiAqIENvbXBvc2l0ZSBzdGF0ZSBzaGFwZSBmb3IgdGhlIGRyb3Bkb3duIHZpZXcgbGF5ZXIuIFRpZXIgMiBjb25zdW1lcnMgYmluZFxuICogdGhlIGRyb3Bkb3duIGNvbXBvbmVudCB0byB0aGlzIHNuYXBzaG90OyBUaWVyIDEgdXNlcyB0aGUgc2FtZSBzaGFwZVxuICogaW50ZXJuYWxseS5cbiAqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQUlBdXRvY29tcGxldGVEcm9wZG93blN0YXRlIHtcbiAgLyoqIEFjdGl2ZSBzdWdnZXN0aW9uICsgZmlsdGVyZWQgb3B0aW9ucyB0byByZW5kZXIgaW4gdGhlIGdyaWQuICovXG4gIHN1Z2dlc3Rpb25zOiBTdWdnZXN0aW9uW107XG4gIC8qKiBDdXJyZW50bHkgaGlnaGxpZ2h0ZWQgb3B0aW9uIGluZGV4LiAtMSB3aGVuIG5vbmUuICovXG4gIGFjdGl2ZUluZGV4OiBudW1iZXI7XG4gIC8qKiBXaGV0aGVyIHRoZSBkcm9wZG93biBzaG91bGQgYmUgdmlzaWJsZS4gKi9cbiAgaXNPcGVuOiBib29sZWFuO1xuICAvKiogUGlsbHMgdG8gcmVuZGVyIGluIHRoZSBkcm9wZG93bidzIHBpbGxiYXIgKHJlLWVkaXQgcGlsbCBvciBhbGwgc3VnZ2VzdGlvbiBwaWxscykuICovXG4gIHBpbGxzOiBTdWdnZXN0aW9uW107XG4gIC8qKiBXaGV0aGVyIHRoZSBhY3RpdmUgcGlsbCByZW5kZXJzIHNlbGVjdGVkIChmdWxsIG9wYWNpdHkpIHZzLiB0aGUgYGZpcnN0YCB0aWVyLiAqL1xuICBpc0FjdGl2ZVBpbGxTZWxlY3RlZDogYm9vbGVhbjtcbiAgLyoqIFRydWUgd2hlbiB0aGUgZHJvcGRvd24gc2hvdWxkIHJlbmRlciBpdHMgbG9hZGluZyBza2VsZXRvbi4gKi9cbiAgaXNMb2FkaW5nOiBib29sZWFuO1xuICAvKiogV2hldGhlciB0aGUgaW5wdXQgaGFzIG5vIHR5cGVkIHRleHQg4oCUIHRoZSBzb2xlIHN0YXRlIHRoYXQgc3VyZmFjZXMgXCJ0YWIgdG8gc2VsZWN0XCIgaW4gdGhlIGZvb3RlciBoaW50LiAqL1xuICBpc0lucHV0RW1wdHk6IGJvb2xlYW47XG4gIC8qKiBQcm9kdWN0IGNhcmRzIHRvIHJlbmRlciBiZWxvdyB0aGUgb3B0aW9ucyBncmlkLiBFbXB0eSAodGhlIGRlZmF1bHQpIHJlbmRlcnMgbm8gc3RyaXAuICovXG4gIHByb2R1Y3RzOiBQcm9kdWN0W107XG4gIC8qKlxuICAgKiBUcnVlIHdoaWxlIGEgY29tcGxldGVkIHBhcmFtIGlzIGJlaW5nIHJlLWVkaXRlZC4gVGhlIHBpbGxiYXIgdGhlbiBzaG93c1xuICAgKiB0aGUgcGFyYW0gYmVpbmcgcmUtZWRpdGVkIOKAlCBub3Qgc2tpcHBhYmxlIOKAlCBzbyB0aGUgc2tpcCBidXR0b24gaGlkZXMuXG4gICAqIE9wdGlvbmFsICh1bmRlZmluZWQg4oeSIG5vdCBlZGl0aW5nKSBzbyBleGlzdGluZyBjb25zdW1lciBjb2RlIGNvbnN0cnVjdGluZ1xuICAgKiB0aGlzIHN0YXRlIOKAlCB0ZXN0IGZpeHR1cmVzLCBmYWtlIGNvbnRyb2xsZXJzIOKAlCBrZWVwcyBjb21waWxpbmcgYWNyb3NzIHRoZVxuICAgKiBtaW5vciBidW1wIHRoYXQgaW50cm9kdWNlZCBpdC5cbiAgICovXG4gIGlzRWRpdGluZz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUcnVlIGZvciB0aGUgfjUwMG1zIHdpbmRvdyBhZnRlciBhbiBvcHRpb24gaXMgc2VsZWN0ZWQsIHdoaWxlIHRoZSBhbnN3ZXJlZFxuICAgKiBzdWdnZXN0aW9uIGFuaW1hdGVzIG91dC4gYGlzTG9hZGluZ2AgaXMgZGVsaWJlcmF0ZWx5IHN1cHByZXNzZWQgaW4gdGhhdFxuICAgKiB3aW5kb3csIGJ1dCB0aGUgY29yZSdzIGBza2lwQWN0aXZlUGlsbCgpYCBuby1vcHMgaW4gaXQg4oCUIHRoZSBza2lwIGJ1dHRvblxuICAgKiByZW5kZXJzIGRpc2FibGVkIG9mZiB0aGlzIGZsYWcgaW5zdGVhZCBvZiBzd2FsbG93aW5nIGNsaWNrcyBzaWxlbnRseS5cbiAgICogT3B0aW9uYWwgKHVuZGVmaW5lZCDih5IgZmFsc2UpIGZvciB0aGUgc2FtZSBjb21waWxlLWNvbXBhdCByZWFzb24gYXNcbiAgICogYGlzRWRpdGluZ2AuXG4gICAqL1xuICBpblNlbGVjdGlvbkFuaW1hdGlvbj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGVyZSB0aGUgZHJvcGRvd24gb3BlbnMgcmVsYXRpdmUgdG8gdGhlIGlucHV0IOKAlCBtaXJyb3JzIHRoZSBjb250cm9sbGVyJ3NcbiAgICogYG9wdGlvbnNQb3NpdGlvbmAgb3B0aW9uLiBgPGFpLWF1dG9jb21wbGV0ZS1kcm9wZG93bj5gIHJlYWRzIGl0IGZyb20gaGVyZSwgc29cbiAgICogcGxhY2VtZW50IGlzIGNvbmZpZ3VyZWQgb25jZSBvbiB0aGUgY29udHJvbGxlciAobm8gc2VwYXJhdGUgaW5wdXQgdG8gc3luYykuXG4gICAqL1xuICBvcHRpb25zUG9zaXRpb246IFwiYWJvdmVcIiB8IFwiYmVsb3dcIjtcbn1cbiJdfQ==
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3NoYXJlZC90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBBUElDb25maWcsXG4gIEF1dG9jb21wbGV0ZVJlc3VsdCxcbiAgQ29tcGxldGVkUGFyYW1TdGF0ZSxcbiAgRGF0ZU1vbnRoVmlldyxcbiAgRm9ybWF0VHlwZSxcbiAgT3B0aW9uT3ZlcnJpZGVzLFxuICBQcm9kdWN0LFxuICBQcm9kdWN0c0NvbmZpZyxcbiAgU2VnbWVudCxcbiAgU2tpcHBlZFBhcmFtU3RhdGUsXG4gIFN1Z2dlc3Rpb24sXG59IGZyb20gXCJAbWFnaWN4LWVuZy9haS1hdXRvY29tcGxldGUtdmFuaWxsYVwiO1xuXG4vKipcbiAqIENvbnN0cnVjdGlvbi10aW1lIG9wdGlvbnMgZm9yIHtAbGluayBBSUF1dG9jb21wbGV0ZUNvbnRyb2xsZXJ9LlxuICpcbiAqIE1pcnJvcnMgdGhlIHByb3BzIHRoZSBSZWFjdCBgdXNlQUlBdXRvY29tcGxldGUoKWAgaG9vayBhY2NlcHRzLCBtaW51cyB0aGVcbiAqIGZpZWxkcyB0aGF0IG9ubHkgbWFrZSBzZW5zZSBmb3IgYSBSZWFjdCBjb21wb25lbnQgc2hlbGwgKGBjb2x1bW5zYCBpcyBoZXJlO1xuICogYGF1dG9Gb2N1c2AsIGBjbGFzc05hbWVgLCBgcGlsbFBsYWNlbWVudGAsIGV0Yy4gbGl2ZSBvbiB0aGUgVGllciAxXG4gKiBgPGFpLWF1dG9jb21wbGV0ZT5gIGNvbXBvbmVudCkuXG4gKlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEFJQXV0b2NvbXBsZXRlQ29udHJvbGxlck9wdGlvbnMge1xuICAvKiogUnVudGltZSBBUEkgY29uZmlndXJhdGlvbiAoYXBpS2V5LCBlbmRwb2ludCwgZXRjLikuICovXG4gIGFwaUNvbmZpZz86IEFQSUNvbmZpZztcbiAgLyoqXG4gICAqIE9wdGlvbmFsIHVzZXIgY29udGV4dC4gSW5jbHVkZSB3aGF0ZXZlciB5b3Uga25vdyBhYm91dCB0aGUgdXNlciDigJQgYVxuICAgKiBwcm9maWxlLCBwcmVmZXJlbmNlcywgd29ya3NwYWNlLCBhbnl0aGluZyDigJQgdG8gcGVyc29uYWxpemUgc3VnZ2VzdGVkXG4gICAqIHBhcmFtZXRlcnMgYW5kIG9wdGlvbnMgdG8gdGhlbS5cbiAgICovXG4gIGFkZGl0aW9uYWxDb250ZXh0PzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIC8qKiBQZXItc3VnZ2VzdGlvbi10eXBlIGNsaWVudC1zaWRlIG9wdGlvbiBvdmVycmlkZXMuICovXG4gIG9wdGlvbk92ZXJyaWRlcz86IE9wdGlvbk92ZXJyaWRlcztcbiAgLyoqIFdoZW4gdHJ1ZSwgY29tcGxldGVkIHBhcmFtcycgbGl0ZXJhbCB0ZXh0IGlzIG9taXR0ZWQgZnJvbSBBUEkgcmVxdWVzdHMuICovXG4gIG1hc2tDb21wbGV0ZWRUZXh0PzogYm9vbGVhbjtcbiAgLyoqIE51bWJlciBvZiBjb2x1bW5zIGluIHRoZSBkcm9wZG93biBncmlkLiBEZWZhdWx0OiAyLiAqL1xuICBjb2x1bW5zPzogbnVtYmVyO1xuICAvKipcbiAgICogV2hlcmUgdGhlIGRyb3Bkb3duIG9wZW5zIHJlbGF0aXZlIHRvIHRoZSBpbnB1dC4gRGVmYXVsdDogXCJiZWxvd1wiLlxuICAgKlxuICAgKiBSZWFkIGJ5IHRoZSBrZXlib2FyZCBjb250cm9sbGVyIHRvIGRlY2lkZSB3aGljaCB2ZXJ0aWNhbC1hcnJvdyBrZXkgb3BlbnNcbiAgICogdGhlIGRyb3Bkb3duIGZyb20gdGhlIGlucHV0IOKAlCBBcnJvd0Rvd24gd2hlbiB0aGUgZHJvcGRvd24gaXMgYmVsb3csXG4gICAqIEFycm93VXAgd2hlbiBpdCdzIGFib3ZlLlxuICAgKi9cbiAgb3B0aW9uc1Bvc2l0aW9uPzogXCJhYm92ZVwiIHwgXCJiZWxvd1wiO1xuICAvKipcbiAgICogV2hlbiB0aGUgZHJvcGRvd24gYXBwZWFycy4gXCJhdXRvXCIgKGRlZmF1bHQpIHNob3dzIHdoZW4gb3B0aW9ucyBhcmVcbiAgICogYXZhaWxhYmxlOyBcIm1hbnVhbFwiIHNob3dzIG9ubHkgb24gcGlsbCB0YXA7IFwiaGlkZGVuXCIgbmV2ZXIgc2hvd3MuXG4gICAqL1xuICBkcm9wZG93blRyaWdnZXI/OiBcImF1dG9cIiB8IFwibWFudWFsXCIgfCBcImhpZGRlblwiO1xuICAvKiogV2hlbiB0cnVlIChkZWZhdWx0KSwgdGhlIGRyb3Bkb3duIGNsb3NlcyBpZiB0aGUgaW5wdXQgbG9zZXMgZm9jdXMuICovXG4gIGNsb3NlRHJvcGRvd25PbkJsdXI/OiBib29sZWFuO1xuICAvKiogV2hlbiB0cnVlIChkZWZhdWx0KSwgbm9uLXRhcHBhYmxlIG9wdGlvbnMgcmVuZGVyIGFsb25nc2lkZSB0YXBwYWJsZSBvbmVzLiAqL1xuICBzaG93Tm9uVGFwcGFibGVPcHRpb25zPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFRlbGVtZXRyeSBzdXJmYWNlIGlkZW50aWZpZXIuIFNldCBhdXRvbWF0aWNhbGx5IHRvIFwiZnVsbC1zZGtcIiBieSB0aGVcbiAgICogVGllciAxIGA8YWktYXV0b2NvbXBsZXRlPmAgY29tcG9uZW50LiBEZWZhdWx0cyB0byBcImhlYWRsZXNzLXNka1wiLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHNvdXJjZT86IFwiZnVsbC1zZGtcIiB8IFwiaGVhZGxlc3Mtc2RrXCI7XG4gIC8qKiBDYWxsZWQgd2hlbiB0aGUgdXNlciBzdWJtaXRzIChFbnRlciBrZXkgb3IgYHN1Ym1pdCgpYCBhY3Rpb24pLiAqL1xuICBvblN1Ym1pdD86IChyZXN1bHQ6IEF1dG9jb21wbGV0ZVJlc3VsdCkgPT4gdm9pZDtcbiAgLyoqIENhbGxlZCB3aGVuIGEgZmV0Y2ggZmFpbHMuICovXG4gIG9uRXJyb3I/OiAoZXJyb3I6IEVycm9yKSA9PiB2b2lkO1xuICAvKiogQ2FsbGVkIHdoZW4gdGhlIGVkaXRvciB0ZXh0IGNoYW5nZXMgKGNvbnRyb2xsZWQtbW9kZSBzaWduYWwpLiAqL1xuICBvbkNoYW5nZT86ICh0ZXh0OiBzdHJpbmcpID0+IHZvaWQ7XG4gIC8qKiBDYWxsZWQgd2hlbiBjb21wbGV0ZWQgcGFyYW1zIGNoYW5nZSAoY29udHJvbGxlZC1tb2RlIHNpZ25hbCkuICovXG4gIG9uUGFyYW1zQ2hhbmdlPzogKHBhcmFtczogQ29tcGxldGVkUGFyYW1TdGF0ZVtdKSA9PiB2b2lkO1xuICAvKiogQ2FsbGVkIHdoZW4gdGhlIGlucHV0IGdhaW5zIGZvY3VzLiAqL1xuICBvbkZvY3VzPzogKCkgPT4gdm9pZDtcbiAgLyoqIENhbGxlZCB3aGVuIHRoZSBpbnB1dCBsb3NlcyBmb2N1cy4gKi9cbiAgb25CbHVyPzogKCkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIE9wdC1pbiBwcm9kdWN0IHN0cmlwLiBXaGVuIHNldCwgdGhlIGRyb3Bkb3duIHJlbmRlcnMgYSBob3Jpem9udGFsIHJvdyBvZlxuICAgKiBwcm9kdWN0IGNhcmRzIGJlbG93IHRoZSBvcHRpb25zIGdyaWQsIGZlZCBieSB0aGUgaW50ZWdyYXRpb24ncyBvd24gc2VhcmNoXG4gICAqIGVuZHBvaW50IG9uIHRoZSBTREsncyBleGlzdGluZyBmZXRjaCBjYWRlbmNlLiBPbWl0IGl0IGFuZCBub3RoaW5nIGFib3V0XG4gICAqIHRoZSBkcm9wZG93biBjaGFuZ2VzIOKAlCBubyByZXF1ZXN0LCBubyBtYXJrdXAsIG5vIGxheW91dCBzaGlmdC5cbiAgICovXG4gIHByb2R1Y3RzPzogUHJvZHVjdHNDb25maWc7XG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiB0aGUgdXNlciBhY3RpdmF0ZXMgYSBwcm9kdWN0IGNhcmQuIFRoZSBTREsgZG9lcyBub3QgbmF2aWdhdGUg4oCUXG4gICAqIHRoZSBpbnRlZ3JhdGlvbiBkZWNpZGVzIHdoYXQgYSBzZWxlY3Rpb24gbWVhbnMuIE1vZGlmaWVyIC8gbWlkZGxlIGNsaWNrc1xuICAgKiBhcmUgbGVmdCB0byB0aGUgYnJvd3NlciAoY21kLWNsaWNrIHN0aWxsIG9wZW5zIGEgdGFiKSBhbmQgZG9uJ3QgZmlyZSB0aGlzLlxuICAgKi9cbiAgb25Qcm9kdWN0U2VsZWN0PzogKHByb2R1Y3Q6IFByb2R1Y3QpID0+IHZvaWQ7XG4gIC8qKiBJbml0aWFsIGNvbnRyb2xsZWQgdGV4dCB2YWx1ZS4gKi9cbiAgdmFsdWU/OiBzdHJpbmc7XG4gIC8qKiBJbml0aWFsIGNvbnRyb2xsZWQgY29tcGxldGVkIHBhcmFtcy4gKi9cbiAgY29tcGxldGVkUGFyYW1zPzogQ29tcGxldGVkUGFyYW1TdGF0ZVtdO1xuICAvKipcbiAgICogQ2FyZXQtc2V0IGNhbGxiYWNrLiBJbnZva2VkIGJ5IHRoZSBjb3JlIHdoZW4gcmUtZWRpdCAvIEJhY2tzcGFjZSBmbG93c1xuICAgKiBuZWVkIHRoZSBlZGl0b3IgY2FyZXQgcGFya2VkIGF0IGEgc3BlY2lmaWMgcGxhaW4tdGV4dCBvZmZzZXQuIFRoZSBUaWVyIDFcbiAgICogYDxhaS1hdXRvY29tcGxldGU+YCBjb21wb25lbnQgd2lyZXMgdGhpcyBmcm9tIGl0cyBlZGl0b3IgaG9zdDsgaGVhZGxlc3NcbiAgICogY29uc3VtZXJzIGNhbiBsZWF2ZSBpdCB1bnNldC5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBzZXRDdXJzb3I/OiAob2Zmc2V0OiBudW1iZXIpID0+IHZvaWQ7XG59XG5cbi8qKlxuICogU3Vic2V0IG9mIHtAbGluayBBSUF1dG9jb21wbGV0ZUNvbnRyb2xsZXJPcHRpb25zfSB0aGF0IGNhbiBiZSBjaGFuZ2VkIGFmdGVyXG4gKiBjb25zdHJ1Y3Rpb24uIEV4Y2x1ZGVzIGV2ZW50IGNhbGxiYWNrcyAodGhvc2UgYXJlIHJlZ2lzdGVyZWQgb25jZSBhdFxuICogY29uc3RydWN0aW9uIOKAlCBzZWUgdmFuaWxsYSBgQ29yZVVwZGF0ZU9wdGlvbnNgKS5cbiAqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCB0eXBlIEFJQXV0b2NvbXBsZXRlQ29udHJvbGxlclVwZGF0ZSA9IFBhcnRpYWw8XG4gIE9taXQ8XG4gICAgQUlBdXRvY29tcGxldGVDb250cm9sbGVyT3B0aW9ucyxcbiAgICB8IFwib25TdWJtaXRcIlxuICAgIHwgXCJvbkVycm9yXCJcbiAgICB8IFwib25DaGFuZ2VcIlxuICAgIHwgXCJvblBhcmFtc0NoYW5nZVwiXG4gICAgfCBcIm9uRm9jdXNcIlxuICAgIHwgXCJvbkJsdXJcIlxuICAgIHwgXCJvblByb2R1Y3RTZWxlY3RcIlxuICAgIHwgXCJzZXRDdXJzb3JcIlxuICA+XG4+O1xuXG4vKipcbiAqIFNuYXBzaG90IG9mIHRoZSBjb250cm9sbGVyJ3MgcmVhY3RpdmUgc3RhdGUuIEVhY2ggZmllbGQgaXMgYWxzbyBleHBvc2VkIGFzXG4gKiBhIHN0YW5kLWFsb25lIG9ic2VydmFibGUgb24gdGhlIGNvbnRyb2xsZXIgKGUuZy4gYGNvbnRyb2xsZXIudGV4dCRgKS5cbiAqXG4gKiBgc3VnZ2VzdGlvblBpbGxzYCBtaXJyb3JzIFJlYWN0J3MgYHN1Z2dlc3Rpb25QaWxsc2Ag4oCUIHRoZSBhY3Rpb25hYmxlXG4gKiBzdWJzZXQgb2YgYHN1Z2dlc3Rpb25zYCByZWFkeSBmb3IgcGlsbCByZW5kZXJpbmcuIGBpc0xvYWRpbmdgIGlzIHRoZVxuICogVUktdmlzaWJsZSBsb2FkaW5nIGZsYWcgKHN1cHByZXNzZWQgZHVyaW5nIHRoZSBwb3N0LXNlbGVjdCBwcmVzc1xuICogYW5pbWF0aW9uIGFuZCBkdXJpbmcgcmUtZWRpdCwgd2hlcmUgY2FjaGVkIG9wdGlvbnMgc3RheSB2aXNpYmxlKS5cbiAqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQUlBdXRvY29tcGxldGVDb250cm9sbGVyU3RhdGUge1xuICB0ZXh0OiBzdHJpbmc7XG4gIGNvbXBsZXRlZFBhcmFtczogQ29tcGxldGVkUGFyYW1TdGF0ZVtdO1xuICAvKipcbiAgICogU3VnZ2VzdGlvbnMgdGhlIHVzZXIgZGlzbWlzc2VkIHdpdGggdGhlIHNraXAga2V5ICjihpIpLiBOb3RoaW5nIHJlbmRlcnNcbiAgICogdGhlbSDigJQgcGFzcyB0aGVtIHRvIGBidWlsZFN1Ym1pdFJlc3VsdGAgc28gYSBoYW5kLXJvbGxlZCBzdWJtaXQgY2Fycmllc1xuICAgKiB0aGUgc2FtZSBgdGV4dDogXCJza2lwcGVkXCJgIGVudHJpZXMgdGhlIFNESydzIG93biByZXF1ZXN0cyBkby5cbiAgICovXG4gIHNraXBwZWRQYXJhbXM6IFNraXBwZWRQYXJhbVN0YXRlW107XG4gIHN1Z2dlc3Rpb25QaWxsczogU3VnZ2VzdGlvbltdO1xuICBzZWdtZW50czogU2VnbWVudFtdO1xuICBuZXdQYXJhbUlkOiBzdHJpbmcgfCBudWxsO1xuICBzdWdnZXN0aW9uczogU3VnZ2VzdGlvbltdO1xuICAvKipcbiAgICogUmVzdWx0cyBvZiB0aGUgbGF0ZXN0IHByb2R1Y3Qgc2VhcmNoLiBBbHdheXMgZW1wdHkgdW5sZXNzIGBwcm9kdWN0c2AgaXNcbiAgICogY29uZmlndXJlZC4gQWxyZWFkeSBmb2xkZWQgaW50byB0aGUgZHJvcGRvd24gc25hcHNob3Qg4oCUIHJlYWQgaXQgaGVyZSBvbmx5XG4gICAqIHdoZW4gcmVuZGVyaW5nIHlvdXIgb3duIHN0cmlwLlxuICAgKi9cbiAgcHJvZHVjdHM6IFByb2R1Y3RbXTtcbiAgYWN0aXZlSW5kZXg6IG51bWJlcjtcbiAgaXNMb2FkaW5nOiBib29sZWFuO1xuICBpc1JlYWR5OiBib29sZWFuO1xuICBpc0ZvY3VzZWQ6IGJvb2xlYW47XG4gIGlzRHJvcGRvd25PcGVuOiBib29sZWFuO1xuICBwbGFjZWhvbGRlclRleHQ6IHN0cmluZztcbiAgZXJyb3I6IEVycm9yIHwgbnVsbDtcbiAgZWRpdGluZ1BhcmFtOiBDb21wbGV0ZWRQYXJhbVN0YXRlIHwgbnVsbDtcbiAgLyoqXG4gICAqIFNldCB3aGlsZSB0aGUgdXNlciBpcyBwaWNraW5nIGEgZGF0ZSBmb3IgYSBzcGFuIHRoZSBzZXJ2ZXIgaWRlbnRpZmllZCBhc1xuICAgKiBvbmUg4oCUIFwic2VwdGVtYmVyIDV0aFwiIGluIFwiZmx5IHRvIHZlZ2FzIG9uIHNlcHRlbWJlciA1dGhcIi4gTnVsbCBvdGhlcndpc2UuXG4gICAqL1xuICBlZGl0aW5nSWRlbnRpZmllZDoge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgdHlwZTogc3RyaW5nO1xuICAgIGFuY2hvcjogbnVtYmVyO1xuICAgIHRhaWw6IG51bWJlcjtcbiAgICBpc286IHN0cmluZyB8IG51bGw7XG4gIH0gfCBudWxsO1xuICBlZGl0aW5nQW5jaG9yOiBudW1iZXIgfCBudWxsO1xuICBjYXJldE9mZnNldDogbnVtYmVyIHwgbnVsbDtcbn1cblxuLyoqXG4gKiBDb21wb3NpdGUgc3RhdGUgc2hhcGUgZm9yIHRoZSBkcm9wZG93biB2aWV3IGxheWVyLiBUaWVyIDIgY29uc3VtZXJzIGJpbmRcbiAqIHRoZSBkcm9wZG93biBjb21wb25lbnQgdG8gdGhpcyBzbmFwc2hvdDsgVGllciAxIHVzZXMgdGhlIHNhbWUgc2hhcGVcbiAqIGludGVybmFsbHkuXG4gKlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEFJQXV0b2NvbXBsZXRlRHJvcGRvd25TdGF0ZSB7XG4gIC8qKiBBY3RpdmUgc3VnZ2VzdGlvbiArIGZpbHRlcmVkIG9wdGlvbnMgdG8gcmVuZGVyIGluIHRoZSBncmlkLiAqL1xuICBzdWdnZXN0aW9uczogU3VnZ2VzdGlvbltdO1xuICAvKiogQ3VycmVudGx5IGhpZ2hsaWdodGVkIG9wdGlvbiBpbmRleC4gLTEgd2hlbiBub25lLiAqL1xuICBhY3RpdmVJbmRleDogbnVtYmVyO1xuICAvKiogV2hldGhlciB0aGUgZHJvcGRvd24gc2hvdWxkIGJlIHZpc2libGUuICovXG4gIGlzT3BlbjogYm9vbGVhbjtcbiAgLyoqIFBpbGxzIHRvIHJlbmRlciBpbiB0aGUgZHJvcGRvd24ncyBwaWxsYmFyIChyZS1lZGl0IHBpbGwgb3IgYWxsIHN1Z2dlc3Rpb24gcGlsbHMpLiAqL1xuICBwaWxsczogU3VnZ2VzdGlvbltdO1xuICAvKiogV2hldGhlciB0aGUgYWN0aXZlIHBpbGwgcmVuZGVycyBzZWxlY3RlZCAoZnVsbCBvcGFjaXR5KSB2cy4gdGhlIGBmaXJzdGAgdGllci4gKi9cbiAgaXNBY3RpdmVQaWxsU2VsZWN0ZWQ6IGJvb2xlYW47XG4gIC8qKiBUcnVlIHdoZW4gdGhlIGRyb3Bkb3duIHNob3VsZCByZW5kZXIgaXRzIGxvYWRpbmcgc2tlbGV0b24uICovXG4gIGlzTG9hZGluZzogYm9vbGVhbjtcbiAgLyoqIFdoZXRoZXIgdGhlIGlucHV0IGhhcyBubyB0eXBlZCB0ZXh0IOKAlCB0aGUgc29sZSBzdGF0ZSB0aGF0IHN1cmZhY2VzIFwidGFiIHRvIHNlbGVjdFwiIGluIHRoZSBmb290ZXIgaGludC4gKi9cbiAgaXNJbnB1dEVtcHR5OiBib29sZWFuO1xuICAvKiogUHJvZHVjdCBjYXJkcyB0byByZW5kZXIgYmVsb3cgdGhlIG9wdGlvbnMgZ3JpZC4gRW1wdHkgKHRoZSBkZWZhdWx0KSByZW5kZXJzIG5vIHN0cmlwLiAqL1xuICBwcm9kdWN0czogUHJvZHVjdFtdO1xuICAvKipcbiAgICogVHJ1ZSB3aGlsZSBhIGNvbXBsZXRlZCBwYXJhbSBpcyBiZWluZyByZS1lZGl0ZWQuIFRoZSBwaWxsYmFyIHRoZW4gc2hvd3NcbiAgICogdGhlIHBhcmFtIGJlaW5nIHJlLWVkaXRlZCDigJQgbm90IHNraXBwYWJsZSDigJQgc28gdGhlIHNraXAgYnV0dG9uIGhpZGVzLlxuICAgKiBPcHRpb25hbCAodW5kZWZpbmVkIOKHkiBub3QgZWRpdGluZykgc28gZXhpc3RpbmcgY29uc3VtZXIgY29kZSBjb25zdHJ1Y3RpbmdcbiAgICogdGhpcyBzdGF0ZSDigJQgdGVzdCBmaXh0dXJlcywgZmFrZSBjb250cm9sbGVycyDigJQga2VlcHMgY29tcGlsaW5nIGFjcm9zcyB0aGVcbiAgICogbWlub3IgYnVtcCB0aGF0IGludHJvZHVjZWQgaXQuXG4gICAqL1xuICBpc0VkaXRpbmc/OiBib29sZWFuO1xuICAvKipcbiAgICogVHJ1ZSBmb3IgdGhlIH41MDBtcyB3aW5kb3cgYWZ0ZXIgYW4gb3B0aW9uIGlzIHNlbGVjdGVkLCB3aGlsZSB0aGUgYW5zd2VyZWRcbiAgICogc3VnZ2VzdGlvbiBhbmltYXRlcyBvdXQuIGBpc0xvYWRpbmdgIGlzIGRlbGliZXJhdGVseSBzdXBwcmVzc2VkIGluIHRoYXRcbiAgICogd2luZG93LCBidXQgdGhlIGNvcmUncyBgc2tpcEFjdGl2ZVBpbGwoKWAgbm8tb3BzIGluIGl0IOKAlCB0aGUgc2tpcCBidXR0b25cbiAgICogcmVuZGVycyBkaXNhYmxlZCBvZmYgdGhpcyBmbGFnIGluc3RlYWQgb2Ygc3dhbGxvd2luZyBjbGlja3Mgc2lsZW50bHkuXG4gICAqIE9wdGlvbmFsICh1bmRlZmluZWQg4oeSIGZhbHNlKSBmb3IgdGhlIHNhbWUgY29tcGlsZS1jb21wYXQgcmVhc29uIGFzXG4gICAqIGBpc0VkaXRpbmdgLlxuICAgKi9cbiAgaW5TZWxlY3Rpb25BbmltYXRpb24/OiBib29sZWFuO1xuICAvKipcbiAgICogV2hlcmUgdGhlIGRyb3Bkb3duIG9wZW5zIHJlbGF0aXZlIHRvIHRoZSBpbnB1dCDigJQgbWlycm9ycyB0aGUgY29udHJvbGxlcidzXG4gICAqIGBvcHRpb25zUG9zaXRpb25gIG9wdGlvbi4gYDxhaS1hdXRvY29tcGxldGUtZHJvcGRvd24+YCByZWFkcyBpdCBmcm9tIGhlcmUsIHNvXG4gICAqIHBsYWNlbWVudCBpcyBjb25maWd1cmVkIG9uY2Ugb24gdGhlIGNvbnRyb2xsZXIgKG5vIHNlcGFyYXRlIGlucHV0IHRvIHN5bmMpLlxuICAgKi9cbiAgb3B0aW9uc1Bvc2l0aW9uOiBcImFib3ZlXCIgfCBcImJlbG93XCI7XG4gIC8qKlxuICAgKiBIb3cgdGhlIGFjdGl2ZSBwaWxsIGlzIGFuc3dlcmVkLiBgXCJkYXRlXCJgIHJlbmRlcnMgYSBjYWxlbmRhciBpbiBwbGFjZSBvZlxuICAgKiB0aGUgb3B0aW9ucyBncmlkLCBhbmQgYHN1Z2dlc3Rpb25zWzBdLm9wdGlvbnNgIHRoZW4gY2FycmllcyB0aGF0IG1vbnRoJ3NcbiAgICogY2VsbHMgcmF0aGVyIHRoYW4gdGhlIHBhcmFtZXRlcidzIG93biBvcHRpb25zIOKAlCB0aGUgY29yZSBzd2FwcyB0aGVtIGJlZm9yZVxuICAgKiB0aGV5IHJlYWNoIGhlcmUuIE9wdGlvbmFsICh1bmRlZmluZWQg4oeSIGBcIm9wdGlvbnNcImApIGZvciB0aGUgc2FtZVxuICAgKiBjb21waWxlLWNvbXBhdCByZWFzb24gYXMgYGlzRWRpdGluZ2AuXG4gICAqL1xuICBmb3JtYXRUeXBlPzogRm9ybWF0VHlwZTtcbiAgLyoqIFRoZSBtb250aCB0aGUgY2FsZW5kYXIgc2hvd3MuIE51bGwvdW5kZWZpbmVkIHVubGVzcyBgZm9ybWF0VHlwZWAgaXMgYFwiZGF0ZVwiYC4gKi9cbiAgZGF0ZVZpZXc/OiBEYXRlTW9udGhWaWV3IHwgbnVsbDtcbiAgLyoqIGBZWVlZLU1NLUREYCBhbHJlYWR5IGhlbGQgYnkgdGhlIHBhcmFtIGJlaW5nIHJlLWVkaXRlZCwgc28gaXRzIGNlbGwgcmVhZHMgYXMgdGhlIGN1cnJlbnQgYW5zd2VyLiAqL1xuICBzZWxlY3RlZERhdGVJc28/OiBzdHJpbmcgfCBudWxsO1xufVxuIl19
|
package/esm2020/public-api.mjs
CHANGED
|
@@ -5,7 +5,28 @@
|
|
|
5
5
|
* are considered part of the package's public contract.
|
|
6
6
|
*/
|
|
7
7
|
// === Submit-result builder (folds skipped params into completed_params) ===
|
|
8
|
-
|
|
8
|
+
import { buildSubmitResult as _buildSubmitResult, cellDay as _cellDay, cellIso as _cellIso, formatDate as _formatDate, isoDate as _isoDate, monthLabel as _monthLabel, parseDate as _parseDate, parseLooseDate as _parseLooseDate, WEEKDAY_LABELS as _WEEKDAY_LABELS, withSkippedParams as _withSkippedParams, } from "@magicx-eng/ai-autocomplete-vanilla";
|
|
9
|
+
/**
|
|
10
|
+
* Re-exported through local bindings rather than `export ... from`.
|
|
11
|
+
*
|
|
12
|
+
* ng-packagr's flat bundles drop a bare `export { x } from "<external>"`: the
|
|
13
|
+
* name survives in the generated `.d.ts`, so consumer code typechecks, but the
|
|
14
|
+
* symbol is absent from `fesm2020` — the entry point the `exports` map resolves
|
|
15
|
+
* by default — and is `undefined` at runtime. Binding to a local const forces
|
|
16
|
+
* it into the bundle.
|
|
17
|
+
*/
|
|
18
|
+
export const buildSubmitResult = _buildSubmitResult;
|
|
19
|
+
export const withSkippedParams = _withSkippedParams;
|
|
20
|
+
// Date helpers, for turning a committed date back into a `Date` and for
|
|
21
|
+
// rendering a custom calendar in Tier 3.
|
|
22
|
+
export const cellDay = _cellDay;
|
|
23
|
+
export const cellIso = _cellIso;
|
|
24
|
+
export const formatDate = _formatDate;
|
|
25
|
+
export const isoDate = _isoDate;
|
|
26
|
+
export const monthLabel = _monthLabel;
|
|
27
|
+
export const parseDate = _parseDate;
|
|
28
|
+
export const parseLooseDate = _parseLooseDate;
|
|
29
|
+
export const WEEKDAY_LABELS = _WEEKDAY_LABELS;
|
|
9
30
|
// === Tier 1: Full component ===
|
|
10
31
|
export { AIAutocompleteComponent } from "./lib/ai-autocomplete";
|
|
11
32
|
// === Convenience NgModule ===
|
|
@@ -16,4 +37,4 @@ export { AIAutocompleteDropdownComponent } from "./lib/ai-autocomplete-dropdown"
|
|
|
16
37
|
export { AIAutocompleteController } from "./lib/controller";
|
|
17
38
|
// === Tier 2: Input binder + ControlValueAccessor ===
|
|
18
39
|
export { AIAutocompleteInputDirective } from "./lib/input";
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHO0FBd0JILDZFQUE2RTtBQUM3RSxPQUFPLEVBQ0wsaUJBQWlCLElBQUksa0JBQWtCLEVBQ3ZDLE9BQU8sSUFBSSxRQUFRLEVBQ25CLE9BQU8sSUFBSSxRQUFRLEVBQ25CLFVBQVUsSUFBSSxXQUFXLEVBQ3pCLE9BQU8sSUFBSSxRQUFRLEVBQ25CLFVBQVUsSUFBSSxXQUFXLEVBQ3pCLFNBQVMsSUFBSSxVQUFVLEVBQ3ZCLGNBQWMsSUFBSSxlQUFlLEVBQ2pDLGNBQWMsSUFBSSxlQUFlLEVBQ2pDLGlCQUFpQixJQUFJLGtCQUFrQixHQUN4QyxNQUFNLHFDQUFxQyxDQUFDO0FBRTdDOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsa0JBQWtCLENBQUM7QUFDcEQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsa0JBQWtCLENBQUM7QUFDcEQsd0VBQXdFO0FBQ3hFLHlDQUF5QztBQUN6QyxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDO0FBQ2hDLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUM7QUFDaEMsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLFdBQVcsQ0FBQztBQUN0QyxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDO0FBQ2hDLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxXQUFXLENBQUM7QUFDdEMsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQztBQUNwQyxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsZUFBZSxDQUFDO0FBQzlDLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxlQUFlLENBQUM7QUFDOUMsaUNBQWlDO0FBQ2pDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2hFLCtCQUErQjtBQUMvQixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNwRSxxQ0FBcUM7QUFDckMsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDakYsb0RBQW9EO0FBQ3BELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVELHNEQUFzRDtBQUN0RCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFB1YmxpYyBBUEkgc3VyZmFjZSBmb3IgQG1hZ2ljeC1lbmcvYWktYXV0b2NvbXBsZXRlLWFuZ3VsYXIuXG4gKlxuICogUG9wdWxhdGVkIGluY3JlbWVudGFsbHkgYXMgZmVhdHVyZXMgbGFuZC4gT25seSBzeW1ib2xzIHJlLWV4cG9ydGVkIGhlcmVcbiAqIGFyZSBjb25zaWRlcmVkIHBhcnQgb2YgdGhlIHBhY2thZ2UncyBwdWJsaWMgY29udHJhY3QuXG4gKi9cblxuLy8gPT09IFJlLWV4cG9ydGVkIHdpcmUgdHlwZXMgPT09XG5leHBvcnQgdHlwZSB7XG4gIEFjY2Vzc1Rva2VuQ29uZmlnLFxuICBBY2Nlc3NUb2tlblJlc3VsdCxcbiAgQVBJQ29uZmlnLFxuICBBUElLZXlDb25maWcsXG4gIEFwcGVhcmFuY2VNb2RlLFxuICBBdXRvY29tcGxldGVSZXN1bHQsXG4gIENvbXBsZXRlZFBhcmFtLFxuICBDb21wbGV0ZWRQYXJhbVN0YXRlLFxuICBEYXRlTW9udGhWaWV3LFxuICBGb3JtYXRUeXBlLFxuICBPcHRpb25PdmVycmlkZXMsXG4gIFByb2R1Y3QsXG4gIFByb2R1Y3RzQ29uZmlnLFxuICBTZWdtZW50LFxuICBTa2lwcGVkUGFyYW1TdGF0ZSxcbiAgU3VnZ2VzdGlvbixcbiAgU3VnZ2VzdGlvbk9wdGlvbixcbiAgVGFza0tpbmQsXG59IGZyb20gXCJAbWFnaWN4LWVuZy9haS1hdXRvY29tcGxldGUtdmFuaWxsYVwiO1xuXG4vLyA9PT0gU3VibWl0LXJlc3VsdCBidWlsZGVyIChmb2xkcyBza2lwcGVkIHBhcmFtcyBpbnRvIGNvbXBsZXRlZF9wYXJhbXMpID09PVxuaW1wb3J0IHtcbiAgYnVpbGRTdWJtaXRSZXN1bHQgYXMgX2J1aWxkU3VibWl0UmVzdWx0LFxuICBjZWxsRGF5IGFzIF9jZWxsRGF5LFxuICBjZWxsSXNvIGFzIF9jZWxsSXNvLFxuICBmb3JtYXREYXRlIGFzIF9mb3JtYXREYXRlLFxuICBpc29EYXRlIGFzIF9pc29EYXRlLFxuICBtb250aExhYmVsIGFzIF9tb250aExhYmVsLFxuICBwYXJzZURhdGUgYXMgX3BhcnNlRGF0ZSxcbiAgcGFyc2VMb29zZURhdGUgYXMgX3BhcnNlTG9vc2VEYXRlLFxuICBXRUVLREFZX0xBQkVMUyBhcyBfV0VFS0RBWV9MQUJFTFMsXG4gIHdpdGhTa2lwcGVkUGFyYW1zIGFzIF93aXRoU2tpcHBlZFBhcmFtcyxcbn0gZnJvbSBcIkBtYWdpY3gtZW5nL2FpLWF1dG9jb21wbGV0ZS12YW5pbGxhXCI7XG5cbi8qKlxuICogUmUtZXhwb3J0ZWQgdGhyb3VnaCBsb2NhbCBiaW5kaW5ncyByYXRoZXIgdGhhbiBgZXhwb3J0IC4uLiBmcm9tYC5cbiAqXG4gKiBuZy1wYWNrYWdyJ3MgZmxhdCBidW5kbGVzIGRyb3AgYSBiYXJlIGBleHBvcnQgeyB4IH0gZnJvbSBcIjxleHRlcm5hbD5cImA6IHRoZVxuICogbmFtZSBzdXJ2aXZlcyBpbiB0aGUgZ2VuZXJhdGVkIGAuZC50c2AsIHNvIGNvbnN1bWVyIGNvZGUgdHlwZWNoZWNrcywgYnV0IHRoZVxuICogc3ltYm9sIGlzIGFic2VudCBmcm9tIGBmZXNtMjAyMGAg4oCUIHRoZSBlbnRyeSBwb2ludCB0aGUgYGV4cG9ydHNgIG1hcCByZXNvbHZlc1xuICogYnkgZGVmYXVsdCDigJQgYW5kIGlzIGB1bmRlZmluZWRgIGF0IHJ1bnRpbWUuIEJpbmRpbmcgdG8gYSBsb2NhbCBjb25zdCBmb3JjZXNcbiAqIGl0IGludG8gdGhlIGJ1bmRsZS5cbiAqL1xuZXhwb3J0IGNvbnN0IGJ1aWxkU3VibWl0UmVzdWx0ID0gX2J1aWxkU3VibWl0UmVzdWx0O1xuZXhwb3J0IGNvbnN0IHdpdGhTa2lwcGVkUGFyYW1zID0gX3dpdGhTa2lwcGVkUGFyYW1zO1xuLy8gRGF0ZSBoZWxwZXJzLCBmb3IgdHVybmluZyBhIGNvbW1pdHRlZCBkYXRlIGJhY2sgaW50byBhIGBEYXRlYCBhbmQgZm9yXG4vLyByZW5kZXJpbmcgYSBjdXN0b20gY2FsZW5kYXIgaW4gVGllciAzLlxuZXhwb3J0IGNvbnN0IGNlbGxEYXkgPSBfY2VsbERheTtcbmV4cG9ydCBjb25zdCBjZWxsSXNvID0gX2NlbGxJc287XG5leHBvcnQgY29uc3QgZm9ybWF0RGF0ZSA9IF9mb3JtYXREYXRlO1xuZXhwb3J0IGNvbnN0IGlzb0RhdGUgPSBfaXNvRGF0ZTtcbmV4cG9ydCBjb25zdCBtb250aExhYmVsID0gX21vbnRoTGFiZWw7XG5leHBvcnQgY29uc3QgcGFyc2VEYXRlID0gX3BhcnNlRGF0ZTtcbmV4cG9ydCBjb25zdCBwYXJzZUxvb3NlRGF0ZSA9IF9wYXJzZUxvb3NlRGF0ZTtcbmV4cG9ydCBjb25zdCBXRUVLREFZX0xBQkVMUyA9IF9XRUVLREFZX0xBQkVMUztcbi8vID09PSBUaWVyIDE6IEZ1bGwgY29tcG9uZW50ID09PVxuZXhwb3J0IHsgQUlBdXRvY29tcGxldGVDb21wb25lbnQgfSBmcm9tIFwiLi9saWIvYWktYXV0b2NvbXBsZXRlXCI7XG4vLyA9PT0gQ29udmVuaWVuY2UgTmdNb2R1bGUgPT09XG5leHBvcnQgeyBBSUF1dG9jb21wbGV0ZU1vZHVsZSB9IGZyb20gXCIuL2xpYi9haS1hdXRvY29tcGxldGUubW9kdWxlXCI7XG4vLyA9PT0gVGllciAyOiBEcm9wZG93biBjb21wb25lbnQgPT09XG5leHBvcnQgeyBBSUF1dG9jb21wbGV0ZURyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSBcIi4vbGliL2FpLWF1dG9jb21wbGV0ZS1kcm9wZG93blwiO1xuLy8gPT09IFRpZXIgMjogQ29udHJvbGxlciAoaGVhZGxlc3MgbG9naWMgY2xhc3MpID09PVxuZXhwb3J0IHsgQUlBdXRvY29tcGxldGVDb250cm9sbGVyIH0gZnJvbSBcIi4vbGliL2NvbnRyb2xsZXJcIjtcbi8vID09PSBUaWVyIDI6IElucHV0IGJpbmRlciArIENvbnRyb2xWYWx1ZUFjY2Vzc29yID09PVxuZXhwb3J0IHsgQUlBdXRvY29tcGxldGVJbnB1dERpcmVjdGl2ZSB9IGZyb20gXCIuL2xpYi9pbnB1dFwiO1xuLy8gPT09IEFuZ3VsYXItc3BlY2lmaWMgcHVibGljIHR5cGVzID09PVxuZXhwb3J0IHR5cGUge1xuICBBSUF1dG9jb21wbGV0ZUNvbnRyb2xsZXJPcHRpb25zLFxuICBBSUF1dG9jb21wbGV0ZUNvbnRyb2xsZXJTdGF0ZSxcbiAgQUlBdXRvY29tcGxldGVDb250cm9sbGVyVXBkYXRlLFxuICBBSUF1dG9jb21wbGV0ZURyb3Bkb3duU3RhdGUsXG59IGZyb20gXCIuL2xpYi9zaGFyZWQvdHlwZXNcIjtcbiJdfQ==
|