UNPKG

@kushki/ng-suka

Version:

<p align="center"> <h1 align="center">Suka Components Angular</h1> <p align="center"> An Angular implementation of the Suka Design System </p> </p>

209 lines 14.7 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import * as tslib_1 from "tslib"; import { Injectable, Injector } from '@angular/core'; import { Overlay, OverlayConfig, OverlayPositionBuilder } from '@angular/cdk/overlay'; import { ComponentPortal, PortalInjector } from '@angular/cdk/portal'; import { PopoverRef } from './popover-ref'; import { POPOVER_CONTENT_DATA } from './popover.tokens'; import { PopoverContainer } from './popover-container.component'; /** @type {?} */ var positions = { bottom: { originY: 'bottom', overlayY: 'top', offsetY: 4, }, top: { originY: 'top', overlayY: 'bottom', offsetY: -4, } }; /** @type {?} */ var alignments = { left: { originX: 'start', overlayX: 'start', }, right: { originX: 'end', overlayX: 'end', }, center: { originX: 'center', overlayX: 'center', } }; /** * @record */ export function PopoverConfig() { } if (false) { /** @type {?|undefined} */ PopoverConfig.prototype.content; /** @type {?} */ PopoverConfig.prototype.position; /** @type {?} */ PopoverConfig.prototype.alignment; } /** @type {?} */ var DEFAULT_CONFIG = { content: null, position: 'bottom', alignment: 'left', }; var PopoverService = /** @class */ (function () { function PopoverService(injector, overlay, overlayPositionBuilder) { this.injector = injector; this.overlay = overlay; this.overlayPositionBuilder = overlayPositionBuilder; } /** * @param {?=} config * @param {?=} target * @return {?} */ PopoverService.prototype.open = /** * @param {?=} config * @param {?=} target * @return {?} */ function (config, target) { if (config === void 0) { config = DEFAULT_CONFIG; } // Override default configuration /** @type {?} */ var popoverConfig = tslib_1.__assign({}, DEFAULT_CONFIG, config); // Returns an OverlayRef which is a PortalHost /** @type {?} */ var overlayRef = this.createOverlay(popoverConfig, target); // Instantiate remote control /** @type {?} */ var popoverRef = new PopoverRef(overlayRef); /** @type {?} */ var overlayComponent = this.attachPopoverContainer(overlayRef, popoverConfig, popoverRef); popoverRef.componentInstance = overlayComponent; overlayRef.backdropClick().subscribe((/** * @param {?} _ * @return {?} */ function (_) { return popoverRef.close(); })); return popoverRef; }; /** * @private * @param {?} config * @param {?} target * @return {?} */ PopoverService.prototype.createOverlay = /** * @private * @param {?} config * @param {?} target * @return {?} */ function (config, target) { /** @type {?} */ var overlayConfig = this.getOverlayConfig(config, target); return this.overlay.create(overlayConfig); }; /** * @private * @param {?} overlayRef * @param {?} config * @param {?} popoverRef * @return {?} */ PopoverService.prototype.attachPopoverContainer = /** * @private * @param {?} overlayRef * @param {?} config * @param {?} popoverRef * @return {?} */ function (overlayRef, config, popoverRef) { /** @type {?} */ var injector = this.createInjector(config, popoverRef); /** @type {?} */ var containerPortal = new ComponentPortal(PopoverContainer, null, injector); /** @type {?} */ var containerRef = overlayRef.attach(containerPortal); return containerRef.instance; }; /** * @private * @param {?} config * @param {?} popoverRef * @return {?} */ PopoverService.prototype.createInjector = /** * @private * @param {?} config * @param {?} popoverRef * @return {?} */ function (config, popoverRef) { /** @type {?} */ var injectionTokens = new WeakMap(); injectionTokens.set(PopoverRef, popoverRef); injectionTokens.set(POPOVER_CONTENT_DATA, config.content); return new PortalInjector(this.injector, injectionTokens); }; /** * @private * @param {?} config * @param {?} target * @return {?} */ PopoverService.prototype.getOverlayConfig = /** * @private * @param {?} config * @param {?} target * @return {?} */ function (config, target) { /** @type {?} */ var positionStrategy = this.overlayPositionBuilder .flexibleConnectedTo(target) .withPositions([(/** @type {?} */ (tslib_1.__assign({}, positions[config.position], alignments[config.alignment])))]); /** @type {?} */ var overlayConfig = new OverlayConfig({ hasBackdrop: true, backdropClass: 'cdk-overlay-transparent-backdrop', scrollStrategy: this.overlay.scrollStrategies.reposition(), positionStrategy: positionStrategy }); return overlayConfig; }; PopoverService.decorators = [ { type: Injectable } ]; /** @nocollapse */ PopoverService.ctorParameters = function () { return [ { type: Injector }, { type: Overlay }, { type: OverlayPositionBuilder } ]; }; return PopoverService; }()); export { PopoverService }; if (false) { /** * @type {?} * @private */ PopoverService.prototype.injector; /** * @type {?} * @private */ PopoverService.prototype.overlay; /** * @type {?} * @private */ PopoverService.prototype.overlayPositionBuilder; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGt1c2hraS9uZy1zdWthLyIsInNvdXJjZXMiOlsibGliL3BvcG92ZXIvcG9wb3Zlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQXlDLE1BQU0sZUFBZSxDQUFDO0FBQzVGLE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFjLHNCQUFzQixFQUFxQixNQUFNLHNCQUFzQixDQUFDO0FBQ3JILE9BQU8sRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7SUFLM0QsU0FBUyxHQUFHO0lBQ2hCLE1BQU0sRUFBRTtRQUNOLE9BQU8sRUFBRSxRQUFRO1FBQ2pCLFFBQVEsRUFBRSxLQUFLO1FBQ2YsT0FBTyxFQUFFLENBQUM7S0FDWDtJQUNELEdBQUcsRUFBRTtRQUNILE9BQU8sRUFBRSxLQUFLO1FBQ2QsUUFBUSxFQUFFLFFBQVE7UUFDbEIsT0FBTyxFQUFFLENBQUMsQ0FBQztLQUNaO0NBQ0Y7O0lBRUssVUFBVSxHQUFHO0lBQ2pCLElBQUksRUFBRTtRQUNKLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLFFBQVEsRUFBRSxPQUFPO0tBQ2xCO0lBQ0QsS0FBSyxFQUFFO1FBQ0wsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUsS0FBSztLQUNoQjtJQUNELE1BQU0sRUFBRTtRQUNOLE9BQU8sRUFBRSxRQUFRO1FBQ2pCLFFBQVEsRUFBRSxRQUFRO0tBQ25CO0NBQ0Y7Ozs7QUFFRCxtQ0FJQzs7O0lBSEMsZ0NBQXlCOztJQUN6QixpQ0FBMkI7O0lBQzNCLGtD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QUFDO1FBRUYsT0FBTyxhQUFhLENBQUM7SUFDdkIsQ0FBQzs7Z0JBL0RGLFVBQVU7Ozs7Z0JBbkRVLFFBQVE7Z0JBQ3BCLE9BQU87Z0JBQTZCLHNCQUFzQjs7SUFrSG5FLHFCQUFDO0NBQUEsQUFoRUQsSUFnRUM7U0EvRFksY0FBYzs7Ozs7O0lBRXZCLGtDQUEwQjs7Ozs7SUFDMUIsaUNBQXdCOzs7OztJQUN4QixnREFBc0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciwgQ29tcG9uZW50UmVmLCBUZW1wbGF0ZVJlZiwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheUNvbmZpZywgT3ZlcmxheVJlZiwgT3ZlcmxheVBvc2l0aW9uQnVpbGRlciwgQ29ubmVjdGVkUG9zaXRpb24gfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwsIFBvcnRhbEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5cbmltcG9ydCB7IFBvcG92ZXJSZWYgfSBmcm9tICcuL3BvcG92ZXItcmVmJztcbmltcG9ydCB7IFBPUE9WRVJfQ09OVEVOVF9EQVRBIH0gZnJvbSAnLi9wb3BvdmVyLnRva2Vucyc7XG5pbXBvcnQgeyBQb3BvdmVyQ29udGFpbmVyIH0gZnJvbSAnLi9wb3BvdmVyLWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHNraXAsIGZpbHRlciwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFBvcG92ZXJDb250ZW50IH0gZnJvbSAnLi9wb3BvdmVyLWNvbnRlbnQnO1xuXG5jb25zdCBwb3NpdGlvbnMgPSB7XG4gIGJvdHRvbToge1xuICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgIG92ZXJsYXlZOiAndG9wJyxcbiAgICBvZmZzZXRZOiA0LFxuICB9LFxuICB0b3A6IHtcbiAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICBvdmVybGF5WTogJ2JvdHRvbScsXG4gICAgb2Zmc2V0WTogLTQsXG4gIH1cbn07XG5cbmNvbnN0IGFsaWdubWVudHMgPSB7XG4gIGxlZnQ6IHtcbiAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICB9LFxuICByaWdodDoge1xuICAgIG9yaWdpblg6ICdlbmQnLFxuICAgIG92ZXJsYXlYOiAnZW5kJyxcbiAgfSxcbiAgY2VudGVyOiB7XG4gICAgb3JpZ2luWDogJ2NlbnRlcicsXG4gICAgb3ZlcmxheVg6ICdjZW50ZXInLFxuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9wb3ZlckNvbmZpZyB7XG4gIGNvbnRlbnQ/OiBQb3BvdmVyQ29udGVudDtcbiAgcG9zaXRpb246ICd0b3AnIHwgJ2JvdHRvbSc7XG4gIGFsaWdubWVudDogJ2xlZnQnIHwgJ3JpZ2h0JyB8ICdjZW50ZXInO1xufVxuXG5jb25zdCBERUZBVUxUX0NPTkZJRzogUG9wb3ZlckNvbmZpZyA9IHtcbiAgY29udGVudDogbnVsbCxcbiAgcG9zaXRpb246ICdib3R0b20nLFxuICBhbGlnbm1lbnQ6ICdsZWZ0Jyxcbn07XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBQb3BvdmVyU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSxcbiAgICBwcml2YXRlIG92ZXJsYXlQb3NpdGlvbkJ1aWxkZXI6IE92ZXJsYXlQb3NpdGlvbkJ1aWxkZXIsXG4gICkgeyB9XG5cbiAgb3Blbihjb25maWc6IFBvcG92ZXJDb25maWcgPSBERUZBVUxUX0NPTkZJRywgdGFyZ2V0OiBFbGVtZW50UmVmIHwgSFRNTEVsZW1lbnQpIHtcbiAgICAvLyBPdmVycmlkZSBkZWZhdWx0IGNvbmZpZ3VyYXRpb25cbiAgICBjb25zdCBwb3BvdmVyQ29uZmlnID0geyAuLi5ERUZBVUxUX0NPTkZJRywgLi4uY29uZmlnIH07XG5cbiAgICAvLyBSZXR1cm5zIGFuIE92ZXJsYXlSZWYgd2hpY2ggaXMgYSBQb3J0YWxIb3N0XG4gICAgY29uc3Qgb3ZlcmxheVJlZiA9IHRoaXMuY3JlYXRlT3ZlcmxheShwb3BvdmVyQ29uZmlnLCB0YXJnZXQpO1xuXG4gICAgLy8gSW5zdGFudGlhdGUgcmVtb3RlIGNvbnRyb2xcbiAgICBjb25zdCBwb3BvdmVyUmVmID0gbmV3IFBvcG92ZXJSZWYob3ZlcmxheVJlZik7XG5cbiAgICBjb25zdCBvdmVybGF5Q29tcG9uZW50ID0gdGhpcy5hdHRhY2hQb3BvdmVyQ29udGFpbmVyKG92ZXJsYXlSZWYsIHBvcG92ZXJDb25maWcsIHBvcG92ZXJSZWYpO1xuXG4gICAgcG9wb3ZlclJlZi5jb21wb25lbnRJbnN0YW5jZSA9IG92ZXJsYXlDb21wb25lbnQ7XG5cbiAgICBvdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKS5zdWJzY3JpYmUoXyA9PiBwb3BvdmVyUmVmLmNsb3NlKCkpO1xuXG4gICAgcmV0dXJuIHBvcG92ZXJSZWY7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZU92ZXJsYXkoY29uZmlnOiBQb3BvdmVyQ29uZmlnLCB0YXJnZXQ6IEVsZW1lbnRSZWYgfCBIVE1MRWxlbWVudCkge1xuICAgIGNvbnN0IG92ZXJsYXlDb25maWcgPSB0aGlzLmdldE92ZXJsYXlDb25maWcoY29uZmlnLCB0YXJnZXQpO1xuICAgIHJldHVybiB0aGlzLm92ZXJsYXkuY3JlYXRlKG92ZXJsYXlDb25maWcpO1xuICB9XG5cbiAgcHJpdmF0ZSBhdHRhY2hQb3BvdmVyQ29udGFpbmVyKG92ZXJsYXlSZWY6IE92ZXJsYXlSZWYsIGNvbmZpZzogUG9wb3ZlckNvbmZpZywgcG9wb3ZlclJlZjogUG9wb3ZlclJlZikge1xuICAgIGNvbnN0IGluamVjdG9yID0gdGhpcy5jcmVhdGVJbmplY3Rvcihjb25maWcsIHBvcG92ZXJSZWYpO1xuXG4gICAgY29uc3QgY29udGFpbmVyUG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbChQb3BvdmVyQ29udGFpbmVyLCBudWxsLCBpbmplY3Rvcik7XG4gICAgY29uc3QgY29udGFpbmVyUmVmOiBDb21wb25lbnRSZWY8UG9wb3ZlckNvbnRhaW5lcj4gPSBvdmVybGF5UmVmLmF0dGFjaChjb250YWluZXJQb3J0YWwpO1xuXG4gICAgcmV0dXJuIGNvbnRhaW5lclJlZi5pbnN0YW5jZTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlSW5qZWN0b3IoY29uZmlnOiBQb3BvdmVyQ29uZmlnLCBwb3BvdmVyUmVmOiBQb3BvdmVyUmVmKTogUG9ydGFsSW5qZWN0b3Ige1xuICAgIGNvbnN0IGluamVjdGlvblRva2VucyA9IG5ldyBXZWFrTWFwKCk7XG5cbiAgICBpbmplY3Rpb25Ub2tlbnMuc2V0KFBvcG92ZXJSZWYsIHBvcG92ZXJSZWYpO1xuICAgIGluamVjdGlvblRva2Vucy5zZXQoUE9QT1ZFUl9DT05URU5UX0RBVEEsIGNvbmZpZy5jb250ZW50KTtcblxuICAgIHJldHVybiBuZXcgUG9ydGFsSW5qZWN0b3IodGhpcy5pbmplY3RvciwgaW5qZWN0aW9uVG9rZW5zKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0T3ZlcmxheUNvbmZpZyhjb25maWc6IFBvcG92ZXJDb25maWcsIHRhcmdldDogRWxlbWVudFJlZiB8IEhUTUxFbGVtZW50KTogT3ZlcmxheUNvbmZpZyB7XG4gICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9IHRoaXMub3ZlcmxheVBvc2l0aW9uQnVpbGRlclxuICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8odGFyZ2V0KVxuICAgICAgLndpdGhQb3NpdGlvbnMoW3sgLi4ucG9zaXRpb25zW2NvbmZpZy5wb3NpdGlvbl0sIC4uLmFsaWdubWVudHNbY29uZmlnLmFsaWdubWVudF0gfSBhcyBDb25uZWN0ZWRQb3NpdGlvbl0pO1xuXG4gICAgY29uc3Qgb3ZlcmxheUNvbmZpZyA9IG5ldyBPdmVybGF5Q29uZmlnKHtcbiAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxuICAgICAgYmFja2Ryb3BDbGFzczogJ2Nkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wJyxcbiAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5yZXBvc2l0aW9uKCksXG4gICAgICBwb3NpdGlvblN0cmF0ZWd5XG4gICAgfSk7XG5cbiAgICByZXR1cm4gb3ZlcmxheUNvbmZpZztcbiAgfVxufVxuIl19