@magicx-eng/ai-autocomplete-angular 0.4.3 → 0.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/ai-autocomplete-dropdown/ai-autocomplete-dropdown.component.mjs +3 -3
- package/esm2020/lib/internal/layout/grid.component.mjs +2 -2
- package/fesm2015/magicx-eng-ai-autocomplete-angular.mjs +4 -4
- package/fesm2015/magicx-eng-ai-autocomplete-angular.mjs.map +1 -1
- package/fesm2020/magicx-eng-ai-autocomplete-angular.mjs +4 -4
- package/fesm2020/magicx-eng-ai-autocomplete-angular.mjs.map +1 -1
- package/package.json +2 -2
|
@@ -165,7 +165,7 @@ export class AIAutocompleteDropdownComponent {
|
|
|
165
165
|
}
|
|
166
166
|
}
|
|
167
167
|
AIAutocompleteDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AIAutocompleteDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
168
|
-
AIAutocompleteDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AIAutocompleteDropdownComponent, isStandalone: true, selector: "ai-autocomplete-dropdown", inputs: { controller: "controller", showPills: "showPills", className: "className", mode: "mode" }, usesOnChanges: true, ngImport: i0, template: "<div\n *ngIf=\"vm$ | async as vm\"\n [id]=\"controller.listboxId\"\n role=\"listbox\"\n data-aia-dropdown=\"\"\n [attr.data-aia-loading]=\"vm.isLoading ? '' : null\"\n [attr.data-mode]=\"resolvedMode\"\n [attr.data-options-position]=\"vm.optionsPosition\"\n [class]=\"rootClass\"\n [class.magicx-aia-dropdown-visible]=\"vm.isVisible\"\n (mousedown)=\"preventBlur($event)\"\n>\n <aia-stack space=\"8px\">\n <aia-cluster\n *ngIf=\"vm.showsPills\"\n class=\"magicx-aia-dropdown-pillbar\"\n data-aia-pillbar=\"\"\n [noWrap]=\"true\"\n >\n <aia-pill-list\n [pills]=\"vm.pills\"\n [activePillIndex]=\"0\"\n [activeSelected]=\"vm.isActivePillSelected\"\n [rounded]=\"true\"\n [loading]=\"vm.isLoading\"\n (selectPill)=\"onPillClick($event)\"\n ></aia-pill-list>\n </aia-cluster>\n\n <aia-suggestion-grid\n *ngIf=\"vm.showsOptions\"\n [options]=\"vm.options\"\n [activeIndex]=\"vm.activeIndex\"\n [listboxId]=\"controller.listboxId\"\n [loading]=\"vm.isLoading\"\n (select)=\"onSelect($event)\"\n (highlight)=\"onHighlight($event)\"\n ></aia-suggestion-grid>\n\n <div\n *ngIf=\"vm.showsFallbackSkeleton\"\n class=\"magicx-aia-dropdown-skeleton-bars\"\n data-aia-skeleton-bars=\"\"\n >\n <span\n *ngFor=\"let w of fallbackSkeletonBarWidths; trackBy: trackByWidth\"\n class=\"magicx-aia-dropdown-skeleton-bar\"\n [style.width.px]=\"w\"\n ></span>\n </div>\n\n <footer class=\"magicx-aia-footer\" data-aia-footer=\"\">\n <div class=\"magicx-aia-footer-divider\"></div>\n <div class=\"magicx-aia-footer-row\">\n <span class=\"magicx-aia-footer-hint-group\">\n <kbd class=\"magicx-aia-footer-key\">{{ vm.footerKey }}</kbd>\n <span class=\"magicx-aia-footer-hint\">{{ vm.footerHint }}</span>\n </span>\n <a\n class=\"magicx-aia-footer-brand-link\"\n href=\"https://ai-autocomplete.com\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <span class=\"magicx-aia-footer-brand\">AI</span>\n <span class=\"magicx-aia-footer-badge\">Autocomplete</span>\n </a>\n </div>\n </footer>\n </aia-stack>\n</div>\n", styles: [":where(.magicx-aia,.magicx-aia *,.magicx-aia *::before,.magicx-aia *::after){box-sizing:border-box}:where(.magicx-aia),:where(.magicx-aia[data-mode=\"light\"]){--aia-surface: #ffffff;--aia-border: #b0b0b0;--aia-dropdown-border: #e5e7eb;--aia-dropdown-shadow: 0 8px 12px rgba(0, 0, 0, .1);--aia-pill-bg: #bdbdbd;--aia-pill-color: #333539;--aia-pill-font-size: 14px;--aia-option-bg: #eef2ff;--aia-option-color: #505050;--aia-option-color-selected: #000000;--aia-option-font-size: 14px;--aia-written-text-color: #000000;--aia-written-text-font-size: 14px;--aia-caret-color: var(--aia-written-text-color, #000000);--aia-submit-bg: #000000;--aia-submit-color: #ffffff;--aia-color-text-muted: #6b7280;--aia-skeleton-bg: rgba(189, 189, 189, .51);--aia-streak-rgb: 99, 102, 241;--aia-streak-glass-bg: rgba(99, 102, 241, .1);--aia-footer-divider: rgba(176, 176, 176, .4);--aia-footer-hint-color: #505050;--aia-footer-brand-color: #b0b0b0;--aia-footer-badge-border: rgba(189, 189, 189, .51)}:where(.magicx-aia[data-mode=\"dark\"]){--aia-surface: #000000;--aia-border: #505050;--aia-dropdown-border: #484848;--aia-dropdown-shadow: 0 8px 12px rgba(0, 0, 0, .1);--aia-pill-bg: #bdbdbd;--aia-pill-color: #b0b0b0;--aia-pill-font-size: 14px;--aia-option-bg: #323232;--aia-option-color: #b0b0b0;--aia-option-color-selected: #ffffff;--aia-option-font-size: 14px;--aia-written-text-color: #ffffff;--aia-written-text-font-size: 14px;--aia-caret-color: var(--aia-written-text-color, #ffffff);--aia-submit-bg: #ffffff;--aia-submit-color: #000000;--aia-color-text-muted: #c1c4cb;--aia-skeleton-bg: #333539;--aia-streak-rgb: 255, 255, 255;--aia-streak-glass-bg: rgba(255, 255, 255, .1);--aia-footer-divider: rgba(255, 255, 255, .15);--aia-footer-hint-color: #b0b0b0;--aia-footer-brand-color: #505050;--aia-footer-badge-border: #505050}:where(.magicx-aia[data-options-position=\"above\"]) [data-aia-dropdown],[data-aia-dropdown][data-options-position=above]{top:auto;bottom:100%;margin-top:0;margin-bottom:6px}:where(.magicx-aia[data-options-position=\"above\"]) [data-aia-dropdown] .aia-stack,[data-aia-dropdown][data-options-position=above] .aia-stack{flex-direction:column-reverse}:where(.magicx-aia[data-options-position=\"above\"]) [data-aia-dropdown] .magicx-aia-footer,[data-aia-dropdown][data-options-position=above] .magicx-aia-footer{flex-direction:column-reverse}\n", ".magicx-aia-dropdown{position:absolute;left:0;right:0;top:100%;max-width:544px;margin-top:6px;display:flex;flex-direction:column;box-sizing:border-box;padding:10px 8px;overflow:hidden;container-type:inline-size;z-index:10;opacity:0;pointer-events:none;transition:opacity .4s cubic-bezier(.4,0,.2,1);background:var(--aia-surface, #ffffff);border:1px solid var(--aia-dropdown-border, #e5e7eb);border-radius:18px;box-shadow:var(--aia-dropdown-shadow, 0 8px 12px rgba(0, 0, 0, .1))}.magicx-aia-dropdown[data-aia-surface=glass]{background:transparent;border-color:transparent;box-shadow:#fff -3.2px -3.2px 3.2px -3.2px inset,#fff 6.4px 6.4px 1.6px -8px inset,var(--aia-dropdown-bg, transparent) -6.4px 6.4px 1.6px -8px inset,var(--aia-dropdown-bg, transparent) 6.4px -6.4px 1.6px -8px inset,#ffffff26 -1.6px 0 0 -1.6px inset,#ffffff26 0 -1.6px 0 -1.6px inset,#ffffff4d 0 1.6px inset,#ffffff4d 1.6px 0 inset,inset 0 0 30px 5px #0000000d,#00000014 0 0 30px 2px;backdrop-filter:blur(30px)}.magicx-aia-dropdown-visible{opacity:1;pointer-events:auto}.magicx-aia-dropdown-pillbar{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 48px),transparent 100%);-webkit-mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 48px),transparent 100%)}.magicx-aia-dropdown-pillbar::-webkit-scrollbar{display:none}.magicx-aia-footer{display:flex;flex-direction:column;gap:8px;padding:0 8px}.magicx-aia-footer-divider{border-top:1px solid var(--aia-footer-divider, rgba(176, 176, 176, .4))}.magicx-aia-footer-row{display:flex;align-items:center;justify-content:space-between}.magicx-aia-footer-hint-group{display:inline-flex;align-items:center;gap:5px}.magicx-aia-footer-brand-link{display:inline-flex;align-items:center;gap:2px;text-decoration:none;cursor:pointer;transition:opacity .15s ease-out}.magicx-aia-footer-brand-link:hover{opacity:.7}.magicx-aia-footer-key{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:22px;padding:2px 6px;border:.5px solid var(--aia-footer-hint-color, #505050);border-radius:5px;font-family:inherit;font-size:11px;line-height:18px;color:var(--aia-footer-hint-color, #505050)}.magicx-aia-footer-hint{font-family:inherit;font-size:11px;line-height:18px;color:var(--aia-footer-hint-color, #505050)}.magicx-aia-footer-brand{font-family:inherit;font-size:10px;line-height:18px;color:var(--aia-footer-brand-color, #b0b0b0)}.magicx-aia-footer-badge{display:inline-flex;align-items:center;height:23px;padding:2.5px 5.5px;border:.5px solid var(--aia-footer-badge-border, rgba(189, 189, 189, .51));border-radius:999px;font-family:inherit;font-size:10px;line-height:18px;color:var(--aia-footer-brand-color, #b0b0b0)}.magicx-aia-dropdown-skeleton-bars{display:flex;flex-direction:column;gap:20px;padding:7px 8px}.magicx-aia-dropdown-skeleton-bar{display:block;height:14px;border-radius:999px;background:var(--aia-skeleton-bg, var(--aia-pill-bg, rgba(189, 189, 189, .51)));opacity:.5;animation:aiaDropdownSkeletonPulse 1.4s ease-in-out infinite}.magicx-aia-dropdown-skeleton-bar:nth-child(2){animation-delay:.15s}.magicx-aia-dropdown-skeleton-bar:nth-child(3){animation-delay:.3s}@keyframes aiaDropdownSkeletonPulse{0%,to{opacity:.5}50%{opacity:.25}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: PillListComponent, selector: "aia-pill-list", inputs: ["pills", "activePillIndex", "rounded", "loading", "activeSelected"], outputs: ["selectPill"] }, { kind: "component", type: SuggestionGridComponent, selector: "aia-suggestion-grid", inputs: ["options", "activeIndex", "listboxId", "loading"], outputs: ["select", "highlight"] }, { kind: "component", type: StackComponent, selector: "aia-stack", inputs: ["space", "align"] }, { kind: "component", type: ClusterComponent, selector: "aia-cluster", inputs: ["gap", "align", "justify", "noWrap", "inline"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
168
|
+
AIAutocompleteDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AIAutocompleteDropdownComponent, isStandalone: true, selector: "ai-autocomplete-dropdown", inputs: { controller: "controller", showPills: "showPills", className: "className", mode: "mode" }, usesOnChanges: true, ngImport: i0, template: "<div\n *ngIf=\"vm$ | async as vm\"\n [id]=\"controller.listboxId\"\n role=\"listbox\"\n data-aia-dropdown=\"\"\n [attr.data-aia-loading]=\"vm.isLoading ? '' : null\"\n [attr.data-mode]=\"resolvedMode\"\n [attr.data-options-position]=\"vm.optionsPosition\"\n [class]=\"rootClass\"\n [class.magicx-aia-dropdown-visible]=\"vm.isVisible\"\n (mousedown)=\"preventBlur($event)\"\n>\n <aia-stack space=\"8px\">\n <aia-cluster\n *ngIf=\"vm.showsPills\"\n class=\"magicx-aia-dropdown-pillbar\"\n data-aia-pillbar=\"\"\n [noWrap]=\"true\"\n >\n <aia-pill-list\n [pills]=\"vm.pills\"\n [activePillIndex]=\"0\"\n [activeSelected]=\"vm.isActivePillSelected\"\n [rounded]=\"true\"\n [loading]=\"vm.isLoading\"\n (selectPill)=\"onPillClick($event)\"\n ></aia-pill-list>\n </aia-cluster>\n\n <aia-suggestion-grid\n *ngIf=\"vm.showsOptions\"\n [options]=\"vm.options\"\n [activeIndex]=\"vm.activeIndex\"\n [listboxId]=\"controller.listboxId\"\n [loading]=\"vm.isLoading\"\n (select)=\"onSelect($event)\"\n (highlight)=\"onHighlight($event)\"\n ></aia-suggestion-grid>\n\n <div\n *ngIf=\"vm.showsFallbackSkeleton\"\n class=\"magicx-aia-dropdown-skeleton-bars\"\n data-aia-skeleton-bars=\"\"\n >\n <span\n *ngFor=\"let w of fallbackSkeletonBarWidths; trackBy: trackByWidth\"\n class=\"magicx-aia-dropdown-skeleton-bar\"\n [style.width.px]=\"w\"\n ></span>\n </div>\n\n <footer class=\"magicx-aia-footer\" data-aia-footer=\"\">\n <div class=\"magicx-aia-footer-divider\"></div>\n <div class=\"magicx-aia-footer-row\">\n <span class=\"magicx-aia-footer-hint-group\">\n <kbd class=\"magicx-aia-footer-key\">{{ vm.footerKey }}</kbd>\n <span class=\"magicx-aia-footer-hint\">{{ vm.footerHint }}</span>\n </span>\n <a\n class=\"magicx-aia-footer-brand-link\"\n href=\"https://ai-autocomplete.com\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <span class=\"magicx-aia-footer-brand\">AI</span>\n <span class=\"magicx-aia-footer-badge\">Autocomplete</span>\n </a>\n </div>\n </footer>\n </aia-stack>\n</div>\n", styles: [":where(.magicx-aia,.magicx-aia *,.magicx-aia *::before,.magicx-aia *::after){box-sizing:border-box}:where(.magicx-aia){--aia-primitive-neutral-0: #000000;--aia-primitive-neutral-250: #323232;--aia-primitive-neutral-300: #333539;--aia-primitive-neutral-400: #4a4a4a;--aia-primitive-neutral-500: #505050;--aia-primitive-neutral-700: #b0b0b0;--aia-primitive-neutral-750: #bdbdbd;--aia-primitive-neutral-900: #e7e7e7;--aia-primitive-neutral-1000: #ffffff;--aia-primitive-blue-50: #eef2ff;--aia-primitive-neutral-750-a50: rgba(189, 189, 189, .51);--aia-primitive-neutral-700-a40: rgba(176, 176, 176, .4)}:where(.magicx-aia),:where(.magicx-aia[data-mode=\"light\"]){--aia-surface: var(--aia-primitive-neutral-1000);--aia-border: var(--aia-primitive-neutral-700);--aia-dropdown-border: var( --aia-primitive-neutral-900 );--aia-dropdown-shadow: 0 8px 12px rgba(0, 0, 0, .1);--aia-pill-bg: var(--aia-primitive-neutral-750);--aia-pill-color: var(--aia-primitive-neutral-300);--aia-pill-font-size: 14px;--aia-option-bg: var(--aia-primitive-blue-50);--aia-option-color: var(--aia-primitive-neutral-500);--aia-option-color-selected: var(--aia-primitive-neutral-0);--aia-option-font-size: 14px;--aia-written-text-color: var(--aia-primitive-neutral-0);--aia-written-text-font-size: 14px;--aia-caret-color: var(--aia-written-text-color, #000000);--aia-submit-bg: var(--aia-primitive-neutral-0);--aia-submit-color: var(--aia-primitive-neutral-1000);--aia-color-text-muted: #6b7280;--aia-skeleton-bg: var(--aia-primitive-neutral-750-a50);--aia-streak-rgb: 99, 102, 241;--aia-streak-glass-bg: rgba(99, 102, 241, .1);--aia-footer-divider: var(--aia-primitive-neutral-700-a40);--aia-footer-hint-color: var(--aia-primitive-neutral-500);--aia-footer-brand-color: var(--aia-primitive-neutral-700);--aia-footer-badge-border: var(--aia-primitive-neutral-750-a50)}:where(.magicx-aia[data-mode=\"dark\"]){--aia-surface: var(--aia-primitive-neutral-0);--aia-border: var(--aia-primitive-neutral-500);--aia-dropdown-border: var( --aia-primitive-neutral-400 );--aia-dropdown-shadow: 0 8px 12px rgba(0, 0, 0, .1);--aia-pill-bg: var(--aia-primitive-neutral-750);--aia-pill-color: var(--aia-primitive-neutral-700);--aia-pill-font-size: 14px;--aia-option-bg: var(--aia-primitive-neutral-250);--aia-option-color: var(--aia-primitive-neutral-700);--aia-option-color-selected: var(--aia-primitive-neutral-1000);--aia-option-font-size: 14px;--aia-written-text-color: var(--aia-primitive-neutral-1000);--aia-written-text-font-size: 14px;--aia-caret-color: var(--aia-written-text-color, #ffffff);--aia-submit-bg: var(--aia-primitive-neutral-1000);--aia-submit-color: var(--aia-primitive-neutral-0);--aia-color-text-muted: #c1c4cb;--aia-skeleton-bg: var(--aia-primitive-neutral-300);--aia-streak-rgb: 255, 255, 255;--aia-streak-glass-bg: rgba(255, 255, 255, .1);--aia-footer-divider: rgba(255, 255, 255, .15);--aia-footer-hint-color: var(--aia-primitive-neutral-700);--aia-footer-brand-color: var(--aia-primitive-neutral-500);--aia-footer-badge-border: var(--aia-primitive-neutral-500)}:where(.magicx-aia[data-options-position=\"above\"]) [data-aia-dropdown],[data-aia-dropdown][data-options-position=above]{top:auto;bottom:100%;margin-top:0;margin-bottom:6px}:where(.magicx-aia[data-options-position=\"above\"]) [data-aia-dropdown] .aia-stack,[data-aia-dropdown][data-options-position=above] .aia-stack{flex-direction:column-reverse}:where(.magicx-aia[data-options-position=\"above\"]) [data-aia-dropdown] .magicx-aia-footer,[data-aia-dropdown][data-options-position=above] .magicx-aia-footer{flex-direction:column-reverse}\n", ".magicx-aia-dropdown{position:absolute;left:0;right:0;top:100%;max-width:544px;margin-top:6px;display:flex;flex-direction:column;box-sizing:border-box;padding:10px 8px;overflow:hidden;container-type:inline-size;z-index:10;opacity:0;pointer-events:none;transition:opacity .4s cubic-bezier(.4,0,.2,1);background:var(--aia-surface, #ffffff);border:1px solid var(--aia-dropdown-border, #e5e7eb);border-radius:18px;box-shadow:var(--aia-dropdown-shadow, 0 8px 12px rgba(0, 0, 0, .1))}.magicx-aia-dropdown[data-aia-surface=glass]{background:transparent;border-color:transparent;box-shadow:#fff -3.2px -3.2px 3.2px -3.2px inset,#fff 6.4px 6.4px 1.6px -8px inset,var(--aia-dropdown-bg, transparent) -6.4px 6.4px 1.6px -8px inset,var(--aia-dropdown-bg, transparent) 6.4px -6.4px 1.6px -8px inset,#ffffff26 -1.6px 0 0 -1.6px inset,#ffffff26 0 -1.6px 0 -1.6px inset,#ffffff4d 0 1.6px inset,#ffffff4d 1.6px 0 inset,inset 0 0 30px 5px #0000000d,#00000014 0 0 30px 2px;backdrop-filter:blur(30px)}.magicx-aia-dropdown-visible{opacity:1;pointer-events:auto}.magicx-aia-dropdown-pillbar{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 48px),transparent 100%);-webkit-mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 48px),transparent 100%)}.magicx-aia-dropdown-pillbar::-webkit-scrollbar{display:none}.magicx-aia-footer{display:flex;flex-direction:column;gap:8px;padding:0 8px}.magicx-aia-footer-divider{border-top:1px solid var(--aia-footer-divider, rgba(176, 176, 176, .4))}.magicx-aia-footer-row{display:flex;align-items:center;justify-content:space-between}.magicx-aia-footer-hint-group{display:inline-flex;align-items:center;gap:5px}.magicx-aia-footer-brand-link{display:inline-flex;align-items:center;gap:2px;text-decoration:none;cursor:pointer;transition:opacity .15s ease-out}.magicx-aia-footer-brand-link:hover{opacity:.7}.magicx-aia-footer-key{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:22px;padding:2px 6px;border:.5px solid var(--aia-footer-hint-color, #505050);border-radius:5px;font-family:inherit;font-size:11px;line-height:18px;color:var(--aia-footer-hint-color, #505050)}.magicx-aia-footer-hint{font-family:inherit;font-size:11px;line-height:18px;color:var(--aia-footer-hint-color, #505050)}.magicx-aia-footer-brand{font-family:inherit;font-size:10px;line-height:18px;color:var(--aia-footer-brand-color, #b0b0b0)}.magicx-aia-footer-badge{display:inline-flex;align-items:center;height:23px;padding:2.5px 5.5px;border:.5px solid var(--aia-footer-badge-border, rgba(189, 189, 189, .51));border-radius:999px;font-family:inherit;font-size:10px;line-height:18px;color:var(--aia-footer-brand-color, #b0b0b0)}@media (max-width: 768px){.magicx-aia-footer-divider,.magicx-aia-footer-hint-group{display:none}.magicx-aia-footer-row{justify-content:flex-end}}.magicx-aia-dropdown-skeleton-bars{display:flex;flex-direction:column;gap:20px;padding:7px 8px}.magicx-aia-dropdown-skeleton-bar{display:block;height:14px;border-radius:999px;background:var(--aia-skeleton-bg, var(--aia-pill-bg, rgba(189, 189, 189, .51)));opacity:.5;animation:aiaDropdownSkeletonPulse 1.4s ease-in-out infinite}.magicx-aia-dropdown-skeleton-bar:nth-child(2){animation-delay:.15s}.magicx-aia-dropdown-skeleton-bar:nth-child(3){animation-delay:.3s}@keyframes aiaDropdownSkeletonPulse{0%,to{opacity:.5}50%{opacity:.25}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: PillListComponent, selector: "aia-pill-list", inputs: ["pills", "activePillIndex", "rounded", "loading", "activeSelected"], outputs: ["selectPill"] }, { kind: "component", type: SuggestionGridComponent, selector: "aia-suggestion-grid", inputs: ["options", "activeIndex", "listboxId", "loading"], outputs: ["select", "highlight"] }, { kind: "component", type: StackComponent, selector: "aia-stack", inputs: ["space", "align"] }, { kind: "component", type: ClusterComponent, selector: "aia-cluster", inputs: ["gap", "align", "justify", "noWrap", "inline"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
169
169
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AIAutocompleteDropdownComponent, decorators: [{
|
|
170
170
|
type: Component,
|
|
171
171
|
args: [{ selector: "ai-autocomplete-dropdown", standalone: true, imports: [
|
|
@@ -174,7 +174,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
174
174
|
SuggestionGridComponent,
|
|
175
175
|
StackComponent,
|
|
176
176
|
ClusterComponent,
|
|
177
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div\n *ngIf=\"vm$ | async as vm\"\n [id]=\"controller.listboxId\"\n role=\"listbox\"\n data-aia-dropdown=\"\"\n [attr.data-aia-loading]=\"vm.isLoading ? '' : null\"\n [attr.data-mode]=\"resolvedMode\"\n [attr.data-options-position]=\"vm.optionsPosition\"\n [class]=\"rootClass\"\n [class.magicx-aia-dropdown-visible]=\"vm.isVisible\"\n (mousedown)=\"preventBlur($event)\"\n>\n <aia-stack space=\"8px\">\n <aia-cluster\n *ngIf=\"vm.showsPills\"\n class=\"magicx-aia-dropdown-pillbar\"\n data-aia-pillbar=\"\"\n [noWrap]=\"true\"\n >\n <aia-pill-list\n [pills]=\"vm.pills\"\n [activePillIndex]=\"0\"\n [activeSelected]=\"vm.isActivePillSelected\"\n [rounded]=\"true\"\n [loading]=\"vm.isLoading\"\n (selectPill)=\"onPillClick($event)\"\n ></aia-pill-list>\n </aia-cluster>\n\n <aia-suggestion-grid\n *ngIf=\"vm.showsOptions\"\n [options]=\"vm.options\"\n [activeIndex]=\"vm.activeIndex\"\n [listboxId]=\"controller.listboxId\"\n [loading]=\"vm.isLoading\"\n (select)=\"onSelect($event)\"\n (highlight)=\"onHighlight($event)\"\n ></aia-suggestion-grid>\n\n <div\n *ngIf=\"vm.showsFallbackSkeleton\"\n class=\"magicx-aia-dropdown-skeleton-bars\"\n data-aia-skeleton-bars=\"\"\n >\n <span\n *ngFor=\"let w of fallbackSkeletonBarWidths; trackBy: trackByWidth\"\n class=\"magicx-aia-dropdown-skeleton-bar\"\n [style.width.px]=\"w\"\n ></span>\n </div>\n\n <footer class=\"magicx-aia-footer\" data-aia-footer=\"\">\n <div class=\"magicx-aia-footer-divider\"></div>\n <div class=\"magicx-aia-footer-row\">\n <span class=\"magicx-aia-footer-hint-group\">\n <kbd class=\"magicx-aia-footer-key\">{{ vm.footerKey }}</kbd>\n <span class=\"magicx-aia-footer-hint\">{{ vm.footerHint }}</span>\n </span>\n <a\n class=\"magicx-aia-footer-brand-link\"\n href=\"https://ai-autocomplete.com\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <span class=\"magicx-aia-footer-brand\">AI</span>\n <span class=\"magicx-aia-footer-badge\">Autocomplete</span>\n </a>\n </div>\n </footer>\n </aia-stack>\n</div>\n", styles: [":where(.magicx-aia,.magicx-aia *,.magicx-aia *::before,.magicx-aia *::after){box-sizing:border-box}:where(.magicx-aia),:where(.magicx-aia[data-mode=\"light\"]){--aia-surface:
|
|
177
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div\n *ngIf=\"vm$ | async as vm\"\n [id]=\"controller.listboxId\"\n role=\"listbox\"\n data-aia-dropdown=\"\"\n [attr.data-aia-loading]=\"vm.isLoading ? '' : null\"\n [attr.data-mode]=\"resolvedMode\"\n [attr.data-options-position]=\"vm.optionsPosition\"\n [class]=\"rootClass\"\n [class.magicx-aia-dropdown-visible]=\"vm.isVisible\"\n (mousedown)=\"preventBlur($event)\"\n>\n <aia-stack space=\"8px\">\n <aia-cluster\n *ngIf=\"vm.showsPills\"\n class=\"magicx-aia-dropdown-pillbar\"\n data-aia-pillbar=\"\"\n [noWrap]=\"true\"\n >\n <aia-pill-list\n [pills]=\"vm.pills\"\n [activePillIndex]=\"0\"\n [activeSelected]=\"vm.isActivePillSelected\"\n [rounded]=\"true\"\n [loading]=\"vm.isLoading\"\n (selectPill)=\"onPillClick($event)\"\n ></aia-pill-list>\n </aia-cluster>\n\n <aia-suggestion-grid\n *ngIf=\"vm.showsOptions\"\n [options]=\"vm.options\"\n [activeIndex]=\"vm.activeIndex\"\n [listboxId]=\"controller.listboxId\"\n [loading]=\"vm.isLoading\"\n (select)=\"onSelect($event)\"\n (highlight)=\"onHighlight($event)\"\n ></aia-suggestion-grid>\n\n <div\n *ngIf=\"vm.showsFallbackSkeleton\"\n class=\"magicx-aia-dropdown-skeleton-bars\"\n data-aia-skeleton-bars=\"\"\n >\n <span\n *ngFor=\"let w of fallbackSkeletonBarWidths; trackBy: trackByWidth\"\n class=\"magicx-aia-dropdown-skeleton-bar\"\n [style.width.px]=\"w\"\n ></span>\n </div>\n\n <footer class=\"magicx-aia-footer\" data-aia-footer=\"\">\n <div class=\"magicx-aia-footer-divider\"></div>\n <div class=\"magicx-aia-footer-row\">\n <span class=\"magicx-aia-footer-hint-group\">\n <kbd class=\"magicx-aia-footer-key\">{{ vm.footerKey }}</kbd>\n <span class=\"magicx-aia-footer-hint\">{{ vm.footerHint }}</span>\n </span>\n <a\n class=\"magicx-aia-footer-brand-link\"\n href=\"https://ai-autocomplete.com\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <span class=\"magicx-aia-footer-brand\">AI</span>\n <span class=\"magicx-aia-footer-badge\">Autocomplete</span>\n </a>\n </div>\n </footer>\n </aia-stack>\n</div>\n", styles: [":where(.magicx-aia,.magicx-aia *,.magicx-aia *::before,.magicx-aia *::after){box-sizing:border-box}:where(.magicx-aia){--aia-primitive-neutral-0: #000000;--aia-primitive-neutral-250: #323232;--aia-primitive-neutral-300: #333539;--aia-primitive-neutral-400: #4a4a4a;--aia-primitive-neutral-500: #505050;--aia-primitive-neutral-700: #b0b0b0;--aia-primitive-neutral-750: #bdbdbd;--aia-primitive-neutral-900: #e7e7e7;--aia-primitive-neutral-1000: #ffffff;--aia-primitive-blue-50: #eef2ff;--aia-primitive-neutral-750-a50: rgba(189, 189, 189, .51);--aia-primitive-neutral-700-a40: rgba(176, 176, 176, .4)}:where(.magicx-aia),:where(.magicx-aia[data-mode=\"light\"]){--aia-surface: var(--aia-primitive-neutral-1000);--aia-border: var(--aia-primitive-neutral-700);--aia-dropdown-border: var( --aia-primitive-neutral-900 );--aia-dropdown-shadow: 0 8px 12px rgba(0, 0, 0, .1);--aia-pill-bg: var(--aia-primitive-neutral-750);--aia-pill-color: var(--aia-primitive-neutral-300);--aia-pill-font-size: 14px;--aia-option-bg: var(--aia-primitive-blue-50);--aia-option-color: var(--aia-primitive-neutral-500);--aia-option-color-selected: var(--aia-primitive-neutral-0);--aia-option-font-size: 14px;--aia-written-text-color: var(--aia-primitive-neutral-0);--aia-written-text-font-size: 14px;--aia-caret-color: var(--aia-written-text-color, #000000);--aia-submit-bg: var(--aia-primitive-neutral-0);--aia-submit-color: var(--aia-primitive-neutral-1000);--aia-color-text-muted: #6b7280;--aia-skeleton-bg: var(--aia-primitive-neutral-750-a50);--aia-streak-rgb: 99, 102, 241;--aia-streak-glass-bg: rgba(99, 102, 241, .1);--aia-footer-divider: var(--aia-primitive-neutral-700-a40);--aia-footer-hint-color: var(--aia-primitive-neutral-500);--aia-footer-brand-color: var(--aia-primitive-neutral-700);--aia-footer-badge-border: var(--aia-primitive-neutral-750-a50)}:where(.magicx-aia[data-mode=\"dark\"]){--aia-surface: var(--aia-primitive-neutral-0);--aia-border: var(--aia-primitive-neutral-500);--aia-dropdown-border: var( --aia-primitive-neutral-400 );--aia-dropdown-shadow: 0 8px 12px rgba(0, 0, 0, .1);--aia-pill-bg: var(--aia-primitive-neutral-750);--aia-pill-color: var(--aia-primitive-neutral-700);--aia-pill-font-size: 14px;--aia-option-bg: var(--aia-primitive-neutral-250);--aia-option-color: var(--aia-primitive-neutral-700);--aia-option-color-selected: var(--aia-primitive-neutral-1000);--aia-option-font-size: 14px;--aia-written-text-color: var(--aia-primitive-neutral-1000);--aia-written-text-font-size: 14px;--aia-caret-color: var(--aia-written-text-color, #ffffff);--aia-submit-bg: var(--aia-primitive-neutral-1000);--aia-submit-color: var(--aia-primitive-neutral-0);--aia-color-text-muted: #c1c4cb;--aia-skeleton-bg: var(--aia-primitive-neutral-300);--aia-streak-rgb: 255, 255, 255;--aia-streak-glass-bg: rgba(255, 255, 255, .1);--aia-footer-divider: rgba(255, 255, 255, .15);--aia-footer-hint-color: var(--aia-primitive-neutral-700);--aia-footer-brand-color: var(--aia-primitive-neutral-500);--aia-footer-badge-border: var(--aia-primitive-neutral-500)}:where(.magicx-aia[data-options-position=\"above\"]) [data-aia-dropdown],[data-aia-dropdown][data-options-position=above]{top:auto;bottom:100%;margin-top:0;margin-bottom:6px}:where(.magicx-aia[data-options-position=\"above\"]) [data-aia-dropdown] .aia-stack,[data-aia-dropdown][data-options-position=above] .aia-stack{flex-direction:column-reverse}:where(.magicx-aia[data-options-position=\"above\"]) [data-aia-dropdown] .magicx-aia-footer,[data-aia-dropdown][data-options-position=above] .magicx-aia-footer{flex-direction:column-reverse}\n", ".magicx-aia-dropdown{position:absolute;left:0;right:0;top:100%;max-width:544px;margin-top:6px;display:flex;flex-direction:column;box-sizing:border-box;padding:10px 8px;overflow:hidden;container-type:inline-size;z-index:10;opacity:0;pointer-events:none;transition:opacity .4s cubic-bezier(.4,0,.2,1);background:var(--aia-surface, #ffffff);border:1px solid var(--aia-dropdown-border, #e5e7eb);border-radius:18px;box-shadow:var(--aia-dropdown-shadow, 0 8px 12px rgba(0, 0, 0, .1))}.magicx-aia-dropdown[data-aia-surface=glass]{background:transparent;border-color:transparent;box-shadow:#fff -3.2px -3.2px 3.2px -3.2px inset,#fff 6.4px 6.4px 1.6px -8px inset,var(--aia-dropdown-bg, transparent) -6.4px 6.4px 1.6px -8px inset,var(--aia-dropdown-bg, transparent) 6.4px -6.4px 1.6px -8px inset,#ffffff26 -1.6px 0 0 -1.6px inset,#ffffff26 0 -1.6px 0 -1.6px inset,#ffffff4d 0 1.6px inset,#ffffff4d 1.6px 0 inset,inset 0 0 30px 5px #0000000d,#00000014 0 0 30px 2px;backdrop-filter:blur(30px)}.magicx-aia-dropdown-visible{opacity:1;pointer-events:auto}.magicx-aia-dropdown-pillbar{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 48px),transparent 100%);-webkit-mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 48px),transparent 100%)}.magicx-aia-dropdown-pillbar::-webkit-scrollbar{display:none}.magicx-aia-footer{display:flex;flex-direction:column;gap:8px;padding:0 8px}.magicx-aia-footer-divider{border-top:1px solid var(--aia-footer-divider, rgba(176, 176, 176, .4))}.magicx-aia-footer-row{display:flex;align-items:center;justify-content:space-between}.magicx-aia-footer-hint-group{display:inline-flex;align-items:center;gap:5px}.magicx-aia-footer-brand-link{display:inline-flex;align-items:center;gap:2px;text-decoration:none;cursor:pointer;transition:opacity .15s ease-out}.magicx-aia-footer-brand-link:hover{opacity:.7}.magicx-aia-footer-key{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:22px;padding:2px 6px;border:.5px solid var(--aia-footer-hint-color, #505050);border-radius:5px;font-family:inherit;font-size:11px;line-height:18px;color:var(--aia-footer-hint-color, #505050)}.magicx-aia-footer-hint{font-family:inherit;font-size:11px;line-height:18px;color:var(--aia-footer-hint-color, #505050)}.magicx-aia-footer-brand{font-family:inherit;font-size:10px;line-height:18px;color:var(--aia-footer-brand-color, #b0b0b0)}.magicx-aia-footer-badge{display:inline-flex;align-items:center;height:23px;padding:2.5px 5.5px;border:.5px solid var(--aia-footer-badge-border, rgba(189, 189, 189, .51));border-radius:999px;font-family:inherit;font-size:10px;line-height:18px;color:var(--aia-footer-brand-color, #b0b0b0)}@media (max-width: 768px){.magicx-aia-footer-divider,.magicx-aia-footer-hint-group{display:none}.magicx-aia-footer-row{justify-content:flex-end}}.magicx-aia-dropdown-skeleton-bars{display:flex;flex-direction:column;gap:20px;padding:7px 8px}.magicx-aia-dropdown-skeleton-bar{display:block;height:14px;border-radius:999px;background:var(--aia-skeleton-bg, var(--aia-pill-bg, rgba(189, 189, 189, .51)));opacity:.5;animation:aiaDropdownSkeletonPulse 1.4s ease-in-out infinite}.magicx-aia-dropdown-skeleton-bar:nth-child(2){animation-delay:.15s}.magicx-aia-dropdown-skeleton-bar:nth-child(3){animation-delay:.3s}@keyframes aiaDropdownSkeletonPulse{0%,to{opacity:.5}50%{opacity:.25}}\n"] }]
|
|
178
178
|
}], propDecorators: { controller: [{
|
|
179
179
|
type: Input
|
|
180
180
|
}], showPills: [{
|
|
@@ -184,4 +184,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
184
184
|
}], mode: [{
|
|
185
185
|
type: Input
|
|
186
186
|
}] } });
|
|
187
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWktYXV0b2NvbXBsZXRlLWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvYWktYXV0b2NvbXBsZXRlLWRyb3Bkb3duL2FpLWF1dG9jb21wbGV0ZS1kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvbGliL2FpLWF1dG9jb21wbGV0ZS1kcm9wZG93bi9haS1hdXRvY29tcGxldGUtZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUtOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsYUFBYSxHQUdkLE1BQU0scUNBQXFDLENBQUM7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQW1CLE1BQU0sTUFBTSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDcEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDOUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sdURBQXVELENBQUM7OztBQW9CaEc7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFtQkgsTUFBTSxPQUFPLCtCQUErQjtJQWxCNUM7UUFxQkUsMkVBQTJFO1FBQ2xFLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFXMUIsb0ZBQW9GO1FBQ3BGLGlCQUFZLEdBQTRCLElBQUksQ0FBQztRQUc1QixRQUFHLEdBQUcsTUFBTSxD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QUFFLENBQUM7UUFDbkMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFJRCxXQUFXLENBQUMsS0FBYTtRQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsUUFBUSxDQUFDLE1BQXdCO1FBQy9CLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBYTtRQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxXQUFXLENBQUMsS0FBWTtRQUN0QiwyRUFBMkU7UUFDM0UsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3pCLENBQUM7OzZIQXZMVSwrQkFBK0I7aUhBQS9CLCtCQUErQiw2TUM5RTVDLHd3RUF1RUEsaWlMRFBJLFlBQVkscVRBQ1osaUJBQWlCLGlLQUNqQix1QkFBdUIsOEpBQ3ZCLGNBQWMsa0ZBQ2QsZ0JBQWdCOzRGQVVQLCtCQUErQjtrQkFsQjNDLFNBQVM7K0JBQ0UsMEJBQTBCLGNBQ3hCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGlCQUFpQjt3QkFDakIsdUJBQXVCO3dCQUN2QixjQUFjO3dCQUNkLGdCQUFnQjtxQkFDakIsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUk7OEJBUzVCLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsU0FBUztzQkFBakIsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQU9HLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgaW5qZWN0LFxuICB0eXBlIE9uQ2hhbmdlcyxcbiAgdHlwZSBPbkRlc3Ryb3ksXG4gIHR5cGUgT25Jbml0LFxuICB0eXBlIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtcbiAgdHlwZSBBcHBlYXJhbmNlTW9kZSxcbiAgZ2V0Rm9vdGVySGludCxcbiAgdHlwZSBTdWdnZXN0aW9uLFxuICB0eXBlIFN1Z2dlc3Rpb25PcHRpb24sXG59IGZyb20gXCJAbWFnaWN4LWVuZy9haS1hdXRvY29tcGxldGUtdmFuaWxsYVwiO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCB0eXBlIE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQgdHlwZSB7IEFJQXV0b2NvbXBsZXRlQ29udHJvbGxlciB9IGZyb20gXCIuLi9jb250cm9sbGVyL2FpLWF1dG9jb21wbGV0ZS5jb250cm9sbGVyXCI7XG5pbXBvcnQgeyBDbHVzdGVyQ29tcG9uZW50IH0gZnJvbSBcIi4uL2ludGVybmFsL2xheW91dC9jbHVzdGVyLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgU3RhY2tDb21wb25lbnQgfSBmcm9tIFwiLi4vaW50ZXJuYWwvbGF5b3V0L3N0YWNrLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgUGlsbExpc3RDb21wb25lbnQgfSBmcm9tIFwiLi4vaW50ZXJuYWwvcGlsbC1saXN0L3BpbGwtbGlzdC5jb21wb25lbnRcIjtcbmltcG9ydCB7IFN1Z2dlc3Rpb25HcmlkQ29tcG9uZW50IH0gZnJvbSBcIi4uL2ludGVybmFsL3N1Z2dlc3Rpb24tZ3JpZC9zdWdnZXN0aW9uLWdyaWQuY29tcG9uZW50XCI7XG5cbmludGVyZmFjZSBEcm9wZG93blZtIHtcbiAgcGlsbHM6IFN1Z2dlc3Rpb25bXTtcbiAgb3B0aW9uczogU3VnZ2VzdGlvbk9wdGlvbltdO1xuICBhY3RpdmVJbmRleDogbnVtYmVyO1xuICBpc0FjdGl2ZVBpbGxTZWxlY3RlZDogYm9vbGVhbjtcbiAgaXNMb2FkaW5nOiBib29sZWFuO1xuICBzaG93c1BpbGxzOiBib29sZWFuO1xuICBzaG93c09wdGlvbnM6IGJvb2xlYW47XG4gIHNob3dzRmFsbGJhY2tTa2VsZXRvbjogYm9vbGVhbjtcbiAgaXNWaXNpYmxlOiBib29sZWFuO1xuICBmb290ZXJLZXk6IHN0cmluZztcbiAgZm9vdGVySGludDogc3RyaW5nO1xuICBvcHRpb25zUG9zaXRpb246IFwiYWJvdmVcIiB8IFwiYmVsb3dcIjtcbn1cblxuLyoqIFRoZSBjb250ZW50LWJlYXJpbmcgZmllbGRzIG9mIHRoZSB2aWV3LW1vZGVsIChldmVyeXRoaW5nIGJ1dCBgaXNWaXNpYmxlYCkuICovXG50eXBlIERyb3Bkb3duQ29udGVudCA9IE9taXQ8RHJvcGRvd25WbSwgXCJpc1Zpc2libGVcIj47XG5cbi8qKlxuICogVGllciAyIGRyb3Bkb3duIGNvbXBvbmVudCDigJQgdGhlIEFuZ3VsYXIgZXF1aXZhbGVudCBvZiBSZWFjdCdzXG4gKiBgPEFJQXV0b2NvbXBsZXRlRHJvcGRvd24gLz5gLiBSZW5kZXJzIHRoZSBwaWxsYmFyLCBvcHRpb25zIGdyaWQsIGFuZFxuICogbG9hZGluZyBza2VsZXRvbiBiYXNlZCBvbiB0aGUgc3VwcGxpZWQgY29udHJvbGxlcidzIGBkcm9wZG93biRgIHNuYXBzaG90LlxuICpcbiAqIGBgYGh0bWxcbiAqIDxhaS1hdXRvY29tcGxldGUtZHJvcGRvd24gW2NvbnRyb2xsZXJdPVwiYWNcIj48L2FpLWF1dG9jb21wbGV0ZS1kcm9wZG93bj5cbiAqIGBgYFxuICpcbiAqIEFsbCBhY3Rpb25zIChwaWxsIGNsaWNrLCBvcHRpb24gc2VsZWN0LCBvcHRpb24gaGlnaGxpZ2h0KSBhcmUgZm9yd2FyZGVkIHRvXG4gKiB0aGUgY29udHJvbGxlci4gQ29uc3VtZXJzIHdobyBuZWVkIHRvIG9ic2VydmUgdGhlc2UgZXZlbnRzIGNhbiBzdWJzY3JpYmVcbiAqIHRvIHRoZSBjb250cm9sbGVyJ3MgcGVyLWZpZWxkIG9ic2VydmFibGVzLlxuICpcbiAqIEBwdWJsaWNcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImFpLWF1dG9jb21wbGV0ZS1kcm9wZG93blwiLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFBpbGxMaXN0Q29tcG9uZW50LFxuICAgIFN1Z2dlc3Rpb25HcmlkQ29tcG9uZW50LFxuICAgIFN0YWNrQ29tcG9uZW50LFxuICAgIENsdXN0ZXJDb21wb25lbnQsXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICB0ZW1wbGF0ZVVybDogXCIuL2FpLWF1dG9jb21wbGV0ZS1kcm9wZG93bi5jb21wb25lbnQuaHRtbFwiLFxuICAvLyBUaGUgc2hhcmVkIGFwcGVhcmFuY2UgbGF5ZXIgY2FycmllcyB0aGUgZGVzaWduIHRva2VucyArIGJveC1zaXppbmcgcmVzZXQgK1xuICAvLyBvcHRpb25zUG9zaXRpb24gcmV2ZXJzYWwsIHNvIGEgc3RhbmRhbG9uZSBkcm9wZG93biAobm8gVGllciAxIGNvbXBvbmVudCBvblxuICAvLyB0aGUgcGFnZSkgaXMgZnVsbHkgc3R5bGVkIG9uY2UgYG1vZGVgIGlzIHNldC5cbiAgc3R5bGVVcmxzOiBbXCIuLi9zaGFyZWQvYXBwZWFyYW5jZS5jc3NcIiwgXCIuL2FpLWF1dG9jb21wbGV0ZS1kcm9wZG93bi5jb21wb25lbnQuY3NzXCJdLFxufSlcbmV4cG9ydCBjbGFzcyBBSUF1dG9jb21wbGV0ZURyb3Bkb3duQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIC8qKiBUaGUgY29udHJvbGxlciB0aGF0IG93bnMgdGhlIGF1dG9jb21wbGV0ZSBzdGF0ZS4gUmVxdWlyZWQuICovXG4gIEBJbnB1dCgpIGNvbnRyb2xsZXIhOiBBSUF1dG9jb21wbGV0ZUNvbnRyb2xsZXI7XG4gIC8qKiBXaGV0aGVyIHRvIHJlbmRlciB0aGUgcGlsbGJhciBhYm92ZSB0aGUgb3B0aW9ucyBncmlkLiBEZWZhdWx0OiB0cnVlLiAqL1xuICBASW5wdXQoKSBzaG93UGlsbHMgPSB0cnVlO1xuICAvKiogT3B0aW9uYWwgQ1NTIGNsYXNzIGFwcGxpZWQgdG8gdGhlIGRyb3Bkb3duIHJvb3QuICovXG4gIEBJbnB1dCgpIGNsYXNzTmFtZT86IHN0cmluZztcbiAgLyoqXG4gICAqIENvbG9yIG1vZGUgZm9yIGEgc3RhbmRhbG9uZSBkcm9wZG93bi4gV2hlbiBzZXQsIHRoZSBkcm9wZG93biBzZWxmLXNjb3BlcyB0aGVcbiAgICogZGVzaWduIHRva2VucyB0byBpdHMgb3duIHJvb3QgKGFkZHMgYG1hZ2ljeC1haWFgICsgYGRhdGEtbW9kZWApLCBzbyBpdCBuZWVkc1xuICAgKiBubyBgLm1hZ2ljeC1haWFgIHdyYXBwZXIuIGBcImF1dG9cImAgZm9sbG93cyBgcHJlZmVycy1jb2xvci1zY2hlbWVgLiBMZWF2ZSBpdFxuICAgKiB1bnNldCB3aGVuIHRoZSBkcm9wZG93biBzaXRzIGluc2lkZSBhIGAubWFnaWN4LWFpYWAgYW5jZXN0b3IgKGUuZy4gVGllciAxKS5cbiAgICovXG4gIEBJbnB1dCgpIG1vZGU/OiBBcHBlYXJhbmNlTW9kZTtcblxuICAvKiogQ29uY3JldGUgcmVzb2x2ZWQgbW9kZSwgb3IgbnVsbCB3aGVuIGBtb2RlYCBpcyB1bnNldCAoaW5oZXJpdCBmcm9tIGFuY2VzdG9yKS4gKi9cbiAgcmVzb2x2ZWRNb2RlOiBcImxpZ2h0XCIgfCBcImRhcmtcIiB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIG1vZGVNcWw/OiBNZWRpYVF1ZXJ5TGlzdDtcbiAgcHJpdmF0ZSBtb2RlTGlzdGVuZXI/OiAoKSA9PiB2b2lkO1xuICBwcml2YXRlIHJlYWRvbmx5IGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgLyoqIFJvb3QgY2xhc3MgbGlzdCDigJQgYWRkcyBgbWFnaWN4LWFpYWAgb25seSB3aGVuIHNlbGYtc2NvcGluZyB2aWEgYG1vZGVgLiAqL1xuICBnZXQgcm9vdENsYXNzKCk6IHN0cmluZyB7XG4gICAgbGV0IGNscyA9IFwibWFnaWN4LWFpYS1kcm9wZG93blwiO1xuICAgIGlmICh0aGlzLnJlc29sdmVkTW9kZSkgY2xzICs9IFwiIG1hZ2ljeC1haWFcIjtcbiAgICBpZiAodGhpcy5jbGFzc05hbWUpIGNscyArPSBgICR7dGhpcy5jbGFzc05hbWV9YDtcbiAgICByZXR1cm4gY2xzO1xuICB9XG5cbiAgLyoqIEZhbGxiYWNrIHNrZWxldG9uLWJhciB3aWR0aHMgdXNlZCB3aGVuIGxvYWRpbmcgd2l0aCB6ZXJvIGNhY2hlZCBvcHRpb25zLiAqL1xuICByZWFkb25seSBmYWxsYmFja1NrZWxldG9uQmFyV2lkdGhzID0gWzE1OSwgMTE5LCAxNjRdO1xuXG4gIC8qKlxuICAgKiBWaWV3LW1vZGVsIGRlcml2ZWQgZnJvbSB0aGUgY29udHJvbGxlcidzIGBkcm9wZG93biRgLiBBZGRzIHRocmVlIGJvb2xlYW5zXG4gICAqIChgc2hvd3NQaWxsc2AsIGBzaG93c09wdGlvbnNgLCBgc2hvd3NGYWxsYmFja1NrZWxldG9uYCwgYGlzVmlzaWJsZWApIHRoYXRcbiAgICoga2VlcCB0ZW1wbGF0ZS1sZXZlbCBsb2dpYyB0byBhIHByb3BlcnR5IHJlYWQgcGVyIMKnMTkuNi5cbiAgICpcbiAgICogSW5pdGlhbGl6ZWQgb25jZSBpbiBgbmdPbkluaXRgIOKAlCBtdXN0IE5PVCBiZSBhIGdldHRlci4gQSBnZXR0ZXIgcmV0dXJucyBhXG4gICAqIGZyZXNoIGBPYnNlcnZhYmxlYCBpbnN0YW5jZSBvbiBldmVyeSBwcm9wZXJ0eSByZWFkOyB3aXRoIE9uUHVzaCArIGBhc3luY2BcbiAgICogcGlwZSB0aGF0IG1lYW5zIGVhY2ggY2hhbmdlLWRldGVjdGlvbiBjeWNsZSB1bnN1YnNjcmliZXMvcmVzdWJzY3JpYmVzLFxuICAgKiBjYXVzaW5nIHRoZSBgKm5nSWY9XCJ2bSQgfCBhc3luYyBhcyB2bVwiYCByb290IHRvIGJyaWVmbHkgcmVzb2x2ZSBgbnVsbGBcbiAgICogYW5kIGZsaWNrZXIgdGhlIGVudGlyZSBkcm9wZG93biBET00uXG4gICAqL1xuICB2bSQhOiBPYnNlcnZhYmxlPERyb3Bkb3duVm0+O1xuXG4gIC8vIEJyaWRnZSBmb3IgdGhlIEBJbnB1dCBgc2hvd1BpbGxzYCBpbnRvIHRoZSByZWFjdGl2ZSBwaXBlbGluZS4gV2l0aG91dCB0aGlzLFxuICAvLyBjaGFuZ2luZyB0aGUgaW5wdXQgYWZ0ZXIgaW5pdCB3b3VsZG4ndCB0cmlnZ2VyIGEgbmV3IHZtIGVtaXNzaW9uIHVudGlsIHRoZVxuICAvLyBuZXh0IGNvbnRyb2xsZXIuZHJvcGRvd24kIHRpY2sg4oCUIGFuZCB3ZSdkIGxvc2UgdGhlIHNob3dQaWxscyB1cGRhdGUgZW50aXJlbHlcbiAgLy8gaWYgdGhlIGNvbnRyb2xsZXIgaXMgaWRsZS4gVXBkYXRlZCBmcm9tIG5nT25DaGFuZ2VzIGJlbG93LlxuICBwcml2YXRlIHJlYWRvbmx5IHNob3dQaWxscyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xuXG4gIC8vIExhc3QgY29udGVudCBlbWl0dGVkIHdoaWxlIHRoZSBkcm9wZG93biB3YXMgdmlzaWJsZS4gUmV1c2VkIGR1cmluZyB0aGVcbiAgLy8gY2xvc2UgZmFkZSBzbyB0aGUgcG9wdWxhdGVkIGRyb3Bkb3duIGZhZGVzIG91dCBhcyBvbmUg4oCUIHNlZSBpbml0Vm0uXG4gIHByaXZhdGUgbGFzdFZpc2libGVDb250ZW50OiBEcm9wZG93bkNvbnRlbnQgfCBudWxsID0gbnVsbDtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBTZWVkIHNob3dQaWxscyQgZnJvbSB0aGUgaW5wdXQncyByZXNvbHZlZCB2YWx1ZSBhdCBpbml0IHRpbWUuXG4gICAgdGhpcy5zaG93UGlsbHMkLm5leHQodGhpcy5zaG93UGlsbHMpO1xuICAgIHRoaXMuYXBwbHlNb2RlKCk7XG4gICAgdGhpcy5pbml0Vm0oKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1tcInNob3dQaWxsc1wiXSkge1xuICAgICAgdGhpcy5zaG93UGlsbHMkLm5leHQodGhpcy5zaG93UGlsbHMpO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlc1tcIm1vZGVcIl0gJiYgIWNoYW5nZXNbXCJtb2RlXCJdLmZpcnN0Q2hhbmdlKSB7XG4gICAgICB0aGlzLmFwcGx5TW9kZSgpO1xuICAgIH1cbiAgICAvLyBSZS1iaW5kIHZtJCB3aGVuIHRoZSBjb250cm9sbGVyIEBJbnB1dCBpcyBzd2FwcGVkIChlLmcuIGEgbXVsdGktc3RlcCBmb3JtXG4gICAgLy8gdG9nZ2xpbmcgYmV0d2VlbiBjb250cm9sbGVycykuIFdpdGhvdXQgdGhpcywgdm0kIHN0YXlzIHN1YnNjcmliZWQgdG8gdGhlXG4gICAgLy8gcHJldmlvdXMgY29udHJvbGxlcidzIGRyb3Bkb3duJCDigJQgcmVuZGVyaW5nIHN0YWxlIG9wdGlvbnMsIG9yLCBpZiB0aGF0XG4gICAgLy8gY29udHJvbGxlciB3YXMgZGVzdHJveSgpLWVkLCByZWNlaXZpbmcgYSBjb21wbGV0aW9uIHRoYXQgY29sbGFwc2VzIHRoZVxuICAgIC8vIGRyb3Bkb3duIHBlcm1hbmVudGx5LiBTa2lwIHRoZSBmaXJzdCBjaGFuZ2U6IG5nT25DaGFuZ2VzIGZpcmVzIGJlZm9yZVxuICAgIC8vIG5nT25Jbml0LCB3aGljaCBvd25zIHRoZSBpbml0aWFsIGNyZWF0aW9uLlxuICAgIGlmIChjaGFuZ2VzW1wiY29udHJvbGxlclwiXSAmJiAhY2hhbmdlc1tcImNvbnRyb2xsZXJcIl0uZmlyc3RDaGFuZ2UgJiYgdGhpcy5jb250cm9sbGVyKSB7XG4gICAgICB0aGlzLmluaXRWbSgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMudGVhcmRvd25Nb2RlTGlzdGVuZXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNvbHZlIHRoZSBgbW9kZWAgaW5wdXQgaW50byBgcmVzb2x2ZWRNb2RlYC4gVW5zZXQg4oaSIG51bGwgKHRoZSBkcm9wZG93blxuICAgKiBzdGF5cyBjbGFzcy1sZXNzIGFuZCBpbmhlcml0cyBmcm9tIGEgYC5tYWdpY3gtYWlhYCBhbmNlc3RvcikuIGBcImF1dG9cImAgcmVhZHNcbiAgICogYHByZWZlcnMtY29sb3Itc2NoZW1lYCBhbmQgdHJhY2tzIGl0IGxpdmUgdmlhIGEgbWVkaWEtcXVlcnkgbGlzdGVuZXIuXG4gICAqL1xuICBwcml2YXRlIGFwcGx5TW9kZSgpOiB2b2lkIHtcbiAgICB0aGlzLnRlYXJkb3duTW9kZUxpc3RlbmVyKCk7XG4gICAgaWYgKHRoaXMubW9kZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLnJlc29sdmVkTW9kZSA9IG51bGw7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLm1vZGUgPT09IFwibGlnaHRcIiB8fCB0aGlzLm1vZGUgPT09IFwiZGFya1wiKSB7XG4gICAgICB0aGlzLnJlc29sdmVkTW9kZSA9IHRoaXMubW9kZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gXCJhdXRvXCJcbiAgICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gXCJ1bmRlZmluZWRcIiB8fCB0eXBlb2Ygd2luZG93Lm1hdGNoTWVkaWEgIT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgdGhpcy5yZXNvbHZlZE1vZGUgPSBcImxpZ2h0XCI7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMubW9kZU1xbCA9IHdpbmRvdy5tYXRjaE1lZGlhKFwiKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKVwiKTtcbiAgICB0aGlzLnJlc29sdmVkTW9kZSA9IHRoaXMubW9kZU1xbC5tYXRjaGVzID8gXCJkYXJrXCIgOiBcImxpZ2h0XCI7XG4gICAgdGhpcy5tb2RlTGlzdGVuZXIgPSAoKSA9PiB7XG4gICAgICB0aGlzLnJlc29sdmVkTW9kZSA9IHRoaXMubW9kZU1xbD8ubWF0Y2hlcyA/IFwiZGFya1wiIDogXCJsaWdodFwiO1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfTtcbiAgICB0aGlzLm1vZGVNcWwuYWRkRXZlbnRMaXN0ZW5lcihcImNoYW5nZVwiLCB0aGlzLm1vZGVMaXN0ZW5lcik7XG4gIH1cblxuICBwcml2YXRlIHRlYXJkb3duTW9kZUxpc3RlbmVyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm1vZGVNcWwgJiYgdGhpcy5tb2RlTGlzdGVuZXIpIHtcbiAgICAgIHRoaXMubW9kZU1xbC5yZW1vdmVFdmVudExpc3RlbmVyKFwiY2hhbmdlXCIsIHRoaXMubW9kZUxpc3RlbmVyKTtcbiAgICB9XG4gICAgdGhpcy5tb2RlTXFsID0gdW5kZWZpbmVkO1xuICAgIHRoaXMubW9kZUxpc3RlbmVyID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqIEJ1aWxkIHRoZSB2aWV3LW1vZGVsIHN0cmVhbSBmcm9tIHRoZSBjdXJyZW50IGNvbnRyb2xsZXIgKyBzaG93UGlsbHMkLiAqL1xuICBwcml2YXRlIGluaXRWbSgpOiB2b2lkIHtcbiAgICB0aGlzLnZtJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuY29udHJvbGxlci5kcm9wZG93biQsIHRoaXMuc2hvd1BpbGxzJF0pLnBpcGUoXG4gICAgICBtYXAoKFtkZCwgc2hvd1BpbGxzXSkgPT4ge1xuICAgICAgICBjb25zdCBvcHRpb25zID0gZGQuc3VnZ2VzdGlvbnNbMF0/Lm9wdGlvbnMgPz8gW107XG4gICAgICAgIGNvbnN0IHNob3dzUGlsbHMgPSBzaG93UGlsbHMgJiYgKGRkLnBpbGxzLmxlbmd0aCA+IDAgfHwgZGQuaXNMb2FkaW5nKTtcbiAgICAgICAgY29uc3Qgc2hvd3NPcHRpb25zID0gb3B0aW9ucy5sZW5ndGggPiAwO1xuICAgICAgICBjb25zdCBzaG93c0ZhbGxiYWNrU2tlbGV0b24gPSBkZC5pc0xvYWRpbmcgJiYgIXNob3dzT3B0aW9ucztcbiAgICAgICAgY29uc3QgaXNWaXNpYmxlID0gZGQuaXNPcGVuICYmIChzaG93c09wdGlvbnMgfHwgc2hvd3NQaWxscyB8fCBkZC5pc0xvYWRpbmcpO1xuXG4gICAgICAgIC8vIFdoaWxlIGNsb3NpbmcsIHJldXNlIHRoZSBsYXN0IHZpc2libGUgY29udGVudCBzbyB0aGUgcG9wdWxhdGVkXG4gICAgICAgIC8vIGRyb3Bkb3duIGZhZGVzIG91dCBhcyBvbmUuIE90aGVyd2lzZSB0aGUgcGlsbHMvb3B0aW9ucyB2YW5pc2ggdGhlXG4gICAgICAgIC8vIGluc3RhbnQgdGhlIHN0YXRlIGVtcHRpZXMgKGUuZy4gc2tpcHBpbmcgdGhlIGxhc3QgcGlsbCB3aXRoIOKGkiksXG4gICAgICAgIC8vIGxlYXZpbmcgdGhlIGFsd2F5cy1wcmVzZW50IGZvb3RlciBhbG9uZSBmb3IgYSBmbGFzaCBvZiBhIGZvb3Rlci1vbmx5XG4gICAgICAgIC8vIFwibm8gb3B0aW9uc1wiIGJveCBtaWQtZmFkZS4gT25seSBgaXNWaXNpYmxlYCB0cmFja3MgbGl2ZSBzdGF0ZSB0b1xuICAgICAgICAvLyBkcml2ZSB0aGUgb3BhY2l0eSB0cmFuc2l0aW9uLlxuICAgICAgICBpZiAoIWlzVmlzaWJsZSAmJiB0aGlzLmxhc3RWaXNpYmxlQ29udGVudCkge1xuICAgICAgICAgIHJldHVybiB7IC4uLnRoaXMubGFzdFZpc2libGVDb250ZW50LCBpc1Zpc2libGU6IGZhbHNlIH07XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBvcHRpb25IaWdobGlnaHRlZCA9XG4gICAgICAgICAgZGQuYWN0aXZlSW5kZXggPj0gMCAmJiBCb29sZWFuKG9wdGlvbnNbZGQuYWN0aXZlSW5kZXhdPy5pc190YXBwYWJsZSk7XG4gICAgICAgIGNvbnN0IHsga2V5OiBmb290ZXJLZXksIGhpbnQ6IGZvb3RlckhpbnQgfSA9IGdldEZvb3RlckhpbnQoXG4gICAgICAgICAgb3B0aW9uSGlnaGxpZ2h0ZWQsXG4gICAgICAgICAgZGQuaXNJbnB1dEVtcHR5LFxuICAgICAgICApO1xuICAgICAgICBjb25zdCBjb250ZW50OiBEcm9wZG93bkNvbnRlbnQgPSB7XG4gICAgICAgICAgcGlsbHM6IGRkLnBpbGxzLFxuICAgICAgICAgIG9wdGlvbnMsXG4gICAgICAgICAgYWN0aXZlSW5kZXg6IGRkLmFjdGl2ZUluZGV4LFxuICAgICAgICAgIGlzQWN0aXZlUGlsbFNlbGVjdGVkOiBkZC5pc0FjdGl2ZVBpbGxTZWxlY3RlZCxcbiAgICAgICAgICBpc0xvYWRpbmc6IGRkLmlzTG9hZGluZyxcbiAgICAgICAgICBzaG93c1BpbGxzLFxuICAgICAgICAgIHNob3dzT3B0aW9ucyxcbiAgICAgICAgICBzaG93c0ZhbGxiYWNrU2tlbGV0b24sXG4gICAgICAgICAgZm9vdGVyS2V5LFxuICAgICAgICAgIGZvb3RlckhpbnQsXG4gICAgICAgICAgb3B0aW9uc1Bvc2l0aW9uOiBkZC5vcHRpb25zUG9zaXRpb24sXG4gICAgICAgIH07XG4gICAgICAgIGlmIChpc1Zpc2libGUpIHRoaXMubGFzdFZpc2libGVDb250ZW50ID0gY29udGVudDtcbiAgICAgICAgcmV0dXJuIHsgLi4uY29udGVudCwgaXNWaXNpYmxlIH07XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgdHJhY2tCeVdpZHRoID0gKF86IG51bWJlciwgdzogbnVtYmVyKTogbnVtYmVyID0+IHc7XG5cbiAgb25QaWxsQ2xpY2soaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuY29udHJvbGxlci5zZXRBY3RpdmVQaWxsKGluZGV4KTtcbiAgfVxuXG4gIG9uU2VsZWN0KG9wdGlvbjogU3VnZ2VzdGlvbk9wdGlvbik6IHZvaWQge1xuICAgIHRoaXMuY29udHJvbGxlci5zZWxlY3RPcHRpb24ob3B0aW9uKTtcbiAgfVxuXG4gIG9uSGlnaGxpZ2h0KGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLmNvbnRyb2xsZXIuc2V0QWN0aXZlRHJvcGRvd25JbmRleChpbmRleCk7XG4gIH1cblxuICBwcmV2ZW50Qmx1cihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAvLyBQcmV2ZW50IHRoZSBlZGl0b3IgZnJvbSBsb3NpbmcgZm9jdXMgd2hlbiBpbnRlcmFjdGluZyB3aXRoIHRoZSBkcm9wZG93bi5cbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICB9XG59XG4iLCI8ZGl2XG4gICpuZ0lmPVwidm0kIHwgYXN5bmMgYXMgdm1cIlxuICBbaWRdPVwiY29udHJvbGxlci5saXN0Ym94SWRcIlxuICByb2xlPVwibGlzdGJveFwiXG4gIGRhdGEtYWlhLWRyb3Bkb3duPVwiXCJcbiAgW2F0dHIuZGF0YS1haWEtbG9hZGluZ109XCJ2bS5pc0xvYWRpbmcgPyAnJyA6IG51bGxcIlxuICBbYXR0ci5kYXRhLW1vZGVdPVwicmVzb2x2ZWRNb2RlXCJcbiAgW2F0dHIuZGF0YS1vcHRpb25zLXBvc2l0aW9uXT1cInZtLm9wdGlvbnNQb3NpdGlvblwiXG4gIFtjbGFzc109XCJyb290Q2xhc3NcIlxuICBbY2xhc3MubWFnaWN4LWFpYS1kcm9wZG93bi12aXNpYmxlXT1cInZtLmlzVmlzaWJsZVwiXG4gIChtb3VzZWRvd24pPVwicHJldmVudEJsdXIoJGV2ZW50KVwiXG4+XG4gIDxhaWEtc3RhY2sgc3BhY2U9XCI4cHhcIj5cbiAgICA8YWlhLWNsdXN0ZXJcbiAgICAgICpuZ0lmPVwidm0uc2hvd3NQaWxsc1wiXG4gICAgICBjbGFzcz1cIm1hZ2ljeC1haWEtZHJvcGRvd24tcGlsbGJhclwiXG4gICAgICBkYXRhLWFpYS1waWxsYmFyPVwiXCJcbiAgICAgIFtub1dyYXBdPVwidHJ1ZVwiXG4gICAgPlxuICAgICAgPGFpYS1waWxsLWxpc3RcbiAgICAgICAgW3BpbGxzXT1cInZtLnBpbGxzXCJcbiAgICAgICAgW2FjdGl2ZVBpbGxJbmRleF09XCIwXCJcbiAgICAgICAgW2FjdGl2ZVNlbGVjdGVkXT1cInZtLmlzQWN0aXZlUGlsbFNlbGVjdGVkXCJcbiAgICAgICAgW3JvdW5kZWRdPVwidHJ1ZVwiXG4gICAgICAgIFtsb2FkaW5nXT1cInZtLmlzTG9hZGluZ1wiXG4gICAgICAgIChzZWxlY3RQaWxsKT1cIm9uUGlsbENsaWNrKCRldmVudClcIlxuICAgICAgPjwvYWlhLXBpbGwtbGlzdD5cbiAgICA8L2FpYS1jbHVzdGVyPlxuXG4gICAgPGFpYS1zdWdnZXN0aW9uLWdyaWRcbiAgICAgICpuZ0lmPVwidm0uc2hvd3NPcHRpb25zXCJcbiAgICAgIFtvcHRpb25zXT1cInZtLm9wdGlvbnNcIlxuICAgICAgW2FjdGl2ZUluZGV4XT1cInZtLmFjdGl2ZUluZGV4XCJcbiAgICAgIFtsaXN0Ym94SWRdPVwiY29udHJvbGxlci5saXN0Ym94SWRcIlxuICAgICAgW2xvYWRpbmddPVwidm0uaXNMb2FkaW5nXCJcbiAgICAgIChzZWxlY3QpPVwib25TZWxlY3QoJGV2ZW50KVwiXG4gICAgICAoaGlnaGxpZ2h0KT1cIm9uSGlnaGxpZ2h0KCRldmVudClcIlxuICAgID48L2FpYS1zdWdnZXN0aW9uLWdyaWQ+XG5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cInZtLnNob3dzRmFsbGJhY2tTa2VsZXRvblwiXG4gICAgICBjbGFzcz1cIm1hZ2ljeC1haWEtZHJvcGRvd24tc2tlbGV0b24tYmFyc1wiXG4gICAgICBkYXRhLWFpYS1za2VsZXRvbi1iYXJzPVwiXCJcbiAgICA+XG4gICAgICA8c3BhblxuICAgICAgICAqbmdGb3I9XCJsZXQgdyBvZiBmYWxsYmFja1NrZWxldG9uQmFyV2lkdGhzOyB0cmFja0J5OiB0cmFja0J5V2lkdGhcIlxuICAgICAgICBjbGFzcz1cIm1hZ2ljeC1haWEtZHJvcGRvd24tc2tlbGV0b24tYmFyXCJcbiAgICAgICAgW3N0eWxlLndpZHRoLnB4XT1cIndcIlxuICAgICAgPjwvc3Bhbj5cbiAgICA8L2Rpdj5cblxuICAgIDxmb290ZXIgY2xhc3M9XCJtYWdpY3gtYWlhLWZvb3RlclwiIGRhdGEtYWlhLWZvb3Rlcj1cIlwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm1hZ2ljeC1haWEtZm9vdGVyLWRpdmlkZXJcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtYWdpY3gtYWlhLWZvb3Rlci1yb3dcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtYWdpY3gtYWlhLWZvb3Rlci1oaW50LWdyb3VwXCI+XG4gICAgICAgICAgPGtiZCBjbGFzcz1cIm1hZ2ljeC1haWEtZm9vdGVyLWtleVwiPnt7IHZtLmZvb3RlcktleSB9fTwva2JkPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWFnaWN4LWFpYS1mb290ZXItaGludFwiPnt7IHZtLmZvb3RlckhpbnQgfX08L3NwYW4+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPGFcbiAgICAgICAgICBjbGFzcz1cIm1hZ2ljeC1haWEtZm9vdGVyLWJyYW5kLWxpbmtcIlxuICAgICAgICAgIGhyZWY9XCJodHRwczovL2FpLWF1dG9jb21wbGV0ZS5jb21cIlxuICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiXG4gICAgICAgID5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hZ2ljeC1haWEtZm9vdGVyLWJyYW5kXCI+QUk8L3NwYW4+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYWdpY3gtYWlhLWZvb3Rlci1iYWRnZVwiPkF1dG9jb21wbGV0ZTwvc3Bhbj5cbiAgICAgICAgPC9hPlxuICAgICAgPC9kaXY+XG4gICAgPC9mb290ZXI+XG4gIDwvYWlhLXN0YWNrPlxuPC9kaXY+XG4iXX0=
|
|
187
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWktYXV0b2NvbXBsZXRlLWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvYWktYXV0b2NvbXBsZXRlLWRyb3Bkb3duL2FpLWF1dG9jb21wbGV0ZS1kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvbGliL2FpLWF1dG9jb21wbGV0ZS1kcm9wZG93bi9haS1hdXRvY29tcGxldGUtZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUtOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsYUFBYSxHQUdkLE1BQU0scUNBQXFDLENBQUM7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQW1CLE1BQU0sTUFBTSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDcEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDOUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sdURBQXVELENBQUM7OztBQW9CaEc7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFtQkgsTUFBTSxPQUFPLCtCQUErQjtJQWxCNUM7UUFxQkUsMkVBQTJFO1FBQ2xFLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFXMUIsb0ZBQW9GO1FBQ3BGLGlCQUFZLEdBQTRCLElBQUksQ0FBQztRQUc1QixRQUFHLEdBQUcsTUFBTSxD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QUFFLENBQUM7UUFDbkMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFJRCxXQUFXLENBQUMsS0FBYTtRQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsUUFBUSxDQUFDLE1BQXdCO1FBQy9CLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBYTtRQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxXQUFXLENBQUMsS0FBWTtRQUN0QiwyRUFBMkU7UUFDM0UsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3pCLENBQUM7OzZIQXZMVSwrQkFBK0I7aUhBQS9CLCtCQUErQiw2TUM5RTVDLHd3RUF1RUEsazRORFBJLFlBQVkscVRBQ1osaUJBQWlCLGlLQUNqQix1QkFBdUIsOEpBQ3ZCLGNBQWMsa0ZBQ2QsZ0JBQWdCOzRGQVVQLCtCQUErQjtrQkFsQjNDLFNBQVM7K0JBQ0UsMEJBQTBCLGNBQ3hCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGlCQUFpQjt3QkFDakIsdUJBQXVCO3dCQUN2QixjQUFjO3dCQUNkLGdCQUFnQjtxQkFDakIsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUk7OEJBUzVCLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsU0FBUztzQkFBakIsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQU9HLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgaW5qZWN0LFxuICB0eXBlIE9uQ2hhbmdlcyxcbiAgdHlwZSBPbkRlc3Ryb3ksXG4gIHR5cGUgT25Jbml0LFxuICB0eXBlIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtcbiAgdHlwZSBBcHBlYXJhbmNlTW9kZSxcbiAgZ2V0Rm9vdGVySGludCxcbiAgdHlwZSBTdWdnZXN0aW9uLFxuICB0eXBlIFN1Z2dlc3Rpb25PcHRpb24sXG59IGZyb20gXCJAbWFnaWN4LWVuZy9haS1hdXRvY29tcGxldGUtdmFuaWxsYVwiO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCB0eXBlIE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQgdHlwZSB7IEFJQXV0b2NvbXBsZXRlQ29udHJvbGxlciB9IGZyb20gXCIuLi9jb250cm9sbGVyL2FpLWF1dG9jb21wbGV0ZS5jb250cm9sbGVyXCI7XG5pbXBvcnQgeyBDbHVzdGVyQ29tcG9uZW50IH0gZnJvbSBcIi4uL2ludGVybmFsL2xheW91dC9jbHVzdGVyLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgU3RhY2tDb21wb25lbnQgfSBmcm9tIFwiLi4vaW50ZXJuYWwvbGF5b3V0L3N0YWNrLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgUGlsbExpc3RDb21wb25lbnQgfSBmcm9tIFwiLi4vaW50ZXJuYWwvcGlsbC1saXN0L3BpbGwtbGlzdC5jb21wb25lbnRcIjtcbmltcG9ydCB7IFN1Z2dlc3Rpb25HcmlkQ29tcG9uZW50IH0gZnJvbSBcIi4uL2ludGVybmFsL3N1Z2dlc3Rpb24tZ3JpZC9zdWdnZXN0aW9uLWdyaWQuY29tcG9uZW50XCI7XG5cbmludGVyZmFjZSBEcm9wZG93blZtIHtcbiAgcGlsbHM6IFN1Z2dlc3Rpb25bXTtcbiAgb3B0aW9uczogU3VnZ2VzdGlvbk9wdGlvbltdO1xuICBhY3RpdmVJbmRleDogbnVtYmVyO1xuICBpc0FjdGl2ZVBpbGxTZWxlY3RlZDogYm9vbGVhbjtcbiAgaXNMb2FkaW5nOiBib29sZWFuO1xuICBzaG93c1BpbGxzOiBib29sZWFuO1xuICBzaG93c09wdGlvbnM6IGJvb2xlYW47XG4gIHNob3dzRmFsbGJhY2tTa2VsZXRvbjogYm9vbGVhbjtcbiAgaXNWaXNpYmxlOiBib29sZWFuO1xuICBmb290ZXJLZXk6IHN0cmluZztcbiAgZm9vdGVySGludDogc3RyaW5nO1xuICBvcHRpb25zUG9zaXRpb246IFwiYWJvdmVcIiB8IFwiYmVsb3dcIjtcbn1cblxuLyoqIFRoZSBjb250ZW50LWJlYXJpbmcgZmllbGRzIG9mIHRoZSB2aWV3LW1vZGVsIChldmVyeXRoaW5nIGJ1dCBgaXNWaXNpYmxlYCkuICovXG50eXBlIERyb3Bkb3duQ29udGVudCA9IE9taXQ8RHJvcGRvd25WbSwgXCJpc1Zpc2libGVcIj47XG5cbi8qKlxuICogVGllciAyIGRyb3Bkb3duIGNvbXBvbmVudCDigJQgdGhlIEFuZ3VsYXIgZXF1aXZhbGVudCBvZiBSZWFjdCdzXG4gKiBgPEFJQXV0b2NvbXBsZXRlRHJvcGRvd24gLz5gLiBSZW5kZXJzIHRoZSBwaWxsYmFyLCBvcHRpb25zIGdyaWQsIGFuZFxuICogbG9hZGluZyBza2VsZXRvbiBiYXNlZCBvbiB0aGUgc3VwcGxpZWQgY29udHJvbGxlcidzIGBkcm9wZG93biRgIHNuYXBzaG90LlxuICpcbiAqIGBgYGh0bWxcbiAqIDxhaS1hdXRvY29tcGxldGUtZHJvcGRvd24gW2NvbnRyb2xsZXJdPVwiYWNcIj48L2FpLWF1dG9jb21wbGV0ZS1kcm9wZG93bj5cbiAqIGBgYFxuICpcbiAqIEFsbCBhY3Rpb25zIChwaWxsIGNsaWNrLCBvcHRpb24gc2VsZWN0LCBvcHRpb24gaGlnaGxpZ2h0KSBhcmUgZm9yd2FyZGVkIHRvXG4gKiB0aGUgY29udHJvbGxlci4gQ29uc3VtZXJzIHdobyBuZWVkIHRvIG9ic2VydmUgdGhlc2UgZXZlbnRzIGNhbiBzdWJzY3JpYmVcbiAqIHRvIHRoZSBjb250cm9sbGVyJ3MgcGVyLWZpZWxkIG9ic2VydmFibGVzLlxuICpcbiAqIEBwdWJsaWNcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImFpLWF1dG9jb21wbGV0ZS1kcm9wZG93blwiLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFBpbGxMaXN0Q29tcG9uZW50LFxuICAgIFN1Z2dlc3Rpb25HcmlkQ29tcG9uZW50LFxuICAgIFN0YWNrQ29tcG9uZW50LFxuICAgIENsdXN0ZXJDb21wb25lbnQsXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICB0ZW1wbGF0ZVVybDogXCIuL2FpLWF1dG9jb21wbGV0ZS1kcm9wZG93bi5jb21wb25lbnQuaHRtbFwiLFxuICAvLyBUaGUgc2hhcmVkIGFwcGVhcmFuY2UgbGF5ZXIgY2FycmllcyB0aGUgZGVzaWduIHRva2VucyArIGJveC1zaXppbmcgcmVzZXQgK1xuICAvLyBvcHRpb25zUG9zaXRpb24gcmV2ZXJzYWwsIHNvIGEgc3RhbmRhbG9uZSBkcm9wZG93biAobm8gVGllciAxIGNvbXBvbmVudCBvblxuICAvLyB0aGUgcGFnZSkgaXMgZnVsbHkgc3R5bGVkIG9uY2UgYG1vZGVgIGlzIHNldC5cbiAgc3R5bGVVcmxzOiBbXCIuLi9zaGFyZWQvYXBwZWFyYW5jZS5jc3NcIiwgXCIuL2FpLWF1dG9jb21wbGV0ZS1kcm9wZG93bi5jb21wb25lbnQuY3NzXCJdLFxufSlcbmV4cG9ydCBjbGFzcyBBSUF1dG9jb21wbGV0ZURyb3Bkb3duQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIC8qKiBUaGUgY29udHJvbGxlciB0aGF0IG93bnMgdGhlIGF1dG9jb21wbGV0ZSBzdGF0ZS4gUmVxdWlyZWQuICovXG4gIEBJbnB1dCgpIGNvbnRyb2xsZXIhOiBBSUF1dG9jb21wbGV0ZUNvbnRyb2xsZXI7XG4gIC8qKiBXaGV0aGVyIHRvIHJlbmRlciB0aGUgcGlsbGJhciBhYm92ZSB0aGUgb3B0aW9ucyBncmlkLiBEZWZhdWx0OiB0cnVlLiAqL1xuICBASW5wdXQoKSBzaG93UGlsbHMgPSB0cnVlO1xuICAvKiogT3B0aW9uYWwgQ1NTIGNsYXNzIGFwcGxpZWQgdG8gdGhlIGRyb3Bkb3duIHJvb3QuICovXG4gIEBJbnB1dCgpIGNsYXNzTmFtZT86IHN0cmluZztcbiAgLyoqXG4gICAqIENvbG9yIG1vZGUgZm9yIGEgc3RhbmRhbG9uZSBkcm9wZG93bi4gV2hlbiBzZXQsIHRoZSBkcm9wZG93biBzZWxmLXNjb3BlcyB0aGVcbiAgICogZGVzaWduIHRva2VucyB0byBpdHMgb3duIHJvb3QgKGFkZHMgYG1hZ2ljeC1haWFgICsgYGRhdGEtbW9kZWApLCBzbyBpdCBuZWVkc1xuICAgKiBubyBgLm1hZ2ljeC1haWFgIHdyYXBwZXIuIGBcImF1dG9cImAgZm9sbG93cyBgcHJlZmVycy1jb2xvci1zY2hlbWVgLiBMZWF2ZSBpdFxuICAgKiB1bnNldCB3aGVuIHRoZSBkcm9wZG93biBzaXRzIGluc2lkZSBhIGAubWFnaWN4LWFpYWAgYW5jZXN0b3IgKGUuZy4gVGllciAxKS5cbiAgICovXG4gIEBJbnB1dCgpIG1vZGU/OiBBcHBlYXJhbmNlTW9kZTtcblxuICAvKiogQ29uY3JldGUgcmVzb2x2ZWQgbW9kZSwgb3IgbnVsbCB3aGVuIGBtb2RlYCBpcyB1bnNldCAoaW5oZXJpdCBmcm9tIGFuY2VzdG9yKS4gKi9cbiAgcmVzb2x2ZWRNb2RlOiBcImxpZ2h0XCIgfCBcImRhcmtcIiB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIG1vZGVNcWw/OiBNZWRpYVF1ZXJ5TGlzdDtcbiAgcHJpdmF0ZSBtb2RlTGlzdGVuZXI/OiAoKSA9PiB2b2lkO1xuICBwcml2YXRlIHJlYWRvbmx5IGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgLyoqIFJvb3QgY2xhc3MgbGlzdCDigJQgYWRkcyBgbWFnaWN4LWFpYWAgb25seSB3aGVuIHNlbGYtc2NvcGluZyB2aWEgYG1vZGVgLiAqL1xuICBnZXQgcm9vdENsYXNzKCk6IHN0cmluZyB7XG4gICAgbGV0IGNscyA9IFwibWFnaWN4LWFpYS1kcm9wZG93blwiO1xuICAgIGlmICh0aGlzLnJlc29sdmVkTW9kZSkgY2xzICs9IFwiIG1hZ2ljeC1haWFcIjtcbiAgICBpZiAodGhpcy5jbGFzc05hbWUpIGNscyArPSBgICR7dGhpcy5jbGFzc05hbWV9YDtcbiAgICByZXR1cm4gY2xzO1xuICB9XG5cbiAgLyoqIEZhbGxiYWNrIHNrZWxldG9uLWJhciB3aWR0aHMgdXNlZCB3aGVuIGxvYWRpbmcgd2l0aCB6ZXJvIGNhY2hlZCBvcHRpb25zLiAqL1xuICByZWFkb25seSBmYWxsYmFja1NrZWxldG9uQmFyV2lkdGhzID0gWzE1OSwgMTE5LCAxNjRdO1xuXG4gIC8qKlxuICAgKiBWaWV3LW1vZGVsIGRlcml2ZWQgZnJvbSB0aGUgY29udHJvbGxlcidzIGBkcm9wZG93biRgLiBBZGRzIHRocmVlIGJvb2xlYW5zXG4gICAqIChgc2hvd3NQaWxsc2AsIGBzaG93c09wdGlvbnNgLCBgc2hvd3NGYWxsYmFja1NrZWxldG9uYCwgYGlzVmlzaWJsZWApIHRoYXRcbiAgICoga2VlcCB0ZW1wbGF0ZS1sZXZlbCBsb2dpYyB0byBhIHByb3BlcnR5IHJlYWQgcGVyIMKnMTkuNi5cbiAgICpcbiAgICogSW5pdGlhbGl6ZWQgb25jZSBpbiBgbmdPbkluaXRgIOKAlCBtdXN0IE5PVCBiZSBhIGdldHRlci4gQSBnZXR0ZXIgcmV0dXJucyBhXG4gICAqIGZyZXNoIGBPYnNlcnZhYmxlYCBpbnN0YW5jZSBvbiBldmVyeSBwcm9wZXJ0eSByZWFkOyB3aXRoIE9uUHVzaCArIGBhc3luY2BcbiAgICogcGlwZSB0aGF0IG1lYW5zIGVhY2ggY2hhbmdlLWRldGVjdGlvbiBjeWNsZSB1bnN1YnNjcmliZXMvcmVzdWJzY3JpYmVzLFxuICAgKiBjYXVzaW5nIHRoZSBgKm5nSWY9XCJ2bSQgfCBhc3luYyBhcyB2bVwiYCByb290IHRvIGJyaWVmbHkgcmVzb2x2ZSBgbnVsbGBcbiAgICogYW5kIGZsaWNrZXIgdGhlIGVudGlyZSBkcm9wZG93biBET00uXG4gICAqL1xuICB2bSQhOiBPYnNlcnZhYmxlPERyb3Bkb3duVm0+O1xuXG4gIC8vIEJyaWRnZSBmb3IgdGhlIEBJbnB1dCBgc2hvd1BpbGxzYCBpbnRvIHRoZSByZWFjdGl2ZSBwaXBlbGluZS4gV2l0aG91dCB0aGlzLFxuICAvLyBjaGFuZ2luZyB0aGUgaW5wdXQgYWZ0ZXIgaW5pdCB3b3VsZG4ndCB0cmlnZ2VyIGEgbmV3IHZtIGVtaXNzaW9uIHVudGlsIHRoZVxuICAvLyBuZXh0IGNvbnRyb2xsZXIuZHJvcGRvd24kIHRpY2sg4oCUIGFuZCB3ZSdkIGxvc2UgdGhlIHNob3dQaWxscyB1cGRhdGUgZW50aXJlbHlcbiAgLy8gaWYgdGhlIGNvbnRyb2xsZXIgaXMgaWRsZS4gVXBkYXRlZCBmcm9tIG5nT25DaGFuZ2VzIGJlbG93LlxuICBwcml2YXRlIHJlYWRvbmx5IHNob3dQaWxscyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xuXG4gIC8vIExhc3QgY29udGVudCBlbWl0dGVkIHdoaWxlIHRoZSBkcm9wZG93biB3YXMgdmlzaWJsZS4gUmV1c2VkIGR1cmluZyB0aGVcbiAgLy8gY2xvc2UgZmFkZSBzbyB0aGUgcG9wdWxhdGVkIGRyb3Bkb3duIGZhZGVzIG91dCBhcyBvbmUg4oCUIHNlZSBpbml0Vm0uXG4gIHByaXZhdGUgbGFzdFZpc2libGVDb250ZW50OiBEcm9wZG93bkNvbnRlbnQgfCBudWxsID0gbnVsbDtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBTZWVkIHNob3dQaWxscyQgZnJvbSB0aGUgaW5wdXQncyByZXNvbHZlZCB2YWx1ZSBhdCBpbml0IHRpbWUuXG4gICAgdGhpcy5zaG93UGlsbHMkLm5leHQodGhpcy5zaG93UGlsbHMpO1xuICAgIHRoaXMuYXBwbHlNb2RlKCk7XG4gICAgdGhpcy5pbml0Vm0oKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1tcInNob3dQaWxsc1wiXSkge1xuICAgICAgdGhpcy5zaG93UGlsbHMkLm5leHQodGhpcy5zaG93UGlsbHMpO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlc1tcIm1vZGVcIl0gJiYgIWNoYW5nZXNbXCJtb2RlXCJdLmZpcnN0Q2hhbmdlKSB7XG4gICAgICB0aGlzLmFwcGx5TW9kZSgpO1xuICAgIH1cbiAgICAvLyBSZS1iaW5kIHZtJCB3aGVuIHRoZSBjb250cm9sbGVyIEBJbnB1dCBpcyBzd2FwcGVkIChlLmcuIGEgbXVsdGktc3RlcCBmb3JtXG4gICAgLy8gdG9nZ2xpbmcgYmV0d2VlbiBjb250cm9sbGVycykuIFdpdGhvdXQgdGhpcywgdm0kIHN0YXlzIHN1YnNjcmliZWQgdG8gdGhlXG4gICAgLy8gcHJldmlvdXMgY29udHJvbGxlcidzIGRyb3Bkb3duJCDigJQgcmVuZGVyaW5nIHN0YWxlIG9wdGlvbnMsIG9yLCBpZiB0aGF0XG4gICAgLy8gY29udHJvbGxlciB3YXMgZGVzdHJveSgpLWVkLCByZWNlaXZpbmcgYSBjb21wbGV0aW9uIHRoYXQgY29sbGFwc2VzIHRoZVxuICAgIC8vIGRyb3Bkb3duIHBlcm1hbmVudGx5LiBTa2lwIHRoZSBmaXJzdCBjaGFuZ2U6IG5nT25DaGFuZ2VzIGZpcmVzIGJlZm9yZVxuICAgIC8vIG5nT25Jbml0LCB3aGljaCBvd25zIHRoZSBpbml0aWFsIGNyZWF0aW9uLlxuICAgIGlmIChjaGFuZ2VzW1wiY29udHJvbGxlclwiXSAmJiAhY2hhbmdlc1tcImNvbnRyb2xsZXJcIl0uZmlyc3RDaGFuZ2UgJiYgdGhpcy5jb250cm9sbGVyKSB7XG4gICAgICB0aGlzLmluaXRWbSgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMudGVhcmRvd25Nb2RlTGlzdGVuZXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNvbHZlIHRoZSBgbW9kZWAgaW5wdXQgaW50byBgcmVzb2x2ZWRNb2RlYC4gVW5zZXQg4oaSIG51bGwgKHRoZSBkcm9wZG93blxuICAgKiBzdGF5cyBjbGFzcy1sZXNzIGFuZCBpbmhlcml0cyBmcm9tIGEgYC5tYWdpY3gtYWlhYCBhbmNlc3RvcikuIGBcImF1dG9cImAgcmVhZHNcbiAgICogYHByZWZlcnMtY29sb3Itc2NoZW1lYCBhbmQgdHJhY2tzIGl0IGxpdmUgdmlhIGEgbWVkaWEtcXVlcnkgbGlzdGVuZXIuXG4gICAqL1xuICBwcml2YXRlIGFwcGx5TW9kZSgpOiB2b2lkIHtcbiAgICB0aGlzLnRlYXJkb3duTW9kZUxpc3RlbmVyKCk7XG4gICAgaWYgKHRoaXMubW9kZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLnJlc29sdmVkTW9kZSA9IG51bGw7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLm1vZGUgPT09IFwibGlnaHRcIiB8fCB0aGlzLm1vZGUgPT09IFwiZGFya1wiKSB7XG4gICAgICB0aGlzLnJlc29sdmVkTW9kZSA9IHRoaXMubW9kZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gXCJhdXRvXCJcbiAgICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gXCJ1bmRlZmluZWRcIiB8fCB0eXBlb2Ygd2luZG93Lm1hdGNoTWVkaWEgIT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgdGhpcy5yZXNvbHZlZE1vZGUgPSBcImxpZ2h0XCI7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMubW9kZU1xbCA9IHdpbmRvdy5tYXRjaE1lZGlhKFwiKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKVwiKTtcbiAgICB0aGlzLnJlc29sdmVkTW9kZSA9IHRoaXMubW9kZU1xbC5tYXRjaGVzID8gXCJkYXJrXCIgOiBcImxpZ2h0XCI7XG4gICAgdGhpcy5tb2RlTGlzdGVuZXIgPSAoKSA9PiB7XG4gICAgICB0aGlzLnJlc29sdmVkTW9kZSA9IHRoaXMubW9kZU1xbD8ubWF0Y2hlcyA/IFwiZGFya1wiIDogXCJsaWdodFwiO1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfTtcbiAgICB0aGlzLm1vZGVNcWwuYWRkRXZlbnRMaXN0ZW5lcihcImNoYW5nZVwiLCB0aGlzLm1vZGVMaXN0ZW5lcik7XG4gIH1cblxuICBwcml2YXRlIHRlYXJkb3duTW9kZUxpc3RlbmVyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm1vZGVNcWwgJiYgdGhpcy5tb2RlTGlzdGVuZXIpIHtcbiAgICAgIHRoaXMubW9kZU1xbC5yZW1vdmVFdmVudExpc3RlbmVyKFwiY2hhbmdlXCIsIHRoaXMubW9kZUxpc3RlbmVyKTtcbiAgICB9XG4gICAgdGhpcy5tb2RlTXFsID0gdW5kZWZpbmVkO1xuICAgIHRoaXMubW9kZUxpc3RlbmVyID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqIEJ1aWxkIHRoZSB2aWV3LW1vZGVsIHN0cmVhbSBmcm9tIHRoZSBjdXJyZW50IGNvbnRyb2xsZXIgKyBzaG93UGlsbHMkLiAqL1xuICBwcml2YXRlIGluaXRWbSgpOiB2b2lkIHtcbiAgICB0aGlzLnZtJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuY29udHJvbGxlci5kcm9wZG93biQsIHRoaXMuc2hvd1BpbGxzJF0pLnBpcGUoXG4gICAgICBtYXAoKFtkZCwgc2hvd1BpbGxzXSkgPT4ge1xuICAgICAgICBjb25zdCBvcHRpb25zID0gZGQuc3VnZ2VzdGlvbnNbMF0/Lm9wdGlvbnMgPz8gW107XG4gICAgICAgIGNvbnN0IHNob3dzUGlsbHMgPSBzaG93UGlsbHMgJiYgKGRkLnBpbGxzLmxlbmd0aCA+IDAgfHwgZGQuaXNMb2FkaW5nKTtcbiAgICAgICAgY29uc3Qgc2hvd3NPcHRpb25zID0gb3B0aW9ucy5sZW5ndGggPiAwO1xuICAgICAgICBjb25zdCBzaG93c0ZhbGxiYWNrU2tlbGV0b24gPSBkZC5pc0xvYWRpbmcgJiYgIXNob3dzT3B0aW9ucztcbiAgICAgICAgY29uc3QgaXNWaXNpYmxlID0gZGQuaXNPcGVuICYmIChzaG93c09wdGlvbnMgfHwgc2hvd3NQaWxscyB8fCBkZC5pc0xvYWRpbmcpO1xuXG4gICAgICAgIC8vIFdoaWxlIGNsb3NpbmcsIHJldXNlIHRoZSBsYXN0IHZpc2libGUgY29udGVudCBzbyB0aGUgcG9wdWxhdGVkXG4gICAgICAgIC8vIGRyb3Bkb3duIGZhZGVzIG91dCBhcyBvbmUuIE90aGVyd2lzZSB0aGUgcGlsbHMvb3B0aW9ucyB2YW5pc2ggdGhlXG4gICAgICAgIC8vIGluc3RhbnQgdGhlIHN0YXRlIGVtcHRpZXMgKGUuZy4gc2tpcHBpbmcgdGhlIGxhc3QgcGlsbCB3aXRoIOKGkiksXG4gICAgICAgIC8vIGxlYXZpbmcgdGhlIGFsd2F5cy1wcmVzZW50IGZvb3RlciBhbG9uZSBmb3IgYSBmbGFzaCBvZiBhIGZvb3Rlci1vbmx5XG4gICAgICAgIC8vIFwibm8gb3B0aW9uc1wiIGJveCBtaWQtZmFkZS4gT25seSBgaXNWaXNpYmxlYCB0cmFja3MgbGl2ZSBzdGF0ZSB0b1xuICAgICAgICAvLyBkcml2ZSB0aGUgb3BhY2l0eSB0cmFuc2l0aW9uLlxuICAgICAgICBpZiAoIWlzVmlzaWJsZSAmJiB0aGlzLmxhc3RWaXNpYmxlQ29udGVudCkge1xuICAgICAgICAgIHJldHVybiB7IC4uLnRoaXMubGFzdFZpc2libGVDb250ZW50LCBpc1Zpc2libGU6IGZhbHNlIH07XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBvcHRpb25IaWdobGlnaHRlZCA9XG4gICAgICAgICAgZGQuYWN0aXZlSW5kZXggPj0gMCAmJiBCb29sZWFuKG9wdGlvbnNbZGQuYWN0aXZlSW5kZXhdPy5pc190YXBwYWJsZSk7XG4gICAgICAgIGNvbnN0IHsga2V5OiBmb290ZXJLZXksIGhpbnQ6IGZvb3RlckhpbnQgfSA9IGdldEZvb3RlckhpbnQoXG4gICAgICAgICAgb3B0aW9uSGlnaGxpZ2h0ZWQsXG4gICAgICAgICAgZGQuaXNJbnB1dEVtcHR5LFxuICAgICAgICApO1xuICAgICAgICBjb25zdCBjb250ZW50OiBEcm9wZG93bkNvbnRlbnQgPSB7XG4gICAgICAgICAgcGlsbHM6IGRkLnBpbGxzLFxuICAgICAgICAgIG9wdGlvbnMsXG4gICAgICAgICAgYWN0aXZlSW5kZXg6IGRkLmFjdGl2ZUluZGV4LFxuICAgICAgICAgIGlzQWN0aXZlUGlsbFNlbGVjdGVkOiBkZC5pc0FjdGl2ZVBpbGxTZWxlY3RlZCxcbiAgICAgICAgICBpc0xvYWRpbmc6IGRkLmlzTG9hZGluZyxcbiAgICAgICAgICBzaG93c1BpbGxzLFxuICAgICAgICAgIHNob3dzT3B0aW9ucyxcbiAgICAgICAgICBzaG93c0ZhbGxiYWNrU2tlbGV0b24sXG4gICAgICAgICAgZm9vdGVyS2V5LFxuICAgICAgICAgIGZvb3RlckhpbnQsXG4gICAgICAgICAgb3B0aW9uc1Bvc2l0aW9uOiBkZC5vcHRpb25zUG9zaXRpb24sXG4gICAgICAgIH07XG4gICAgICAgIGlmIChpc1Zpc2libGUpIHRoaXMubGFzdFZpc2libGVDb250ZW50ID0gY29udGVudDtcbiAgICAgICAgcmV0dXJuIHsgLi4uY29udGVudCwgaXNWaXNpYmxlIH07XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgdHJhY2tCeVdpZHRoID0gKF86IG51bWJlciwgdzogbnVtYmVyKTogbnVtYmVyID0+IHc7XG5cbiAgb25QaWxsQ2xpY2soaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuY29udHJvbGxlci5zZXRBY3RpdmVQaWxsKGluZGV4KTtcbiAgfVxuXG4gIG9uU2VsZWN0KG9wdGlvbjogU3VnZ2VzdGlvbk9wdGlvbik6IHZvaWQge1xuICAgIHRoaXMuY29udHJvbGxlci5zZWxlY3RPcHRpb24ob3B0aW9uKTtcbiAgfVxuXG4gIG9uSGlnaGxpZ2h0KGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLmNvbnRyb2xsZXIuc2V0QWN0aXZlRHJvcGRvd25JbmRleChpbmRleCk7XG4gIH1cblxuICBwcmV2ZW50Qmx1cihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAvLyBQcmV2ZW50IHRoZSBlZGl0b3IgZnJvbSBsb3NpbmcgZm9jdXMgd2hlbiBpbnRlcmFjdGluZyB3aXRoIHRoZSBkcm9wZG93bi5cbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICB9XG59XG4iLCI8ZGl2XG4gICpuZ0lmPVwidm0kIHwgYXN5bmMgYXMgdm1cIlxuICBbaWRdPVwiY29udHJvbGxlci5saXN0Ym94SWRcIlxuICByb2xlPVwibGlzdGJveFwiXG4gIGRhdGEtYWlhLWRyb3Bkb3duPVwiXCJcbiAgW2F0dHIuZGF0YS1haWEtbG9hZGluZ109XCJ2bS5pc0xvYWRpbmcgPyAnJyA6IG51bGxcIlxuICBbYXR0ci5kYXRhLW1vZGVdPVwicmVzb2x2ZWRNb2RlXCJcbiAgW2F0dHIuZGF0YS1vcHRpb25zLXBvc2l0aW9uXT1cInZtLm9wdGlvbnNQb3NpdGlvblwiXG4gIFtjbGFzc109XCJyb290Q2xhc3NcIlxuICBbY2xhc3MubWFnaWN4LWFpYS1kcm9wZG93bi12aXNpYmxlXT1cInZtLmlzVmlzaWJsZVwiXG4gIChtb3VzZWRvd24pPVwicHJldmVudEJsdXIoJGV2ZW50KVwiXG4+XG4gIDxhaWEtc3RhY2sgc3BhY2U9XCI4cHhcIj5cbiAgICA8YWlhLWNsdXN0ZXJcbiAgICAgICpuZ0lmPVwidm0uc2hvd3NQaWxsc1wiXG4gICAgICBjbGFzcz1cIm1hZ2ljeC1haWEtZHJvcGRvd24tcGlsbGJhclwiXG4gICAgICBkYXRhLWFpYS1waWxsYmFyPVwiXCJcbiAgICAgIFtub1dyYXBdPVwidHJ1ZVwiXG4gICAgPlxuICAgICAgPGFpYS1waWxsLWxpc3RcbiAgICAgICAgW3BpbGxzXT1cInZtLnBpbGxzXCJcbiAgICAgICAgW2FjdGl2ZVBpbGxJbmRleF09XCIwXCJcbiAgICAgICAgW2FjdGl2ZVNlbGVjdGVkXT1cInZtLmlzQWN0aXZlUGlsbFNlbGVjdGVkXCJcbiAgICAgICAgW3JvdW5kZWRdPVwidHJ1ZVwiXG4gICAgICAgIFtsb2FkaW5nXT1cInZtLmlzTG9hZGluZ1wiXG4gICAgICAgIChzZWxlY3RQaWxsKT1cIm9uUGlsbENsaWNrKCRldmVudClcIlxuICAgICAgPjwvYWlhLXBpbGwtbGlzdD5cbiAgICA8L2FpYS1jbHVzdGVyPlxuXG4gICAgPGFpYS1zdWdnZXN0aW9uLWdyaWRcbiAgICAgICpuZ0lmPVwidm0uc2hvd3NPcHRpb25zXCJcbiAgICAgIFtvcHRpb25zXT1cInZtLm9wdGlvbnNcIlxuICAgICAgW2FjdGl2ZUluZGV4XT1cInZtLmFjdGl2ZUluZGV4XCJcbiAgICAgIFtsaXN0Ym94SWRdPVwiY29udHJvbGxlci5saXN0Ym94SWRcIlxuICAgICAgW2xvYWRpbmddPVwidm0uaXNMb2FkaW5nXCJcbiAgICAgIChzZWxlY3QpPVwib25TZWxlY3QoJGV2ZW50KVwiXG4gICAgICAoaGlnaGxpZ2h0KT1cIm9uSGlnaGxpZ2h0KCRldmVudClcIlxuICAgID48L2FpYS1zdWdnZXN0aW9uLWdyaWQ+XG5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cInZtLnNob3dzRmFsbGJhY2tTa2VsZXRvblwiXG4gICAgICBjbGFzcz1cIm1hZ2ljeC1haWEtZHJvcGRvd24tc2tlbGV0b24tYmFyc1wiXG4gICAgICBkYXRhLWFpYS1za2VsZXRvbi1iYXJzPVwiXCJcbiAgICA+XG4gICAgICA8c3BhblxuICAgICAgICAqbmdGb3I9XCJsZXQgdyBvZiBmYWxsYmFja1NrZWxldG9uQmFyV2lkdGhzOyB0cmFja0J5OiB0cmFja0J5V2lkdGhcIlxuICAgICAgICBjbGFzcz1cIm1hZ2ljeC1haWEtZHJvcGRvd24tc2tlbGV0b24tYmFyXCJcbiAgICAgICAgW3N0eWxlLndpZHRoLnB4XT1cIndcIlxuICAgICAgPjwvc3Bhbj5cbiAgICA8L2Rpdj5cblxuICAgIDxmb290ZXIgY2xhc3M9XCJtYWdpY3gtYWlhLWZvb3RlclwiIGRhdGEtYWlhLWZvb3Rlcj1cIlwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm1hZ2ljeC1haWEtZm9vdGVyLWRpdmlkZXJcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtYWdpY3gtYWlhLWZvb3Rlci1yb3dcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtYWdpY3gtYWlhLWZvb3Rlci1oaW50LWdyb3VwXCI+XG4gICAgICAgICAgPGtiZCBjbGFzcz1cIm1hZ2ljeC1haWEtZm9vdGVyLWtleVwiPnt7IHZtLmZvb3RlcktleSB9fTwva2JkPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWFnaWN4LWFpYS1mb290ZXItaGludFwiPnt7IHZtLmZvb3RlckhpbnQgfX08L3NwYW4+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPGFcbiAgICAgICAgICBjbGFzcz1cIm1hZ2ljeC1haWEtZm9vdGVyLWJyYW5kLWxpbmtcIlxuICAgICAgICAgIGhyZWY9XCJodHRwczovL2FpLWF1dG9jb21wbGV0ZS5jb21cIlxuICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiXG4gICAgICAgID5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hZ2ljeC1haWEtZm9vdGVyLWJyYW5kXCI+QUk8L3NwYW4+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYWdpY3gtYWlhLWZvb3Rlci1iYWRnZVwiPkF1dG9jb21wbGV0ZTwvc3Bhbj5cbiAgICAgICAgPC9hPlxuICAgICAgPC9kaXY+XG4gICAgPC9mb290ZXI+XG4gIDwvYWlhLXN0YWNrPlxuPC9kaXY+XG4iXX0=
|
|
@@ -72,10 +72,10 @@ export class GridComponent {
|
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
74
|
GridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: GridComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
75
|
-
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", fade: "fade" }, viewQueries: [{ propertyName: "gridRef", first: true, predicate: ["grid"], descendants: true }], ngImport: i0, template: "<div [class.aia-grid-fade]=\"fade\" [attr.data-fade]=\"fade && hasBottomOverflow ? '' : null\">\n <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 >\n <ng-content></ng-content>\n </div>\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;padding:var(--aia-grid-scroll-pad, 0);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}.aia-grid-fade{position:relative}.aia-grid-fade:after{content:\"\";position:absolute;left:0;right:0;bottom:0;height:30%;pointer-events:none;opacity:0;transition:opacity .15s ease-out;
|
|
75
|
+
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", fade: "fade" }, viewQueries: [{ propertyName: "gridRef", first: true, predicate: ["grid"], descendants: true }], ngImport: i0, template: "<div [class.aia-grid-fade]=\"fade\" [attr.data-fade]=\"fade && hasBottomOverflow ? '' : null\">\n <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 >\n <ng-content></ng-content>\n </div>\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;padding:var(--aia-grid-scroll-pad, 0);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}.aia-grid-fade{position:relative}.aia-grid-fade:after{content:\"\";position:absolute;left:0;right:0;bottom:0;height:30%;pointer-events:none;opacity:0;transition:opacity .15s ease-out;background:linear-gradient(to bottom,transparent,var(--aia-surface, #ffffff))}.aia-grid-fade[data-fade]:after{opacity:1}[data-aia-surface=glass] .aia-grid-fade:after{display:none}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
76
76
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: GridComponent, decorators: [{
|
|
77
77
|
type: Component,
|
|
78
|
-
args: [{ selector: "aia-grid", standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div [class.aia-grid-fade]=\"fade\" [attr.data-fade]=\"fade && hasBottomOverflow ? '' : null\">\n <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 >\n <ng-content></ng-content>\n </div>\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;padding:var(--aia-grid-scroll-pad, 0);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}.aia-grid-fade{position:relative}.aia-grid-fade:after{content:\"\";position:absolute;left:0;right:0;bottom:0;height:30%;pointer-events:none;opacity:0;transition:opacity .15s ease-out;
|
|
78
|
+
args: [{ selector: "aia-grid", standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div [class.aia-grid-fade]=\"fade\" [attr.data-fade]=\"fade && hasBottomOverflow ? '' : null\">\n <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 >\n <ng-content></ng-content>\n </div>\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;padding:var(--aia-grid-scroll-pad, 0);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}.aia-grid-fade{position:relative}.aia-grid-fade:after{content:\"\";position:absolute;left:0;right:0;bottom:0;height:30%;pointer-events:none;opacity:0;transition:opacity .15s ease-out;background:linear-gradient(to bottom,transparent,var(--aia-surface, #ffffff))}.aia-grid-fade[data-fade]:after{opacity:1}[data-aia-surface=glass] .aia-grid-fade:after{display:none}}\n"] }]
|
|
79
79
|
}], propDecorators: { min: [{
|
|
80
80
|
type: Input
|
|
81
81
|
}], max: [{
|
|
@@ -232,10 +232,10 @@ class GridComponent {
|
|
|
232
232
|
}
|
|
233
233
|
}
|
|
234
234
|
GridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: GridComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
235
|
-
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", fade: "fade" }, viewQueries: [{ propertyName: "gridRef", first: true, predicate: ["grid"], descendants: true }], ngImport: i0, template: "<div [class.aia-grid-fade]=\"fade\" [attr.data-fade]=\"fade && hasBottomOverflow ? '' : null\">\n <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 >\n <ng-content></ng-content>\n </div>\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;padding:var(--aia-grid-scroll-pad, 0);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}.aia-grid-fade{position:relative}.aia-grid-fade:after{content:\"\";position:absolute;left:0;right:0;bottom:0;height:30%;pointer-events:none;opacity:0;transition:opacity .15s ease-out;
|
|
235
|
+
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", fade: "fade" }, viewQueries: [{ propertyName: "gridRef", first: true, predicate: ["grid"], descendants: true }], ngImport: i0, template: "<div [class.aia-grid-fade]=\"fade\" [attr.data-fade]=\"fade && hasBottomOverflow ? '' : null\">\n <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 >\n <ng-content></ng-content>\n </div>\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;padding:var(--aia-grid-scroll-pad, 0);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}.aia-grid-fade{position:relative}.aia-grid-fade:after{content:\"\";position:absolute;left:0;right:0;bottom:0;height:30%;pointer-events:none;opacity:0;transition:opacity .15s ease-out;background:linear-gradient(to bottom,transparent,var(--aia-surface, #ffffff))}.aia-grid-fade[data-fade]:after{opacity:1}[data-aia-surface=glass] .aia-grid-fade:after{display:none}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
236
236
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: GridComponent, decorators: [{
|
|
237
237
|
type: Component,
|
|
238
|
-
args: [{ selector: "aia-grid", standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div [class.aia-grid-fade]=\"fade\" [attr.data-fade]=\"fade && hasBottomOverflow ? '' : null\">\n <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 >\n <ng-content></ng-content>\n </div>\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;padding:var(--aia-grid-scroll-pad, 0);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}.aia-grid-fade{position:relative}.aia-grid-fade:after{content:\"\";position:absolute;left:0;right:0;bottom:0;height:30%;pointer-events:none;opacity:0;transition:opacity .15s ease-out;
|
|
238
|
+
args: [{ selector: "aia-grid", standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div [class.aia-grid-fade]=\"fade\" [attr.data-fade]=\"fade && hasBottomOverflow ? '' : null\">\n <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 >\n <ng-content></ng-content>\n </div>\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;padding:var(--aia-grid-scroll-pad, 0);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}.aia-grid-fade{position:relative}.aia-grid-fade:after{content:\"\";position:absolute;left:0;right:0;bottom:0;height:30%;pointer-events:none;opacity:0;transition:opacity .15s ease-out;background:linear-gradient(to bottom,transparent,var(--aia-surface, #ffffff))}.aia-grid-fade[data-fade]:after{opacity:1}[data-aia-surface=glass] .aia-grid-fade:after{display:none}}\n"] }]
|
|
239
239
|
}], propDecorators: { min: [{
|
|
240
240
|
type: Input
|
|
241
241
|
}], max: [{
|
|
@@ -522,7 +522,7 @@ class AIAutocompleteDropdownComponent {
|
|
|
522
522
|
}
|
|
523
523
|
}
|
|
524
524
|
AIAutocompleteDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AIAutocompleteDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
525
|
-
AIAutocompleteDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AIAutocompleteDropdownComponent, isStandalone: true, selector: "ai-autocomplete-dropdown", inputs: { controller: "controller", showPills: "showPills", className: "className", mode: "mode" }, usesOnChanges: true, ngImport: i0, template: "<div\n *ngIf=\"vm$ | async as vm\"\n [id]=\"controller.listboxId\"\n role=\"listbox\"\n data-aia-dropdown=\"\"\n [attr.data-aia-loading]=\"vm.isLoading ? '' : null\"\n [attr.data-mode]=\"resolvedMode\"\n [attr.data-options-position]=\"vm.optionsPosition\"\n [class]=\"rootClass\"\n [class.magicx-aia-dropdown-visible]=\"vm.isVisible\"\n (mousedown)=\"preventBlur($event)\"\n>\n <aia-stack space=\"8px\">\n <aia-cluster\n *ngIf=\"vm.showsPills\"\n class=\"magicx-aia-dropdown-pillbar\"\n data-aia-pillbar=\"\"\n [noWrap]=\"true\"\n >\n <aia-pill-list\n [pills]=\"vm.pills\"\n [activePillIndex]=\"0\"\n [activeSelected]=\"vm.isActivePillSelected\"\n [rounded]=\"true\"\n [loading]=\"vm.isLoading\"\n (selectPill)=\"onPillClick($event)\"\n ></aia-pill-list>\n </aia-cluster>\n\n <aia-suggestion-grid\n *ngIf=\"vm.showsOptions\"\n [options]=\"vm.options\"\n [activeIndex]=\"vm.activeIndex\"\n [listboxId]=\"controller.listboxId\"\n [loading]=\"vm.isLoading\"\n (select)=\"onSelect($event)\"\n (highlight)=\"onHighlight($event)\"\n ></aia-suggestion-grid>\n\n <div\n *ngIf=\"vm.showsFallbackSkeleton\"\n class=\"magicx-aia-dropdown-skeleton-bars\"\n data-aia-skeleton-bars=\"\"\n >\n <span\n *ngFor=\"let w of fallbackSkeletonBarWidths; trackBy: trackByWidth\"\n class=\"magicx-aia-dropdown-skeleton-bar\"\n [style.width.px]=\"w\"\n ></span>\n </div>\n\n <footer class=\"magicx-aia-footer\" data-aia-footer=\"\">\n <div class=\"magicx-aia-footer-divider\"></div>\n <div class=\"magicx-aia-footer-row\">\n <span class=\"magicx-aia-footer-hint-group\">\n <kbd class=\"magicx-aia-footer-key\">{{ vm.footerKey }}</kbd>\n <span class=\"magicx-aia-footer-hint\">{{ vm.footerHint }}</span>\n </span>\n <a\n class=\"magicx-aia-footer-brand-link\"\n href=\"https://ai-autocomplete.com\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <span class=\"magicx-aia-footer-brand\">AI</span>\n <span class=\"magicx-aia-footer-badge\">Autocomplete</span>\n </a>\n </div>\n </footer>\n </aia-stack>\n</div>\n", styles: [":where(.magicx-aia,.magicx-aia *,.magicx-aia *::before,.magicx-aia *::after){box-sizing:border-box}:where(.magicx-aia),:where(.magicx-aia[data-mode=\"light\"]){--aia-surface: #ffffff;--aia-border: #b0b0b0;--aia-dropdown-border: #e5e7eb;--aia-dropdown-shadow: 0 8px 12px rgba(0, 0, 0, .1);--aia-pill-bg: #bdbdbd;--aia-pill-color: #333539;--aia-pill-font-size: 14px;--aia-option-bg: #eef2ff;--aia-option-color: #505050;--aia-option-color-selected: #000000;--aia-option-font-size: 14px;--aia-written-text-color: #000000;--aia-written-text-font-size: 14px;--aia-caret-color: var(--aia-written-text-color, #000000);--aia-submit-bg: #000000;--aia-submit-color: #ffffff;--aia-color-text-muted: #6b7280;--aia-skeleton-bg: rgba(189, 189, 189, .51);--aia-streak-rgb: 99, 102, 241;--aia-streak-glass-bg: rgba(99, 102, 241, .1);--aia-footer-divider: rgba(176, 176, 176, .4);--aia-footer-hint-color: #505050;--aia-footer-brand-color: #b0b0b0;--aia-footer-badge-border: rgba(189, 189, 189, .51)}:where(.magicx-aia[data-mode=\"dark\"]){--aia-surface: #000000;--aia-border: #505050;--aia-dropdown-border: #484848;--aia-dropdown-shadow: 0 8px 12px rgba(0, 0, 0, .1);--aia-pill-bg: #bdbdbd;--aia-pill-color: #b0b0b0;--aia-pill-font-size: 14px;--aia-option-bg: #323232;--aia-option-color: #b0b0b0;--aia-option-color-selected: #ffffff;--aia-option-font-size: 14px;--aia-written-text-color: #ffffff;--aia-written-text-font-size: 14px;--aia-caret-color: var(--aia-written-text-color, #ffffff);--aia-submit-bg: #ffffff;--aia-submit-color: #000000;--aia-color-text-muted: #c1c4cb;--aia-skeleton-bg: #333539;--aia-streak-rgb: 255, 255, 255;--aia-streak-glass-bg: rgba(255, 255, 255, .1);--aia-footer-divider: rgba(255, 255, 255, .15);--aia-footer-hint-color: #b0b0b0;--aia-footer-brand-color: #505050;--aia-footer-badge-border: #505050}:where(.magicx-aia[data-options-position=\"above\"]) [data-aia-dropdown],[data-aia-dropdown][data-options-position=above]{top:auto;bottom:100%;margin-top:0;margin-bottom:6px}:where(.magicx-aia[data-options-position=\"above\"]) [data-aia-dropdown] .aia-stack,[data-aia-dropdown][data-options-position=above] .aia-stack{flex-direction:column-reverse}:where(.magicx-aia[data-options-position=\"above\"]) [data-aia-dropdown] .magicx-aia-footer,[data-aia-dropdown][data-options-position=above] .magicx-aia-footer{flex-direction:column-reverse}\n", ".magicx-aia-dropdown{position:absolute;left:0;right:0;top:100%;max-width:544px;margin-top:6px;display:flex;flex-direction:column;box-sizing:border-box;padding:10px 8px;overflow:hidden;container-type:inline-size;z-index:10;opacity:0;pointer-events:none;transition:opacity .4s cubic-bezier(.4,0,.2,1);background:var(--aia-surface, #ffffff);border:1px solid var(--aia-dropdown-border, #e5e7eb);border-radius:18px;box-shadow:var(--aia-dropdown-shadow, 0 8px 12px rgba(0, 0, 0, .1))}.magicx-aia-dropdown[data-aia-surface=glass]{background:transparent;border-color:transparent;box-shadow:#fff -3.2px -3.2px 3.2px -3.2px inset,#fff 6.4px 6.4px 1.6px -8px inset,var(--aia-dropdown-bg, transparent) -6.4px 6.4px 1.6px -8px inset,var(--aia-dropdown-bg, transparent) 6.4px -6.4px 1.6px -8px inset,#ffffff26 -1.6px 0 0 -1.6px inset,#ffffff26 0 -1.6px 0 -1.6px inset,#ffffff4d 0 1.6px inset,#ffffff4d 1.6px 0 inset,inset 0 0 30px 5px #0000000d,#00000014 0 0 30px 2px;backdrop-filter:blur(30px)}.magicx-aia-dropdown-visible{opacity:1;pointer-events:auto}.magicx-aia-dropdown-pillbar{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 48px),transparent 100%);-webkit-mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 48px),transparent 100%)}.magicx-aia-dropdown-pillbar::-webkit-scrollbar{display:none}.magicx-aia-footer{display:flex;flex-direction:column;gap:8px;padding:0 8px}.magicx-aia-footer-divider{border-top:1px solid var(--aia-footer-divider, rgba(176, 176, 176, .4))}.magicx-aia-footer-row{display:flex;align-items:center;justify-content:space-between}.magicx-aia-footer-hint-group{display:inline-flex;align-items:center;gap:5px}.magicx-aia-footer-brand-link{display:inline-flex;align-items:center;gap:2px;text-decoration:none;cursor:pointer;transition:opacity .15s ease-out}.magicx-aia-footer-brand-link:hover{opacity:.7}.magicx-aia-footer-key{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:22px;padding:2px 6px;border:.5px solid var(--aia-footer-hint-color, #505050);border-radius:5px;font-family:inherit;font-size:11px;line-height:18px;color:var(--aia-footer-hint-color, #505050)}.magicx-aia-footer-hint{font-family:inherit;font-size:11px;line-height:18px;color:var(--aia-footer-hint-color, #505050)}.magicx-aia-footer-brand{font-family:inherit;font-size:10px;line-height:18px;color:var(--aia-footer-brand-color, #b0b0b0)}.magicx-aia-footer-badge{display:inline-flex;align-items:center;height:23px;padding:2.5px 5.5px;border:.5px solid var(--aia-footer-badge-border, rgba(189, 189, 189, .51));border-radius:999px;font-family:inherit;font-size:10px;line-height:18px;color:var(--aia-footer-brand-color, #b0b0b0)}.magicx-aia-dropdown-skeleton-bars{display:flex;flex-direction:column;gap:20px;padding:7px 8px}.magicx-aia-dropdown-skeleton-bar{display:block;height:14px;border-radius:999px;background:var(--aia-skeleton-bg, var(--aia-pill-bg, rgba(189, 189, 189, .51)));opacity:.5;animation:aiaDropdownSkeletonPulse 1.4s ease-in-out infinite}.magicx-aia-dropdown-skeleton-bar:nth-child(2){animation-delay:.15s}.magicx-aia-dropdown-skeleton-bar:nth-child(3){animation-delay:.3s}@keyframes aiaDropdownSkeletonPulse{0%,to{opacity:.5}50%{opacity:.25}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: PillListComponent, selector: "aia-pill-list", inputs: ["pills", "activePillIndex", "rounded", "loading", "activeSelected"], outputs: ["selectPill"] }, { kind: "component", type: SuggestionGridComponent, selector: "aia-suggestion-grid", inputs: ["options", "activeIndex", "listboxId", "loading"], outputs: ["select", "highlight"] }, { kind: "component", type: StackComponent, selector: "aia-stack", inputs: ["space", "align"] }, { kind: "component", type: ClusterComponent, selector: "aia-cluster", inputs: ["gap", "align", "justify", "noWrap", "inline"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
525
|
+
AIAutocompleteDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AIAutocompleteDropdownComponent, isStandalone: true, selector: "ai-autocomplete-dropdown", inputs: { controller: "controller", showPills: "showPills", className: "className", mode: "mode" }, usesOnChanges: true, ngImport: i0, template: "<div\n *ngIf=\"vm$ | async as vm\"\n [id]=\"controller.listboxId\"\n role=\"listbox\"\n data-aia-dropdown=\"\"\n [attr.data-aia-loading]=\"vm.isLoading ? '' : null\"\n [attr.data-mode]=\"resolvedMode\"\n [attr.data-options-position]=\"vm.optionsPosition\"\n [class]=\"rootClass\"\n [class.magicx-aia-dropdown-visible]=\"vm.isVisible\"\n (mousedown)=\"preventBlur($event)\"\n>\n <aia-stack space=\"8px\">\n <aia-cluster\n *ngIf=\"vm.showsPills\"\n class=\"magicx-aia-dropdown-pillbar\"\n data-aia-pillbar=\"\"\n [noWrap]=\"true\"\n >\n <aia-pill-list\n [pills]=\"vm.pills\"\n [activePillIndex]=\"0\"\n [activeSelected]=\"vm.isActivePillSelected\"\n [rounded]=\"true\"\n [loading]=\"vm.isLoading\"\n (selectPill)=\"onPillClick($event)\"\n ></aia-pill-list>\n </aia-cluster>\n\n <aia-suggestion-grid\n *ngIf=\"vm.showsOptions\"\n [options]=\"vm.options\"\n [activeIndex]=\"vm.activeIndex\"\n [listboxId]=\"controller.listboxId\"\n [loading]=\"vm.isLoading\"\n (select)=\"onSelect($event)\"\n (highlight)=\"onHighlight($event)\"\n ></aia-suggestion-grid>\n\n <div\n *ngIf=\"vm.showsFallbackSkeleton\"\n class=\"magicx-aia-dropdown-skeleton-bars\"\n data-aia-skeleton-bars=\"\"\n >\n <span\n *ngFor=\"let w of fallbackSkeletonBarWidths; trackBy: trackByWidth\"\n class=\"magicx-aia-dropdown-skeleton-bar\"\n [style.width.px]=\"w\"\n ></span>\n </div>\n\n <footer class=\"magicx-aia-footer\" data-aia-footer=\"\">\n <div class=\"magicx-aia-footer-divider\"></div>\n <div class=\"magicx-aia-footer-row\">\n <span class=\"magicx-aia-footer-hint-group\">\n <kbd class=\"magicx-aia-footer-key\">{{ vm.footerKey }}</kbd>\n <span class=\"magicx-aia-footer-hint\">{{ vm.footerHint }}</span>\n </span>\n <a\n class=\"magicx-aia-footer-brand-link\"\n href=\"https://ai-autocomplete.com\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <span class=\"magicx-aia-footer-brand\">AI</span>\n <span class=\"magicx-aia-footer-badge\">Autocomplete</span>\n </a>\n </div>\n </footer>\n </aia-stack>\n</div>\n", styles: [":where(.magicx-aia,.magicx-aia *,.magicx-aia *::before,.magicx-aia *::after){box-sizing:border-box}:where(.magicx-aia){--aia-primitive-neutral-0: #000000;--aia-primitive-neutral-250: #323232;--aia-primitive-neutral-300: #333539;--aia-primitive-neutral-400: #4a4a4a;--aia-primitive-neutral-500: #505050;--aia-primitive-neutral-700: #b0b0b0;--aia-primitive-neutral-750: #bdbdbd;--aia-primitive-neutral-900: #e7e7e7;--aia-primitive-neutral-1000: #ffffff;--aia-primitive-blue-50: #eef2ff;--aia-primitive-neutral-750-a50: rgba(189, 189, 189, .51);--aia-primitive-neutral-700-a40: rgba(176, 176, 176, .4)}:where(.magicx-aia),:where(.magicx-aia[data-mode=\"light\"]){--aia-surface: var(--aia-primitive-neutral-1000);--aia-border: var(--aia-primitive-neutral-700);--aia-dropdown-border: var( --aia-primitive-neutral-900 );--aia-dropdown-shadow: 0 8px 12px rgba(0, 0, 0, .1);--aia-pill-bg: var(--aia-primitive-neutral-750);--aia-pill-color: var(--aia-primitive-neutral-300);--aia-pill-font-size: 14px;--aia-option-bg: var(--aia-primitive-blue-50);--aia-option-color: var(--aia-primitive-neutral-500);--aia-option-color-selected: var(--aia-primitive-neutral-0);--aia-option-font-size: 14px;--aia-written-text-color: var(--aia-primitive-neutral-0);--aia-written-text-font-size: 14px;--aia-caret-color: var(--aia-written-text-color, #000000);--aia-submit-bg: var(--aia-primitive-neutral-0);--aia-submit-color: var(--aia-primitive-neutral-1000);--aia-color-text-muted: #6b7280;--aia-skeleton-bg: var(--aia-primitive-neutral-750-a50);--aia-streak-rgb: 99, 102, 241;--aia-streak-glass-bg: rgba(99, 102, 241, .1);--aia-footer-divider: var(--aia-primitive-neutral-700-a40);--aia-footer-hint-color: var(--aia-primitive-neutral-500);--aia-footer-brand-color: var(--aia-primitive-neutral-700);--aia-footer-badge-border: var(--aia-primitive-neutral-750-a50)}:where(.magicx-aia[data-mode=\"dark\"]){--aia-surface: var(--aia-primitive-neutral-0);--aia-border: var(--aia-primitive-neutral-500);--aia-dropdown-border: var( --aia-primitive-neutral-400 );--aia-dropdown-shadow: 0 8px 12px rgba(0, 0, 0, .1);--aia-pill-bg: var(--aia-primitive-neutral-750);--aia-pill-color: var(--aia-primitive-neutral-700);--aia-pill-font-size: 14px;--aia-option-bg: var(--aia-primitive-neutral-250);--aia-option-color: var(--aia-primitive-neutral-700);--aia-option-color-selected: var(--aia-primitive-neutral-1000);--aia-option-font-size: 14px;--aia-written-text-color: var(--aia-primitive-neutral-1000);--aia-written-text-font-size: 14px;--aia-caret-color: var(--aia-written-text-color, #ffffff);--aia-submit-bg: var(--aia-primitive-neutral-1000);--aia-submit-color: var(--aia-primitive-neutral-0);--aia-color-text-muted: #c1c4cb;--aia-skeleton-bg: var(--aia-primitive-neutral-300);--aia-streak-rgb: 255, 255, 255;--aia-streak-glass-bg: rgba(255, 255, 255, .1);--aia-footer-divider: rgba(255, 255, 255, .15);--aia-footer-hint-color: var(--aia-primitive-neutral-700);--aia-footer-brand-color: var(--aia-primitive-neutral-500);--aia-footer-badge-border: var(--aia-primitive-neutral-500)}:where(.magicx-aia[data-options-position=\"above\"]) [data-aia-dropdown],[data-aia-dropdown][data-options-position=above]{top:auto;bottom:100%;margin-top:0;margin-bottom:6px}:where(.magicx-aia[data-options-position=\"above\"]) [data-aia-dropdown] .aia-stack,[data-aia-dropdown][data-options-position=above] .aia-stack{flex-direction:column-reverse}:where(.magicx-aia[data-options-position=\"above\"]) [data-aia-dropdown] .magicx-aia-footer,[data-aia-dropdown][data-options-position=above] .magicx-aia-footer{flex-direction:column-reverse}\n", ".magicx-aia-dropdown{position:absolute;left:0;right:0;top:100%;max-width:544px;margin-top:6px;display:flex;flex-direction:column;box-sizing:border-box;padding:10px 8px;overflow:hidden;container-type:inline-size;z-index:10;opacity:0;pointer-events:none;transition:opacity .4s cubic-bezier(.4,0,.2,1);background:var(--aia-surface, #ffffff);border:1px solid var(--aia-dropdown-border, #e5e7eb);border-radius:18px;box-shadow:var(--aia-dropdown-shadow, 0 8px 12px rgba(0, 0, 0, .1))}.magicx-aia-dropdown[data-aia-surface=glass]{background:transparent;border-color:transparent;box-shadow:#fff -3.2px -3.2px 3.2px -3.2px inset,#fff 6.4px 6.4px 1.6px -8px inset,var(--aia-dropdown-bg, transparent) -6.4px 6.4px 1.6px -8px inset,var(--aia-dropdown-bg, transparent) 6.4px -6.4px 1.6px -8px inset,#ffffff26 -1.6px 0 0 -1.6px inset,#ffffff26 0 -1.6px 0 -1.6px inset,#ffffff4d 0 1.6px inset,#ffffff4d 1.6px 0 inset,inset 0 0 30px 5px #0000000d,#00000014 0 0 30px 2px;backdrop-filter:blur(30px)}.magicx-aia-dropdown-visible{opacity:1;pointer-events:auto}.magicx-aia-dropdown-pillbar{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 48px),transparent 100%);-webkit-mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 48px),transparent 100%)}.magicx-aia-dropdown-pillbar::-webkit-scrollbar{display:none}.magicx-aia-footer{display:flex;flex-direction:column;gap:8px;padding:0 8px}.magicx-aia-footer-divider{border-top:1px solid var(--aia-footer-divider, rgba(176, 176, 176, .4))}.magicx-aia-footer-row{display:flex;align-items:center;justify-content:space-between}.magicx-aia-footer-hint-group{display:inline-flex;align-items:center;gap:5px}.magicx-aia-footer-brand-link{display:inline-flex;align-items:center;gap:2px;text-decoration:none;cursor:pointer;transition:opacity .15s ease-out}.magicx-aia-footer-brand-link:hover{opacity:.7}.magicx-aia-footer-key{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:22px;padding:2px 6px;border:.5px solid var(--aia-footer-hint-color, #505050);border-radius:5px;font-family:inherit;font-size:11px;line-height:18px;color:var(--aia-footer-hint-color, #505050)}.magicx-aia-footer-hint{font-family:inherit;font-size:11px;line-height:18px;color:var(--aia-footer-hint-color, #505050)}.magicx-aia-footer-brand{font-family:inherit;font-size:10px;line-height:18px;color:var(--aia-footer-brand-color, #b0b0b0)}.magicx-aia-footer-badge{display:inline-flex;align-items:center;height:23px;padding:2.5px 5.5px;border:.5px solid var(--aia-footer-badge-border, rgba(189, 189, 189, .51));border-radius:999px;font-family:inherit;font-size:10px;line-height:18px;color:var(--aia-footer-brand-color, #b0b0b0)}@media (max-width: 768px){.magicx-aia-footer-divider,.magicx-aia-footer-hint-group{display:none}.magicx-aia-footer-row{justify-content:flex-end}}.magicx-aia-dropdown-skeleton-bars{display:flex;flex-direction:column;gap:20px;padding:7px 8px}.magicx-aia-dropdown-skeleton-bar{display:block;height:14px;border-radius:999px;background:var(--aia-skeleton-bg, var(--aia-pill-bg, rgba(189, 189, 189, .51)));opacity:.5;animation:aiaDropdownSkeletonPulse 1.4s ease-in-out infinite}.magicx-aia-dropdown-skeleton-bar:nth-child(2){animation-delay:.15s}.magicx-aia-dropdown-skeleton-bar:nth-child(3){animation-delay:.3s}@keyframes aiaDropdownSkeletonPulse{0%,to{opacity:.5}50%{opacity:.25}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: PillListComponent, selector: "aia-pill-list", inputs: ["pills", "activePillIndex", "rounded", "loading", "activeSelected"], outputs: ["selectPill"] }, { kind: "component", type: SuggestionGridComponent, selector: "aia-suggestion-grid", inputs: ["options", "activeIndex", "listboxId", "loading"], outputs: ["select", "highlight"] }, { kind: "component", type: StackComponent, selector: "aia-stack", inputs: ["space", "align"] }, { kind: "component", type: ClusterComponent, selector: "aia-cluster", inputs: ["gap", "align", "justify", "noWrap", "inline"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
526
526
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AIAutocompleteDropdownComponent, decorators: [{
|
|
527
527
|
type: Component,
|
|
528
528
|
args: [{ selector: "ai-autocomplete-dropdown", standalone: true, imports: [
|
|
@@ -531,7 +531,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
531
531
|
SuggestionGridComponent,
|
|
532
532
|
StackComponent,
|
|
533
533
|
ClusterComponent,
|
|
534
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div\n *ngIf=\"vm$ | async as vm\"\n [id]=\"controller.listboxId\"\n role=\"listbox\"\n data-aia-dropdown=\"\"\n [attr.data-aia-loading]=\"vm.isLoading ? '' : null\"\n [attr.data-mode]=\"resolvedMode\"\n [attr.data-options-position]=\"vm.optionsPosition\"\n [class]=\"rootClass\"\n [class.magicx-aia-dropdown-visible]=\"vm.isVisible\"\n (mousedown)=\"preventBlur($event)\"\n>\n <aia-stack space=\"8px\">\n <aia-cluster\n *ngIf=\"vm.showsPills\"\n class=\"magicx-aia-dropdown-pillbar\"\n data-aia-pillbar=\"\"\n [noWrap]=\"true\"\n >\n <aia-pill-list\n [pills]=\"vm.pills\"\n [activePillIndex]=\"0\"\n [activeSelected]=\"vm.isActivePillSelected\"\n [rounded]=\"true\"\n [loading]=\"vm.isLoading\"\n (selectPill)=\"onPillClick($event)\"\n ></aia-pill-list>\n </aia-cluster>\n\n <aia-suggestion-grid\n *ngIf=\"vm.showsOptions\"\n [options]=\"vm.options\"\n [activeIndex]=\"vm.activeIndex\"\n [listboxId]=\"controller.listboxId\"\n [loading]=\"vm.isLoading\"\n (select)=\"onSelect($event)\"\n (highlight)=\"onHighlight($event)\"\n ></aia-suggestion-grid>\n\n <div\n *ngIf=\"vm.showsFallbackSkeleton\"\n class=\"magicx-aia-dropdown-skeleton-bars\"\n data-aia-skeleton-bars=\"\"\n >\n <span\n *ngFor=\"let w of fallbackSkeletonBarWidths; trackBy: trackByWidth\"\n class=\"magicx-aia-dropdown-skeleton-bar\"\n [style.width.px]=\"w\"\n ></span>\n </div>\n\n <footer class=\"magicx-aia-footer\" data-aia-footer=\"\">\n <div class=\"magicx-aia-footer-divider\"></div>\n <div class=\"magicx-aia-footer-row\">\n <span class=\"magicx-aia-footer-hint-group\">\n <kbd class=\"magicx-aia-footer-key\">{{ vm.footerKey }}</kbd>\n <span class=\"magicx-aia-footer-hint\">{{ vm.footerHint }}</span>\n </span>\n <a\n class=\"magicx-aia-footer-brand-link\"\n href=\"https://ai-autocomplete.com\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <span class=\"magicx-aia-footer-brand\">AI</span>\n <span class=\"magicx-aia-footer-badge\">Autocomplete</span>\n </a>\n </div>\n </footer>\n </aia-stack>\n</div>\n", styles: [":where(.magicx-aia,.magicx-aia *,.magicx-aia *::before,.magicx-aia *::after){box-sizing:border-box}:where(.magicx-aia),:where(.magicx-aia[data-mode=\"light\"]){--aia-surface:
|
|
534
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div\n *ngIf=\"vm$ | async as vm\"\n [id]=\"controller.listboxId\"\n role=\"listbox\"\n data-aia-dropdown=\"\"\n [attr.data-aia-loading]=\"vm.isLoading ? '' : null\"\n [attr.data-mode]=\"resolvedMode\"\n [attr.data-options-position]=\"vm.optionsPosition\"\n [class]=\"rootClass\"\n [class.magicx-aia-dropdown-visible]=\"vm.isVisible\"\n (mousedown)=\"preventBlur($event)\"\n>\n <aia-stack space=\"8px\">\n <aia-cluster\n *ngIf=\"vm.showsPills\"\n class=\"magicx-aia-dropdown-pillbar\"\n data-aia-pillbar=\"\"\n [noWrap]=\"true\"\n >\n <aia-pill-list\n [pills]=\"vm.pills\"\n [activePillIndex]=\"0\"\n [activeSelected]=\"vm.isActivePillSelected\"\n [rounded]=\"true\"\n [loading]=\"vm.isLoading\"\n (selectPill)=\"onPillClick($event)\"\n ></aia-pill-list>\n </aia-cluster>\n\n <aia-suggestion-grid\n *ngIf=\"vm.showsOptions\"\n [options]=\"vm.options\"\n [activeIndex]=\"vm.activeIndex\"\n [listboxId]=\"controller.listboxId\"\n [loading]=\"vm.isLoading\"\n (select)=\"onSelect($event)\"\n (highlight)=\"onHighlight($event)\"\n ></aia-suggestion-grid>\n\n <div\n *ngIf=\"vm.showsFallbackSkeleton\"\n class=\"magicx-aia-dropdown-skeleton-bars\"\n data-aia-skeleton-bars=\"\"\n >\n <span\n *ngFor=\"let w of fallbackSkeletonBarWidths; trackBy: trackByWidth\"\n class=\"magicx-aia-dropdown-skeleton-bar\"\n [style.width.px]=\"w\"\n ></span>\n </div>\n\n <footer class=\"magicx-aia-footer\" data-aia-footer=\"\">\n <div class=\"magicx-aia-footer-divider\"></div>\n <div class=\"magicx-aia-footer-row\">\n <span class=\"magicx-aia-footer-hint-group\">\n <kbd class=\"magicx-aia-footer-key\">{{ vm.footerKey }}</kbd>\n <span class=\"magicx-aia-footer-hint\">{{ vm.footerHint }}</span>\n </span>\n <a\n class=\"magicx-aia-footer-brand-link\"\n href=\"https://ai-autocomplete.com\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <span class=\"magicx-aia-footer-brand\">AI</span>\n <span class=\"magicx-aia-footer-badge\">Autocomplete</span>\n </a>\n </div>\n </footer>\n </aia-stack>\n</div>\n", styles: [":where(.magicx-aia,.magicx-aia *,.magicx-aia *::before,.magicx-aia *::after){box-sizing:border-box}:where(.magicx-aia){--aia-primitive-neutral-0: #000000;--aia-primitive-neutral-250: #323232;--aia-primitive-neutral-300: #333539;--aia-primitive-neutral-400: #4a4a4a;--aia-primitive-neutral-500: #505050;--aia-primitive-neutral-700: #b0b0b0;--aia-primitive-neutral-750: #bdbdbd;--aia-primitive-neutral-900: #e7e7e7;--aia-primitive-neutral-1000: #ffffff;--aia-primitive-blue-50: #eef2ff;--aia-primitive-neutral-750-a50: rgba(189, 189, 189, .51);--aia-primitive-neutral-700-a40: rgba(176, 176, 176, .4)}:where(.magicx-aia),:where(.magicx-aia[data-mode=\"light\"]){--aia-surface: var(--aia-primitive-neutral-1000);--aia-border: var(--aia-primitive-neutral-700);--aia-dropdown-border: var( --aia-primitive-neutral-900 );--aia-dropdown-shadow: 0 8px 12px rgba(0, 0, 0, .1);--aia-pill-bg: var(--aia-primitive-neutral-750);--aia-pill-color: var(--aia-primitive-neutral-300);--aia-pill-font-size: 14px;--aia-option-bg: var(--aia-primitive-blue-50);--aia-option-color: var(--aia-primitive-neutral-500);--aia-option-color-selected: var(--aia-primitive-neutral-0);--aia-option-font-size: 14px;--aia-written-text-color: var(--aia-primitive-neutral-0);--aia-written-text-font-size: 14px;--aia-caret-color: var(--aia-written-text-color, #000000);--aia-submit-bg: var(--aia-primitive-neutral-0);--aia-submit-color: var(--aia-primitive-neutral-1000);--aia-color-text-muted: #6b7280;--aia-skeleton-bg: var(--aia-primitive-neutral-750-a50);--aia-streak-rgb: 99, 102, 241;--aia-streak-glass-bg: rgba(99, 102, 241, .1);--aia-footer-divider: var(--aia-primitive-neutral-700-a40);--aia-footer-hint-color: var(--aia-primitive-neutral-500);--aia-footer-brand-color: var(--aia-primitive-neutral-700);--aia-footer-badge-border: var(--aia-primitive-neutral-750-a50)}:where(.magicx-aia[data-mode=\"dark\"]){--aia-surface: var(--aia-primitive-neutral-0);--aia-border: var(--aia-primitive-neutral-500);--aia-dropdown-border: var( --aia-primitive-neutral-400 );--aia-dropdown-shadow: 0 8px 12px rgba(0, 0, 0, .1);--aia-pill-bg: var(--aia-primitive-neutral-750);--aia-pill-color: var(--aia-primitive-neutral-700);--aia-pill-font-size: 14px;--aia-option-bg: var(--aia-primitive-neutral-250);--aia-option-color: var(--aia-primitive-neutral-700);--aia-option-color-selected: var(--aia-primitive-neutral-1000);--aia-option-font-size: 14px;--aia-written-text-color: var(--aia-primitive-neutral-1000);--aia-written-text-font-size: 14px;--aia-caret-color: var(--aia-written-text-color, #ffffff);--aia-submit-bg: var(--aia-primitive-neutral-1000);--aia-submit-color: var(--aia-primitive-neutral-0);--aia-color-text-muted: #c1c4cb;--aia-skeleton-bg: var(--aia-primitive-neutral-300);--aia-streak-rgb: 255, 255, 255;--aia-streak-glass-bg: rgba(255, 255, 255, .1);--aia-footer-divider: rgba(255, 255, 255, .15);--aia-footer-hint-color: var(--aia-primitive-neutral-700);--aia-footer-brand-color: var(--aia-primitive-neutral-500);--aia-footer-badge-border: var(--aia-primitive-neutral-500)}:where(.magicx-aia[data-options-position=\"above\"]) [data-aia-dropdown],[data-aia-dropdown][data-options-position=above]{top:auto;bottom:100%;margin-top:0;margin-bottom:6px}:where(.magicx-aia[data-options-position=\"above\"]) [data-aia-dropdown] .aia-stack,[data-aia-dropdown][data-options-position=above] .aia-stack{flex-direction:column-reverse}:where(.magicx-aia[data-options-position=\"above\"]) [data-aia-dropdown] .magicx-aia-footer,[data-aia-dropdown][data-options-position=above] .magicx-aia-footer{flex-direction:column-reverse}\n", ".magicx-aia-dropdown{position:absolute;left:0;right:0;top:100%;max-width:544px;margin-top:6px;display:flex;flex-direction:column;box-sizing:border-box;padding:10px 8px;overflow:hidden;container-type:inline-size;z-index:10;opacity:0;pointer-events:none;transition:opacity .4s cubic-bezier(.4,0,.2,1);background:var(--aia-surface, #ffffff);border:1px solid var(--aia-dropdown-border, #e5e7eb);border-radius:18px;box-shadow:var(--aia-dropdown-shadow, 0 8px 12px rgba(0, 0, 0, .1))}.magicx-aia-dropdown[data-aia-surface=glass]{background:transparent;border-color:transparent;box-shadow:#fff -3.2px -3.2px 3.2px -3.2px inset,#fff 6.4px 6.4px 1.6px -8px inset,var(--aia-dropdown-bg, transparent) -6.4px 6.4px 1.6px -8px inset,var(--aia-dropdown-bg, transparent) 6.4px -6.4px 1.6px -8px inset,#ffffff26 -1.6px 0 0 -1.6px inset,#ffffff26 0 -1.6px 0 -1.6px inset,#ffffff4d 0 1.6px inset,#ffffff4d 1.6px 0 inset,inset 0 0 30px 5px #0000000d,#00000014 0 0 30px 2px;backdrop-filter:blur(30px)}.magicx-aia-dropdown-visible{opacity:1;pointer-events:auto}.magicx-aia-dropdown-pillbar{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 48px),transparent 100%);-webkit-mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 48px),transparent 100%)}.magicx-aia-dropdown-pillbar::-webkit-scrollbar{display:none}.magicx-aia-footer{display:flex;flex-direction:column;gap:8px;padding:0 8px}.magicx-aia-footer-divider{border-top:1px solid var(--aia-footer-divider, rgba(176, 176, 176, .4))}.magicx-aia-footer-row{display:flex;align-items:center;justify-content:space-between}.magicx-aia-footer-hint-group{display:inline-flex;align-items:center;gap:5px}.magicx-aia-footer-brand-link{display:inline-flex;align-items:center;gap:2px;text-decoration:none;cursor:pointer;transition:opacity .15s ease-out}.magicx-aia-footer-brand-link:hover{opacity:.7}.magicx-aia-footer-key{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:22px;padding:2px 6px;border:.5px solid var(--aia-footer-hint-color, #505050);border-radius:5px;font-family:inherit;font-size:11px;line-height:18px;color:var(--aia-footer-hint-color, #505050)}.magicx-aia-footer-hint{font-family:inherit;font-size:11px;line-height:18px;color:var(--aia-footer-hint-color, #505050)}.magicx-aia-footer-brand{font-family:inherit;font-size:10px;line-height:18px;color:var(--aia-footer-brand-color, #b0b0b0)}.magicx-aia-footer-badge{display:inline-flex;align-items:center;height:23px;padding:2.5px 5.5px;border:.5px solid var(--aia-footer-badge-border, rgba(189, 189, 189, .51));border-radius:999px;font-family:inherit;font-size:10px;line-height:18px;color:var(--aia-footer-brand-color, #b0b0b0)}@media (max-width: 768px){.magicx-aia-footer-divider,.magicx-aia-footer-hint-group{display:none}.magicx-aia-footer-row{justify-content:flex-end}}.magicx-aia-dropdown-skeleton-bars{display:flex;flex-direction:column;gap:20px;padding:7px 8px}.magicx-aia-dropdown-skeleton-bar{display:block;height:14px;border-radius:999px;background:var(--aia-skeleton-bg, var(--aia-pill-bg, rgba(189, 189, 189, .51)));opacity:.5;animation:aiaDropdownSkeletonPulse 1.4s ease-in-out infinite}.magicx-aia-dropdown-skeleton-bar:nth-child(2){animation-delay:.15s}.magicx-aia-dropdown-skeleton-bar:nth-child(3){animation-delay:.3s}@keyframes aiaDropdownSkeletonPulse{0%,to{opacity:.5}50%{opacity:.25}}\n"] }]
|
|
535
535
|
}], propDecorators: { controller: [{
|
|
536
536
|
type: Input
|
|
537
537
|
}], showPills: [{
|