UNPKG

@ng-doc/ui-kit

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 40.5 kB
{"version":3,"file":"ng-doc-ui-kit-components-dropdown.mjs","sources":["../tmp-esm2022/components/dropdown/dropdown.component.js","../tmp-esm2022/components/dropdown/ng-doc-ui-kit-components-dropdown.js"],"sourcesContent":["import { CdkOverlayOrigin, FlexibleConnectedPositionStrategy, } from '@angular/cdk/overlay';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, HostBinding, HostListener, inject, Input, NgZone, Output, ViewContainerRef, } from '@angular/core';\nimport { asArray } from '@ng-doc/core/helpers/as-array';\nimport { dropdownOpenAnimation } from '@ng-doc/ui-kit/animations';\nimport { NgDocOverlayHost } from '@ng-doc/ui-kit/classes/overlay-host';\nimport { NgDocOverlayContainerComponent } from '@ng-doc/ui-kit/components/overlay-container';\nimport { mergeOverlayConfigs, toElement } from '@ng-doc/ui-kit/helpers';\nimport { ngDocZoneDetach } from '@ng-doc/ui-kit/observables';\nimport { NgDocOverlayService } from '@ng-doc/ui-kit/services/overlay';\nimport { NgDocOverlayUtils } from '@ng-doc/ui-kit/utils';\nimport * as i0 from \"@angular/core\";\nexport class NgDocDropdownComponent {\n constructor() {\n this.changeDetectorRef = inject(ChangeDetectorRef);\n this.overlayService = inject(NgDocOverlayService);\n this.viewContainerRef = inject(ViewContainerRef);\n this.ngZone = inject(NgZone);\n this.overlayHost = inject(NgDocOverlayHost, { optional: true });\n this.content = '';\n this.origin = null;\n this.closeIfOutsideClick = true;\n this.closeIfInnerClick = false;\n this.withArrow = false;\n this.borderOffset = -8;\n this.panelClass = [];\n this.contactBorder = true;\n this.hasBackdrop = false;\n this.positions = [\n 'bottom-center',\n 'top-center',\n 'right-center',\n 'left-center',\n ];\n this.minHeight = '';\n this.maxHeight = '';\n this.height = '';\n this.minWidth = '';\n this.maxWidth = '';\n this.width = '';\n this.beforeOpen = new EventEmitter();\n this.afterOpen = new EventEmitter();\n this.beforeClose = new EventEmitter();\n this.afterClose = new EventEmitter();\n this.overlay = null;\n this.overlayProperties = this.getOverlayProperties();\n }\n ngOnChanges({ origin }) {\n if (origin && origin.currentValue !== origin.previousValue) {\n if (!origin.currentValue) {\n this.origin = origin.previousValue;\n }\n if (this.overlay) {\n const positionStrategy = this.overlay.overlayRef.getConfig().positionStrategy;\n if (positionStrategy instanceof FlexibleConnectedPositionStrategy && this.currentOrigin) {\n this.overlay.overlayRef.updatePositionStrategy(positionStrategy.setOrigin(this.currentOrigin));\n }\n }\n }\n this.updateOverlayPosition();\n }\n get tabIndex() {\n return this.isOpened ? 0 : -1;\n }\n focus() {\n this.overlay?.focus();\n }\n get isFocused() {\n return !!this.overlay?.isFocused;\n }\n open() {\n if (!this.overlay?.hasAttached) {\n const config = this.getConfig();\n this.overlay = this.overlayService.open(this.content, config);\n this.beforeOpen.emit();\n this.overlay\n ?.afterOpen()\n .pipe(ngDocZoneDetach(this.ngZone))\n .subscribe(() => this.afterOpen.emit());\n this.overlay\n ?.beforeClose()\n .pipe(ngDocZoneDetach(this.ngZone))\n .subscribe(() => this.beforeClose.emit());\n this.overlay\n ?.afterClose()\n .pipe(ngDocZoneDetach(this.ngZone))\n .subscribe(() => this.afterClose.emit());\n this.overlay.beforeClose().subscribe(() => this.close());\n this.changeDetectorRef.markForCheck();\n }\n }\n close() {\n if (this.isOpened) {\n this.overlay?.close();\n this.changeDetectorRef.markForCheck();\n }\n }\n toggle() {\n this.isOpened ? this.close() : this.open();\n }\n get isOpened() {\n return this.overlay?.isOpened === true;\n }\n updateOverlayPosition() {\n if (this.overlay && this.overlay.hasAttached) {\n this.overlay.overlayRef.updateSize(this.getConfig());\n this.overlay.overlayRef.updatePosition();\n }\n }\n get currentOrigin() {\n return this.origin instanceof CdkOverlayOrigin\n ? this.origin.elementRef.nativeElement\n : this.origin || this.overlayHost?.origin || null;\n }\n getPositions(positions, border) {\n const origin = toElement(this.currentOrigin);\n if (origin instanceof HTMLElement) {\n return NgDocOverlayUtils.getConnectedPosition(!!positions && asArray(positions).length\n ? positions\n : ['bottom-center', 'top-center', 'right-center', 'left-center'], origin, border * -1, this.withArrow);\n }\n else {\n return !!positions && asArray(positions).length\n ? asArray(positions)\n : ['bottom-center', 'top-center', 'right-center', 'left-center'];\n }\n }\n getConfig() {\n const overlayProperties = mergeOverlayConfigs(this.overlayProperties, this.getOverlayProperties(), this.overlayHost ?? undefined);\n if (!this.currentOrigin) {\n throw new Error('Origin for the dropdown was not provided.');\n }\n return {\n overlayContainer: NgDocOverlayContainerComponent,\n positionStrategy: this.overlayService.connectedPositionStrategy(this.currentOrigin, this.getPositions(overlayProperties.positions || [], overlayProperties.borderOffset || 0)),\n scrollStrategy: this.overlayService.scrollStrategy().reposition(),\n viewContainerRef: this.viewContainerRef,\n openAnimation: dropdownOpenAnimation,\n hasBackdrop: this.hasBackdrop,\n ...overlayProperties,\n panelClass: [\n 'ng-doc-dropdown',\n ...asArray(this.panelClass),\n ...asArray(this.overlayHost?.panelClass),\n ],\n };\n }\n getOverlayProperties() {\n return {\n origin: this.currentOrigin || undefined,\n positions: this.positions,\n closeIfOutsideClick: this.closeIfOutsideClick,\n closeIfInnerClick: this.closeIfInnerClick,\n withPointer: this.withArrow,\n contactBorder: this.contactBorder,\n borderOffset: this.borderOffset,\n panelClass: this.panelClass,\n width: this.width,\n height: this.height,\n minWidth: this.minWidth,\n minHeight: this.minHeight,\n maxWidth: this.maxWidth,\n maxHeight: this.maxHeight,\n disposeOnNavigation: true,\n disposeOnRouteNavigation: true,\n };\n }\n ngOnDestroy() {\n if (this.overlay) {\n this.overlay.overlayRef.dispose();\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: NgDocDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.0.3\", type: NgDocDropdownComponent, isStandalone: true, selector: \"ng-doc-dropdown\", inputs: { content: \"content\", origin: \"origin\", closeIfOutsideClick: \"closeIfOutsideClick\", closeIfInnerClick: \"closeIfInnerClick\", withArrow: \"withArrow\", borderOffset: \"borderOffset\", panelClass: \"panelClass\", contactBorder: \"contactBorder\", hasBackdrop: \"hasBackdrop\", positions: \"positions\", minHeight: \"minHeight\", maxHeight: \"maxHeight\", height: \"height\", minWidth: \"minWidth\", maxWidth: \"maxWidth\", width: \"width\" }, outputs: { beforeOpen: \"beforeOpen\", afterOpen: \"afterOpen\", beforeClose: \"beforeClose\", afterClose: \"afterClose\" }, host: { listeners: { \"focus\": \"focus()\" }, properties: { \"attr.tabIndex\": \"this.tabIndex\" } }, providers: [NgDocOverlayService], usesOnChanges: true, ngImport: i0, template: ``, isInline: true, styles: [\"::ng-deep .ng-doc-dropdown{--ng-doc-overlay-background: var(--ng-doc-background);--ng-doc-overlay-border: var(--ng-doc-base-2);--ng-doc-overlay-border-radius: var(--ng-doc-base-gutter);--ng-doc-overlay-shadow: 0px 12px 16px -4px rgba(16, 24, 40, .08), 0px 4px 6px -2px rgba(16, 24, 40, .03)}\\n\"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: NgDocDropdownComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ng-doc-dropdown', template: ``, changeDetection: ChangeDetectionStrategy.OnPush, providers: [NgDocOverlayService], standalone: true, styles: [\"::ng-deep .ng-doc-dropdown{--ng-doc-overlay-background: var(--ng-doc-background);--ng-doc-overlay-border: var(--ng-doc-base-2);--ng-doc-overlay-border-radius: var(--ng-doc-base-gutter);--ng-doc-overlay-shadow: 0px 12px 16px -4px rgba(16, 24, 40, .08), 0px 4px 6px -2px rgba(16, 24, 40, .03)}\\n\"] }]\n }], ctorParameters: () => [], propDecorators: { content: [{\n type: Input\n }], origin: [{\n type: Input\n }], closeIfOutsideClick: [{\n type: Input\n }], closeIfInnerClick: [{\n type: Input\n }], withArrow: [{\n type: Input\n }], borderOffset: [{\n type: Input\n }], panelClass: [{\n type: Input\n }], contactBorder: [{\n type: Input\n }], hasBackdrop: [{\n type: Input\n }], positions: [{\n type: Input\n }], minHeight: [{\n type: Input\n }], maxHeight: [{\n type: Input\n }], height: [{\n type: Input\n }], minWidth: [{\n type: Input\n }], maxWidth: [{\n type: Input\n }], width: [{\n type: Input\n }], beforeOpen: [{\n type: Output\n }], afterOpen: [{\n type: Output\n }], beforeClose: [{\n type: Output\n }], afterClose: [{\n type: Output\n }], tabIndex: [{\n type: HostBinding,\n args: ['attr.tabIndex']\n }], focus: [{\n type: HostListener,\n args: ['focus']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS1raXQvY29tcG9uZW50cy9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixpQ0FBaUMsR0FFbEMsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBR04sTUFBTSxFQUVOLGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDeEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFdkUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDN0YsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXhFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUV0RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFVekQsTUFBTSxPQUFPLHNCQUFzQjtJQTJFakM7UUExRVUsc0JBQWlCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDOUMsbUJBQWMsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUM3QyxxQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENB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QUFDLGNBQ3BCLElBQUk7d0RBVWhCLE9BQU87c0JBRE4sS0FBSztnQkFJTixNQUFNO3NCQURMLEtBQUs7Z0JBSU4sbUJBQW1CO3NCQURsQixLQUFLO2dCQUlOLGlCQUFpQjtzQkFEaEIsS0FBSztnQkFJTixTQUFTO3NCQURSLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLO2dCQUlOLFVBQVU7c0JBRFQsS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLO2dCQUlOLFNBQVM7c0JBRFIsS0FBSztnQkFTTixTQUFTO3NCQURSLEtBQUs7Z0JBSU4sU0FBUztzQkFEUixLQUFLO2dCQUlOLE1BQU07c0JBREwsS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLEtBQUs7c0JBREosS0FBSztnQkFJTixVQUFVO3NCQURULE1BQU07Z0JBSVAsU0FBUztzQkFEUixNQUFNO2dCQUlQLFdBQVc7c0JBRFYsTUFBTTtnQkFJUCxVQUFVO3NCQURULE1BQU07Z0JBNEJILFFBQVE7c0JBRFgsV0FBVzt1QkFBQyxlQUFlO2dCQU01QixLQUFLO3NCQURKLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBvaW50IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQge1xuICBDZGtPdmVybGF5T3JpZ2luLFxuICBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3ksXG4gIFBvc2l0aW9uU3RyYXRlZ3ksXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBIb3N0TGlzdGVuZXIsXG4gIGluamVjdCxcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBhc0FycmF5IH0gZnJvbSAnQG5nLWRvYy9jb3JlL2hlbHBlcnMvYXMtYXJyYXknO1xuaW1wb3J0IHsgZHJvcGRvd25PcGVuQW5pbWF0aW9uIH0gZnJvbSAnQG5nLWRvYy91aS1raXQvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBOZ0RvY092ZXJsYXlIb3N0IH0gZnJvbSAnQG5nLWRvYy91aS1raXQvY2xhc3Nlcy9vdmVybGF5LWhvc3QnO1xuaW1wb3J0IHsgTmdEb2NPdmVybGF5UmVmIH0gZnJvbSAnQG5nLWRvYy91aS1raXQvY2xhc3Nlcy9vdmVybGF5LXJlZic7XG5pbXBvcnQgeyBOZ0RvY092ZXJsYXlDb250YWluZXJDb21wb25lbnQgfSBmcm9tICdAbmctZG9jL3VpLWtpdC9jb21wb25lbnRzL292ZXJsYXktY29udGFpbmVyJztcbmltcG9ydCB7IG1lcmdlT3ZlcmxheUNvbmZpZ3MsIHRvRWxlbWVudCB9IGZyb20gJ0BuZy1kb2MvdWkta2l0L2hlbHBlcnMnO1xuaW1wb3J0IHsgTmdEb2NPdmVybGF5Q29uZmlnLCBOZ0RvY092ZXJsYXlQcm9wZXJ0aWVzIH0gZnJvbSAnQG5nLWRvYy91aS1raXQvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBuZ0RvY1pvbmVEZXRhY2ggfSBmcm9tICdAbmctZG9jL3VpLWtpdC9vYnNlcnZhYmxlcyc7XG5pbXBvcnQgeyBOZ0RvY092ZXJsYXlTZXJ2aWNlIH0gZnJvbSAnQG5nLWRvYy91aS1raXQvc2VydmljZXMvb3ZlcmxheSc7XG5pbXBvcnQgeyBOZ0RvY0NvbnRlbnQsIE5nRG9jT3ZlcmxheU9yaWdpbiwgTmdEb2NPdmVybGF5UG9zaXRpb24gfSBmcm9tICdAbmctZG9jL3VpLWtpdC90eXBlcyc7XG5pbXBvcnQgeyBOZ0RvY092ZXJsYXlVdGlscyB9IGZyb20gJ0BuZy1kb2MvdWkta2l0L3V0aWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmctZG9jLWRyb3Bkb3duJyxcbiAgdGVtcGxhdGU6IGBgLFxuICBzdHlsZVVybHM6IFsnLi9kcm9wZG93bi5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbTmdEb2NPdmVybGF5U2VydmljZV0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIE5nRG9jRHJvcGRvd25Db21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIHByb3RlY3RlZCBjaGFuZ2VEZXRlY3RvclJlZiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gIHByb3RlY3RlZCBvdmVybGF5U2VydmljZSA9IGluamVjdChOZ0RvY092ZXJsYXlTZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIHZpZXdDb250YWluZXJSZWYgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZik7XG4gIHByb3RlY3RlZCBuZ1pvbmUgPSBpbmplY3QoTmdab25lKTtcbiAgcHJvdGVjdGVkIG92ZXJsYXlIb3N0ID0gaW5qZWN0PE5nRG9jT3ZlcmxheUhvc3Q+KE5nRG9jT3ZlcmxheUhvc3QsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgQElucHV0KClcbiAgY29udGVudDogTmdEb2NDb250ZW50ID0gJyc7XG5cbiAgQElucHV0KClcbiAgb3JpZ2luOiBDZGtPdmVybGF5T3JpZ2luIHwgUG9pbnQgfCBudWxsID0gbnVsbDtcblxuICBASW5wdXQoKVxuICBjbG9zZUlmT3V0c2lkZUNsaWNrOiBib29sZWFuID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBjbG9zZUlmSW5uZXJDbGljazogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHdpdGhBcnJvdzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGJvcmRlck9mZnNldDogbnVtYmVyID0gLTg7XG5cbiAgQElucHV0KClcbiAgcGFuZWxDbGFzczogc3RyaW5nIHwgc3RyaW5nW10gPSBbXTtcblxuICBASW5wdXQoKVxuICBjb250YWN0Qm9yZGVyOiBib29sZWFuID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBoYXNCYWNrZHJvcDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHBvc2l0aW9uczogTmdEb2NPdmVybGF5UG9zaXRpb24gfCBOZ0RvY092ZXJsYXlQb3NpdGlvbltdID0gW1xuICAgICdib3R0b20tY2VudGVyJyxcbiAgICAndG9wLWNlbnRlcicsXG4gICAgJ3JpZ2h0LWNlbnRlcicsXG4gICAgJ2xlZnQtY2VudGVyJyxcbiAgXTtcblxuICBASW5wdXQoKVxuICBtaW5IZWlnaHQ6IG51bWJlciB8IHN0cmluZyA9ICcnO1xuXG4gIEBJbnB1dCgpXG4gIG1heEhlaWdodDogbnVtYmVyIHwgc3RyaW5nID0gJyc7XG5cbiAgQElucHV0KClcbiAgaGVpZ2h0OiBudW1iZXIgfCBzdHJpbmcgPSAnJztcblxuICBASW5wdXQoKVxuICBtaW5XaWR0aDogbnVtYmVyIHwgc3RyaW5nID0gJyc7XG5cbiAgQElucHV0KClcbiAgbWF4V2lkdGg6IG51bWJlciB8IHN0cmluZyA9ICcnO1xuXG4gIEBJbnB1dCgpXG4gIHdpZHRoOiBudW1iZXIgfCBzdHJpbmcgPSAnJztcblxuICBAT3V0cHV0KClcbiAgYmVmb3JlT3BlbjogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBPdXRwdXQoKVxuICBhZnRlck9wZW46IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBAT3V0cHV0KClcbiAgYmVmb3JlQ2xvc2U6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBAT3V0cHV0KClcbiAgYWZ0ZXJDbG9zZTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIG92ZXJsYXk6IE5nRG9jT3ZlcmxheVJlZiB8IG51bGwgPSBudWxsO1xuICBvdmVybGF5UHJvcGVydGllczogTmdEb2NPdmVybGF5UHJvcGVydGllcyA9IHRoaXMuZ2V0T3ZlcmxheVByb3BlcnRpZXMoKTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkNoYW5nZXMoeyBvcmlnaW4gfTogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChvcmlnaW4gJiYgb3JpZ2luLmN1cnJlbnRWYWx1ZSAhPT0gb3JpZ2luLnByZXZpb3VzVmFsdWUpIHtcbiAgICAgIGlmICghb3JpZ2luLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICB0aGlzLm9yaWdpbiA9IG9yaWdpbi5wcmV2aW91c1ZhbHVlIGFzIENka092ZXJsYXlPcmlnaW4gfCBQb2ludCB8IG51bGw7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLm92ZXJsYXkpIHtcbiAgICAgICAgY29uc3QgcG9zaXRpb25TdHJhdGVneTogUG9zaXRpb25TdHJhdGVneSB8IHVuZGVmaW5lZCA9XG4gICAgICAgICAgdGhpcy5vdmVybGF5Lm92ZXJsYXlSZWYuZ2V0Q29uZmlnKCkucG9zaXRpb25TdHJhdGVneTtcbiAgICAgICAgaWYgKHBvc2l0aW9uU3RyYXRlZ3kgaW5zdGFuY2VvZiBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3kgJiYgdGhpcy5jdXJyZW50T3JpZ2luKSB7XG4gICAgICAgICAgdGhpcy5vdmVybGF5Lm92ZXJsYXlSZWYudXBkYXRlUG9zaXRpb25TdHJhdGVneShcbiAgICAgICAgICAgIHBvc2l0aW9uU3RyYXRlZ3kuc2V0T3JpZ2luKHRoaXMuY3VycmVudE9yaWdpbiksXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLnVwZGF0ZU92ZXJsYXlQb3NpdGlvbigpO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnRhYkluZGV4JylcbiAgZ2V0IHRhYkluZGV4KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaXNPcGVuZWQgPyAwIDogLTE7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdmb2N1cycpXG4gIGZvY3VzKCk6IHZvaWQge1xuICAgIHRoaXMub3ZlcmxheT8uZm9jdXMoKTtcbiAgfVxuXG4gIGdldCBpc0ZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5vdmVybGF5Py5pc0ZvY3VzZWQ7XG4gIH1cblxuICBvcGVuKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5vdmVybGF5Py5oYXNBdHRhY2hlZCkge1xuICAgICAgY29uc3QgY29uZmlnOiBOZ0RvY092ZXJsYXlDb25maWcgPSB0aGlzLmdldENvbmZpZygpO1xuICAgICAgdGhpcy5vdmVybGF5ID0gdGhpcy5vdmVybGF5U2VydmljZS5vcGVuKHRoaXMuY29udGVudCwgY29uZmlnKTtcbiAgICAgIHRoaXMuYmVmb3JlT3Blbi5lbWl0KCk7XG4gICAgICB0aGlzLm92ZXJsYXlcbiAgICAgICAgPy5hZnRlck9wZW4oKVxuICAgICAgICAucGlwZShuZ0RvY1pvbmVEZXRhY2godGhpcy5uZ1pvbmUpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuYWZ0ZXJPcGVuLmVtaXQoKSk7XG5cbiAgICAgIHRoaXMub3ZlcmxheVxuICAgICAgICA/LmJlZm9yZUNsb3NlKClcbiAgICAgICAgLnBpcGUobmdEb2Nab25lRGV0YWNoKHRoaXMubmdab25lKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmJlZm9yZUNsb3NlLmVtaXQoKSk7XG5cbiAgICAgIHRoaXMub3ZlcmxheVxuICAgICAgICA/LmFmdGVyQ2xvc2UoKVxuICAgICAgICAucGlwZShuZ0RvY1pvbmVEZXRhY2godGhpcy5uZ1pvbmUpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuYWZ0ZXJDbG9zZS5lbWl0KCkpO1xuXG4gICAgICB0aGlzLm92ZXJsYXkuYmVmb3JlQ2xvc2UoKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jbG9zZSgpKTtcblxuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICBjbG9zZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc09wZW5lZCkge1xuICAgICAgdGhpcy5vdmVybGF5Py5jbG9zZSgpO1xuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICB0b2dnbGUoKTogdm9pZCB7XG4gICAgdGhpcy5pc09wZW5lZCA/IHRoaXMuY2xvc2UoKSA6IHRoaXMub3BlbigpO1xuICB9XG5cbiAgZ2V0IGlzT3BlbmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm92ZXJsYXk/LmlzT3BlbmVkID09PSB0cnVlO1xuICB9XG5cbiAgdXBkYXRlT3ZlcmxheVBvc2l0aW9uKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm92ZXJsYXkgJiYgdGhpcy5vdmVybGF5Lmhhc0F0dGFjaGVkKSB7XG4gICAgICB0aGlzLm92ZXJsYXkub3ZlcmxheVJlZi51cGRhdGVTaXplKHRoaXMuZ2V0Q29uZmlnKCkpO1xuICAgICAgdGhpcy5vdmVybGF5Lm92ZXJsYXlSZWYudXBkYXRlUG9zaXRpb24oKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldCBjdXJyZW50T3JpZ2luKCk6IE5nRG9jT3ZlcmxheU9yaWdpbiB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLm9yaWdpbiBpbnN0YW5jZW9mIENka092ZXJsYXlPcmlnaW5cbiAgICAgID8gKHRoaXMub3JpZ2luLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudClcbiAgICAgIDogdGhpcy5vcmlnaW4gfHwgdGhpcy5vdmVybGF5SG9zdD8ub3JpZ2luIHx8IG51bGw7XG4gIH1cblxuICBwcml2YXRlIGdldFBvc2l0aW9ucyhcbiAgICBwb3NpdGlvbnM6IE5nRG9jT3ZlcmxheVBvc2l0aW9uIHwgTmdEb2NPdmVybGF5UG9zaXRpb25bXSxcbiAgICBib3JkZXI6IG51bWJlcixcbiAgKTogTmdEb2NPdmVybGF5UG9zaXRpb25bXSB7XG4gICAgY29uc3Qgb3JpZ2luOiBOZ0RvY092ZXJsYXlPcmlnaW4gPSB0b0VsZW1lbnQodGhpcy5jdXJyZW50T3JpZ2luKSBhcyBIVE1MRWxlbWVudDtcbiAgICBpZiAob3JpZ2luIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpIHtcbiAgICAgIHJldHVybiBOZ0RvY092ZXJsYXlVdGlscy5nZXRDb25uZWN0ZWRQb3NpdGlvbihcbiAgICAgICAgISFwb3NpdGlvbnMgJiYgYXNBcnJheShwb3NpdGlvbnMpLmxlbmd0aFxuICAgICAgICAgID8gcG9zaXRpb25zXG4gICAgICAgICAgOiBbJ2JvdHRvbS1jZW50ZXInLCAndG9wLWNlbnRlcicsICdyaWdodC1jZW50ZXInLCAnbGVmdC1jZW50ZXInXSxcbiAgICAgICAgb3JpZ2luLFxuICAgICAgICBib3JkZXIgKiAtMSxcbiAgICAgICAgdGhpcy53aXRoQXJyb3csXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gISFwb3NpdGlvbnMgJiYgYXNBcnJheShwb3NpdGlvbnMpLmxlbmd0aFxuICAgICAgICA/IGFzQXJyYXkocG9zaXRpb25zKVxuICAgICAgICA6IFsnYm90dG9tLWNlbnRlcicsICd0b3AtY2VudGVyJywgJ3JpZ2h0LWNlbnRlcicsICdsZWZ0LWNlbnRlciddO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q29uZmlnKCk6IE5nRG9jT3ZlcmxheUNvbmZpZyB7XG4gICAgY29uc3Qgb3ZlcmxheVByb3BlcnRpZXM6IE5nRG9jT3ZlcmxheVByb3BlcnRpZXMgPSBtZXJnZU92ZXJsYXlDb25maWdzKFxuICAgICAgdGhpcy5vdmVybGF5UHJvcGVydGllcyxcbiAgICAgIHRoaXMuZ2V0T3ZlcmxheVByb3BlcnRpZXMoKSxcbiAgICAgIHRoaXMub3ZlcmxheUhvc3QgPz8gdW5kZWZpbmVkLFxuICAgICk7XG4gICAgaWYgKCF0aGlzLmN1cnJlbnRPcmlnaW4pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignT3JpZ2luIGZvciB0aGUgZHJvcGRvd24gd2FzIG5vdCBwcm92aWRlZC4nKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIG92ZXJsYXlDb250YWluZXI6IE5nRG9jT3ZlcmxheUNvbnRhaW5lckNvbXBvbmVudCxcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMub3ZlcmxheVNlcnZpY2UuY29ubmVjdGVkUG9zaXRpb25TdHJhdGVneShcbiAgICAgICAgdGhpcy5jdXJyZW50T3JpZ2luLFxuICAgICAgICB0aGlzLmdldFBvc2l0aW9ucyhvdmVybGF5UHJvcGVydGllcy5wb3NpdGlvbnMgfHwgW10sIG92ZXJsYXlQcm9wZXJ0aWVzLmJvcmRlck9mZnNldCB8fCAwKSxcbiAgICAgICksXG4gICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5vdmVybGF5U2VydmljZS5zY3JvbGxTdHJhdGVneSgpLnJlcG9zaXRpb24oKSxcbiAgICAgIHZpZXdDb250YWluZXJSZWY6IHRoaXMudmlld0NvbnRhaW5lclJlZixcbiAgICAgIG9wZW5BbmltYXRpb246IGRyb3Bkb3duT3BlbkFuaW1hdGlvbixcbiAgICAgIGhhc0JhY2tkcm9wOiB0aGlzLmhhc0JhY2tkcm9wLFxuICAgICAgLi4ub3ZlcmxheVByb3BlcnRpZXMsXG4gICAgICBwYW5lbENsYXNzOiBbXG4gICAgICAgICduZy1kb2MtZHJvcGRvd24nLFxuICAgICAgICAuLi5hc0FycmF5KHRoaXMucGFuZWxDbGFzcyksXG4gICAgICAgIC4uLmFzQXJyYXkodGhpcy5vdmVybGF5SG9zdD8ucGFuZWxDbGFzcyksXG4gICAgICBdLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGdldE92ZXJsYXlQcm9wZXJ0aWVzKCk6IE5nRG9jT3ZlcmxheVByb3BlcnRpZXMge1xuICAgIHJldHVybiB7XG4gICAgICBvcmlnaW46IHRoaXMuY3VycmVudE9yaWdpbiB8fCB1bmRlZmluZWQsXG4gICAgICBwb3NpdGlvbnM6IHRoaXMucG9zaXRpb25zLFxuICAgICAgY2xvc2VJZk91dHNpZGVDbGljazogdGhpcy5jbG9zZUlmT3V0c2lkZUNsaWNrLFxuICAgICAgY2xvc2VJZklubmVyQ2xpY2s6IHRoaXMuY2xvc2VJZklubmVyQ2xpY2ssXG4gICAgICB3aXRoUG9pbnRlcjogdGhpcy53aXRoQXJyb3csXG4gICAgICBjb250YWN0Qm9yZGVyOiB0aGlzLmNvbnRhY3RCb3JkZXIsXG4gICAgICBib3JkZXJPZmZzZXQ6IHRoaXMuYm9yZGVyT2Zmc2V0LFxuICAgICAgcGFuZWxDbGFzczogdGhpcy5wYW5lbENsYXNzLFxuICAgICAgd2lkdGg6IHRoaXMud2lkdGgsXG4gICAgICBoZWlnaHQ6IHRoaXMuaGVpZ2h0LFxuICAgICAgbWluV2lkdGg6IHRoaXMubWluV2lkdGgsXG4gICAgICBtaW5IZWlnaHQ6IHRoaXMubWluSGVpZ2h0LFxuICAgICAgbWF4V2lkdGg6IHRoaXMubWF4V2lkdGgsXG4gICAgICBtYXhIZWlnaHQ6IHRoaXMubWF4SGVpZ2h0LFxuICAgICAgZGlzcG9zZU9uTmF2aWdhdGlvbjogdHJ1ZSxcbiAgICAgIGRpc3Bvc2VPblJvdXRlTmF2aWdhdGlvbjogdHJ1ZSxcbiAgICB9O1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMub3ZlcmxheSkge1xuICAgICAgdGhpcy5vdmVybGF5Lm92ZXJsYXlSZWYuZGlzcG9zZSgpO1xuICAgIH1cbiAgfVxufVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctZG9jLXVpLWtpdC1jb21wb25lbnRzLWRyb3Bkb3duLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS1raXQvY29tcG9uZW50cy9kcm9wZG93bi9uZy1kb2MtdWkta2l0LWNvbXBvbmVudHMtZHJvcGRvd24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":[],"mappings":"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"}