UNPKG

@ng-doc/app

Version:

<!-- PROJECT LOGO --> <br /> <div align="center"> <a href="https://github.com/ng-doc/ng-doc"> <img src="https://ng-doc.com/assets/images/ng-doc.svg?raw=true" alt="Logo" height="150px"> </a>

1 lines 35.2 kB
{"version":3,"file":"ng-doc-app-components-search-dialog.mjs","sources":["../tmp-esm2022/components/search-dialog/search-dialog.component.js","../tmp-esm2022/components/search-dialog/ng-doc-app-components-search-dialog.js"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ElementRef, forwardRef, inject, ViewChild, } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { RouterLink } from '@angular/router';\nimport { NgDocSanitizeHtmlPipe } from '@ng-doc/app/pipes';\nimport { NG_DOC_DIALOG_DATA, NgDocAutofocusDirective, NgDocDataListComponent, NgDocExecutePipe, NgDocHighlighterPipe, NgDocIconComponent, NgDocInputStringDirective, NgDocInputWrapperComponent, NgDocSpinnerComponent, NgDocTagComponent, NgDocTextComponent, popupAnimation, } from '@ng-doc/ui-kit';\nimport { NgDocListHost, NgDocOverlayRef } from '@ng-doc/ui-kit/classes';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nimport * as i2 from \"@angular/forms\";\nexport class NgDocSearchDialogComponent {\n constructor() {\n this.searchTerm = '';\n this.elementRef = inject(ElementRef);\n this.overlayRef = inject(NgDocOverlayRef);\n this.data = inject(NG_DOC_DIALOG_DATA);\n this.searchTerm = this.data.term;\n }\n search(query) {\n this.data.search(query);\n if (this.resultContent) {\n this.resultContent.nativeElement.scrollTop = 0;\n }\n }\n getPositions(key, item) {\n return item.positions[key] ?? [];\n }\n get listHostOrigin() {\n return this.inputElement ?? this.elementRef;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: NgDocSearchDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.3\", type: NgDocSearchDialogComponent, isStandalone: true, selector: \"ng-doc-search-dialog\", host: { properties: { \"@popupAnimation\": \"true\" } }, providers: [\n {\n provide: NgDocListHost,\n useExisting: forwardRef(() => NgDocSearchDialogComponent),\n },\n ], viewQueries: [{ propertyName: \"inputElement\", first: true, predicate: [\"inputElement\"], descendants: true, read: ElementRef }, { propertyName: \"resultContent\", first: true, predicate: [\"resultContent\"], descendants: true, read: ElementRef }], ngImport: i0, template: \"<div class=\\\"ng-doc-search-dialog-container\\\">\\n <ng-doc-input-wrapper>\\n <ng-doc-icon icon=\\\"search\\\" ngDocInputWrapperLeft></ng-doc-icon>\\n <input\\n ngDocInputString\\n ngDocAutofocus\\n [selectAll]=\\\"true\\\"\\n placeholder=\\\"Find or ask anything...\\\"\\n [(ngModel)]=\\\"searchTerm\\\"\\n (ngModelChange)=\\\"search($event)\\\"\\n #inputElement />\\n </ng-doc-input-wrapper>\\n\\n @if (data.searchResults | async; as state) {\\n <div class=\\\"ng-doc-search-result-content\\\" #resultContent>\\n <ng-doc-data-list\\n [items]=\\\"state?.result ?? []\\\"\\n [itemContent]=\\\"itemContent\\\"\\n [emptyContent]=\\\"emptyContent\\\">\\n <ng-template let-item #itemContent>\\n <a\\n class=\\\"ng-doc-search-option\\\"\\n [routerLink]=\\\"item.index.route\\\"\\n [fragment]=\\\"item.index.fragment\\\"\\n (click)=\\\"overlayRef.close()\\\">\\n <div class=\\\"ng-doc-search-option-header\\\">\\n <ng-doc-tag size=\\\"small\\\" [attr.data-ng-doc-page-type]=\\\"item.index.pageType\\\">\\n {{ item.index.pageType }}\\n </ng-doc-tag>\\n <span class=\\\"ng-doc-search-option-breadcrumbs\\\" ng-doc-text>\\n @for (breadcrum of item.index.breadcrumbs; track breadcrum; let i = $index) {\\n <span>{{ breadcrum }}</span>\\n @if (i !== item.index.breadcrumbs.length - 1) {\\n <span class=\\\"ng-doc-search-option-breadcrumb-divider\\\"><b>\\u2022</b></span>\\n }\\n }\\n </span>\\n </div>\\n <h5\\n class=\\\"ng-doc-search-section-title\\\"\\n ng-doc-text\\n [innerHTML]=\\\"\\n (item.index.section\\n | ngDocHighlighterPipe: (getPositions | execute: 'section' : item)\\n | ngDocSanitizeHtml) || item.index.title\\n \\\"></h5>\\n @if (item.index.content) {\\n <div\\n class=\\\"ng-doc-search-content\\\"\\n [innerHTML]=\\\"\\n item.index.content\\n | ngDocHighlighterPipe: (getPositions | execute: 'content' : item)\\n | ngDocSanitizeHtml\\n \\\"\\n ng-doc-text></div>\\n }\\n </a>\\n </ng-template>\\n <ng-template #emptyContent>\\n @if (!state?.pending) {\\n <div class=\\\"ng-doc-search-empty\\\">\\n @if (searchTerm.length) {\\n Nothing found\\n }\\n @if (!searchTerm.length) {\\n Please enter your search query\\n }\\n </div>\\n }\\n @if (state?.pending) {\\n <div class=\\\"ng-doc-search-progress\\\">\\n <ng-doc-spinner size=\\\"small\\\"></ng-doc-spinner>\\n Searching...\\n </div>\\n }\\n </ng-template>\\n </ng-doc-data-list>\\n </div>\\n }\\n</div>\\n\", styles: [\":host{display:block;width:800px;max-width:100%;--ng-doc-search-border-radius: var(--ng-doc-floated-border-radius);--ng-doc-input-height: calc(var(--ng-doc-base-gutter) * 7);--ng-doc-input-border: 1px solid var(--ng-doc-base-1);--ng-doc-input-border-hover: 1px solid var(--ng-doc-base-1);--ng-doc-floated-focus-border-color: transparent}@media (max-width: 1024px){:host{padding:calc(var(--ng-doc-base-gutter) * 5)}}@media (max-width: 768px){:host{padding:calc(var(--ng-doc-base-gutter) * 2)}}:host ng-doc-icon[icon=search]{--ng-doc-icon-width: calc(var(--ng-doc-base-gutter) * 6)}:host ng-doc-input-wrapper:not(:last-child){--ng-doc-floated-border-radius: var(--ng-doc-search-border-radius) var(--ng-doc-search-border-radius) 0 0}:host .ng-doc-search-dialog-container{box-shadow:#0000 0 0,#0000 0 0,#00000040 0 25px 50px -12px}:host .ng-doc-search-result-content{max-height:70vh;overflow:auto;background-color:var(--ng-doc-background);border-radius:0 0 var(--ng-doc-search-border-radius) var(--ng-doc-search-border-radius);--ng-doc-option-padding: 0}:host .ng-doc-search-result-content[data-ng-doc-mod=icon] .ng-doc-search-wrapper{padding:calc(var(--ng-doc-base-gutter) * 2) 0}:host .ng-doc-search-result-content[data-ng-doc-mod=icon] .ng-doc-search-option{padding:12px 16px}:host .ng-doc-search-option{display:block;padding:12px 36px;text-decoration:none}:host .ng-doc-search-option .ng-doc-search-option-header{display:flex;align-items:center;margin-bottom:calc(var(--ng-doc-base-gutter) / 2)}:host .ng-doc-search-option .ng-doc-search-option-header ng-doc-tag{text-transform:uppercase;margin-right:var(--ng-doc-base-gutter);--ng-doc-font-weight: 500}:host .ng-doc-search-option .ng-doc-search-option-header ng-doc-tag[data-ng-doc-page-type=guide]{--ng-doc-tag-color: var(--ng-doc-guide-tag-color);--ng-doc-tag-background: var(--ng-doc-guide-tag-background)}:host .ng-doc-search-option .ng-doc-search-option-header ng-doc-tag[data-ng-doc-page-type=api]{--ng-doc-tag-color: var(--ng-doc-api-tag-color);--ng-doc-tag-background: var(--ng-doc-api-tag-background)}:host .ng-doc-search-option .ng-doc-search-option-header .ng-doc-search-option-breadcrumbs{--ng-doc-text: var(--ng-doc-text-muted);--ng-doc-font-size: 12px;--ng-doc-line-height: 16px}:host .ng-doc-search-option .ng-doc-search-option-header .ng-doc-search-option-breadcrumbs .ng-doc-search-option-breadcrumb-divider{margin:0 6px}:host .ng-doc-search-option .ng-doc-search-section-title{display:block;color:var(--ng-doc-search-result-header-color, var(--ng-doc-text));--ng-doc-line-height: 20px;margin:4px 0}:host .ng-doc-search-option .ng-doc-search-content{display:block;color:var(--ng-doc-search-result-color, var(--ng-doc-text));--ng-doc-font-size: 14px;--ng-doc-line-height: 19px}:host .ng-doc-search-empty{padding:0 22px}:host .ng-doc-search-progress{display:flex;align-items:center}:host .ng-doc-search-progress ng-doc-spinner{margin-right:var(--ng-doc-base-gutter)}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"pipe\", type: i1.AsyncPipe, name: \"async\" }, { kind: \"component\", type: NgDocInputWrapperComponent, selector: \"ng-doc-input-wrapper\", inputs: [\"blurContent\", \"blurContext\", \"align\"] }, { kind: \"directive\", type: NgDocInputStringDirective, selector: \"input[ngDocInputString]\" }, { kind: \"directive\", type: NgDocAutofocusDirective, selector: \"[ngDocAutofocus]\", inputs: [\"selectAll\"] }, { kind: \"component\", type: NgDocIconComponent, selector: \"ng-doc-icon\", inputs: [\"icon\", \"customIcon\", \"size\"] }, { kind: \"component\", type: NgDocDataListComponent, selector: \"ng-doc-data-list\", inputs: [\"autofocus\", \"items\", \"itemContent\", \"emptyContent\", \"itemDisabledFn\", \"defineValueFn\", \"trackByFn\"] }, { kind: \"directive\", type: RouterLink, selector: \"[routerLink]\", inputs: [\"target\", \"queryParams\", \"fragment\", \"queryParamsHandling\", \"state\", \"info\", \"relativeTo\", \"preserveFragment\", \"skipLocationChange\", \"replaceUrl\", \"routerLink\"] }, { kind: \"component\", type: NgDocTagComponent, selector: \"ng-doc-tag\", inputs: [\"color\", \"size\", \"mod\"] }, { kind: \"component\", type: NgDocTextComponent, selector: \"[ng-doc-text]\", inputs: [\"size\", \"color\", \"align\", \"absoluteContent\"] }, { kind: \"pipe\", type: NgDocHighlighterPipe, name: \"ngDocHighlighterPipe\" }, { kind: \"pipe\", type: NgDocSanitizeHtmlPipe, name: \"ngDocSanitizeHtml\" }, { kind: \"component\", type: NgDocSpinnerComponent, selector: \"ng-doc-spinner\", inputs: [\"size\"] }, { kind: \"pipe\", type: NgDocExecutePipe, name: \"execute\" }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i2.DefaultValueAccessor, selector: \"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]\" }, { kind: \"directive\", type: i2.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i2.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }], animations: [popupAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: NgDocSearchDialogComponent, decorators: [{\n type: Component,\n args: [{ animations: [popupAnimation], selector: 'ng-doc-search-dialog', imports: [\n CommonModule,\n NgDocInputWrapperComponent,\n NgDocInputStringDirective,\n NgDocAutofocusDirective,\n NgDocIconComponent,\n NgDocDataListComponent,\n RouterLink,\n NgDocTagComponent,\n NgDocTextComponent,\n NgDocHighlighterPipe,\n NgDocSanitizeHtmlPipe,\n NgDocSpinnerComponent,\n NgDocExecutePipe,\n FormsModule,\n ], providers: [\n {\n provide: NgDocListHost,\n useExisting: forwardRef(() => NgDocSearchDialogComponent),\n },\n ], changeDetection: ChangeDetectionStrategy.OnPush, host: {\n '[@popupAnimation]': 'true',\n }, template: \"<div class=\\\"ng-doc-search-dialog-container\\\">\\n <ng-doc-input-wrapper>\\n <ng-doc-icon icon=\\\"search\\\" ngDocInputWrapperLeft></ng-doc-icon>\\n <input\\n ngDocInputString\\n ngDocAutofocus\\n [selectAll]=\\\"true\\\"\\n placeholder=\\\"Find or ask anything...\\\"\\n [(ngModel)]=\\\"searchTerm\\\"\\n (ngModelChange)=\\\"search($event)\\\"\\n #inputElement />\\n </ng-doc-input-wrapper>\\n\\n @if (data.searchResults | async; as state) {\\n <div class=\\\"ng-doc-search-result-content\\\" #resultContent>\\n <ng-doc-data-list\\n [items]=\\\"state?.result ?? []\\\"\\n [itemContent]=\\\"itemContent\\\"\\n [emptyContent]=\\\"emptyContent\\\">\\n <ng-template let-item #itemContent>\\n <a\\n class=\\\"ng-doc-search-option\\\"\\n [routerLink]=\\\"item.index.route\\\"\\n [fragment]=\\\"item.index.fragment\\\"\\n (click)=\\\"overlayRef.close()\\\">\\n <div class=\\\"ng-doc-search-option-header\\\">\\n <ng-doc-tag size=\\\"small\\\" [attr.data-ng-doc-page-type]=\\\"item.index.pageType\\\">\\n {{ item.index.pageType }}\\n </ng-doc-tag>\\n <span class=\\\"ng-doc-search-option-breadcrumbs\\\" ng-doc-text>\\n @for (breadcrum of item.index.breadcrumbs; track breadcrum; let i = $index) {\\n <span>{{ breadcrum }}</span>\\n @if (i !== item.index.breadcrumbs.length - 1) {\\n <span class=\\\"ng-doc-search-option-breadcrumb-divider\\\"><b>\\u2022</b></span>\\n }\\n }\\n </span>\\n </div>\\n <h5\\n class=\\\"ng-doc-search-section-title\\\"\\n ng-doc-text\\n [innerHTML]=\\\"\\n (item.index.section\\n | ngDocHighlighterPipe: (getPositions | execute: 'section' : item)\\n | ngDocSanitizeHtml) || item.index.title\\n \\\"></h5>\\n @if (item.index.content) {\\n <div\\n class=\\\"ng-doc-search-content\\\"\\n [innerHTML]=\\\"\\n item.index.content\\n | ngDocHighlighterPipe: (getPositions | execute: 'content' : item)\\n | ngDocSanitizeHtml\\n \\\"\\n ng-doc-text></div>\\n }\\n </a>\\n </ng-template>\\n <ng-template #emptyContent>\\n @if (!state?.pending) {\\n <div class=\\\"ng-doc-search-empty\\\">\\n @if (searchTerm.length) {\\n Nothing found\\n }\\n @if (!searchTerm.length) {\\n Please enter your search query\\n }\\n </div>\\n }\\n @if (state?.pending) {\\n <div class=\\\"ng-doc-search-progress\\\">\\n <ng-doc-spinner size=\\\"small\\\"></ng-doc-spinner>\\n Searching...\\n </div>\\n }\\n </ng-template>\\n </ng-doc-data-list>\\n </div>\\n }\\n</div>\\n\", styles: [\":host{display:block;width:800px;max-width:100%;--ng-doc-search-border-radius: var(--ng-doc-floated-border-radius);--ng-doc-input-height: calc(var(--ng-doc-base-gutter) * 7);--ng-doc-input-border: 1px solid var(--ng-doc-base-1);--ng-doc-input-border-hover: 1px solid var(--ng-doc-base-1);--ng-doc-floated-focus-border-color: transparent}@media (max-width: 1024px){:host{padding:calc(var(--ng-doc-base-gutter) * 5)}}@media (max-width: 768px){:host{padding:calc(var(--ng-doc-base-gutter) * 2)}}:host ng-doc-icon[icon=search]{--ng-doc-icon-width: calc(var(--ng-doc-base-gutter) * 6)}:host ng-doc-input-wrapper:not(:last-child){--ng-doc-floated-border-radius: var(--ng-doc-search-border-radius) var(--ng-doc-search-border-radius) 0 0}:host .ng-doc-search-dialog-container{box-shadow:#0000 0 0,#0000 0 0,#00000040 0 25px 50px -12px}:host .ng-doc-search-result-content{max-height:70vh;overflow:auto;background-color:var(--ng-doc-background);border-radius:0 0 var(--ng-doc-search-border-radius) var(--ng-doc-search-border-radius);--ng-doc-option-padding: 0}:host .ng-doc-search-result-content[data-ng-doc-mod=icon] .ng-doc-search-wrapper{padding:calc(var(--ng-doc-base-gutter) * 2) 0}:host .ng-doc-search-result-content[data-ng-doc-mod=icon] .ng-doc-search-option{padding:12px 16px}:host .ng-doc-search-option{display:block;padding:12px 36px;text-decoration:none}:host .ng-doc-search-option .ng-doc-search-option-header{display:flex;align-items:center;margin-bottom:calc(var(--ng-doc-base-gutter) / 2)}:host .ng-doc-search-option .ng-doc-search-option-header ng-doc-tag{text-transform:uppercase;margin-right:var(--ng-doc-base-gutter);--ng-doc-font-weight: 500}:host .ng-doc-search-option .ng-doc-search-option-header ng-doc-tag[data-ng-doc-page-type=guide]{--ng-doc-tag-color: var(--ng-doc-guide-tag-color);--ng-doc-tag-background: var(--ng-doc-guide-tag-background)}:host .ng-doc-search-option .ng-doc-search-option-header ng-doc-tag[data-ng-doc-page-type=api]{--ng-doc-tag-color: var(--ng-doc-api-tag-color);--ng-doc-tag-background: var(--ng-doc-api-tag-background)}:host .ng-doc-search-option .ng-doc-search-option-header .ng-doc-search-option-breadcrumbs{--ng-doc-text: var(--ng-doc-text-muted);--ng-doc-font-size: 12px;--ng-doc-line-height: 16px}:host .ng-doc-search-option .ng-doc-search-option-header .ng-doc-search-option-breadcrumbs .ng-doc-search-option-breadcrumb-divider{margin:0 6px}:host .ng-doc-search-option .ng-doc-search-section-title{display:block;color:var(--ng-doc-search-result-header-color, var(--ng-doc-text));--ng-doc-line-height: 20px;margin:4px 0}:host .ng-doc-search-option .ng-doc-search-content{display:block;color:var(--ng-doc-search-result-color, var(--ng-doc-text));--ng-doc-font-size: 14px;--ng-doc-line-height: 19px}:host .ng-doc-search-empty{padding:0 22px}:host .ng-doc-search-progress{display:flex;align-items:center}:host .ng-doc-search-progress ng-doc-spinner{margin-right:var(--ng-doc-base-gutter)}\\n\"] }]\n }], ctorParameters: () => [], propDecorators: { inputElement: [{\n type: ViewChild,\n args: ['inputElement', { read: ElementRef }]\n }], resultContent: [{\n type: ViewChild,\n args: ['resultContent', { read: ElementRef }]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL3NlYXJjaC1kaWFsb2cvc2VhcmNoLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL3NlYXJjaC1kaWFsb2cvc2VhcmNoLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFVBQVUsRUFDVixNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFN0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUQsT0FBTyxFQUNMLGtCQUFrQixFQUNsQix1QkFBdUIsRUFDdkIsc0JBQXNCLEVBQ3RCLGdCQUFnQixFQUNoQixvQkFBb0IsRUFFcEIsa0JBQWtCLEVBQ2xCLHlCQUF5QixFQUN6QiwwQkFBMEIsRUFDMUIscUJBQXFCLEVBQ3JCLGlCQUFpQixFQUNqQixrQkFBa0IsRUFDbEIsY0FBYyxHQUVmLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7OztBQXdDeEUsTUFBTSxPQUFPLDBCQUEwQjtJQVlyQztRQUxVLGVBQVUsR0FBVyxFQUFFLENBQUM7UUFDZixlQUFVLEdBQUcsTUFBTSxDQUEwQixVQUFVLENBQUMsQ0FBQztRQUN6RCxlQUFVLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3JDLFNBQUksR0FBRyxNQUFNLENBQXdCLGtCQUFrQixDQUFDLENBQUM7UUFHMUUsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQyxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQWE7UUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFeEIsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztRQUNqRCxDQUFDO0lBQ0gsQ0FBQztJQUVELFlBQVksQ0FDVixHQUFNLEVBQ04sSUFBTztRQUVQLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUM5QyxDQUFDOzhHQWpDVSwwQkFBMEI7a0dBQTFCLDBCQUEwQix3SEFYMUI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsYUFBYTtnQkFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQzthQUMxRDtTQUNGLG1IQU9rQyxVQUFVLHlHQUdULFVBQVUsNkJDekVoRCxtN0ZBZ0ZBLDg2RkR2Q0ksWUFBWSxvRkFDWiwwQkFBMEIsa0hBQzFCLHlCQUF5QixvRUFDekIsdUJBQXVCLG9GQUN2QixrQkFBa0IsZ0dBQ2xCLHNCQUFzQiw0S0FDdEIsVUFBVSxvT0FDVixpQkFBaUIseUZBQ2pCLGtCQUFrQiw0R0FDbEIsb0JBQW9CLHdEQUNwQixxQkFBcUIsMERBQ3JCLHFCQUFxQix3RUFDckIsZ0JBQWdCLCtDQUNoQixXQUFXLGltQkFoQkQsQ0FBQyxjQUFjLENBQUM7OzJGQStCakIsMEJBQTBCO2tCQWhDdEMsU0FBUztpQ0FDSSxDQUFDLGNBQWMsQ0FBQyxZQUNsQixzQkFBc0IsV0FDdkI7d0JBQ1AsWUFBWTt3QkFDWiwwQkFBMEI7d0JBQzFCLHlCQUF5Qjt3QkFDekIsdUJBQXVCO3dCQUN2QixrQkFBa0I7d0JBQ2xCLHNCQUFzQjt3QkFDdEIsVUFBVTt3QkFDVixpQkFBaUI7d0JBQ2pCLGtCQUFrQjt3QkFDbEIsb0JBQW9CO3dCQUNwQixxQkFBcUI7d0JBQ3JCLHFCQUFxQjt3QkFDckIsZ0JBQWdCO3dCQUNoQixXQUFXO3FCQUNaLGFBR1U7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDJCQUEyQixDQUFDO3lCQUMxRDtxQkFDRixtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDSixtQkFBbUIsRUFBRSxNQUFNO3FCQUM1Qjt3REFJRCxZQUFZO3NCQURYLFNBQVM7dUJBQUMsY0FBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFJL0MsYUFBYTtzQkFEWixTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgZm9yd2FyZFJlZixcbiAgaW5qZWN0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBSb3V0ZXJMaW5rIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE5nRG9jU2VhcmNoUmVzdWx0IH0gZnJvbSAnQG5nLWRvYy9hcHAvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBOZ0RvY1Nhbml0aXplSHRtbFBpcGUgfSBmcm9tICdAbmctZG9jL2FwcC9waXBlcyc7XG5pbXBvcnQge1xuICBOR19ET0NfRElBTE9HX0RBVEEsXG4gIE5nRG9jQXV0b2ZvY3VzRGlyZWN0aXZlLFxuICBOZ0RvY0RhdGFMaXN0Q29tcG9uZW50LFxuICBOZ0RvY0V4ZWN1dGVQaXBlLFxuICBOZ0RvY0hpZ2hsaWdodGVyUGlwZSxcbiAgTmdEb2NIaWdobGlnaHRQb3NpdGlvbixcbiAgTmdEb2NJY29uQ29tcG9uZW50LFxuICBOZ0RvY0lucHV0U3RyaW5nRGlyZWN0aXZlLFxuICBOZ0RvY0lucHV0V3JhcHBlckNvbXBvbmVudCxcbiAgTmdEb2NTcGlubmVyQ29tcG9uZW50LFxuICBOZ0RvY1RhZ0NvbXBvbmVudCxcbiAgTmdEb2NUZXh0Q29tcG9uZW50LFxuICBwb3B1cEFuaW1hdGlvbixcbiAgU3RhdGVkT2JzZXJ2YWJsZSxcbn0gZnJvbSAnQG5nLWRvYy91aS1raXQnO1xuaW1wb3J0IHsgTmdEb2NMaXN0SG9zdCwgTmdEb2NPdmVybGF5UmVmIH0gZnJvbSAnQG5nLWRvYy91aS1raXQvY2xhc3Nlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmdEb2NTZWFyY2hEaWFsb2dEYXRhIHtcbiAgdGVybTogc3RyaW5nO1xuICBzZWFyY2g6IChxdWVyeTogc3RyaW5nKSA9PiB2b2lkO1xuICBzZWFyY2hSZXN1bHRzOiBTdGF0ZWRPYnNlcnZhYmxlPE5nRG9jU2VhcmNoUmVzdWx0W10+O1xufVxuXG5AQ29tcG9uZW50KHtcbiAgYW5pbWF0aW9uczogW3BvcHVwQW5pbWF0aW9uXSxcbiAgc2VsZWN0b3I6ICduZy1kb2Mtc2VhcmNoLWRpYWxvZycsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTmdEb2NJbnB1dFdyYXBwZXJDb21wb25lbnQsXG4gICAgTmdEb2NJbnB1dFN0cmluZ0RpcmVjdGl2ZSxcbiAgICBOZ0RvY0F1dG9mb2N1c0RpcmVjdGl2ZSxcbiAgICBOZ0RvY0ljb25Db21wb25lbnQsXG4gICAgTmdEb2NEYXRhTGlzdENvbXBvbmVudCxcbiAgICBSb3V0ZXJMaW5rLFxuICAgIE5nRG9jVGFnQ29tcG9uZW50LFxuICAgIE5nRG9jVGV4dENvbXBvbmVudCxcbiAgICBOZ0RvY0hpZ2hsaWdodGVyUGlwZSxcbiAgICBOZ0RvY1Nhbml0aXplSHRtbFBpcGUsXG4gICAgTmdEb2NTcGlubmVyQ29tcG9uZW50LFxuICAgIE5nRG9jRXhlY3V0ZVBpcGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3NlYXJjaC1kaWFsb2cuY29tcG9uZW50LnNjc3MnLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOZ0RvY0xpc3RIb3N0LFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTmdEb2NTZWFyY2hEaWFsb2dDb21wb25lbnQpLFxuICAgIH0sXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7XG4gICAgJ1tAcG9wdXBBbmltYXRpb25dJzogJ3RydWUnLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBOZ0RvY1NlYXJjaERpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE5nRG9jTGlzdEhvc3Qge1xuICBAVmlld0NoaWxkKCdpbnB1dEVsZW1lbnQnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgaW5wdXRFbGVtZW50ITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgQFZpZXdDaGlsZCgncmVzdWx0Q29udGVudCcsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICByZXN1bHRDb250ZW50PzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgcHJvdGVjdGVkIHNlYXJjaFRlcm06IHN0cmluZyA9ICcnO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZWxlbWVudFJlZiA9IGluamVjdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oRWxlbWVudFJlZik7XG4gIHByb3RlY3RlZCByZWFkb25seSBvdmVybGF5UmVmID0gaW5qZWN0KE5nRG9jT3ZlcmxheVJlZik7XG4gIHByb3RlY3RlZCByZWFkb25seSBkYXRhID0gaW5qZWN0PE5nRG9jU2VhcmNoRGlhbG9nRGF0YT4oTkdfRE9DX0RJQUxPR19EQVRBKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnNlYXJjaFRlcm0gPSB0aGlzLmRhdGEudGVybTtcbiAgfVxuXG4gIHNlYXJjaChxdWVyeTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5kYXRhLnNlYXJjaChxdWVyeSk7XG5cbiAgICBpZiAodGhpcy5yZXN1bHRDb250ZW50KSB7XG4gICAgICB0aGlzLnJlc3VsdENvbnRlbnQubmF0aXZlRWxlbWVudC5zY3JvbGxUb3AgPSAwO1xuICAgIH1cbiAgfVxuXG4gIGdldFBvc2l0aW9uczxUIGV4dGVuZHMgTmdEb2NTZWFyY2hSZXN1bHQsIEsgZXh0ZW5kcyBrZXlvZiBUWydwb3NpdGlvbnMnXT4oXG4gICAga2V5OiBLLFxuICAgIGl0ZW06IFQsXG4gICk6IE5nRG9jSGlnaGxpZ2h0UG9zaXRpb25bXSB7XG4gICAgcmV0dXJuIGl0ZW0ucG9zaXRpb25zW2tleV0gPz8gW107XG4gIH1cblxuICBnZXQgbGlzdEhvc3RPcmlnaW4oKTogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4ge1xuICAgIHJldHVybiB0aGlzLmlucHV0RWxlbWVudCA/PyB0aGlzLmVsZW1lbnRSZWY7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJuZy1kb2Mtc2VhcmNoLWRpYWxvZy1jb250YWluZXJcIj5cbiAgPG5nLWRvYy1pbnB1dC13cmFwcGVyPlxuICAgIDxuZy1kb2MtaWNvbiBpY29uPVwic2VhcmNoXCIgbmdEb2NJbnB1dFdyYXBwZXJMZWZ0PjwvbmctZG9jLWljb24+XG4gICAgPGlucHV0XG4gICAgICBuZ0RvY0lucHV0U3RyaW5nXG4gICAgICBuZ0RvY0F1dG9mb2N1c1xuICAgICAgW3NlbGVjdEFsbF09XCJ0cnVlXCJcbiAgICAgIHBsYWNlaG9sZGVyPVwiRmluZCBvciBhc2sgYW55dGhpbmcuLi5cIlxuICAgICAgWyhuZ01vZGVsKV09XCJzZWFyY2hUZXJtXCJcbiAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInNlYXJjaCgkZXZlbnQpXCJcbiAgICAgICNpbnB1dEVsZW1lbnQgLz5cbiAgPC9uZy1kb2MtaW5wdXQtd3JhcHBlcj5cblxuICBAaWYgKGRhdGEuc2VhcmNoUmVzdWx0cyB8IGFzeW5jOyBhcyBzdGF0ZSkge1xuICAgIDxkaXYgY2xhc3M9XCJuZy1kb2Mtc2VhcmNoLXJlc3VsdC1jb250ZW50XCIgI3Jlc3VsdENvbnRlbnQ+XG4gICAgICA8bmctZG9jLWRhdGEtbGlzdFxuICAgICAgICBbaXRlbXNdPVwic3RhdGU/LnJlc3VsdCA/PyBbXVwiXG4gICAgICAgIFtpdGVtQ29udGVudF09XCJpdGVtQ29udGVudFwiXG4gICAgICAgIFtlbXB0eUNvbnRlbnRdPVwiZW1wdHlDb250ZW50XCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtaXRlbSAjaXRlbUNvbnRlbnQ+XG4gICAgICAgICAgPGFcbiAgICAgICAgICAgIGNsYXNzPVwibmctZG9jLXNlYXJjaC1vcHRpb25cIlxuICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiaXRlbS5pbmRleC5yb3V0ZVwiXG4gICAgICAgICAgICBbZnJhZ21lbnRdPVwiaXRlbS5pbmRleC5mcmFnbWVudFwiXG4gICAgICAgICAgICAoY2xpY2spPVwib3ZlcmxheVJlZi5jbG9zZSgpXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmctZG9jLXNlYXJjaC1vcHRpb24taGVhZGVyXCI+XG4gICAgICAgICAgICAgIDxuZy1kb2MtdGFnIHNpemU9XCJzbWFsbFwiIFthdHRyLmRhdGEtbmctZG9jLXBhZ2UtdHlwZV09XCJpdGVtLmluZGV4LnBhZ2VUeXBlXCI+XG4gICAgICAgICAgICAgICAge3sgaXRlbS5pbmRleC5wYWdlVHlwZSB9fVxuICAgICAgICAgICAgICA8L25nLWRvYy10YWc+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibmctZG9jLXNlYXJjaC1vcHRpb24tYnJlYWRjcnVtYnNcIiBuZy1kb2MtdGV4dD5cbiAgICAgICAgICAgICAgICBAZm9yIChicmVhZGNydW0gb2YgaXRlbS5pbmRleC5icmVhZGNydW1iczsgdHJhY2sgYnJlYWRjcnVtOyBsZXQgaSA9ICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgYnJlYWRjcnVtIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgQGlmIChpICE9PSBpdGVtLmluZGV4LmJyZWFkY3J1bWJzLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJuZy1kb2Mtc2VhcmNoLW9wdGlvbi1icmVhZGNydW1iLWRpdmlkZXJcIj48Yj7igKI8L2I+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8aDVcbiAgICAgICAgICAgICAgY2xhc3M9XCJuZy1kb2Mtc2VhcmNoLXNlY3Rpb24tdGl0bGVcIlxuICAgICAgICAgICAgICBuZy1kb2MtdGV4dFxuICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cIlxuICAgICAgICAgICAgICAgIChpdGVtLmluZGV4LnNlY3Rpb25cbiAgICAgICAgICAgICAgICAgIHwgbmdEb2NIaWdobGlnaHRlclBpcGU6IChnZXRQb3NpdGlvbnMgfCBleGVjdXRlOiAnc2VjdGlvbicgOiBpdGVtKVxuICAgICAgICAgICAgICAgICAgfCBuZ0RvY1Nhbml0aXplSHRtbCkgfHwgaXRlbS5pbmRleC50aXRsZVxuICAgICAgICAgICAgICBcIj48L2g1PlxuICAgICAgICAgICAgQGlmIChpdGVtLmluZGV4LmNvbnRlbnQpIHtcbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibmctZG9jLXNlYXJjaC1jb250ZW50XCJcbiAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cIlxuICAgICAgICAgICAgICAgICAgaXRlbS5pbmRleC5jb250ZW50XG4gICAgICAgICAgICAgICAgICAgIHwgbmdEb2NIaWdobGlnaHRlclBpcGU6IChnZXRQb3NpdGlvbnMgfCBleGVjdXRlOiAnY29udGVudCcgOiBpdGVtKVxuICAgICAgICAgICAgICAgICAgICB8IG5nRG9jU2FuaXRpemVIdG1sXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICBuZy1kb2MtdGV4dD48L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2E+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZW1wdHlDb250ZW50PlxuICAgICAgICAgIEBpZiAoIXN0YXRlPy5wZW5kaW5nKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmctZG9jLXNlYXJjaC1lbXB0eVwiPlxuICAgICAgICAgICAgICBAaWYgKHNlYXJjaFRlcm0ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgTm90aGluZyBmb3VuZFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIEBpZiAoIXNlYXJjaFRlcm0ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgUGxlYXNlIGVudGVyIHlvdXIgc2VhcmNoIHF1ZXJ5XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgKHN0YXRlPy5wZW5kaW5nKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmctZG9jLXNlYXJjaC1wcm9ncmVzc1wiPlxuICAgICAgICAgICAgICA8bmctZG9jLXNwaW5uZXIgc2l6ZT1cInNtYWxsXCI+PC9uZy1kb2Mtc3Bpbm5lcj5cbiAgICAgICAgICAgICAgU2VhcmNoaW5nLi4uXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L25nLWRvYy1kYXRhLWxpc3Q+XG4gICAgPC9kaXY+XG4gIH1cbjwvZGl2PlxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctZG9jLWFwcC1jb21wb25lbnRzLXNlYXJjaC1kaWFsb2cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL3NlYXJjaC1kaWFsb2cvbmctZG9jLWFwcC1jb21wb25lbnRzLXNlYXJjaC1kaWFsb2cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":[],"mappings":"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"}