UNPKG

@spartacus/storefront

Version:

Spartacus Storefront is a package that you can include in your application, which allows you to add default storefront features.

35 lines 3.77 kB
import { Injectable } from '@angular/core'; import { PopoverEvent } from './popover.model'; import * as i0 from "@angular/core"; export class PopoverService { /** * For a11y improvements method returns different `FocusConfig` * based on which event popover was triggered. */ getFocusConfig(event, appendToBody) { let config = {}; if (event === PopoverEvent.OPEN_BY_KEYBOARD && appendToBody) { config = { trap: true, block: true, focusOnEscape: false, autofocus: true, }; } return config; } setFocusOnElement(element, focusConfig, appendToBody) { if (focusConfig && appendToBody) { element.nativeElement.focus(); } } } PopoverService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: PopoverService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); PopoverService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: PopoverService, providedIn: 'root' }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: PopoverService, decorators: [{ type: Injectable, args: [{ providedIn: 'root', }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3RvcmVmcm9udGxpYi9zaGFyZWQvY29tcG9uZW50cy9wb3BvdmVyL3BvcG92ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFLL0MsTUFBTSxPQUFPLGNBQWM7SUFDekI7OztPQUdHO0lBQ0gsY0FBYyxDQUFDLEtBQW1CLEVBQUUsWUFBcUI7UUFDdkQsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBRWhCLElBQUksS0FBSyxLQUFLLFlBQVksQ0FBQyxnQkFBZ0IsSUFBSSxZQUFZLEVBQUU7WUFDM0QsTUFBTSxHQUFHO2dCQUNQLElBQUksRUFBRSxJQUFJO2dCQUNWLEtBQUssRUFBRSxJQUFJO2dCQUNYLGFBQWEsRUFBRSxLQUFLO2dCQUNwQixTQUFTLEVBQUUsSUFBSTthQUNoQixDQUFDO1NBQ0g7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsaUJBQWlCLENBQ2YsT0FBbUIsRUFDbkIsV0FBd0IsRUFDeEIsWUFBc0I7UUFFdEIsSUFBSSxXQUFXLElBQUksWUFBWSxFQUFFO1lBQy9CLE9BQU8sQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDL0I7SUFDSCxDQUFDOzsyR0E1QlUsY0FBYzsrR0FBZCxjQUFjLGNBRmIsTUFBTTsyRkFFUCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnRSZWYsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvY3VzQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vbGF5b3V0L2ExMXkva2V5Ym9hcmQtZm9jdXMva2V5Ym9hcmQtZm9jdXMubW9kZWwnO1xuaW1wb3J0IHsgUG9wb3ZlckV2ZW50IH0gZnJvbSAnLi9wb3BvdmVyLm1vZGVsJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFBvcG92ZXJTZXJ2aWNlIHtcbiAgLyoqXG4gICAqIEZvciBhMTF5IGltcHJvdmVtZW50cyBtZXRob2QgcmV0dXJucyBkaWZmZXJlbnQgYEZvY3VzQ29uZmlnYFxuICAgKiBiYXNlZCBvbiB3aGljaCBldmVudCBwb3BvdmVyIHdhcyB0cmlnZ2VyZWQuXG4gICAqL1xuICBnZXRGb2N1c0NvbmZpZyhldmVudDogUG9wb3ZlckV2ZW50LCBhcHBlbmRUb0JvZHk6IGJvb2xlYW4pOiBGb2N1c0NvbmZpZyB7XG4gICAgbGV0IGNvbmZpZyA9IHt9O1xuXG4gICAgaWYgKGV2ZW50ID09PSBQb3BvdmVyRXZlbnQuT1BFTl9CWV9LRVlCT0FSRCAmJiBhcHBlbmRUb0JvZHkpIHtcbiAgICAgIGNvbmZpZyA9IHtcbiAgICAgICAgdHJhcDogdHJ1ZSxcbiAgICAgICAgYmxvY2s6IHRydWUsXG4gICAgICAgIGZvY3VzT25Fc2NhcGU6IGZhbHNlLFxuICAgICAgICBhdXRvZm9jdXM6IHRydWUsXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiBjb25maWc7XG4gIH1cblxuICBzZXRGb2N1c09uRWxlbWVudChcbiAgICBlbGVtZW50OiBFbGVtZW50UmVmLFxuICAgIGZvY3VzQ29uZmlnOiBGb2N1c0NvbmZpZyxcbiAgICBhcHBlbmRUb0JvZHk/OiBib29sZWFuXG4gICkge1xuICAgIGlmIChmb2N1c0NvbmZpZyAmJiBhcHBlbmRUb0JvZHkpIHtcbiAgICAgIGVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cbiAgfVxufVxuIl19