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>

199 lines 12.8 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 } from '@angular/cdk/overlay'; import { ComponentPortal, PortalInjector } from '@angular/cdk/portal'; import { ToastRef } from './toast-ref'; import { ToastContainer } from './toast-container.component'; import { TOAST_CONFIG_DATA } from './toast.tokens'; /** * @record */ export function ToastContent() { } if (false) { /** @type {?} */ ToastContent.prototype.type; /** @type {?|undefined} */ ToastContent.prototype.body; } /** * @record */ export function ToastConfig() { } if (false) { /** @type {?|undefined} */ ToastConfig.prototype.content; /** @type {?|undefined} */ ToastConfig.prototype.position; /** @type {?|undefined} */ ToastConfig.prototype.animation; } /** @type {?} */ var DEFAULT_CONFIG = { position: { top: 20, }, animation: { fadeOut: 2500, fadeIn: 150, }, content: null, }; var ToastService = /** @class */ (function () { function ToastService(injector, overlay) { this.injector = injector; this.overlay = overlay; } /** * @param {?=} config * @return {?} */ ToastService.prototype.show = /** * @param {?=} config * @return {?} */ function (config) { if (config === void 0) { config = {}; } // Override default configuration /** @type {?} */ var dialogConfig = tslib_1.__assign({}, DEFAULT_CONFIG, config); // Returns an OverlayRef which is a PortalHost /** @type {?} */ var overlayRef = this.createOverlay(dialogConfig); // Instantiate remote control /** @type {?} */ var toastRef = new ToastRef(overlayRef); this.lastToast = toastRef; /** @type {?} */ var overlayComponent = this.attachToastContainer(overlayRef, dialogConfig, toastRef); toastRef.componentInstance = overlayComponent; return toastRef; }; /** * @private * @param {?} config * @return {?} */ ToastService.prototype.createOverlay = /** * @private * @param {?} config * @return {?} */ function (config) { /** @type {?} */ var overlayConfig = this.getOverlayConfig(config); return this.overlay.create(overlayConfig); }; /** * @private * @param {?} overlayRef * @param {?} config * @param {?} toastRef * @return {?} */ ToastService.prototype.attachToastContainer = /** * @private * @param {?} overlayRef * @param {?} config * @param {?} toastRef * @return {?} */ function (overlayRef, config, toastRef) { /** @type {?} */ var injector = this.createInjector(config, toastRef); /** @type {?} */ var containerPortal = new ComponentPortal(ToastContainer, null, injector); /** @type {?} */ var containerRef = overlayRef.attach(containerPortal); return containerRef.instance; }; /** * @private * @param {?} config * @param {?} toastRef * @return {?} */ ToastService.prototype.createInjector = /** * @private * @param {?} config * @param {?} toastRef * @return {?} */ function (config, toastRef) { /** @type {?} */ var injectionTokens = new WeakMap(); injectionTokens.set(ToastRef, toastRef); injectionTokens.set(TOAST_CONFIG_DATA, config); return new PortalInjector(this.injector, injectionTokens); }; /** * @private * @param {?} config * @return {?} */ ToastService.prototype.getOverlayConfig = /** * @private * @param {?} config * @return {?} */ function (config) { /** @type {?} */ var positionStrategy = this.overlay.position() .global() .centerHorizontally() .top(this.getPosition(config)); /** @type {?} */ var overlayConfig = new OverlayConfig({ positionStrategy: positionStrategy }); return overlayConfig; }; /** * @param {?} config * @return {?} */ ToastService.prototype.getPosition = /** * @param {?} config * @return {?} */ function (config) { /** @type {?} */ var lastToastIsVisible = this.lastToast && this.lastToast.isVisible(); /** @type {?} */ var position = lastToastIsVisible ? this.lastToast.getPosition().bottom : config.position.top; return position + 'px'; }; ToastService.decorators = [ { type: Injectable } ]; /** @nocollapse */ ToastService.ctorParameters = function () { return [ { type: Injector }, { type: Overlay } ]; }; return ToastService; }()); export { ToastService }; if (false) { /** * @type {?} * @private */ ToastService.prototype.lastToast; /** * @type {?} * @private */ ToastService.prototype.injector; /** * @type {?} * @private */ ToastService.prototype.overlay; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BrdXNoa2kvbmctc3VrYS8iLCJzb3VyY2VzIjpbImxpYi90b2FzdC90b2FzdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQTZCLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFDMUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUluRCxrQ0FHQzs7O0lBRkMsNEJBQWdCOztJQUNoQiw0QkFBaUM7Ozs7O0FBR25DLGlDQVNDOzs7SUFSQyw4QkFBdUI7O0lBQ3ZCLCtCQUVFOztJQUNGLGdDQUdFOzs7SUFHRSxjQUFjLEdBQWdCO0lBQ2xDLFFBQVEsRUFBRTtRQUNSLEdBQUcsRUFBRSxFQUFFO0tBQ1I7SUFDRCxTQUFTLEVBQUU7UUFDVCxPQUFPLEVBQUUsSUFBSTtRQUNiLE1BQU0sRUFBRSxHQUFHO0tBQ1o7SUFDRCxPQUFPLEVBQUUsSUFBSTtDQUNkO0FBRUQ7SUFJRSxzQkFDVSxRQUFrQixFQUNsQixPQUFnQjtRQURoQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLFlBQU8sR0FBUCxPQUFPLENBQVM7SUFDdEIsQ0FBQzs7Ozs7SUFFTCwyQkFBSTs7OztJQUFKLFVBQUssTUFBd0I7UUFBeEIsdUJBQUEsRUFBQSxXQUF3Qjs7O1lBRXJCLFlBQVksd0JBQVEsY0FBYyxFQUFLLE1BQU0sQ0FBRTs7O1lBRy9DLFVBQVUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQzs7O1lBRzdDLFFBQVEsR0FBRyxJQUFJLFFBQVEsQ0FBQyxVQUFVLENBQUM7UUFFekMsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7O1lBRXBCLGdCQUFnQixHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLEVBQUUsWUFBWSxFQUFFLFFBQVEsQ0FBQztRQUV0RixRQUFRLENBQUMsaUJBQWlCLEdBQUcsZ0JBQWdCLENBQUM7UUFFOUMsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQzs7Ozs7O0lBRU8sb0NBQWE7Ozs7O0lBQXJCLFVBQXNCLE1BQW1COztZQUNqQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQztRQUNuRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzVDLENBQUM7Ozs7Ozs7O0lBRU8sMkNBQW9COzs7Ozs7O0lBQTVCLFVBQTZCLFVBQXNCLEVBQUUsTUFBbUIsRUFBRSxRQUFrQjs7WUFDcEYsUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQzs7WUFFaEQsZUFBZSxHQUFHLElBQUksZUFBZSxDQUFDLGNBQWMsRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDOztZQUNyRSxZQUFZLEdBQWlDLFVBQVUsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDO1FBRXJGLE9BQU8sWUFBWSxDQUFDLFFBQVEsQ0FBQztJQUMvQixDQUFDOzs7Ozs7O0lBRU8scUNBQWM7Ozs7OztJQUF0QixVQUF1QixNQUFtQixFQUFFLFFBQWtCOztZQUN0RCxlQUFlLEdBQUcsSUFBSSxPQUFPLEVBQUU7UUFFckMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDeEMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUUvQyxPQUFPLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDNUQsQ0FBQzs7Ozs7O0lBRU8sdUNBQWdCOzs7OztJQUF4QixVQUF5QixNQUFtQjs7WUFDcEMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUU7YUFDN0MsTUFBTSxFQUFFO2FBQ1Isa0JBQWtCLEVBQUU7YUFDcEIsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7O1lBRTFCLGFBQWEsR0FBRyxJQUFJLGFBQWEsQ0FBQztZQUN0QyxnQkFBZ0Isa0JBQUE7U0FDakIsQ0FBQztRQUVGLE9BQU8sYUFBYSxDQUFDO0lBQ3ZCLENBQUM7Ozs7O0lBRUQsa0NBQVc7Ozs7SUFBWCxVQUFZLE1BQW1COztZQUN2QixrQkFBa0IsR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFOztZQUNqRSxRQUFRLEdBQUcsa0JBQWtCO1lBQ2pDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLE1BQU07WUFDckMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRztRQUV2QixPQUFPLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDekIsQ0FBQzs7Z0JBdkVGLFVBQVU7Ozs7Z0JBckNVLFFBQVE7Z0JBQ3BCLE9BQU87O0lBNkdoQixtQkFBQztDQUFBLEFBekVELElBeUVDO1NBeEVZLFlBQVk7Ozs7OztJQUN2QixpQ0FBNEI7Ozs7O0lBRzFCLGdDQUEwQjs7Ozs7SUFDMUIsK0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIENvbXBvbmVudFJlZiwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlDb25maWcsIE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwsIFBvcnRhbEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5cbmltcG9ydCB7IFRvYXN0UmVmIH0gZnJvbSAnLi90b2FzdC1yZWYnO1xuaW1wb3J0IHsgVG9hc3RDb250YWluZXIgfSBmcm9tICcuL3RvYXN0LWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVE9BU1RfQ09ORklHX0RBVEEgfSBmcm9tICcuL3RvYXN0LnRva2Vucyc7XG5cbmV4cG9ydCB0eXBlIFRvYXN0VHlwZSA9ICdpbmZvJyB8ICdzdWNjZXNzJyB8ICdhdHRlbnRpb24nIHwgJ2FsZXJ0JztcblxuZXhwb3J0IGludGVyZmFjZSBUb2FzdENvbnRlbnQge1xuICB0eXBlOiBUb2FzdFR5cGU7XG4gIGJvZHk/OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRvYXN0Q29uZmlnIHtcbiAgY29udGVudD86IFRvYXN0Q29udGVudDtcbiAgcG9zaXRpb24/OiB7XG4gICAgdG9wOiBudW1iZXI7XG4gIH07XG4gIGFuaW1hdGlvbj86IHtcbiAgICBmYWRlT3V0OiBudW1iZXI7XG4gICAgZmFkZUluOiBudW1iZXI7XG4gIH07XG59XG5cbmNvbnN0IERFRkFVTFRfQ09ORklHOiBUb2FzdENvbmZpZyA9IHtcbiAgcG9zaXRpb246IHtcbiAgICB0b3A6IDIwLFxuICB9LFxuICBhbmltYXRpb246IHtcbiAgICBmYWRlT3V0OiAyNTAwLFxuICAgIGZhZGVJbjogMTUwLFxuICB9LFxuICBjb250ZW50OiBudWxsLFxufTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFRvYXN0U2VydmljZSB7XG4gIHByaXZhdGUgbGFzdFRvYXN0OiBUb2FzdFJlZjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXlcbiAgKSB7IH1cblxuICBzaG93KGNvbmZpZzogVG9hc3RDb25maWcgPSB7fSkge1xuICAgIC8vIE92ZXJyaWRlIGRlZmF1bHQgY29uZmlndXJhdGlvblxuICAgIGNvbnN0IGRpYWxvZ0NvbmZpZyA9IHsgLi4uREVGQVVMVF9DT05GSUcsIC4uLmNvbmZpZyB9O1xuXG4gICAgLy8gUmV0dXJucyBhbiBPdmVybGF5UmVmIHdoaWNoIGlzIGEgUG9ydGFsSG9zdFxuICAgIGNvbnN0IG92ZXJsYXlSZWYgPSB0aGlzLmNyZWF0ZU92ZXJsYXkoZGlhbG9nQ29uZmlnKTtcblxuICAgIC8vIEluc3RhbnRpYXRlIHJlbW90ZSBjb250cm9sXG4gICAgY29uc3QgdG9hc3RSZWYgPSBuZXcgVG9hc3RSZWYob3ZlcmxheVJlZik7XG5cbiAgICB0aGlzLmxhc3RUb2FzdCA9IHRvYXN0UmVmO1xuXG4gICAgY29uc3Qgb3ZlcmxheUNvbXBvbmVudCA9IHRoaXMuYXR0YWNoVG9hc3RDb250YWluZXIob3ZlcmxheVJlZiwgZGlhbG9nQ29uZmlnLCB0b2FzdFJlZik7XG5cbiAgICB0b2FzdFJlZi5jb21wb25lbnRJbnN0YW5jZSA9IG92ZXJsYXlDb21wb25lbnQ7XG5cbiAgICByZXR1cm4gdG9hc3RSZWY7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZU92ZXJsYXkoY29uZmlnOiBUb2FzdENvbmZpZykge1xuICAgIGNvbnN0IG92ZXJsYXlDb25maWcgPSB0aGlzLmdldE92ZXJsYXlDb25maWcoY29uZmlnKTtcbiAgICByZXR1cm4gdGhpcy5vdmVybGF5LmNyZWF0ZShvdmVybGF5Q29uZmlnKTtcbiAgfVxuXG4gIHByaXZhdGUgYXR0YWNoVG9hc3RDb250YWluZXIob3ZlcmxheVJlZjogT3ZlcmxheVJlZiwgY29uZmlnOiBUb2FzdENvbmZpZywgdG9hc3RSZWY6IFRvYXN0UmVmKSB7XG4gICAgY29uc3QgaW5qZWN0b3IgPSB0aGlzLmNyZWF0ZUluamVjdG9yKGNvbmZpZywgdG9hc3RSZWYpO1xuXG4gICAgY29uc3QgY29udGFpbmVyUG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbChUb2FzdENvbnRhaW5lciwgbnVsbCwgaW5qZWN0b3IpO1xuICAgIGNvbnN0IGNvbnRhaW5lclJlZjogQ29tcG9uZW50UmVmPFRvYXN0Q29udGFpbmVyPiA9IG92ZXJsYXlSZWYuYXR0YWNoKGNvbnRhaW5lclBvcnRhbCk7XG5cbiAgICByZXR1cm4gY29udGFpbmVyUmVmLmluc3RhbmNlO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVJbmplY3Rvcihjb25maWc6IFRvYXN0Q29uZmlnLCB0b2FzdFJlZjogVG9hc3RSZWYpOiBQb3J0YWxJbmplY3RvciB7XG4gICAgY29uc3QgaW5qZWN0aW9uVG9rZW5zID0gbmV3IFdlYWtNYXAoKTtcblxuICAgIGluamVjdGlvblRva2Vucy5zZXQoVG9hc3RSZWYsIHRvYXN0UmVmKTtcbiAgICBpbmplY3Rpb25Ub2tlbnMuc2V0KFRPQVNUX0NPTkZJR19EQVRBLCBjb25maWcpO1xuXG4gICAgcmV0dXJuIG5ldyBQb3J0YWxJbmplY3Rvcih0aGlzLmluamVjdG9yLCBpbmplY3Rpb25Ub2tlbnMpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRPdmVybGF5Q29uZmlnKGNvbmZpZzogVG9hc3RDb25maWcpOiBPdmVybGF5Q29uZmlnIHtcbiAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5LnBvc2l0aW9uKClcbiAgICAgIC5nbG9iYWwoKVxuICAgICAgLmNlbnRlckhvcml6b250YWxseSgpXG4gICAgICAudG9wKHRoaXMuZ2V0UG9zaXRpb24oY29uZmlnKSk7XG5cbiAgICBjb25zdCBvdmVybGF5Q29uZmlnID0gbmV3IE92ZXJsYXlDb25maWcoe1xuICAgICAgcG9zaXRpb25TdHJhdGVneVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIG92ZXJsYXlDb25maWc7XG4gIH1cblxuICBnZXRQb3NpdGlvbihjb25maWc6IFRvYXN0Q29uZmlnKSB7XG4gICAgY29uc3QgbGFzdFRvYXN0SXNWaXNpYmxlID0gdGhpcy5sYXN0VG9hc3QgJiYgdGhpcy5sYXN0VG9hc3QuaXNWaXNpYmxlKCk7XG4gICAgY29uc3QgcG9zaXRpb24gPSBsYXN0VG9hc3RJc1Zpc2libGVcbiAgICAgID8gdGhpcy5sYXN0VG9hc3QuZ2V0UG9zaXRpb24oKS5ib3R0b21cbiAgICAgIDogY29uZmlnLnBvc2l0aW9uLnRvcDtcblxuICAgIHJldHVybiBwb3NpdGlvbiArICdweCc7XG4gIH1cblxufVxuIl19