{"version":3,"file":"studiohyperdrive-ngx-inform.mjs","sources":["../tmp-esm2022/lib/tokens/tooltip/tooltip-configuration.token.js","../tmp-esm2022/lib/tokens/modal/modal-configuration.token.js","../tmp-esm2022/lib/services/tooltip/tooltip.service.js","../tmp-esm2022/lib/services/modal/modal.service.js","../tmp-esm2022/lib/directives/tooltip/tooltip.directive.js","../tmp-esm2022/lib/providers/tooltip/tooltip-configuration.provider.js","../tmp-esm2022/lib/providers/modal/modal-configuration.provider.js","../tmp-esm2022/lib/abstracts/tooltip/tooltip.abstract.component.js","../tmp-esm2022/lib/abstracts/modal/modal.abstract.component.js","../tmp-esm2022/studiohyperdrive-ngx-inform.js"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n/**\n * A token to provide the necessary configuration to the NgxTooltipDirective. This is exported\n * due to testing frameworks (like Storybook) not being able to resolve the InjectionToken in the\n * `provideNgxTooltipConfiguration`.\n */\nexport const NgxTooltipConfigurationToken = new InjectionToken('NgxTooltipConfiguration');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC1jb25maWd1cmF0aW9uLnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2luZm9ybS9zcmMvbGliL3Rva2Vucy90b29sdGlwL3Rvb2x0aXAtY29uZmlndXJhdGlvbi50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSS9DOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxJQUFJLGNBQWMsQ0FDN0QseUJBQXlCLENBQ3pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBOZ3hUb29sdGlwQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuLyoqXG4gKiBBIHRva2VuIHRvIHByb3ZpZGUgdGhlIG5lY2Vzc2FyeSBjb25maWd1cmF0aW9uIHRvIHRoZSBOZ3hUb29sdGlwRGlyZWN0aXZlLiBUaGlzIGlzIGV4cG9ydGVkXG4gKiBkdWUgdG8gdGVzdGluZyBmcmFtZXdvcmtzIChsaWtlIFN0b3J5Ym9vaykgbm90IGJlaW5nIGFibGUgdG8gcmVzb2x2ZSB0aGUgSW5qZWN0aW9uVG9rZW4gaW4gdGhlXG4gKiBgcHJvdmlkZU5neFRvb2x0aXBDb25maWd1cmF0aW9uYC5cbiAqL1xuZXhwb3J0IGNvbnN0IE5neFRvb2x0aXBDb25maWd1cmF0aW9uVG9rZW4gPSBuZXcgSW5qZWN0aW9uVG9rZW48Tmd4VG9vbHRpcENvbmZpZ3VyYXRpb24+KFxuXHQnTmd4VG9vbHRpcENvbmZpZ3VyYXRpb24nXG4pO1xuIl19","import { InjectionToken } from '@angular/core';\n/**\n * A token to provide the optional configuration to the NgxModalService\n */\n// This is exported due to testing frameworks (like Storybook) not being able to resolve the InjectionToken in the `provideNgxTooltipConfiguration`.\nexport const NgxModalConfigurationToken = new InjectionToken('NgxModalConfiguration');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtY29uZmlndXJhdGlvbi50b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9pbmZvcm0vc3JjL2xpYi90b2tlbnMvbW9kYWwvbW9kYWwtY29uZmlndXJhdGlvbi50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSS9DOztHQUVHO0FBQ0gsb0pBQW9KO0FBQ3BKLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLElBQUksY0FBYyxDQUMzRCx1QkFBdUIsQ0FDdkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE5neE1vZGFsQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuLyoqXG4gKiBBIHRva2VuIHRvIHByb3ZpZGUgdGhlIG9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gdG8gdGhlIE5neE1vZGFsU2VydmljZVxuICovXG4vLyBUaGlzIGlzIGV4cG9ydGVkIGR1ZSB0byB0ZXN0aW5nIGZyYW1ld29ya3MgKGxpa2UgU3Rvcnlib29rKSBub3QgYmVpbmcgYWJsZSB0byByZXNvbHZlIHRoZSBJbmplY3Rpb25Ub2tlbiBpbiB0aGUgYHByb3ZpZGVOZ3hUb29sdGlwQ29uZmlndXJhdGlvbmAuXG5leHBvcnQgY29uc3QgTmd4TW9kYWxDb25maWd1cmF0aW9uVG9rZW4gPSBuZXcgSW5qZWN0aW9uVG9rZW48Tmd4TW9kYWxDb25maWd1cmF0aW9uPihcblx0J05neE1vZGFsQ29uZmlndXJhdGlvbidcbik7XG4iXX0=","import { Overlay, OverlayPositionBuilder, } from '@angular/cdk/overlay';\nimport { Injectable, inject } from '@angular/core';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { BehaviorSubject, pairwise, Subject, takeUntil, tap } from 'rxjs';\nimport { NgxTooltipConfigurationToken } from '../../tokens';\nimport * as i0 from \"@angular/core\";\nexport class NgxTooltipService {\n    constructor() {\n        this.configuration = inject(NgxTooltipConfigurationToken);\n        this.overlayService = inject(Overlay);\n        this.overlayPositionBuilder = inject(OverlayPositionBuilder);\n        // Iben: The id of the active tooltip\n        this.activeTooltip = undefined;\n        /**\n         * A subject to hold the tooltip events\n         */\n        this.tooltipEventsSubject = new BehaviorSubject(undefined);\n        /**\n         * A subject to hold the destroy event\n         */\n        this.onDestroySubject = new Subject();\n        /**\n         * The position record for the tooltip\n         */\n        this.positionRecord = {\n            below: { originX: 'start', originY: 'bottom', overlayX: 'start', overlayY: 'top' },\n            above: { originX: 'start', originY: 'top', overlayX: 'start', overlayY: 'bottom' },\n            left: { originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'center' },\n            right: { originX: 'end', originY: 'bottom', overlayX: 'start', overlayY: 'bottom' },\n        };\n        // Iben: Listen to the tooltip events and handle accordingly\n        this.tooltipEventsSubject\n            .pipe(pairwise(), tap(([previous, next]) => {\n            // Iben: When we enter an element, we show the tooltip\n            if (next.active && next.source === 'element') {\n                // Iben: Check if we have a previous element, and if so, if we have to remove it\n                if (previous &&\n                    this.overlayRef?.hasAttached() &&\n                    this.activeTooltip !== next.id) {\n                    this.removeToolTip();\n                }\n                // Iben: Add the new tooltip\n                const { component, text, position, elementRef, id } = next;\n                this.showToolTip({\n                    component: component,\n                    text: text,\n                    position: position,\n                    elementRef: elementRef,\n                    id: id,\n                });\n                return;\n            }\n            // Iben: We do a check on previous here so we can continue safely in the upcoming checks\n            if (!previous) {\n                return;\n            }\n            // Iben: If we're entering a new element, we early exit\n            if (previous.id !== next.id) {\n                return;\n            }\n            // Iben: If the sources are the same, we check if we need to remove the tooltip\n            // In this case we either leave the tooltip or leave the element\n            if (previous.source === next.source) {\n                if (!next.active) {\n                    this.removeToolTip();\n                    return;\n                }\n            }\n            // Iben: If both actives are false (element => tooltip => outside or tooltip => element => outside), we remove the tooltip\n            if (!next.active && !previous.active) {\n                this.removeToolTip();\n            }\n        }), takeUntil(this.onDestroySubject.asObservable()))\n            .subscribe();\n    }\n    /**\n     * Show a tooltip\n     *\n     * @param tooltip - The configuration of the tooltip\n     */\n    showToolTip(tooltip) {\n        // Iben: If no tooltip was provided or if we already have a tooltip attached, we early exit\n        if (!tooltip || this.overlayRef?.hasAttached()) {\n            return;\n        }\n        // Iben: Get the configuration of the tooltip\n        const { text, component, position, elementRef, id } = tooltip;\n        // Iben: Set the active tooltip\n        this.activeTooltip = id;\n        // Iben: Get the tooltip position. If no position was provided by the tooltip, we use the configured default, if none is configured we use 'above'\n        const tooltipPosition = position || this.configuration.defaultPosition || 'above';\n        // Iben: If the previous overlayRef still exists, we remove it\n        if (!this.overlayRef) {\n            this.overlayRef = this.overlayService.create({\n                // Iben: Set the scroll strategy to reposition so that whenever the user scrolls, the tooltip is still near the element\n                scrollStrategy: this.overlayService.scrollStrategies.reposition(),\n            });\n        }\n        // Iben: Create the position of the overlay\n        const positionStrategy = this.overlayPositionBuilder\n            .flexibleConnectedTo(elementRef)\n            .withPositions([this.positionRecord[tooltipPosition]]);\n        // Iben: Update the position of the current overlayRef\n        this.overlayRef.updatePositionStrategy(positionStrategy);\n        // Iben: Create a new component portal\n        const tooltipPortal = new ComponentPortal(component || this.configuration.component);\n        // Iben: Attach the tooltipPortal to the overlayRef\n        const tooltipRef = this.overlayRef.attach(tooltipPortal);\n        // Iben: Pass the data to the component\n        const tooltipComponent = tooltipRef.instance;\n        tooltipComponent.text = text;\n        tooltipComponent.position = tooltipPosition;\n        tooltipComponent.positionClass = `ngx-tooltip-position-${tooltipPosition}`;\n        tooltipComponent.id = id;\n    }\n    /**\n     * Removes the tooltip.\n     */\n    removeToolTip() {\n        if (this.activeTooltip) {\n            // Iben: Unset the active tooltip\n            this.activeTooltip = undefined;\n            // Iben: Remove the active tooltip from view\n            this.overlayRef.detach();\n        }\n    }\n    /**\n     * Dispatches the tooltip event to the subject\n     *\n     * @param event - A tooltip event\n     */\n    setToolTipEvent(event) {\n        // Iben: We add a delay so that the user can navigate between the tooltip and the element\n        setTimeout(() => {\n            this.tooltipEventsSubject.next(event);\n        }, event.active ? 0 : 100);\n    }\n    /**\n     * Emit the destroy event\n     */\n    ngOnDestroy() {\n        this.onDestroySubject.next();\n        this.onDestroySubject.complete();\n    }\n    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: NgxTooltipService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n    static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: NgxTooltipService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: NgxTooltipService, decorators: [{\n            type: Injectable,\n            args: [{\n                    providedIn: 'root',\n                }]\n        }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2luZm9ybS9zcmMvbGliL3NlcnZpY2VzL3Rvb2x0aXAvdG9vbHRpcC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTixPQUFPLEVBQ1Asc0JBQXNCLEdBRXRCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFXNUQsTUFBTSxPQUFPLGlCQUFpQjtJQWtDN0I7UUFqQ2lCLGtCQUFhLEdBQUcsTUFBTSxDQUEwQiw0QkFBNEIsQ0FBQyxDQUFDO1FBQzlFLG1CQUFjLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2pDLDJCQUFzQixHQUFHLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBRXpFLHFDQUFxQztRQUM3QixrQkFBYSxHQUFXLFNBQVMsQ0FBQztRQUUxQzs7V0FFRztRQUNjLHlCQUFvQixHQUNwQyxJQUFJLGVBQWUsQ0FBOEIsU0FBUyxDQUFDLENBQUM7UUFFN0Q7O1dBRUc7UUFDYyxxQkFBZ0IsR0FBa0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQU9qRTs7V0FFRztRQUNjLG1CQUFjLEdBQWtEO1lBQ2hGLEtBQUssRUFBRSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUU7WUFDbEYsS0FBSyxFQUFFLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRTtZQUNsRixJQUFJLEVBQUUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFO1lBQ2xGLEtBQUssRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUU7U0FDbkYsQ0FBQztRQUdELDREQUE0RDtRQUM1RCxJQUFJLENBQUMsb0JBQW9CO2FBQ3ZCLElBQUksQ0FDSixRQUFRLEVBQUUsRUFDVixHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFO1lBQ3hCLHNEQUFzRDtZQUN0RCxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxTQUFTLEVBQUUsQ0FBQztnQkFDOUMsZ0ZBQWdGO2dCQUNoRixJQUNDLFFBQVE7b0JBQ1IsSUFBSSxDQUFDLFVBQVUsRUFBRSxXQUFXLEVBQUU7b0JBQzlCLElBQUksQ0FBQyxhQUFhLEtBQUssSUFBSSxDQUFDLEVBQUUsRUFDN0IsQ0FBQztvQkFDRixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3RCLENBQUM7Z0JBRUQsNEJBQTRCO2dCQUM1QixNQUFNLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQztnQkFFM0QsSUFBSSxDQUFDLFdBQVcsQ0FBQztvQkFDaEIsU0FBUyxFQUFFLFNBQVM7b0JBQ3BCLElBQUksRUFBRSxJQUFJO29CQUNWLFFBQVEsRUFBRSxRQUFRO29CQUNsQixVQUFVLEVBQUUsVUFBVTtvQkFDdEIsRUFBRSxFQUFFLEVBQUU7aUJBQ04sQ0FBQyxDQUFDO2dCQUVILE9BQU87WUFDUixDQUFDO1lBRUQsd0ZBQXdGO1lBQ3hGLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDZixPQUFPO1lBQ1IsQ0FBQztZQUVELHVEQUF1RDtZQUN2RCxJQUFJLFFBQVEsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUM3QixPQUFPO1lBQ1IsQ0FBQztZQUVELCtFQUErRTtZQUMvRSxnRUFBZ0U7WUFDaEUsSUFBSSxRQUFRLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDckMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDbEIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO29CQUVyQixPQUFPO2dCQUNSLENBQUM7WUFDRixDQUFDO1lBRUQsMEhBQTBIO1lBQzFILElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUN0QyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDdEIsQ0FBQztRQUNGLENBQUMsQ0FBQyxFQUNGLFNBQVMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FDL0M7YUFDQSxTQUFTLEVBQUUsQ0FBQztJQUNmLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksV0FBVyxDQUFDLE9BQXVCO1FBQ3pDLDJGQUEyRjtRQUMzRixJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsV0FBVyxFQUFFLEVBQUUsQ0FBQztZQUNoRCxPQUFPO1FBQ1IsQ0FBQztRQUVELDZDQUE2QztRQUM3QyxNQUFNLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUU5RCwrQkFBK0I7UUFDL0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7UUFFeEIsa0pBQWtKO1FBQ2xKLE1BQU0sZUFBZSxHQUFHLFFBQVEsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsSUFBSSxPQUFPLENBQUM7UUFFbEYsOERBQThEO1FBQzlELElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQztnQkFDNUMsdUhBQXVIO2dCQUN2SCxjQUFjLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUU7YUFDakUsQ0FBQyxDQUFDO1FBQ0osQ0FBQztRQUVELDJDQUEyQztRQUMzQyxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxzQkFBc0I7YUFDbEQsbUJBQW1CLENBQUMsVUFBVSxDQUFDO2FBQy9CLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXhELHNEQUFzRDtRQUN0RCxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFFekQsc0NBQXNDO1FBQ3RDLE1BQU0sYUFBYSxHQUFHLElBQUksZUFBZSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXJGLG1EQUFtRDtRQUNuRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUV6RCx1Q0FBdUM7UUFDdkMsTUFBTSxnQkFBZ0IsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDO1FBRTdDLGdCQUFnQixDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDN0IsZ0JBQWdCLENBQUMsUUFBUSxHQUFHLGVBQWUsQ0FBQztRQUM1QyxnQkFBZ0IsQ0FBQyxhQUFhLEdBQUcsd0JBQXdCLGVBQWUsRUFBRSxDQUFDO1FBQzNFLGdCQUFnQixDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksYUFBYTtRQUNuQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN4QixpQ0FBaUM7WUFDakMsSUFBSSxDQUFDLGFBQWEsR0FBRyxTQUFTLENBQUM7WUFFL0IsNENBQTRDO1lBQzVDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDMUIsQ0FBQztJQUNGLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksZUFBZSxDQUFDLEtBQXNCO1FBQzVDLHlGQUF5RjtRQUN6RixVQUFVLENBQ1QsR0FBRyxFQUFFO1lBQ0osSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QyxDQUFDLEVBQ0QsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQ3RCLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxXQUFXO1FBQ2pCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEMsQ0FBQzs4R0FwTFcsaUJBQWlCO2tIQUFqQixpQkFBaUIsY0FGakIsTUFBTTs7MkZBRU4saUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNYLFVBQVUsRUFBRSxNQUFNO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG5cdENvbm5lY3RlZFBvc2l0aW9uLFxuXHRPdmVybGF5LFxuXHRPdmVybGF5UG9zaXRpb25CdWlsZGVyLFxuXHRPdmVybGF5UmVmLFxufSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3ksIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgcGFpcndpc2UsIFN1YmplY3QsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBOZ3hUb29sdGlwQ29uZmlndXJhdGlvblRva2VuIH0gZnJvbSAnLi4vLi4vdG9rZW5zJztcbmltcG9ydCB7XG5cdE5neFRvb2x0aXBDb25maWd1cmF0aW9uLFxuXHROZ3hUb29sdGlwRXZlbnQsXG5cdE5neFRvb2x0aXBJdGVtLFxuXHROZ3hUb29sdGlwUG9zaXRpb24sXG59IGZyb20gJy4uLy4uL3R5cGVzJztcblxuQEluamVjdGFibGUoe1xuXHRwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIE5neFRvb2x0aXBTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcblx0cHJpdmF0ZSByZWFkb25seSBjb25maWd1cmF0aW9uID0gaW5qZWN0PE5neFRvb2x0aXBDb25maWd1cmF0aW9uPihOZ3hUb29sdGlwQ29uZmlndXJhdGlvblRva2VuKTtcblx0cHJpdmF0ZSByZWFkb25seSBvdmVybGF5U2VydmljZSA9IGluamVjdChPdmVybGF5KTtcblx0cHJpdmF0ZSByZWFkb25seSBvdmVybGF5UG9zaXRpb25CdWlsZGVyID0gaW5qZWN0KE92ZXJsYXlQb3NpdGlvbkJ1aWxkZXIpO1xuXG5cdC8vIEliZW46IFRoZSBpZCBvZiB0aGUgYWN0aXZlIHRvb2x0aXBcblx0cHJpdmF0ZSBhY3RpdmVUb29sdGlwOiBzdHJpbmcgPSB1bmRlZmluZWQ7XG5cblx0LyoqXG5cdCAqIEEgc3ViamVjdCB0byBob2xkIHRoZSB0b29sdGlwIGV2ZW50c1xuXHQgKi9cblx0cHJpdmF0ZSByZWFkb25seSB0b29sdGlwRXZlbnRzU3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PE5neFRvb2x0aXBFdmVudCB8IHVuZGVmaW5lZD4gPVxuXHRcdG5ldyBCZWhhdmlvclN1YmplY3Q8Tmd4VG9vbHRpcEV2ZW50IHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG5cdC8qKlxuXHQgKiBBIHN1YmplY3QgdG8gaG9sZCB0aGUgZGVzdHJveSBldmVudFxuXHQgKi9cblx0cHJpdmF0ZSByZWFkb25seSBvbkRlc3Ryb3lTdWJqZWN0OiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcblxuXHQvKipcblx0ICogVGhlIG92ZXJsYXlSZWYgdXNlZCB0byBhdHRhY2ggdGhlIHRvb2x0aXAgdG9vXG5cdCAqL1xuXHRwcml2YXRlIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWY7XG5cblx0LyoqXG5cdCAqIFRoZSBwb3NpdGlvbiByZWNvcmQgZm9yIHRoZSB0b29sdGlwXG5cdCAqL1xuXHRwcml2YXRlIHJlYWRvbmx5IHBvc2l0aW9uUmVjb3JkOiBSZWNvcmQ8Tmd4VG9vbHRpcFBvc2l0aW9uLCBDb25uZWN0ZWRQb3NpdGlvbj4gPSB7XG5cdFx0YmVsb3c6IHsgb3JpZ2luWDogJ3N0YXJ0Jywgb3JpZ2luWTogJ2JvdHRvbScsIG92ZXJsYXlYOiAnc3RhcnQnLCBvdmVybGF5WTogJ3RvcCcgfSxcblx0XHRhYm92ZTogeyBvcmlnaW5YOiAnc3RhcnQnLCBvcmlnaW5ZOiAndG9wJywgb3ZlcmxheVg6ICdzdGFydCcsIG92ZXJsYXlZOiAnYm90dG9tJyB9LFxuXHRcdGxlZnQ6IHsgb3JpZ2luWDogJ3N0YXJ0Jywgb3JpZ2luWTogJ2NlbnRlcicsIG92ZXJsYXlYOiAnZW5kJywgb3ZlcmxheVk6ICdjZW50ZXInIH0sXG5cdFx0cmlnaHQ6IHsgb3JpZ2luWDogJ2VuZCcsIG9yaWdpblk6ICdib3R0b20nLCBvdmVybGF5WDogJ3N0YXJ0Jywgb3ZlcmxheVk6ICdib3R0b20nIH0sXG5cdH07XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0Ly8gSWJlbjogTGlzdGVuIHRvIHRoZSB0b29sdGlwIGV2ZW50cyBhbmQgaGFuZGxlIGFjY29yZGluZ2x5XG5cdFx0dGhpcy50b29sdGlwRXZlbnRzU3ViamVjdFxuXHRcdFx0LnBpcGUoXG5cdFx0XHRcdHBhaXJ3aXNlKCksXG5cdFx0XHRcdHRhcCgoW3ByZXZpb3VzLCBuZXh0XSkgPT4ge1xuXHRcdFx0XHRcdC8vIEliZW46IFdoZW4gd2UgZW50ZXIgYW4gZWxlbWVudCwgd2Ugc2hvdyB0aGUgdG9vbHRpcFxuXHRcdFx0XHRcdGlmIChuZXh0LmFjdGl2ZSAmJiBuZXh0LnNvdXJjZSA9PT0gJ2VsZW1lbnQnKSB7XG5cdFx0XHRcdFx0XHQvLyBJYmVuOiBDaGVjayBpZiB3ZSBoYXZlIGEgcHJldmlvdXMgZWxlbWVudCwgYW5kIGlmIHNvLCBpZiB3ZSBoYXZlIHRvIHJlbW92ZSBpdFxuXHRcdFx0XHRcdFx0aWYgKFxuXHRcdFx0XHRcdFx0XHRwcmV2aW91cyAmJlxuXHRcdFx0XHRcdFx0XHR0aGlzLm92ZXJsYXlSZWY/Lmhhc0F0dGFjaGVkKCkgJiZcblx0XHRcdFx0XHRcdFx0dGhpcy5hY3RpdmVUb29sdGlwICE9PSBuZXh0LmlkXG5cdFx0XHRcdFx0XHQpIHtcblx0XHRcdFx0XHRcdFx0dGhpcy5yZW1vdmVUb29sVGlwKCk7XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdC8vIEliZW46IEFkZCB0aGUgbmV3IHRvb2x0aXBcblx0XHRcdFx0XHRcdGNvbnN0IHsgY29tcG9uZW50LCB0ZXh0LCBwb3NpdGlvbiwgZWxlbWVudFJlZiwgaWQgfSA9IG5leHQ7XG5cblx0XHRcdFx0XHRcdHRoaXMuc2hvd1Rvb2xUaXAoe1xuXHRcdFx0XHRcdFx0XHRjb21wb25lbnQ6IGNvbXBvbmVudCxcblx0XHRcdFx0XHRcdFx0dGV4dDogdGV4dCxcblx0XHRcdFx0XHRcdFx0cG9zaXRpb246IHBvc2l0aW9uLFxuXHRcdFx0XHRcdFx0XHRlbGVtZW50UmVmOiBlbGVtZW50UmVmLFxuXHRcdFx0XHRcdFx0XHRpZDogaWQsXG5cdFx0XHRcdFx0XHR9KTtcblxuXHRcdFx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdC8vIEliZW46IFdlIGRvIGEgY2hlY2sgb24gcHJldmlvdXMgaGVyZSBzbyB3ZSBjYW4gY29udGludWUgc2FmZWx5IGluIHRoZSB1cGNvbWluZyBjaGVja3Ncblx0XHRcdFx0XHRpZiAoIXByZXZpb3VzKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm47XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ly8gSWJlbjogSWYgd2UncmUgZW50ZXJpbmcgYSBuZXcgZWxlbWVudCwgd2UgZWFybHkgZXhpdFxuXHRcdFx0XHRcdGlmIChwcmV2aW91cy5pZCAhPT0gbmV4dC5pZCkge1xuXHRcdFx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdC8vIEliZW46IElmIHRoZSBzb3VyY2VzIGFyZSB0aGUgc2FtZSwgd2UgY2hlY2sgaWYgd2UgbmVlZCB0byByZW1vdmUgdGhlIHRvb2x0aXBcblx0XHRcdFx0XHQvLyBJbiB0aGlzIGNhc2Ugd2UgZWl0aGVyIGxlYXZlIHRoZSB0b29sdGlwIG9yIGxlYXZlIHRoZSBlbGVtZW50XG5cdFx0XHRcdFx0aWYgKHByZXZpb3VzLnNvdXJjZSA9PT0gbmV4dC5zb3VyY2UpIHtcblx0XHRcdFx0XHRcdGlmICghbmV4dC5hY3RpdmUpIHtcblx0XHRcdFx0XHRcdFx0dGhpcy5yZW1vdmVUb29sVGlwKCk7XG5cblx0XHRcdFx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdC8vIEliZW46IElmIGJvdGggYWN0aXZlcyBhcmUgZmFsc2UgKGVsZW1lbnQgPT4gdG9vbHRpcCA9PiBvdXRzaWRlIG9yIHRvb2x0aXAgPT4gZWxlbWVudCA9PiBvdXRzaWRlKSwgd2UgcmVtb3ZlIHRoZSB0b29sdGlwXG5cdFx0XHRcdFx0aWYgKCFuZXh0LmFjdGl2ZSAmJiAhcHJldmlvdXMuYWN0aXZlKSB7XG5cdFx0XHRcdFx0XHR0aGlzLnJlbW92ZVRvb2xUaXAoKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pLFxuXHRcdFx0XHR0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3lTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpKVxuXHRcdFx0KVxuXHRcdFx0LnN1YnNjcmliZSgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFNob3cgYSB0b29sdGlwXG5cdCAqXG5cdCAqIEBwYXJhbSB0b29sdGlwIC0gVGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIHRvb2x0aXBcblx0ICovXG5cdHB1YmxpYyBzaG93VG9vbFRpcCh0b29sdGlwOiBOZ3hUb29sdGlwSXRlbSk6IHZvaWQge1xuXHRcdC8vIEliZW46IElmIG5vIHRvb2x0aXAgd2FzIHByb3ZpZGVkIG9yIGlmIHdlIGFscmVhZHkgaGF2ZSBhIHRvb2x0aXAgYXR0YWNoZWQsIHdlIGVhcmx5IGV4aXRcblx0XHRpZiAoIXRvb2x0aXAgfHwgdGhpcy5vdmVybGF5UmVmPy5oYXNBdHRhY2hlZCgpKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0Ly8gSWJlbjogR2V0IHRoZSBjb25maWd1cmF0aW9uIG9mIHRoZSB0b29sdGlwXG5cdFx0Y29uc3QgeyB0ZXh0LCBjb21wb25lbnQsIHBvc2l0aW9uLCBlbGVtZW50UmVmLCBpZCB9ID0gdG9vbHRpcDtcblxuXHRcdC8vIEliZW46IFNldCB0aGUgYWN0aXZlIHRvb2x0aXBcblx0XHR0aGlzLmFjdGl2ZVRvb2x0aXAgPSBpZDtcblxuXHRcdC8vIEliZW46IEdldCB0aGUgdG9vbHRpcCBwb3NpdGlvbi4gSWYgbm8gcG9zaXRpb24gd2FzIHByb3ZpZGVkIGJ5IHRoZSB0b29sdGlwLCB3ZSB1c2UgdGhlIGNvbmZpZ3VyZWQgZGVmYXVsdCwgaWYgbm9uZSBpcyBjb25maWd1cmVkIHdlIHVzZSAnYWJvdmUnXG5cdFx0Y29uc3QgdG9vbHRpcFBvc2l0aW9uID0gcG9zaXRpb24gfHwgdGhpcy5jb25maWd1cmF0aW9uLmRlZmF1bHRQb3NpdGlvbiB8fCAnYWJvdmUnO1xuXG5cdFx0Ly8gSWJlbjogSWYgdGhlIHByZXZpb3VzIG92ZXJsYXlSZWYgc3RpbGwgZXhpc3RzLCB3ZSByZW1vdmUgaXRcblx0XHRpZiAoIXRoaXMub3ZlcmxheVJlZikge1xuXHRcdFx0dGhpcy5vdmVybGF5UmVmID0gdGhpcy5vdmVybGF5U2VydmljZS5jcmVhdGUoe1xuXHRcdFx0XHQvLyBJYmVuOiBTZXQgdGhlIHNjcm9sbCBzdHJhdGVneSB0byByZXBvc2l0aW9uIHNvIHRoYXQgd2hlbmV2ZXIgdGhlIHVzZXIgc2Nyb2xscywgdGhlIHRvb2x0aXAgaXMgc3RpbGwgbmVhciB0aGUgZWxlbWVudFxuXHRcdFx0XHRzY3JvbGxTdHJhdGVneTogdGhpcy5vdmVybGF5U2VydmljZS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKSxcblx0XHRcdH0pO1xuXHRcdH1cblxuXHRcdC8vIEliZW46IENyZWF0ZSB0aGUgcG9zaXRpb24gb2YgdGhlIG92ZXJsYXlcblx0XHRjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5UG9zaXRpb25CdWlsZGVyXG5cdFx0XHQuZmxleGlibGVDb25uZWN0ZWRUbyhlbGVtZW50UmVmKVxuXHRcdFx0LndpdGhQb3NpdGlvbnMoW3RoaXMucG9zaXRpb25SZWNvcmRbdG9vbHRpcFBvc2l0aW9uXV0pO1xuXG5cdFx0Ly8gSWJlbjogVXBkYXRlIHRoZSBwb3NpdGlvbiBvZiB0aGUgY3VycmVudCBvdmVybGF5UmVmXG5cdFx0dGhpcy5vdmVybGF5UmVmLnVwZGF0ZVBvc2l0aW9uU3RyYXRlZ3kocG9zaXRpb25TdHJhdGVneSk7XG5cblx0XHQvLyBJYmVuOiBDcmVhdGUgYSBuZXcgY29tcG9uZW50IHBvcnRhbFxuXHRcdGNvbnN0IHRvb2x0aXBQb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKGNvbXBvbmVudCB8fCB0aGlzLmNvbmZpZ3VyYXRpb24uY29tcG9uZW50KTtcblxuXHRcdC8vIEliZW46IEF0dGFjaCB0aGUgdG9vbHRpcFBvcnRhbCB0byB0aGUgb3ZlcmxheVJlZlxuXHRcdGNvbnN0IHRvb2x0aXBSZWYgPSB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKHRvb2x0aXBQb3J0YWwpO1xuXG5cdFx0Ly8gSWJlbjogUGFzcyB0aGUgZGF0YSB0byB0aGUgY29tcG9uZW50XG5cdFx0Y29uc3QgdG9vbHRpcENvbXBvbmVudCA9IHRvb2x0aXBSZWYuaW5zdGFuY2U7XG5cblx0XHR0b29sdGlwQ29tcG9uZW50LnRleHQgPSB0ZXh0O1xuXHRcdHRvb2x0aXBDb21wb25lbnQucG9zaXRpb24gPSB0b29sdGlwUG9zaXRpb247XG5cdFx0dG9vbHRpcENvbXBvbmVudC5wb3NpdGlvbkNsYXNzID0gYG5neC10b29sdGlwLXBvc2l0aW9uLSR7dG9vbHRpcFBvc2l0aW9ufWA7XG5cdFx0dG9vbHRpcENvbXBvbmVudC5pZCA9IGlkO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJlbW92ZXMgdGhlIHRvb2x0aXAuXG5cdCAqL1xuXHRwdWJsaWMgcmVtb3ZlVG9vbFRpcCgpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5hY3RpdmVUb29sdGlwKSB7XG5cdFx0XHQvLyBJYmVuOiBVbnNldCB0aGUgYWN0aXZlIHRvb2x0aXBcblx0XHRcdHRoaXMuYWN0aXZlVG9vbHRpcCA9IHVuZGVmaW5lZDtcblxuXHRcdFx0Ly8gSWJlbjogUmVtb3ZlIHRoZSBhY3RpdmUgdG9vbHRpcCBmcm9tIHZpZXdcblx0XHRcdHRoaXMub3ZlcmxheVJlZi5kZXRhY2goKTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogRGlzcGF0Y2hlcyB0aGUgdG9vbHRpcCBldmVudCB0byB0aGUgc3ViamVjdFxuXHQgKlxuXHQgKiBAcGFyYW0gZXZlbnQgLSBBIHRvb2x0aXAgZXZlbnRcblx0ICovXG5cdHB1YmxpYyBzZXRUb29sVGlwRXZlbnQoZXZlbnQ6IE5neFRvb2x0aXBFdmVudCk6IHZvaWQge1xuXHRcdC8vIEliZW46IFdlIGFkZCBhIGRlbGF5IHNvIHRoYXQgdGhlIHVzZXIgY2FuIG5hdmlnYXRlIGJldHdlZW4gdGhlIHRvb2x0aXAgYW5kIHRoZSBlbGVtZW50XG5cdFx0c2V0VGltZW91dChcblx0XHRcdCgpID0+IHtcblx0XHRcdFx0dGhpcy50b29sdGlwRXZlbnRzU3ViamVjdC5uZXh0KGV2ZW50KTtcblx0XHRcdH0sXG5cdFx0XHRldmVudC5hY3RpdmUgPyAwIDogMTAwXG5cdFx0KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBFbWl0IHRoZSBkZXN0cm95IGV2ZW50XG5cdCAqL1xuXHRwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG5cdFx0dGhpcy5vbkRlc3Ryb3lTdWJqZWN0Lm5leHQoKTtcblx0XHR0aGlzLm9uRGVzdHJveVN1YmplY3QuY29tcGxldGUoKTtcblx0fVxufVxuIl19","import { Injectable, inject } from '@angular/core';\nimport { Dialog } from '@angular/cdk/dialog';\nimport { BehaviorSubject, combineLatest, filter, map, NEVER, startWith, takeUntil, tap, } from 'rxjs';\nimport { NgxModalConfigurationToken } from '../../tokens';\nimport * as i0 from \"@angular/core\";\n/**\n * A wrapper service to Angular CDK Dialog that provides a WCAG/ARIA compliant implementation of modals\n *\n * @export\n * @class NgxModalService\n */\nexport class NgxModalService {\n    constructor() {\n        this.configuration = inject(NgxModalConfigurationToken, {\n            optional: true,\n        });\n        this.dialogService = inject(Dialog);\n        /**\n         * A subject that keeps track of whether a modal is currently active\n         */\n        this.hasModalSubject = new BehaviorSubject(false);\n        /**\n         * An observable that keeps track of whether a modal is currently active.\n         */\n        this.hasActiveModal$ = this.hasModalSubject.asObservable();\n    }\n    /**\n     * Opens a modal based on the provided options\n     *\n     * @param {NgxModalOptions<ActionType>} options - The modal options\n     */\n    open(options) {\n        // Iben: If a previous modal is still active, we early exit.\n        if (this.hasModalSubject.value) {\n            console.warn('NgxInform: An active modal is currently displayed, close the active modal before opening a new one');\n            return NEVER;\n        }\n        // Iben: Declare the modal as active\n        this.hasModalSubject.next(true);\n        // Iben: Fetch the type of component we wish to show\n        const configuration = this.configuration?.modals?.[options.type];\n        const component = options.component ||\n            configuration.component;\n        // Iben: Check if all the correct parameters are set and return NEVER when they're not correctly set\n        if (!this.runARIAChecks(options, component)) {\n            return NEVER;\n        }\n        // Iben: Render the modal\n        const modal = this.createModalComponent(options, component);\n        // Iben: Return the modal action\n        return combineLatest([\n            // Iben: Set the start value to undefined so both actions at least emit once\n            modal.action.pipe(startWith(undefined)),\n            modal.close.pipe(\n            // Iben: Map so we can keep the emit value void, but can work with the filter later down the line\n            map(() => 'NgxModalClose'), \n            // Iben: Set the start value to undefined so both actions at least emit once\n            startWith(undefined)),\n        ]).pipe(\n        // Iben: Only emit if one of the two actions actually has an emit\n        filter(([action, closed]) => {\n            return Boolean(action) || Boolean(closed);\n        }), map(([action, closed]) => {\n            return closed || action;\n        }), tap((action) => {\n            // Iben: If the autoClose is specifically set to false, we early exit unless we're running in a close event\n            if (action !== 'NgxModalClose' &&\n                ((options.autoClose !== undefined && options.autoClose === false) ||\n                    (configuration?.autoClose !== undefined &&\n                        configuration.autoClose === false))) {\n                return;\n            }\n            // Iben: Close the modal\n            this.close(options.onClose);\n        }), \n        // Iben: Map the action back to the ActionType\n        map((action) => {\n            return action === 'NgxModalClose' ? undefined : action;\n        }), \n        // Wouter: Unsubscribe wen no modal is open\n        takeUntil(this.hasModalSubject.pipe(filter((hasModal) => !hasModal))));\n    }\n    /**\n     * Closes the currently active modal\n     *\n     * * @param onClose - An optional onClose function\n     */\n    close(onClose) {\n        // Iben: Close the modal\n        this.dialogService.closeAll();\n        // Wouter: The setTimeout delay is needed, so that the `open` method can emit before its subscription end gets triggered\n        setTimeout(() => {\n            // Iben: Mark the modal as closed\n            this.hasModalSubject.next(false);\n        });\n        // Iben: Run an optional onClose function\n        if (onClose) {\n            onClose();\n        }\n    }\n    /**\n     * Checks if all the necessary preconditions are met\n     *\n     * @param options - The options of the modal\n     * @param  component - The component we wish to render\n     */\n    runARIAChecks(options, component) {\n        // Iben: If no component was found, we return NEVER and throw an error\n        if (!component) {\n            console.error('NgxInform: No component was provided or found in the configuration to render.');\n            return false;\n        }\n        // Iben: If no description was provided when required, we return NEVER and throw an error\n        if (!this.hasRequiredDescription(options)) {\n            console.error('NgxInform: The role of the modal was set to \"alertdialog\" but no \"describedById\" was provided.');\n            return false;\n        }\n        return true;\n    }\n    /**\n     * Creates the modal component\n     *\n     * @param options - The options of the modal\n     * @param  component - The component we wish to render\n     */\n    createModalComponent(options, component) {\n        const configuration = this.configuration?.modals?.[options.type];\n        // Iben: Create the modal and render it\n        const dialogRef = this.dialogService.open(component, {\n            role: configuration?.role || options.role,\n            ariaLabel: options.label,\n            ariaLabelledBy: options.labelledById,\n            ariaDescribedBy: options.describedById,\n            disableClose: true,\n            restoreFocus: this.getValue(undefined, options.restoreFocus, true),\n            autoFocus: this.getValue(undefined, options.autoFocus, true),\n            viewContainerRef: options.viewContainerRef,\n            direction: configuration?.direction || options.direction,\n            hasBackdrop: this.getValue(configuration?.hasBackdrop, options.hasBackdrop, true),\n            panelClass: this.getValue(configuration?.panelClass, options.panelClass, []),\n            closeOnNavigation: this.getValue(configuration?.closeOnNavigation, options.closeOnNavigation, true),\n            closeOnDestroy: true,\n            closeOnOverlayDetachments: true,\n        });\n        const modal = dialogRef.componentInstance;\n        // Iben: Set the data of the modal\n        modal.data = this.getValue(configuration?.data, options.data, undefined);\n        modal.ariaDescribedBy = options.describedById;\n        modal.ariaLabelledBy = options.labelledById;\n        return modal;\n    }\n    /**\n     * Checks if the description is provided when the role requires it\n     *\n     * @param options - The options of the modal\n     */\n    hasRequiredDescription(options) {\n        // Iben: If the options has provided a default type, we check based on the configuration role\n        if (options.type) {\n            const configuration = this.configuration?.modals[options.type];\n            return !(configuration.role === 'alertdialog' && !options.describedById);\n        }\n        //  Iben: Check based on the options role\n        return !(options.role === 'alertdialog' && !options.describedById);\n    }\n    /**\n     * Returns a value based on whether one of the overwrites is defined\n     *\n     * @private\n     * @param configurationValue - The overwrite on configuration level\n     * @param optionsValue - The overwrite on options level\n     * @param defaultValue - The default value if no overwrite was defined\n     */\n    getValue(configurationValue, optionsValue, defaultValue) {\n        if (configurationValue === undefined && optionsValue === undefined) {\n            return defaultValue;\n        }\n        if (optionsValue !== undefined) {\n            return optionsValue;\n        }\n        return configurationValue;\n    }\n    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: NgxModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n    static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: NgxModalService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: NgxModalService, decorators: [{\n            type: Injectable,\n            args: [{ providedIn: 'root' }]\n        }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9pbmZvcm0vc3JjL2xpYi9zZXJ2aWNlcy9tb2RhbC9tb2RhbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQVEsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QyxPQUFPLEVBQ04sZUFBZSxFQUNmLGFBQWEsRUFDYixNQUFNLEVBQ04sR0FBRyxFQUNILEtBQUssRUFFTCxTQUFTLEVBQ1QsU0FBUyxFQUNULEdBQUcsR0FDSCxNQUFNLE1BQU0sQ0FBQztBQUdkLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFHMUQ7Ozs7O0dBS0c7QUFFSCxNQUFNLE9BQU8sZUFBZTtJQUQ1QjtRQUVrQixrQkFBYSxHQUFHLE1BQU0sQ0FBd0IsMEJBQTBCLEVBQUU7WUFDMUYsUUFBUSxFQUFFLElBQUk7U0FDZCxDQUFDLENBQUM7UUFDYyxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVoRDs7V0FFRztRQUNLLG9CQUFlLEdBQTZCLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRS9FOztXQUVHO1FBQ2Esb0JBQWUsR0FBd0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztLQWlOM0Y7SUEvTUE7Ozs7T0FJRztJQUNJLElBQUksQ0FDVixPQUE4QztRQUU5Qyw0REFBNEQ7UUFDNUQsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2hDLE9BQU8sQ0FBQyxJQUFJLENBQ1gsb0dBQW9HLENBQ3BHLENBQUM7WUFFRixPQUFPLEtBQUssQ0FBQztRQUNkLENBQUM7UUFFRCxvQ0FBb0M7UUFDcEMsSUFBSSxD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RSxDQUFDO1FBRUQseUNBQXlDO1FBQ3pDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssYUFBYSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ssUUFBUSxDQUFDLGtCQUF1QixFQUFFLFlBQWlCLEVBQUUsWUFBaUI7UUFDN0UsSUFBSSxrQkFBa0IsS0FBSyxTQUFTLElBQUksWUFBWSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3BFLE9BQU8sWUFBWSxDQUFDO1FBQ3JCLENBQUM7UUFFRCxJQUFJLFlBQVksS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNoQyxPQUFPLFlBQVksQ0FBQztRQUNyQixDQUFDO1FBRUQsT0FBTyxrQkFBa0IsQ0FBQztJQUMzQixDQUFDOzhHQTlOVyxlQUFlO2tIQUFmLGVBQWUsY0FERixNQUFNOzsyRkFDbkIsZUFBZTtrQkFEM0IsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBUeXBlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kaWFsb2cnO1xuaW1wb3J0IHtcblx0QmVoYXZpb3JTdWJqZWN0LFxuXHRjb21iaW5lTGF0ZXN0LFxuXHRmaWx0ZXIsXG5cdG1hcCxcblx0TkVWRVIsXG5cdE9ic2VydmFibGUsXG5cdHN0YXJ0V2l0aCxcblx0dGFrZVVudGlsLFxuXHR0YXAsXG59IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBOZ3hNb2RhbEFjdGlvblR5cGUsIE5neE1vZGFsQ29uZmlndXJhdGlvbiwgTmd4TW9kYWxPcHRpb25zIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgTmd4TW9kYWxDb25maWd1cmF0aW9uVG9rZW4gfSBmcm9tICcuLi8uLi90b2tlbnMnO1xuaW1wb3J0IHsgTmd4TW9kYWxBYnN0cmFjdENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Fic3RyYWN0cyc7XG5cbi8qKlxuICogQSB3cmFwcGVyIHNlcnZpY2UgdG8gQW5ndWxhciBDREsgRGlhbG9nIHRoYXQgcHJvdmlkZXMgYSBXQ0FHL0FSSUEgY29tcGxpYW50IGltcGxlbWVudGF0aW9uIG9mIG1vZGFsc1xuICpcbiAqIEBleHBvcnRcbiAqIEBjbGFzcyBOZ3hNb2RhbFNlcnZpY2VcbiAqL1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBOZ3hNb2RhbFNlcnZpY2Uge1xuXHRwcml2YXRlIHJlYWRvbmx5IGNvbmZpZ3VyYXRpb24gPSBpbmplY3Q8Tmd4TW9kYWxDb25maWd1cmF0aW9uPihOZ3hNb2RhbENvbmZpZ3VyYXRpb25Ub2tlbiwge1xuXHRcdG9wdGlvbmFsOiB0cnVlLFxuXHR9KTtcblx0cHJpdmF0ZSByZWFkb25seSBkaWFsb2dTZXJ2aWNlID0gaW5qZWN0KERpYWxvZyk7XG5cblx0LyoqXG5cdCAqIEEgc3ViamVjdCB0aGF0IGtlZXBzIHRyYWNrIG9mIHdoZXRoZXIgYSBtb2RhbCBpcyBjdXJyZW50bHkgYWN0aXZlXG5cdCAqL1xuXHRwcml2YXRlIGhhc01vZGFsU3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cblx0LyoqXG5cdCAqIEFuIG9ic2VydmFibGUgdGhhdCBrZWVwcyB0cmFjayBvZiB3aGV0aGVyIGEgbW9kYWwgaXMgY3VycmVudGx5IGFjdGl2ZS5cblx0ICovXG5cdHB1YmxpYyByZWFkb25seSBoYXNBY3RpdmVNb2RhbCQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLmhhc01vZGFsU3ViamVjdC5hc09ic2VydmFibGUoKTtcblxuXHQvKipcblx0ICogT3BlbnMgYSBtb2RhbCBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgb3B0aW9uc1xuXHQgKlxuXHQgKiBAcGFyYW0ge05neE1vZGFsT3B0aW9uczxBY3Rpb25UeXBlPn0gb3B0aW9ucyAtIFRoZSBtb2RhbCBvcHRpb25zXG5cdCAqL1xuXHRwdWJsaWMgb3BlbjxBY3Rpb25UeXBlIGV4dGVuZHMgTmd4TW9kYWxBY3Rpb25UeXBlID0gc3RyaW5nLCBEYXRhVHlwZSA9IGFueT4oXG5cdFx0b3B0aW9uczogTmd4TW9kYWxPcHRpb25zPEFjdGlvblR5cGUsIERhdGFUeXBlPlxuXHQpOiBPYnNlcnZhYmxlPEFjdGlvblR5cGU+IHtcblx0XHQvLyBJYmVuOiBJZiBhIHByZXZpb3VzIG1vZGFsIGlzIHN0aWxsIGFjdGl2ZSwgd2UgZWFybHkgZXhpdC5cblx0XHRpZiAodGhpcy5oYXNNb2RhbFN1YmplY3QudmFsdWUpIHtcblx0XHRcdGNvbnNvbGUud2Fybihcblx0XHRcdFx0J05neEluZm9ybTogQW4gYWN0aXZlIG1vZGFsIGlzIGN1cnJlbnRseSBkaXNwbGF5ZWQsIGNsb3NlIHRoZSBhY3RpdmUgbW9kYWwgYmVmb3JlIG9wZW5pbmcgYSBuZXcgb25lJ1xuXHRcdFx0KTtcblxuXHRcdFx0cmV0dXJuIE5FVkVSO1xuXHRcdH1cblxuXHRcdC8vIEliZW46IERlY2xhcmUgdGhlIG1vZGFsIGFzIGFjdGl2ZVxuXHRcdHRoaXMuaGFzTW9kYWxTdWJqZWN0Lm5leHQodHJ1ZSk7XG5cblx0XHQvLyBJYmVuOiBGZXRjaCB0aGUgdHlwZSBvZiBjb21wb25lbnQgd2Ugd2lzaCB0byBzaG93XG5cdFx0Y29uc3QgY29uZmlndXJhdGlvbiA9IHRoaXMuY29uZmlndXJhdGlvbj8ubW9kYWxzPy5bb3B0aW9ucy50eXBlXTtcblx0XHRjb25zdCBjb21wb25lbnQ6IFR5cGU8Tmd4TW9kYWxBYnN0cmFjdENvbXBvbmVudDxBY3Rpb25UeXBlLCBEYXRhVHlwZT4+ID1cblx0XHRcdG9wdGlvbnMuY29tcG9uZW50IHx8XG5cdFx0XHQoY29uZmlndXJhdGlvbi5jb21wb25lbnQgYXMgVHlwZTxOZ3hNb2RhbEFic3RyYWN0Q29tcG9uZW50PEFjdGlvblR5cGUsIERhdGFUeXBlPj4pO1xuXG5cdFx0Ly8gSWJlbjogQ2hlY2sgaWYgYWxsIHRoZSBjb3JyZWN0IHBhcmFtZXRlcnMgYXJlIHNldCBhbmQgcmV0dXJuIE5FVkVSIHdoZW4gdGhleSdyZSBub3QgY29ycmVjdGx5IHNldFxuXHRcdGlmICghdGhpcy5ydW5BUklBQ2hlY2tzPEFjdGlvblR5cGU+KG9wdGlvbnMsIGNvbXBvbmVudCkpIHtcblx0XHRcdHJldHVybiBORVZFUjtcblx0XHR9XG5cblx0XHQvLyBJYmVuOiBSZW5kZXIgdGhlIG1vZGFsXG5cdFx0Y29uc3QgbW9kYWwgPSB0aGlzLmNyZWF0ZU1vZGFsQ29tcG9uZW50PEFjdGlvblR5cGUsIERhdGFUeXBlPihvcHRpb25zLCBjb21wb25lbnQpO1xuXG5cdFx0Ly8gSWJlbjogUmV0dXJuIHRoZSBtb2RhbCBhY3Rpb25cblx0XHRyZXR1cm4gY29tYmluZUxhdGVzdChbXG5cdFx0XHQvLyBJYmVuOiBTZXQgdGhlIHN0YXJ0IHZhbHVlIHRvIHVuZGVmaW5lZCBzbyBib3RoIGFjdGlvbnMgYXQgbGVhc3QgZW1pdCBvbmNlXG5cdFx0XHRtb2RhbC5hY3Rpb24ucGlwZShzdGFydFdpdGgodW5kZWZpbmVkKSksXG5cdFx0XHRtb2RhbC5jbG9zZS5waXBlKFxuXHRcdFx0XHQvLyBJYmVuOiBNYXAgc28gd2UgY2FuIGtlZXAgdGhlIGVtaXQgdmFsdWUgdm9pZCwgYnV0IGNhbiB3b3JrIHdpdGggdGhlIGZpbHRlciBsYXRlciBkb3duIHRoZSBsaW5lXG5cdFx0XHRcdG1hcCgoKSA9PiAnTmd4TW9kYWxDbG9zZScpLFxuXHRcdFx0XHQvLyBJYmVuOiBTZXQgdGhlIHN0YXJ0IHZhbHVlIHRvIHVuZGVmaW5lZCBzbyBib3RoIGFjdGlvbnMgYXQgbGVhc3QgZW1pdCBvbmNlXG5cdFx0XHRcdHN0YXJ0V2l0aCh1bmRlZmluZWQpXG5cdFx0XHQpLFxuXHRcdF0pLnBpcGUoXG5cdFx0XHQvLyBJYmVuOiBPbmx5IGVtaXQgaWYgb25lIG9mIHRoZSB0d28gYWN0aW9ucyBhY3R1YWxseSBoYXMgYW4gZW1pdFxuXHRcdFx0ZmlsdGVyKChbYWN0aW9uLCBjbG9zZWRdOiBbQWN0aW9uVHlwZSwgJ05neE1vZGFsQ2xvc2UnXSkgPT4ge1xuXHRcdFx0XHRyZXR1cm4gQm9vbGVhbihhY3Rpb24pIHx8IEJvb2xlYW4oY2xvc2VkKTtcblx0XHRcdH0pLFxuXHRcdFx0bWFwKChbYWN0aW9uLCBjbG9zZWRdOiBbQWN0aW9uVHlwZSwgJ05neE1vZGFsQ2xvc2UnXSkgPT4ge1xuXHRcdFx0XHRyZXR1cm4gY2xvc2VkIHx8IGFjdGlvbjtcblx0XHRcdH0pLFxuXHRcdFx0dGFwKChhY3Rpb246IEFjdGlvblR5cGUgfCAnTmd4TW9kYWxDbG9zZScpID0+IHtcblx0XHRcdFx0Ly8gSWJlbjogSWYgdGhlIGF1dG9DbG9zZSBpcyBzcGVjaWZpY2FsbHkgc2V0IHRvIGZhbHNlLCB3ZSBlYXJseSBleGl0IHVubGVzcyB3ZSdyZSBydW5uaW5nIGluIGEgY2xvc2UgZXZlbnRcblx0XHRcdFx0aWYgKFxuXHRcdFx0XHRcdGFjdGlvbiAhPT0gJ05neE1vZGFsQ2xvc2UnICYmXG5cdFx0XHRcdFx0KChvcHRpb25zLmF1dG9DbG9zZSAhPT0gdW5kZWZpbmVkICYmIG9wdGlvbnMuYXV0b0Nsb3NlID09PSBmYWxzZSkgfHxcblx0XHRcdFx0XHRcdChjb25maWd1cmF0aW9uPy5hdXRvQ2xvc2UgIT09IHVuZGVmaW5lZCAmJlxuXHRcdFx0XHRcdFx0XHRjb25maWd1cmF0aW9uLmF1dG9DbG9zZSA9PT0gZmFsc2UpKVxuXHRcdFx0XHQpIHtcblx0XHRcdFx0XHRyZXR1cm47XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQvLyBJYmVuOiBDbG9zZSB0aGUgbW9kYWxcblx0XHRcdFx0dGhpcy5jbG9zZShvcHRpb25zLm9uQ2xvc2UpO1xuXHRcdFx0fSksXG5cdFx0XHQvLyBJYmVuOiBNYXAgdGhlIGFjdGlvbiBiYWNrIHRvIHRoZSBBY3Rpb25UeXBlXG5cdFx0XHRtYXAoKGFjdGlvbjogQWN0aW9uVHlwZSB8ICdOZ3hNb2RhbENsb3NlJykgPT4ge1xuXHRcdFx0XHRyZXR1cm4gYWN0aW9uID09PSAnTmd4TW9kYWxDbG9zZScgPyB1bmRlZmluZWQgOiAoYWN0aW9uIGFzIEFjdGlvblR5cGUpO1xuXHRcdFx0fSksXG5cdFx0XHQvLyBXb3V0ZXI6IFVuc3Vic2NyaWJlIHdlbiBubyBtb2RhbCBpcyBvcGVuXG5cdFx0XHR0YWtlVW50aWwodGhpcy5oYXNNb2RhbFN1YmplY3QucGlwZShmaWx0ZXIoKGhhc01vZGFsKSA9PiAhaGFzTW9kYWwpKSlcblx0XHQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENsb3NlcyB0aGUgY3VycmVudGx5IGFjdGl2ZSBtb2RhbFxuXHQgKlxuXHQgKiAqIEBwYXJhbSBvbkNsb3NlIC0gQW4gb3B0aW9uYWwgb25DbG9zZSBmdW5jdGlvblxuXHQgKi9cblx0cHVibGljIGNsb3NlKG9uQ2xvc2U/OiAoKSA9PiB2b2lkKTogdm9pZCB7XG5cdFx0Ly8gSWJlbjogQ2xvc2UgdGhlIG1vZGFsXG5cdFx0dGhpcy5kaWFsb2dTZXJ2aWNlLmNsb3NlQWxsKCk7XG5cblx0XHQvLyBXb3V0ZXI6IFRoZSBzZXRUaW1lb3V0IGRlbGF5IGlzIG5lZWRlZCwgc28gdGhhdCB0aGUgYG9wZW5gIG1ldGhvZCBjYW4gZW1pdCBiZWZvcmUgaXRzIHN1YnNjcmlwdGlvbiBlbmQgZ2V0cyB0cmlnZ2VyZWRcblx0XHRzZXRUaW1lb3V0KCgpID0+IHtcblx0XHRcdC8vIEliZW46IE1hcmsgdGhlIG1vZGFsIGFzIGNsb3NlZFxuXHRcdFx0dGhpcy5oYXNNb2RhbFN1YmplY3QubmV4dChmYWxzZSk7XG5cdFx0fSk7XG5cdFx0Ly8gSWJlbjogUnVuIGFuIG9wdGlvbmFsIG9uQ2xvc2UgZnVuY3Rpb25cblx0XHRpZiAob25DbG9zZSkge1xuXHRcdFx0b25DbG9zZSgpO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBDaGVja3MgaWYgYWxsIHRoZSBuZWNlc3NhcnkgcHJlY29uZGl0aW9ucyBhcmUgbWV0XG5cdCAqXG5cdCAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgb2YgdGhlIG1vZGFsXG5cdCAqIEBwYXJhbSAgY29tcG9uZW50IC0gVGhlIGNvbXBvbmVudCB3ZSB3aXNoIHRvIHJlbmRlclxuXHQgKi9cblx0cHJpdmF0ZSBydW5BUklBQ2hlY2tzPEFjdGlvblR5cGUgZXh0ZW5kcyBOZ3hNb2RhbEFjdGlvblR5cGU+KFxuXHRcdG9wdGlvbnM6IE5neE1vZGFsT3B0aW9uczxBY3Rpb25UeXBlPixcblx0XHRjb21wb25lbnQ6IFR5cGU8Tmd4TW9kYWxBYnN0cmFjdENvbXBvbmVudDxBY3Rpb25UeXBlPj5cblx0KTogYm9vbGVhbiB7XG5cdFx0Ly8gSWJlbjogSWYgbm8gY29tcG9uZW50IHdhcyBmb3VuZCwgd2UgcmV0dXJuIE5FVkVSIGFuZCB0aHJvdyBhbiBlcnJvclxuXHRcdGlmICghY29tcG9uZW50KSB7XG5cdFx0XHRjb25zb2xlLmVycm9yKFxuXHRcdFx0XHQnTmd4SW5mb3JtOiBObyBjb21wb25lbnQgd2FzIHByb3ZpZGVkIG9yIGZvdW5kIGluIHRoZSBjb25maWd1cmF0aW9uIHRvIHJlbmRlci4nXG5cdFx0XHQpO1xuXG5cdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0fVxuXG5cdFx0Ly8gSWJlbjogSWYgbm8gZGVzY3JpcHRpb24gd2FzIHByb3ZpZGVkIHdoZW4gcmVxdWlyZWQsIHdlIHJldHVybiBORVZFUiBhbmQgdGhyb3cgYW4gZXJyb3Jcblx0XHRpZiAoIXRoaXMuaGFzUmVxdWlyZWREZXNjcmlwdGlvbihvcHRpb25zKSkge1xuXHRcdFx0Y29uc29sZS5lcnJvcihcblx0XHRcdFx0J05neEluZm9ybTogVGhlIHJvbGUgb2YgdGhlIG1vZGFsIHdhcyBzZXQgdG8gXCJhbGVydGRpYWxvZ1wiIGJ1dCBubyBcImRlc2NyaWJlZEJ5SWRcIiB3YXMgcHJvdmlkZWQuJ1xuXHRcdFx0KTtcblxuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH1cblxuXHRcdHJldHVybiB0cnVlO1xuXHR9XG5cblx0LyoqXG5cdCAqIENyZWF0ZXMgdGhlIG1vZGFsIGNvbXBvbmVudFxuXHQgKlxuXHQgKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBvcHRpb25zIG9mIHRoZSBtb2RhbFxuXHQgKiBAcGFyYW0gIGNvbXBvbmVudCAtIFRoZSBjb21wb25lbnQgd2Ugd2lzaCB0byByZW5kZXJcblx0ICovXG5cdHByaXZhdGUgY3JlYXRlTW9kYWxDb21wb25lbnQ8QWN0aW9uVHlwZSBleHRlbmRzIE5neE1vZGFsQWN0aW9uVHlwZSwgRGF0YVR5cGUgPSBhbnk+KFxuXHRcdG9wdGlvbnM6IE5neE1vZGFsT3B0aW9uczxBY3Rpb25UeXBlPixcblx0XHRjb21wb25lbnQ6IFR5cGU8Tmd4TW9kYWxBYnN0cmFjdENvbXBvbmVudDxBY3Rpb25UeXBlLCBEYXRhVHlwZT4+XG5cdCk6IE5neE1vZGFsQWJzdHJhY3RDb21wb25lbnQ8QWN0aW9uVHlwZT4ge1xuXHRcdGNvbnN0IGNvbmZpZ3VyYXRpb24gPSB0aGlzLmNvbmZpZ3VyYXRpb24/Lm1vZGFscz8uW29wdGlvbnMudHlwZV07XG5cblx0XHQvLyBJYmVuOiBDcmVhdGUgdGhlIG1vZGFsIGFuZCByZW5kZXIgaXRcblx0XHRjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZ1NlcnZpY2Uub3Blbihjb21wb25lbnQsIHtcblx0XHRcdHJvbGU6IGNvbmZpZ3VyYXRpb24/LnJvbGUgfHwgb3B0aW9ucy5yb2xlLFxuXHRcdFx0YXJpYUxhYmVsOiBvcHRpb25zLmxhYmVsLFxuXHRcdFx0YXJpYUxhYmVsbGVkQnk6IG9wdGlvbnMubGFiZWxsZWRCeUlkLFxuXHRcdFx0YXJpYURlc2NyaWJlZEJ5OiBvcHRpb25zLmRlc2NyaWJlZEJ5SWQsXG5cdFx0XHRkaXNhYmxlQ2xvc2U6IHRydWUsXG5cdFx0XHRyZXN0b3JlRm9jdXM6IHRoaXMuZ2V0VmFsdWUodW5kZWZpbmVkLCBvcHRpb25zLnJlc3RvcmVGb2N1cywgdHJ1ZSksXG5cdFx0XHRhdXRvRm9jdXM6IHRoaXMuZ2V0VmFsdWUodW5kZWZpbmVkLCBvcHRpb25zLmF1dG9Gb2N1cywgdHJ1ZSksXG5cdFx0XHR2aWV3Q29udGFpbmVyUmVmOiBvcHRpb25zLnZpZXdDb250YWluZXJSZWYsXG5cdFx0XHRkaXJlY3Rpb246IGNvbmZpZ3VyYXRpb24/LmRpcmVjdGlvbiB8fCBvcHRpb25zLmRpcmVjdGlvbixcblx0XHRcdGhhc0JhY2tkcm9wOiB0aGlzLmdldFZhbHVlKGNvbmZpZ3VyYXRpb24/Lmhhc0JhY2tkcm9wLCBvcHRpb25zLmhhc0JhY2tkcm9wLCB0cnVlKSxcblx0XHRcdHBhbmVsQ2xhc3M6IHRoaXMuZ2V0VmFsdWUoY29uZmlndXJhdGlvbj8ucGFuZWxDbGFzcywgb3B0aW9ucy5wYW5lbENsYXNzLCBbXSksXG5cdFx0XHRjbG9zZU9uTmF2aWdhdGlvbjogdGhpcy5nZXRWYWx1ZShcblx0XHRcdFx0Y29uZmlndXJhdGlvbj8uY2xvc2VPbk5hdmlnYXRpb24sXG5cdFx0XHRcdG9wdGlvbnMuY2xvc2VPbk5hdmlnYXRpb24sXG5cdFx0XHRcdHRydWVcblx0XHRcdCksXG5cdFx0XHRjbG9zZU9uRGVzdHJveTogdHJ1ZSxcblx0XHRcdGNsb3NlT25PdmVybGF5RGV0YWNobWVudHM6IHRydWUsXG5cdFx0fSk7XG5cdFx0Y29uc3QgbW9kYWwgPSBkaWFsb2dSZWYuY29tcG9uZW50SW5zdGFuY2U7XG5cblx0XHQvLyBJYmVuOiBTZXQgdGhlIGRhdGEgb2YgdGhlIG1vZGFsXG5cdFx0bW9kYWwuZGF0YSA9IHRoaXMuZ2V0VmFsdWUoY29uZmlndXJhdGlvbj8uZGF0YSwgb3B0aW9ucy5kYXRhLCB1bmRlZmluZWQpO1xuXHRcdG1vZGFsLmFyaWFEZXNjcmliZWRCeSA9IG9wdGlvbnMuZGVzY3JpYmVkQnlJZDtcblx0XHRtb2RhbC5hcmlhTGFiZWxsZWRCeSA9IG9wdGlvbnMubGFiZWxsZWRCeUlkO1xuXG5cdFx0cmV0dXJuIG1vZGFsO1xuXHR9XG5cblx0LyoqXG5cdCAqIENoZWNrcyBpZiB0aGUgZGVzY3JpcHRpb24gaXMgcHJvdmlkZWQgd2hlbiB0aGUgcm9sZSByZXF1aXJlcyBpdFxuXHQgKlxuXHQgKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBvcHRpb25zIG9mIHRoZSBtb2RhbFxuXHQgKi9cblx0cHJpdmF0ZSBoYXNSZXF1aXJlZERlc2NyaXB0aW9uPEFjdGlvblR5cGUgZXh0ZW5kcyBOZ3hNb2RhbEFjdGlvblR5cGU+KFxuXHRcdG9wdGlvbnM6IE5neE1vZGFsT3B0aW9uczxBY3Rpb25UeXBlPlxuXHQpOiBib29sZWFuIHtcblx0XHQvLyBJYmVuOiBJZiB0aGUgb3B0aW9ucyBoYXMgcHJvdmlkZWQgYSBkZWZhdWx0IHR5cGUsIHdlIGNoZWNrIGJhc2VkIG9uIHRoZSBjb25maWd1cmF0aW9uIHJvbGVcblx0XHRpZiAob3B0aW9ucy50eXBlKSB7XG5cdFx0XHRjb25zdCBjb25maWd1cmF0aW9uID0gdGhpcy5jb25maWd1cmF0aW9uPy5tb2RhbHNbb3B0aW9ucy50eXBlXTtcblxuXHRcdFx0cmV0dXJuICEoY29uZmlndXJhdGlvbi5yb2xlID09PSAnYWxlcnRkaWFsb2cnICYmICFvcHRpb25zLmRlc2NyaWJlZEJ5SWQpO1xuXHRcdH1cblxuXHRcdC8vICBJYmVuOiBDaGVjayBiYXNlZCBvbiB0aGUgb3B0aW9ucyByb2xlXG5cdFx0cmV0dXJuICEob3B0aW9ucy5yb2xlID09PSAnYWxlcnRkaWFsb2cnICYmICFvcHRpb25zLmRlc2NyaWJlZEJ5SWQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHVybnMgYSB2YWx1ZSBiYXNlZCBvbiB3aGV0aGVyIG9uZSBvZiB0aGUgb3ZlcndyaXRlcyBpcyBkZWZpbmVkXG5cdCAqXG5cdCAqIEBwcml2YXRlXG5cdCAqIEBwYXJhbSBjb25maWd1cmF0aW9uVmFsdWUgLSBUaGUgb3ZlcndyaXRlIG9uIGNvbmZpZ3VyYXRpb24gbGV2ZWxcblx0ICogQHBhcmFtIG9wdGlvbnNWYWx1ZSAtIFRoZSBvdmVyd3JpdGUgb24gb3B0aW9ucyBsZXZlbFxuXHQgKiBAcGFyYW0gZGVmYXVsdFZhbHVlIC0gVGhlIGRlZmF1bHQgdmFsdWUgaWYgbm8gb3ZlcndyaXRlIHdhcyBkZWZpbmVkXG5cdCAqL1xuXHRwcml2YXRlIGdldFZhbHVlKGNvbmZpZ3VyYXRpb25WYWx1ZTogYW55LCBvcHRpb25zVmFsdWU6IGFueSwgZGVmYXVsdFZhbHVlOiBhbnkpOiBhbnkge1xuXHRcdGlmIChjb25maWd1cmF0aW9uVmFsdWUgPT09IHVuZGVmaW5lZCAmJiBvcHRpb25zVmFsdWUgPT09IHVuZGVmaW5lZCkge1xuXHRcdFx0cmV0dXJuIGRlZmF1bHRWYWx1ZTtcblx0XHR9XG5cblx0XHRpZiAob3B0aW9uc1ZhbHVlICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdHJldHVybiBvcHRpb25zVmFsdWU7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIGNvbmZpZ3VyYXRpb25WYWx1ZTtcblx0fVxufVxuIl19","import { Directive, ElementRef, HostBinding, HostListener, Input, inject, } from '@angular/core';\nimport { v4 as uuid } from 'uuid';\nimport { NgxTooltipService } from '../../services';\nimport * as i0 from \"@angular/core\";\n/**\n * A directive that adds a ARIA compliant tooltip to a component\n *\n * @export\n * @class NgxTooltipDirective\n */\nexport class NgxTooltipDirective {\n    constructor() {\n        this.tooltipService = inject(NgxTooltipService);\n        this.elementRef = inject(ElementRef);\n        /**\n         * Make the item tabbable\n         */\n        this.index = 0;\n        /**\n         * The id of the tooltip, unique in the DOM, required for accessibility. By default, this is an autogenerated UUID.\n         */\n        this.ngxTooltipId = uuid();\n        /**\n         * Prevent the tooltip from being shown, by default this is false.\n         */\n        this.ngxTooltipDisabled = false;\n    }\n    /**\n     * Show the tooltip on hover\n     */\n    showOnMouseEnter() {\n        this.showTooltip();\n    }\n    /**\n     * Show the tooltip on focus\n     */\n    showOnFocus() {\n        this.showTooltip();\n    }\n    /**\n     * Remove the tooltip on leaving hover\n     */\n    removeOnMouseOut() {\n        this.removeTooltip();\n    }\n    /**\n     * Remove the tooltip on blur\n     */\n    removeOnBlur() {\n        this.removeTooltip();\n    }\n    /**\n     * Remove the tooltip on escape pressed\n     */\n    onEscape() {\n        this.tooltipService.removeToolTip();\n    }\n    /**\n     * Show the tooltip if it is not visible yet\n     */\n    showTooltip() {\n        // Iben: Early exit when the tooltip is disabled\n        if (this.ngxTooltipDisabled) {\n            return;\n        }\n        // Iben: Show the tooltip\n        this.tooltipService.setToolTipEvent({\n            text: this.ngxTooltip,\n            position: this.ngxTooltipPosition,\n            component: this.ngxTooltipComponent,\n            elementRef: this.elementRef,\n            id: this.ngxTooltipId,\n            source: 'element',\n            active: true,\n        });\n    }\n    /**\n     * Remove the tooltip\n     */\n    removeTooltip() {\n        // Iben: Early exit when the tooltip is disabled\n        if (this.ngxTooltipDisabled) {\n            return;\n        }\n        // Iben: Emit a remove event\n        this.tooltipService.setToolTipEvent({\n            id: this.ngxTooltipId,\n            source: 'element',\n            active: false,\n        });\n    }\n    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: NgxTooltipDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n    static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.2.4\", type: NgxTooltipDirective, isStandalone: true, selector: \"[ngxTooltip]\", inputs: { ngxTooltipId: \"ngxTooltipId\", ngxTooltip: \"ngxTooltip\", ngxTooltipComponent: \"ngxTooltipComponent\", ngxTooltipPosition: \"ngxTooltipPosition\", ngxTooltipDisabled: \"ngxTooltipDisabled\" }, host: { listeners: { \"mouseenter\": \"showOnMouseEnter()\", \"focus\": \"showOnFocus()\", \"mouseleave\": \"removeOnMouseOut()\", \"blur\": \"removeOnBlur()\", \"document:keydown.escape\": \"onEscape()\" }, properties: { \"tabIndex\": \"this.index\", \"attr.aria-describedby\": \"this.ngxTooltipId\" } }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: NgxTooltipDirective, decorators: [{\n            type: Directive,\n            args: [{\n                    selector: '[ngxTooltip]',\n                    standalone: true,\n                }]\n        }], propDecorators: { showOnMouseEnter: [{\n                type: HostListener,\n                args: ['mouseenter']\n            }], showOnFocus: [{\n                type: HostListener,\n                args: ['focus']\n            }], removeOnMouseOut: [{\n                type: HostListener,\n                args: ['mouseleave']\n            }], removeOnBlur: [{\n                type: HostListener,\n                args: ['blur']\n            }], onEscape: [{\n                type: HostListener,\n                args: ['document:keydown.escape']\n            }], index: [{\n                type: HostBinding,\n                args: ['tabIndex']\n            }], ngxTooltipId: [{\n                type: HostBinding,\n                args: ['attr.aria-describedby']\n            }, {\n                type: Input\n            }], ngxTooltip: [{\n                type: Input,\n                args: [{ required: true }]\n            }], ngxTooltipComponent: [{\n                type: Input\n            }], ngxTooltipPosition: [{\n                type: Input\n            }], ngxTooltipDisabled: [{\n                type: Input\n            }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvaW5mb3JtL3NyYy9saWIvZGlyZWN0aXZlcy90b29sdGlwL3Rvb2x0aXAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTixTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sR0FDTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsRUFBRSxJQUFJLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUlsQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFFbkQ7Ozs7O0dBS0c7QUFLSCxNQUFNLE9BQU8sbUJBQW1CO0lBSmhDO1FBS2tCLG1CQUFjLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDM0MsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQXFDakQ7O1dBRUc7UUFDdUMsVUFBSyxHQUFHLENBQUMsQ0FBQztRQUVwRDs7V0FFRztRQUNtRCxpQkFBWSxHQUFXLElBQUksRUFBRSxDQUFDO1FBa0JwRjs7V0FFRztRQUNhLHVCQUFrQixHQUFZLEtBQUssQ0FBQztLQXVDcEQ7SUF2R0E7O09BRUc7SUFDeUIsZ0JBQWdCO1FBQzNDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQ7O09BRUc7SUFDb0IsV0FBVztRQUNqQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVEOztPQUVHO0lBQ3lCLGdCQUFnQjtRQUMzQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVEOztPQUVHO0lBQ21CLFlBQVk7UUFDakMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7T0FFRztJQUNzQyxRQUFRO1FBQ2hELElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDckMsQ0FBQztJQWlDRDs7T0FFRztJQUNLLFdBQVc7UUFDbEIsZ0RBQWdEO1FBQ2hELElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDN0IsT0FBTztRQUNSLENBQUM7UUFFRCx5QkFBeUI7UUFDekIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUM7WUFDbkMsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQ3JCLFFBQVEsRUFBRSxJQUFJLENBQUMsa0JBQWtCO1lBQ2pDLFNBQVMsRUFBRSxJQUFJLENBQUMsbUJBQW1CO1lBQ25DLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUMzQixFQUFFLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDckIsTUFBTSxFQUFFLFNBQVM7WUFDakIsTUFBTSxFQUFFLElBQUk7U0FDWixDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSyxhQUFhO1FBQ3BCLGdEQUFnRDtRQUNoRCxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQzdCLE9BQU87UUFDUixDQUFDO1FBRUQsNEJBQTRCO1FBQzVCLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDO1lBQ25DLEVBQUUsRUFBRSxJQUFJLENBQUMsWUFBWTtZQUNyQixNQUFNLEVBQUUsU0FBUztZQUNqQixNQUFNLEVBQUUsS0FBSztTQUNiLENBQUMsQ0FBQztJQUNKLENBQUM7OEdBMUdXLG1CQUFtQjtrR0FBbkIsbUJBQW1COzsyRkFBbkIsbUJBQW1CO2tCQUovQixTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxjQUFjO29CQUN4QixVQUFVLEVBQUUsSUFBSTtpQkFDaEI7OEJBUTRCLGdCQUFnQjtzQkFBM0MsWUFBWTt1QkFBQyxZQUFZO2dCQU9ILFdBQVc7c0JBQWpDLFlBQVk7dUJBQUMsT0FBTztnQkFPTyxnQkFBZ0I7c0JBQTNDLFlBQVk7dUJBQUMsWUFBWTtnQkFPSixZQUFZO3NCQUFqQyxZQUFZO3VCQUFDLE1BQU07Z0JBT3FCLFFBQVE7c0JBQWhELFlBQVk7dUJBQUMseUJBQXlCO2dCQU9HLEtBQUs7c0JBQTlDLFdBQVc7dUJBQUMsVUFBVTtnQkFLK0IsWUFBWTtzQkFBakUsV0FBVzt1QkFBQyx1QkFBdUI7O3NCQUFHLEtBQUs7Z0JBS1YsVUFBVTtzQkFBM0MsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBS1QsbUJBQW1CO3NCQUFsQyxLQUFLO2dCQU1VLGtCQUFrQjtzQkFBakMsS0FBSztnQkFLVSxrQkFBa0I7c0JBQWpDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHREaXJlY3RpdmUsXG5cdEVsZW1lbnRSZWYsXG5cdEhvc3RCaW5kaW5nLFxuXHRIb3N0TGlzdGVuZXIsXG5cdElucHV0LFxuXHRUeXBlLFxuXHRpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdjQgYXMgdXVpZCB9IGZyb20gJ3V1aWQnO1xuXG5pbXBvcnQgeyBOZ3hUb29sdGlwQWJzdHJhY3RDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hYnN0cmFjdHMnO1xuaW1wb3J0IHsgTmd4VG9vbHRpcFBvc2l0aW9uIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgTmd4VG9vbHRpcFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5cbi8qKlxuICogQSBkaXJlY3RpdmUgdGhhdCBhZGRzIGEgQVJJQSBjb21wbGlhbnQgdG9vbHRpcCB0byBhIGNvbXBvbmVudFxuICpcbiAqIEBleHBvcnRcbiAqIEBjbGFzcyBOZ3hUb29sdGlwRGlyZWN0aXZlXG4gKi9cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ1tuZ3hUb29sdGlwXScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIE5neFRvb2x0aXBEaXJlY3RpdmUge1xuXHRwcml2YXRlIHJlYWRvbmx5IHRvb2x0aXBTZXJ2aWNlID0gaW5qZWN0KE5neFRvb2x0aXBTZXJ2aWNlKTtcblx0cHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXG5cdC8qKlxuXHQgKiBTaG93IHRoZSB0b29sdGlwIG9uIGhvdmVyXG5cdCAqL1xuXHRASG9zdExpc3RlbmVyKCdtb3VzZWVudGVyJykgc2hvd09uTW91c2VFbnRlcigpIHtcblx0XHR0aGlzLnNob3dUb29sdGlwKCk7XG5cdH1cblxuXHQvKipcblx0ICogU2hvdyB0aGUgdG9vbHRpcCBvbiBmb2N1c1xuXHQgKi9cblx0QEhvc3RMaXN0ZW5lcignZm9jdXMnKSBzaG93T25Gb2N1cygpIHtcblx0XHR0aGlzLnNob3dUb29sdGlwKCk7XG5cdH1cblxuXHQvKipcblx0ICogUmVtb3ZlIHRoZSB0b29sdGlwIG9uIGxlYXZpbmcgaG92ZXJcblx0ICovXG5cdEBIb3N0TGlzdGVuZXIoJ21vdXNlbGVhdmUnKSByZW1vdmVPbk1vdXNlT3V0KCkge1xuXHRcdHRoaXMucmVtb3ZlVG9vbHRpcCgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJlbW92ZSB0aGUgdG9vbHRpcCBvbiBibHVyXG5cdCAqL1xuXHRASG9zdExpc3RlbmVyKCdibHVyJykgcmVtb3ZlT25CbHVyKCkge1xuXHRcdHRoaXMucmVtb3ZlVG9vbHRpcCgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJlbW92ZSB0aGUgdG9vbHRpcCBvbiBlc2NhcGUgcHJlc3NlZFxuXHQgKi9cblx0QEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bi5lc2NhcGUnKSBvbkVzY2FwZSgpIHtcblx0XHR0aGlzLnRvb2x0aXBTZXJ2aWNlLnJlbW92ZVRvb2xUaXAoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBNYWtlIHRoZSBpdGVtIHRhYmJhYmxlXG5cdCAqL1xuXHRASG9zdEJpbmRpbmcoJ3RhYkluZGV4JykgcHJpdmF0ZSByZWFkb25seSBpbmRleCA9IDA7XG5cblx0LyoqXG5cdCAqIFRoZSBpZCBvZiB0aGUgdG9vbHRpcCwgdW5pcXVlIGluIHRoZSBET00sIHJlcXVpcmVkIGZvciBhY2Nlc3NpYmlsaXR5LiBCeSBkZWZhdWx0LCB0aGlzIGlzIGFuIGF1dG9nZW5lcmF0ZWQgVVVJRC5cblx0ICovXG5cdEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWRlc2NyaWJlZGJ5JykgQElucHV0KCkgcHVibGljIG5neFRvb2x0aXBJZDogc3RyaW5nID0gdXVpZCgpO1xuXG5cdC8qKlxuXHQgKiBUaGUgdGV4dCBvZiB0aGUgdG9vbHRpcFxuXHQgKi9cblx0QElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgcHVibGljIG5neFRvb2x0aXA6IHN0cmluZztcblxuXHQvKipcblx0ICogQW4gb3B0aW9uYWwgY29tcG9uZW50IHdlIGNhbiBwYXNzIHRvIHJlcGxhY2UgdGhlIGRlZmF1bHQgY29uZmlndXJlZCBjb21wb25lbnRcblx0ICovXG5cdEBJbnB1dCgpIHB1YmxpYyBuZ3hUb29sdGlwQ29tcG9uZW50OiBUeXBlPE5neFRvb2x0aXBBYnN0cmFjdENvbXBvbmVudD47XG5cblx0LyoqXG5cdCAqIEFuIG9wdGlvbmFsIHBvc2l0aW9uIHdlIGNhbiBwYXNzIHRvIHRvb2x0aXAsIGJ5IGRlZmF1bHQgdGhpcyBpcyAnYWJvdmUnLlxuXHQgKi9cblx0Ly8gSWJlbjogVGhlIGRlZmF1bHQgaXMgc2V0IGluIHRoZSBOZ3hUb29sdGlwU2VydmljZVxuXHRASW5wdXQoKSBwdWJsaWMgbmd4VG9vbHRpcFBvc2l0aW9uOiBOZ3hUb29sdGlwUG9zaXRpb247XG5cblx0LyoqXG5cdCAqIFByZXZlbnQgdGhlIHRvb2x0aXAgZnJvbSBiZWluZyBzaG93biwgYnkgZGVmYXVsdCB0aGlzIGlzIGZhbHNlLlxuXHQgKi9cblx0QElucHV0KCkgcHVibGljIG5neFRvb2x0aXBEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG5cdC8qKlxuXHQgKiBTaG93IHRoZSB0b29sdGlwIGlmIGl0IGlzIG5vdCB2aXNpYmxlIHlldFxuXHQgKi9cblx0cHJpdmF0ZSBzaG93VG9vbHRpcCgpOiB2b2lkIHtcblx0XHQvLyBJYmVuOiBFYXJseSBleGl0IHdoZW4gdGhlIHRvb2x0aXAgaXMgZGlzYWJsZWRcblx0XHRpZiAodGhpcy5uZ3hUb29sdGlwRGlzYWJsZWQpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHQvLyBJYmVuOiBTaG93IHRoZSB0b29sdGlwXG5cdFx0dGhpcy50b29sdGlwU2VydmljZS5zZXRUb29sVGlwRXZlbnQoe1xuXHRcdFx0dGV4dDogdGhpcy5uZ3hUb29sdGlwLFxuXHRcdFx0cG9zaXRpb246IHRoaXMubmd4VG9vbHRpcFBvc2l0aW9uLFxuXHRcdFx0Y29tcG9uZW50OiB0aGlzLm5neFRvb2x0aXBDb21wb25lbnQsXG5cdFx0XHRlbGVtZW50UmVmOiB0aGlzLmVsZW1lbnRSZWYsXG5cdFx0XHRpZDogdGhpcy5uZ3hUb29sdGlwSWQsXG5cdFx0XHRzb3VyY2U6ICdlbGVtZW50Jyxcblx0XHRcdGFjdGl2ZTogdHJ1ZSxcblx0XHR9KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZW1vdmUgdGhlIHRvb2x0aXBcblx0ICovXG5cdHByaXZhdGUgcmVtb3ZlVG9vbHRpcCgpOiB2b2lkIHtcblx0XHQvLyBJYmVuOiBFYXJseSBleGl0IHdoZW4gdGhlIHRvb2x0aXAgaXMgZGlzYWJsZWRcblx0XHRpZiAodGhpcy5uZ3hUb29sdGlwRGlzYWJsZWQpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHQvLyBJYmVuOiBFbWl0IGEgcmVtb3ZlIGV2ZW50XG5cdFx0dGhpcy50b29sdGlwU2VydmljZS5zZXRUb29sVGlwRXZlbnQoe1xuXHRcdFx0aWQ6IHRoaXMubmd4VG9vbHRpcElkLFxuXHRcdFx0c291cmNlOiAnZWxlbWVudCcsXG5cdFx0XHRhY3RpdmU6IGZhbHNlLFxuXHRcdH0pO1xuXHR9XG59XG4iXX0=","import { NgxTooltipConfigurationToken } from '../../tokens';\n/**\n * Provides the configuration for the NgxTooltipDirective\n *\n * @param configuration - The required configuration\n */\nexport const provideNgxTooltipConfiguration = (configuration) => {\n    return {\n        provide: NgxTooltipConfigurationToken,\n        useValue: configuration,\n    };\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC1jb25maWd1cmF0aW9uLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2luZm9ybS9zcmMvbGliL3Byb3ZpZGVycy90b29sdGlwL3Rvb2x0aXAtY29uZmlndXJhdGlvbi5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFNUQ7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLENBQzdDLGFBQXNDLEVBQzNCLEVBQUU7SUFDYixPQUFPO1FBQ04sT0FBTyxFQUFFLDRCQUE0QjtRQUNyQyxRQUFRLEVBQUUsYUFBYTtLQUN2QixDQUFDO0FBQ0gsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5neFRvb2x0aXBDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgTmd4VG9vbHRpcENvbmZpZ3VyYXRpb25Ub2tlbiB9IGZyb20gJy4uLy4uL3Rva2Vucyc7XG5cbi8qKlxuICogUHJvdmlkZXMgdGhlIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBOZ3hUb29sdGlwRGlyZWN0aXZlXG4gKlxuICogQHBhcmFtIGNvbmZpZ3VyYXRpb24gLSBUaGUgcmVxdWlyZWQgY29uZmlndXJhdGlvblxuICovXG5leHBvcnQgY29uc3QgcHJvdmlkZU5neFRvb2x0aXBDb25maWd1cmF0aW9uID0gKFxuXHRjb25maWd1cmF0aW9uOiBOZ3hUb29sdGlwQ29uZmlndXJhdGlvblxuKTogUHJvdmlkZXIgPT4ge1xuXHRyZXR1cm4ge1xuXHRcdHByb3ZpZGU6IE5neFRvb2x0aXBDb25maWd1cmF0aW9uVG9rZW4sXG5cdFx0dXNlVmFsdWU6IGNvbmZpZ3VyYXRpb24sXG5cdH07XG59O1xuIl19","import { NgxModalConfigurationToken } from '../../tokens';\n/**\n * Provides the configuration for the NgxModalService\n *\n * @param configuration - The required configuration\n */\nexport const provideNgxModalConfiguration = (configuration) => {\n    return {\n        provide: NgxModalConfigurationToken,\n        useValue: configuration,\n    };\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtY29uZmlndXJhdGlvbi5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9pbmZvcm0vc3JjL2xpYi9wcm92aWRlcnMvbW9kYWwvbW9kYWwtY29uZmlndXJhdGlvbi5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFMUQ7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLENBQUMsYUFBb0MsRUFBWSxFQUFFO0lBQzlGLE9BQU87UUFDTixPQUFPLEVBQUUsMEJBQTBCO1FBQ25DLFFBQVEsRUFBRSxhQUFhO0tBQ3ZCLENBQUM7QUFDSCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmd4TW9kYWxDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgTmd4TW9kYWxDb25maWd1cmF0aW9uVG9rZW4gfSBmcm9tICcuLi8uLi90b2tlbnMnO1xuXG4vKipcbiAqIFByb3ZpZGVzIHRoZSBjb25maWd1cmF0aW9uIGZvciB0aGUgTmd4TW9kYWxTZXJ2aWNlXG4gKlxuICogQHBhcmFtIGNvbmZpZ3VyYXRpb24gLSBUaGUgcmVxdWlyZWQgY29uZmlndXJhdGlvblxuICovXG5leHBvcnQgY29uc3QgcHJvdmlkZU5neE1vZGFsQ29uZmlndXJhdGlvbiA9IChjb25maWd1cmF0aW9uOiBOZ3hNb2RhbENvbmZpZ3VyYXRpb24pOiBQcm92aWRlciA9PiB7XG5cdHJldHVybiB7XG5cdFx0cHJvdmlkZTogTmd4TW9kYWxDb25maWd1cmF0aW9uVG9rZW4sXG5cdFx0dXNlVmFsdWU6IGNvbmZpZ3VyYXRpb24sXG5cdH07XG59O1xuIl19","import { Directive, HostBinding, HostListener, Input } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"../../services\";\n/**\n * An abstract for the NgxTooltipDirective\n */\nexport class NgxTooltipAbstractComponent {\n    /**\n     * Set tooltip as active\n     */\n    showOnMouseEnter() {\n        this.ngxTooltipService.setToolTipEvent({\n            id: this.id,\n            source: 'tooltip',\n            active: true,\n        });\n    }\n    /**\n     * Set the tooltip as inactive\n     */\n    removeOnMouseOut() {\n        this.ngxTooltipService.setToolTipEvent({\n            id: this.id,\n            source: 'tooltip',\n            active: false,\n        });\n    }\n    // eslint-disable-next-line @angular-eslint/prefer-inject\n    constructor(ngxTooltipService) {\n        this.ngxTooltipService = ngxTooltipService;\n        /**\n         * The role of the component\n         */\n        this.role = 'tooltip';\n    }\n    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: NgxTooltipAbstractComponent, deps: [{ token: i1.NgxTooltipService }], target: i0.ɵɵFactoryTarget.Directive }); }\n    static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.2.4\", type: NgxTooltipAbstractComponent, isStandalone: true, inputs: { positionClass: \"positionClass\", id: \"id\", position: \"position\", text: \"text\" }, host: { listeners: { \"mouseenter\": \"showOnMouseEnter()\", \"mouseleave\": \"removeOnMouseOut()\" }, properties: { \"role\": \"this.role\", \"class\": \"this.positionClass\", \"id\": \"this.id\" } }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: NgxTooltipAbstractComponent, decorators: [{\n            type: Directive\n        }], ctorParameters: () => [{ type: i1.NgxTooltipService }], propDecorators: { showOnMouseEnter: [{\n                type: HostListener,\n                args: ['mouseenter']\n            }], removeOnMouseOut: [{\n                type: HostListener,\n                args: ['mouseleave']\n            }], role: [{\n                type: HostBinding,\n                args: ['role']\n            }], positionClass: [{\n                type: HostBinding,\n                args: ['class']\n            }, {\n                type: Input\n            }], id: [{\n                type: HostBinding,\n                args: ['id']\n            }, {\n                type: Input,\n                args: [{ required: true }]\n            }], position: [{\n                type: Input,\n                args: [{ required: true }]\n            }], text: [{\n                type: Input,\n                args: [{ required: true }]\n            }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5hYnN0cmFjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvaW5mb3JtL3NyYy9saWIvYWJzdHJhY3RzL3Rvb2x0aXAvdG9vbHRpcC5hYnN0cmFjdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBSzVFOztHQUVHO0FBRUgsTUFBTSxPQUFnQiwyQkFBMkI7SUFDaEQ7O09BRUc7SUFDeUIsZ0JBQWdCO1FBQzNDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUM7WUFDdEMsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ1gsTUFBTSxFQUFFLFNBQVM7WUFDakIsTUFBTSxFQUFFLElBQUk7U0FDWixDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDeUIsZ0JBQWdCO1FBQzNDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUM7WUFDdEMsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ1gsTUFBTSxFQUFFLFNBQVM7WUFDakIsTUFBTSxFQUFFLEtBQUs7U0FDYixDQUFDLENBQUM7SUFDSixDQUFDO0lBMkJELHlEQUF5RDtJQUN6RCxZQUE2QixpQkFBb0M7UUFBcEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQTFCakU7O1dBRUc7UUFDa0MsU0FBSSxHQUFHLFNBQVMsQ0FBQztJQXVCYyxDQUFDOzhHQWpEaEQsMkJBQTJCO2tHQUEzQiwyQkFBMkI7OzJGQUEzQiwyQkFBMkI7a0JBRGhELFNBQVM7c0ZBS21CLGdCQUFnQjtzQkFBM0MsWUFBWTt1QkFBQyxZQUFZO2dCQVdFLGdCQUFnQjtzQkFBM0MsWUFBWTt1QkFBQyxZQUFZO2dCQVdXLElBQUk7c0JBQXhDLFdBQVc7dUJBQUMsTUFBTTtnQkFLbUIsYUFBYTtzQkFBbEQsV0FBVzt1QkFBQyxPQUFPOztzQkFBRyxLQUFLO2dCQUt5QixFQUFFO3NCQUF0RCxXQUFXO3VCQUFDLElBQUk7O3NCQUFHLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUtWLFFBQVE7c0JBQXpDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUtTLElBQUk7c0JBQXJDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0QmluZGluZywgSG9zdExpc3RlbmVyLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBOZ3hUb29sdGlwUG9zaXRpb24sIE5neFRvb2x0aXBQb3NpdGlvbkNsYXNzIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgTmd4VG9vbHRpcFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5cbi8qKlxuICogQW4gYWJzdHJhY3QgZm9yIHRoZSBOZ3hUb29sdGlwRGlyZWN0aXZlXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE5neFRvb2x0aXBBYnN0cmFjdENvbXBvbmVudCB7XG5cdC8qKlxuXHQgKiBTZXQgdG9vbHRpcCBhcyBhY3RpdmVcblx0ICovXG5cdEBIb3N0TGlzdGVuZXIoJ21vdXNlZW50ZXInKSBzaG93T25Nb3VzZUVudGVyKCkge1xuXHRcdHRoaXMubmd4VG9vbHRpcFNlcnZpY2Uuc2V0VG9vbFRpcEV2ZW50KHtcblx0XHRcdGlkOiB0aGlzLmlkLFxuXHRcdFx0c291cmNlOiAndG9vbHRpcCcsXG5cdFx0XHRhY3RpdmU6IHRydWUsXG5cdFx0fSk7XG5cdH1cblxuXHQvKipcblx0ICogU2V0IHRoZSB0b29sdGlwIGFzIGluYWN0aXZlXG5cdCAqL1xuXHRASG9zdExpc3RlbmVyKCdtb3VzZWxlYXZlJykgcmVtb3ZlT25Nb3VzZU91dCgpIHtcblx0XHR0aGlzLm5neFRvb2x0aXBTZXJ2aWNlLnNldFRvb2xUaXBFdmVudCh7XG5cdFx0XHRpZDogdGhpcy5pZCxcblx0XHRcdHNvdXJjZTogJ3Rvb2x0aXAnLFxuXHRcdFx0YWN0aXZlOiBmYWxzZSxcblx0XHR9KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBUaGUgcm9sZSBvZiB0aGUgY29tcG9uZW50XG5cdCAqL1xuXHRASG9zdEJpbmRpbmcoJ3JvbGUnKSBwdWJsaWMgcmVhZG9ubHkgcm9sZSA9ICd0b29sdGlwJztcblxuXHQvKipcblx0ICogVGhlIHBvc2l0aW9uIGNsYXNzIG9mIHRoZSB0b29sdGlwXG5cdCAqL1xuXHRASG9zdEJpbmRpbmcoJ2NsYXNzJykgQElucHV0KCkgcHVibGljIHBvc2l0aW9uQ2xhc3M6IE5neFRvb2x0aXBQb3NpdGlvbkNsYXNzO1xuXG5cdC8qKlxuXHQgKiBUaGUgaWQgb2YgdGhlIHRvb2x0aXBcblx0ICovXG5cdEBIb3N0QmluZGluZygnaWQnKSBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBwdWJsaWMgaWQ6IHN0cmluZztcblxuXHQvKipcblx0ICogVGhlIGN1cnJlbnQgcG9zaXRpb24gb2YgdGhlIHRvb2x0aXBcblx0ICovXG5cdEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHB1YmxpYyBwb3NpdGlvbjogTmd4VG9vbHRpcFBvc2l0aW9uO1xuXG5cdC8qKlxuXHQgKiBUaGUgdGV4dCBvZiB0aGUgdG9vbHRpcFxuXHQgKi9cblx0QElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgcHVibGljIHRleHQ6IHN0cmluZztcblxuXHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L3ByZWZlci1pbmplY3Rcblx0Y29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBuZ3hUb29sdGlwU2VydmljZTogTmd4VG9vbHRpcFNlcnZpY2UpIHt9XG59XG4iXX0=","import { Directive, ElementRef, EventEmitter, HostListener, Input, Output, inject, } from '@angular/core';\nimport { NgxWindowService } from '@studiohyperdrive/ngx-core';\nimport * as i0 from \"@angular/core\";\n/**\n * An abstract for the NgxModalService\n */\nexport class NgxModalAbstractComponent {\n    constructor() {\n        this.windowService = inject(NgxWindowService);\n        this.elementRef = inject(ElementRef);\n        /**\n         * An emitter that will emit an action we can later respond to\n         */\n        this.action = new EventEmitter();\n        /**\n         * An emitter that will emit if the modal is closed\n         */\n        // eslint-disable-next-line @angular-eslint/no-output-native\n        this.close = new EventEmitter();\n    }\n    /**\n     * Remove the modal on escape pressed\n     */\n    onEscape() {\n        this.close.emit();\n    }\n    ngAfterViewInit() {\n        // Iben: If we are in the browser, check if either of the two accessibility labels are set\n        if (this.windowService.isBrowser() && (this.ariaLabelledBy || this.ariaDescribedBy)) {\n            // Iben: Find the element with the id and the parent\n            const element = document.getElementById(this.ariaLabelledBy || this.ariaDescribedBy);\n            const parent = this.elementRef.nativeElement;\n            // Iben: If no corresponding element was found or if it isn't part of the modal, throw an error\n            if (!element || !parent.contains(element)) {\n                console.error(`NgxModalAbstractComponent: The ${this.ariaLabelledBy ? '\"aria-labelledBy\"' : 'aria-describedBy'} property was passed to the modal but no element with said id was found. Because of that, the necessary accessibility attributes could not be set. Please add an id with the value \"${this.ariaLabelledBy || this.ariaDescribedBy}\" to an element of the modal.`);\n            }\n        }\n    }\n    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: NgxModalAbstractComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n    static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.2.4\", type: NgxModalAbstractComponent, isStandalone: true, inputs: { ariaLabelledBy: \"ariaLabelledBy\", ariaDescribedBy: \"ariaDescribedBy\", data: \"data\" }, outputs: { action: \"action\", close: \"close\" }, host: { listeners: { \"document:keydown.escape\": \"onEscape()\" } }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.4\", ngImport: i0, type: NgxModalAbstractComponent, decorators: [{\n            type: Directive\n        }], propDecorators: { onEscape: [{\n                type: HostListener,\n                args: ['document:keydown.escape']\n            }], ariaLabelledBy: [{\n                type: Input\n            }], ariaDescribedBy: [{\n                type: Input\n            }], data: [{\n                type: Input\n            }], action: [{\n                type: Output\n            }], close: [{\n                type: Output\n            }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuYWJzdHJhY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2luZm9ybS9zcmMvbGliL2Fic3RyYWN0cy9tb2RhbC9tb2RhbC5hYnN0cmFjdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVOLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sR0FDTixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFHOUQ7O0dBRUc7QUFFSCxNQUFNLE9BQU8seUJBQXlCO0lBRHRDO1FBSWtCLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDekMsZUFBVSxHQUFHLE1BQU0sQ0FBMEIsVUFBVSxDQUFDLENBQUM7UUF3QjFFOztXQUVHO1FBQ2MsV0FBTSxHQUE2QixJQUFJLFlBQVksRUFBYyxDQUFDO1FBRW5GOztXQUVHO1FBQ0gsNERBQTREO1FBQzNDLFVBQUssR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztLQXFCdEU7SUFwREE7O09BRUc7SUFDOEMsUUFBUTtRQUN4RCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ25CLENBQUM7SUE0Qk0sZUFBZTtRQUNyQiwwRkFBMEY7UUFDMUYsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQztZQUNyRixvREFBb0Q7WUFDcEQsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUNyRixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztZQUU3QywrRkFBK0Y7WUFDL0YsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDM0MsT0FBTyxDQUFDLEtBQUssQ0FDWixrQ0FDQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsa0JBQzdDLHVMQUNDLElBQUksQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLGVBQzdCLCtCQUErQixDQUMvQixDQUFDO1lBQ0gsQ0FBQztRQUNGLENBQUM7SUFDRixDQUFDOzhHQXpEVyx5QkFBeUI7a0dBQXpCLHlCQUF5Qjs7MkZBQXpCLHlCQUF5QjtrQkFEckMsU0FBUzs4QkFVd0MsUUFBUTtzQkFBeEQsWUFBWTt1QkFBQyx5QkFBeUI7Z0JBT3ZCLGNBQWM7c0JBQTdCLEtBQUs7Z0JBS1UsZUFBZTtzQkFBOUIsS0FBSztnQkFLVSxJQUFJO3NCQUFuQixLQUFLO2dCQUtXLE1BQU07c0JBQXRCLE1BQU07Z0JBTVUsS0FBSztzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG5cdEFmdGVyVmlld0luaXQsXG5cdERpcmVjdGl2ZSxcblx0RWxlbWVudFJlZixcblx0RXZlbnRFbWl0dGVyLFxuXHRIb3N0TGlzdGVuZXIsXG5cdElucHV0LFxuXHRPdXRwdXQsXG5cdGluamVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE5neFdpbmRvd1NlcnZpY2UgfSBmcm9tICdAc3R1ZGlvaHlwZXJkcml2ZS9uZ3gtY29yZSc7XG5pbXBvcnQgeyBOZ3hNb2RhbEFjdGlvblR5cGUgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbi8qKlxuICogQW4gYWJzdHJhY3QgZm9yIHRoZSBOZ3hNb2RhbFNlcnZpY2VcbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgTmd4TW9kYWxBYnN0cmFjdENvbXBvbmVudDxBY3Rpb25UeXBlIGV4dGVuZHMgTmd4TW9kYWxBY3Rpb25UeXBlLCBEYXRhVHlwZSA9IGFueT5cblx0aW1wbGVtZW50cyBBZnRlclZpZXdJbml0XG57XG5cdHByaXZhdGUgcmVhZG9ubHkgd2luZG93U2VydmljZSA9IGluamVjdChOZ3hXaW5kb3dTZXJ2aWNlKTtcblx0cHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmID0gaW5qZWN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PihFbGVtZW50UmVmKTtcblxuXHQvKipcblx0ICogUmVtb3ZlIHRoZSBtb2RhbCBvbiBlc2NhcGUgcHJlc3NlZFxuXHQgKi9cblx0QEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bi5lc2NhcGUnKSBwcml2YXRlIG9uRXNjYXBlKCkge1xuXHRcdHRoaXMuY2xvc2UuZW1pdCgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEFuIG9wdGlvbmFsIGFyaWEtbGFiZWxsZWRieSBwcm9wZXJ0eVxuXHQgKi9cblx0QElucHV0KCkgcHVibGljIGFyaWFMYWJlbGxlZEJ5OiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqIEFuIG9wdGlvbmFsIGFyaWEtZGVzY3JpYmVkQnkgcHJvcGVydHlcblx0ICovXG5cdEBJbnB1dCgpIHB1YmxpYyBhcmlhRGVzY3JpYmVkQnk6IHN0cmluZztcblxuXHQvKipcblx0ICogT3B0aW9uYWwgZGF0YSB0aGF0IGNhbiBiZSBwYXNzZWQgdG8gdGhlIG1vZGFsXG5cdCAqL1xuXHRASW5wdXQoKSBwdWJsaWMgZGF0YTogRGF0YVR5cGU7XG5cblx0LyoqXG5cdCAqIEFuIGVtaXR0ZXIgdGhhdCB3aWxsIGVtaXQgYW4gYWN0aW9uIHdlIGNhbiBsYXRlciByZXNwb25kIHRvXG5cdCAqL1xuXHRAT3V0cHV0KCkgcHVibGljIGFjdGlvbjogRXZlbnRFbWl0dGVyPEFjdGlvblR5cGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxBY3Rpb25UeXBlPigpO1xuXG5cdC8qKlxuXHQgKiBBbiBlbWl0dGVyIHRoYXQgd2lsbCBlbWl0IGlmIHRoZSBtb2RhbCBpcyBjbG9zZWRcblx0ICovXG5cdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW5hdGl2ZVxuXHRAT3V0cHV0KCkgcHVibGljIGNsb3NlOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cblx0cHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcblx0XHQvLyBJYmVuOiBJZiB3ZSBhcmUgaW4gdGhlIGJyb3dzZXIsIGNoZWNrIGlmIGVpdGhlciBvZiB0aGUgdHdvIGFjY2Vzc2liaWxpdHkgbGFiZWxzIGFyZSBzZXRcblx0XHRpZiAodGhpcy53aW5kb3dTZXJ2aWNlLmlzQnJvd3NlcigpICYmICh0aGlzLmFyaWFMYWJlbGxlZEJ5IHx8IHRoaXMuYXJpYURlc2NyaWJlZEJ5KSkge1xuXHRcdFx0Ly8gSWJlbjogRmluZCB0aGUgZWxlbWVudCB3aXRoIHRoZSBpZCBhbmQgdGhlIHBhcmVudFxuXHRcdFx0Y29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuYXJpYUxhYmVsbGVkQnkgfHwgdGhpcy5hcmlhRGVzY3JpYmVkQnkpO1xuXHRcdFx0Y29uc3QgcGFyZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cblx0XHRcdC8vIEliZW46IElmIG5vIGNvcnJlc3BvbmRpbmcgZWxlbWVudCB3YXMgZm91bmQgb3IgaWYgaXQgaXNuJ3QgcGFydCBvZiB0aGUgbW9kYWwsIHRocm93IGFuIGVycm9yXG5cdFx0XHRpZiAoIWVsZW1lbnQgfHwgIXBhcmVudC5jb250YWlucyhlbGVtZW50KSkge1xuXHRcdFx0XHRjb25zb2xlLmVycm9yKFxuXHRcdFx0XHRcdGBOZ3hNb2RhbEFic3RyYWN0Q29tcG9uZW50OiBUaGUgJHtcblx0XHRcdFx0XHRcdHRoaXMuYXJpYUxhYmVsbGVkQnkgPyAnXCJhcmlhLWxhYmVsbGVkQnlcIicgOiAnYXJpYS1kZXNjcmliZWRCeSdcblx0XHRcdFx0XHR9IHByb3BlcnR5IHdhcyBwYXNzZWQgdG8gdGhlIG1vZGFsIGJ1dCBubyBlbGVtZW50IHdpdGggc2FpZCBpZCB3YXMgZm91bmQuIEJlY2F1c2Ugb2YgdGhhdCwgdGhlIG5lY2Vzc2FyeSBhY2Nlc3NpYmlsaXR5IGF0dHJpYnV0ZXMgY291bGQgbm90IGJlIHNldC4gUGxlYXNlIGFkZCBhbiBpZCB3aXRoIHRoZSB2YWx1ZSBcIiR7XG5cdFx0XHRcdFx0XHR0aGlzLmFyaWFMYWJlbGxlZEJ5IHx8IHRoaXMuYXJpYURlc2NyaWJlZEJ5XG5cdFx0XHRcdFx0fVwiIHRvIGFuIGVsZW1lbnQgb2YgdGhlIG1vZGFsLmBcblx0XHRcdFx0KTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R1ZGlvaHlwZXJkcml2ZS1uZ3gtaW5mb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2luZm9ybS9zcmMvc3R1ZGlvaHlwZXJkcml2ZS1uZ3gtaW5mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":["uuid","i1.NgxTooltipService"],"mappings":"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"}