@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
JavaScript
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