UNPKG

theme-lib

Version:

This is a simple example Angular Library published to npm.

287 lines 19.3 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /* * @license * Copyright Akveo. All Rights Reserved. * Licensed under the MIT License. See License.txt in the project root for license information. */ import { Component, HostBinding, Input } from '@angular/core'; /* * Styled spinner component */ var NbSpinnerComponent = /** @class */ (function () { function NbSpinnerComponent() { this.size = NbSpinnerComponent.SIZE_MEDIUM; this.status = NbSpinnerComponent.STATUS_ACTIVE; /* * Loading text that is shown near the icon * @type string */ this.message = 'Loading...'; } Object.defineProperty(NbSpinnerComponent.prototype, "setSize", { /* * Spiiner size, available sizes: * xxsmall, xsmall, small, medium, large, xlarge, xxlarge * @param {string} val */ set: /* * Spiiner size, available sizes: * xxsmall, xsmall, small, medium, large, xlarge, xxlarge * @param {string} val */ /** * @private * @param {?} val * @return {?} */ function (val) { this.size = val; }, enumerable: true, configurable: true }); Object.defineProperty(NbSpinnerComponent.prototype, "setStatus", { /* * Spiiner status (adds specific styles): * active, disabled, primary, info, success, warning, danger * @param {string} val */ set: /* * Spiiner status (adds specific styles): * active, disabled, primary, info, success, warning, danger * @param {string} val */ /** * @private * @param {?} val * @return {?} */ function (val) { this.status = val; }, enumerable: true, configurable: true }); Object.defineProperty(NbSpinnerComponent.prototype, "xxsmall", { get: /** * @return {?} */ function () { return this.size === NbSpinnerComponent.SIZE_XXSMALL; }, enumerable: true, configurable: true }); Object.defineProperty(NbSpinnerComponent.prototype, "xsmall", { get: /** * @return {?} */ function () { return this.size === NbSpinnerComponent.SIZE_XSMALL; }, enumerable: true, configurable: true }); Object.defineProperty(NbSpinnerComponent.prototype, "small", { get: /** * @return {?} */ function () { return this.size === NbSpinnerComponent.SIZE_SMALL; }, enumerable: true, configurable: true }); Object.defineProperty(NbSpinnerComponent.prototype, "medium", { get: /** * @return {?} */ function () { return this.size === NbSpinnerComponent.SIZE_MEDIUM; }, enumerable: true, configurable: true }); Object.defineProperty(NbSpinnerComponent.prototype, "large", { get: /** * @return {?} */ function () { return this.size === NbSpinnerComponent.SIZE_LARGE; }, enumerable: true, configurable: true }); Object.defineProperty(NbSpinnerComponent.prototype, "xlarge", { get: /** * @return {?} */ function () { return this.size === NbSpinnerComponent.SIZE_XLARGE; }, enumerable: true, configurable: true }); Object.defineProperty(NbSpinnerComponent.prototype, "xxlarge", { get: /** * @return {?} */ function () { return this.size === NbSpinnerComponent.SIZE_XXLARGE; }, enumerable: true, configurable: true }); Object.defineProperty(NbSpinnerComponent.prototype, "active", { get: /** * @return {?} */ function () { return this.status === NbSpinnerComponent.STATUS_ACTIVE; }, enumerable: true, configurable: true }); Object.defineProperty(NbSpinnerComponent.prototype, "disabled", { get: /** * @return {?} */ function () { return this.status === NbSpinnerComponent.STATUS_DISABLED; }, enumerable: true, configurable: true }); Object.defineProperty(NbSpinnerComponent.prototype, "primary", { get: /** * @return {?} */ function () { return this.status === NbSpinnerComponent.STATUS_PRIMARY; }, enumerable: true, configurable: true }); Object.defineProperty(NbSpinnerComponent.prototype, "info", { get: /** * @return {?} */ function () { return this.status === NbSpinnerComponent.STATUS_INFO; }, enumerable: true, configurable: true }); Object.defineProperty(NbSpinnerComponent.prototype, "success", { get: /** * @return {?} */ function () { return this.status === NbSpinnerComponent.STATUS_SUCCESS; }, enumerable: true, configurable: true }); Object.defineProperty(NbSpinnerComponent.prototype, "warning", { get: /** * @return {?} */ function () { return this.status === NbSpinnerComponent.STATUS_WARNING; }, enumerable: true, configurable: true }); Object.defineProperty(NbSpinnerComponent.prototype, "danger", { get: /** * @return {?} */ function () { return this.status === NbSpinnerComponent.STATUS_DANGER; }, enumerable: true, configurable: true }); NbSpinnerComponent.SIZE_XXSMALL = 'xxsmall'; NbSpinnerComponent.SIZE_XSMALL = 'xsmall'; NbSpinnerComponent.SIZE_SMALL = 'small'; NbSpinnerComponent.SIZE_MEDIUM = 'medium'; NbSpinnerComponent.SIZE_LARGE = 'large'; NbSpinnerComponent.SIZE_XLARGE = 'xlarge'; NbSpinnerComponent.SIZE_XXLARGE = 'xxlarge'; NbSpinnerComponent.STATUS_ACTIVE = 'active'; NbSpinnerComponent.STATUS_DISABLED = 'disabled'; NbSpinnerComponent.STATUS_PRIMARY = 'primary'; NbSpinnerComponent.STATUS_INFO = 'info'; NbSpinnerComponent.STATUS_SUCCESS = 'success'; NbSpinnerComponent.STATUS_WARNING = 'warning'; NbSpinnerComponent.STATUS_DANGER = 'danger'; NbSpinnerComponent.decorators = [ { type: Component, args: [{ selector: 'nb-spinner', template: "\n <span class=\"spin-circle\"></span>\n <span class=\"message\" *ngIf=\"message\">{{ message }}</span>\n ", styles: [":host{opacity:1;position:absolute;border-radius:inherit;top:0;right:0;left:0;bottom:0;overflow:hidden;z-index:9999;display:flex;justify-content:center;align-items:center;visibility:visible}:host .spin-circle{-webkit-animation:.8s linear infinite spin;animation:.8s linear infinite spin;border-radius:50%;border-style:solid;border-width:.125em;width:1em;height:1em}:host .message{margin-left:.5rem;line-height:1rem;font-size:1rem}"] }] } ]; NbSpinnerComponent.propDecorators = { message: [{ type: Input }], setSize: [{ type: Input, args: ['size',] }], setStatus: [{ type: Input, args: ['status',] }], xxsmall: [{ type: HostBinding, args: ['class.xxsmall-spinner',] }], xsmall: [{ type: HostBinding, args: ['class.xsmall-spinner',] }], small: [{ type: HostBinding, args: ['class.small-spinner',] }], medium: [{ type: HostBinding, args: ['class.medium-spinner',] }], large: [{ type: HostBinding, args: ['class.large-spinner',] }], xlarge: [{ type: HostBinding, args: ['class.xlarge-spinner',] }], xxlarge: [{ type: HostBinding, args: ['class.xxlarge-spinner',] }], active: [{ type: HostBinding, args: ['class.active-spinner',] }], disabled: [{ type: HostBinding, args: ['class.disabled-spinner',] }], primary: [{ type: HostBinding, args: ['class.primary-spinner',] }], info: [{ type: HostBinding, args: ['class.info-spinner',] }], success: [{ type: HostBinding, args: ['class.success-spinner',] }], warning: [{ type: HostBinding, args: ['class.warning-spinner',] }], danger: [{ type: HostBinding, args: ['class.danger-spinner',] }] }; return NbSpinnerComponent; }()); export { NbSpinnerComponent }; if (false) { /** @type {?} */ NbSpinnerComponent.SIZE_XXSMALL; /** @type {?} */ NbSpinnerComponent.SIZE_XSMALL; /** @type {?} */ NbSpinnerComponent.SIZE_SMALL; /** @type {?} */ NbSpinnerComponent.SIZE_MEDIUM; /** @type {?} */ NbSpinnerComponent.SIZE_LARGE; /** @type {?} */ NbSpinnerComponent.SIZE_XLARGE; /** @type {?} */ NbSpinnerComponent.SIZE_XXLARGE; /** @type {?} */ NbSpinnerComponent.STATUS_ACTIVE; /** @type {?} */ NbSpinnerComponent.STATUS_DISABLED; /** @type {?} */ NbSpinnerComponent.STATUS_PRIMARY; /** @type {?} */ NbSpinnerComponent.STATUS_INFO; /** @type {?} */ NbSpinnerComponent.STATUS_SUCCESS; /** @type {?} */ NbSpinnerComponent.STATUS_WARNING; /** @type {?} */ NbSpinnerComponent.STATUS_DANGER; /** @type {?} */ NbSpinnerComponent.prototype.size; /** @type {?} */ NbSpinnerComponent.prototype.status; /** @type {?} */ NbSpinnerComponent.prototype.message; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bpbm5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly90aGVtZS1saWIvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9zcGlubmVyL3NwaW5uZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQU1BLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQUs5RDtJQUFBO1FBMEJFLFNBQUksR0FBVyxrQkFBa0IsQ0FBQyxXQUFXLENBQUM7UUFDOUMsV0FBTSxHQUFXLGtCQUFrQixDQUFDLGFBQWEsQ0FBQzs7Ozs7UUFNekMsWUFBTyxHQUFXLFlBQVksQ0FBQztJQTJGMUMsQ0FBQztJQXBGQyxzQkFDWSx1Q0FBTztRQU5uQjs7OztXQUlHOzs7Ozs7Ozs7OztRQUNILFVBQ29CLEdBQVc7WUFDN0IsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7UUFDbEIsQ0FBQzs7O09BQUE7SUFPRCxzQkFDWSx5Q0FBUztRQU5yQjs7OztXQUlHOzs7Ozs7Ozs7OztRQUNILFVBQ3NCLEdBQVc7WUFDL0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUM7UUFDcEIsQ0FBQzs7O09BQUE7SUFFRCxzQkFDSSx1Q0FBTzs7OztRQURYO1lBRUUsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLGtCQUFrQixDQUFDLFlBQVksQ0FBQztRQUN2RCxDQUFDOzs7T0FBQTtJQUVELHNCQUNJLHNDQUFNOzs7O1FBRFY7WUFFRSxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssa0JBQWtCLENBQUMsV0FBVyxDQUFDO1FBQ3RELENBQUM7OztPQUFBO0lBRUQsc0JBQ0kscUNBQUs7Ozs7UUFEVDtZQUVFLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxrQkFBa0IsQ0FBQyxVQUFVLENBQUM7UUFDckQsQ0FBQzs7O09BQUE7SUFFRCxzQkFDSSxzQ0FBTTs7OztRQURWO1lBRUUsT0FBTyxJ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MEJBS25DLFdBQVcsU0FBQyx1QkFBdUI7eUJBS25DLFdBQVcsU0FBQyxzQkFBc0I7O0lBSXJDLHlCQUFDO0NBQUEsQUE1SEQsSUE0SEM7U0FwSFksa0JBQWtCOzs7SUFFN0IsZ0NBQXlDOztJQUN6QywrQkFBdUM7O0lBQ3ZDLDhCQUFxQzs7SUFDckMsK0JBQXVDOztJQUN2Qyw4QkFBcUM7O0lBQ3JDLCtCQUF1Qzs7SUFDdkMsZ0NBQXlDOztJQUV6QyxpQ0FBeUM7O0lBQ3pDLG1DQUE2Qzs7SUFDN0Msa0NBQTJDOztJQUMzQywrQkFBcUM7O0lBQ3JDLGtDQUEyQzs7SUFDM0Msa0NBQTJDOztJQUMzQyxpQ0FBeUM7O0lBRXpDLGtDQUE4Qzs7SUFDOUMsb0NBQWtEOztJQU1sRCxxQ0FBd0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBAbGljZW5zZVxyXG4gKiBDb3B5cmlnaHQgQWt2ZW8uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXHJcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIExpY2Vuc2UudHh0IGluIHRoZSBwcm9qZWN0IHJvb3QgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24uXHJcbiAqL1xyXG5cclxuaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8qXHJcbiAqIFN0eWxlZCBzcGlubmVyIGNvbXBvbmVudFxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICduYi1zcGlubmVyJyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPHNwYW4gY2xhc3M9XCJzcGluLWNpcmNsZVwiPjwvc3Bhbj5cclxuICAgIDxzcGFuIGNsYXNzPVwibWVzc2FnZVwiICpuZ0lmPVwibWVzc2FnZVwiPnt7IG1lc3NhZ2UgfX08L3NwYW4+XHJcbiAgYCxcclxuICBzdHlsZVVybHM6IFsnLi9zcGlubmVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOYlNwaW5uZXJDb21wb25lbnQge1xyXG5cclxuICBzdGF0aWMgcmVhZG9ubHkgU0laRV9YWFNNQUxMID0gJ3h4c21hbGwnO1xyXG4gIHN0YXRpYyByZWFkb25seSBTSVpFX1hTTUFMTCA9ICd4c21hbGwnO1xyXG4gIHN0YXRpYyByZWFkb25seSBTSVpFX1NNQUxMID0gJ3NtYWxsJztcclxuICBzdGF0aWMgcmVhZG9ubHkgU0laRV9NRURJVU0gPSAnbWVkaXVtJztcclxuICBzdGF0aWMgcmVhZG9ubHkgU0laRV9MQVJHRSA9ICdsYXJnZSc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IFNJWkVfWExBUkdFID0gJ3hsYXJnZSc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IFNJWkVfWFhMQVJHRSA9ICd4eGxhcmdlJztcclxuXHJcbiAgc3RhdGljIHJlYWRvbmx5IFNUQVRVU19BQ1RJVkUgPSAnYWN0aXZlJztcclxuICBzdGF0aWMgcmVhZG9ubHkgU1RBVFVTX0RJU0FCTEVEID0gJ2Rpc2FibGVkJztcclxuICBzdGF0aWMgcmVhZG9ubHkgU1RBVFVTX1BSSU1BUlkgPSAncHJpbWFyeSc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IFNUQVRVU19JTkZPID0gJ2luZm8nO1xyXG4gIHN0YXRpYyByZWFkb25seSBTVEFUVVNfU1VDQ0VTUyA9ICdzdWNjZXNzJztcclxuICBzdGF0aWMgcmVhZG9ubHkgU1RBVFVTX1dBUk5JTkcgPSAnd2FybmluZyc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IFNUQVRVU19EQU5HRVIgPSAnZGFuZ2VyJztcclxuXHJcbiAgc2l6ZTogc3RyaW5nID0gTmJTcGlubmVyQ29tcG9uZW50LlNJWkVfTUVESVVNO1xyXG4gIHN0YXR1czogc3RyaW5nID0gTmJTcGlubmVyQ29tcG9uZW50LlNUQVRVU19BQ1RJVkU7XHJcblxyXG4gIC8qXHJcbiAgICogTG9hZGluZyB0ZXh0IHRoYXQgaXMgc2hvd24gbmVhciB0aGUgaWNvblxyXG4gICAqIEB0eXBlIHN0cmluZ1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG1lc3NhZ2U6IHN0cmluZyA9ICdMb2FkaW5nLi4uJztcclxuXHJcbiAgLypcclxuICAgKiBTcGlpbmVyIHNpemUsIGF2YWlsYWJsZSBzaXplczpcclxuICAgKiB4eHNtYWxsLCB4c21hbGwsIHNtYWxsLCBtZWRpdW0sIGxhcmdlLCB4bGFyZ2UsIHh4bGFyZ2VcclxuICAgKiBAcGFyYW0ge3N0cmluZ30gdmFsXHJcbiAgICovXHJcbiAgQElucHV0KCdzaXplJylcclxuICBwcml2YXRlIHNldCBzZXRTaXplKHZhbDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnNpemUgPSB2YWw7XHJcbiAgfVxyXG5cclxuICAvKlxyXG4gICAqIFNwaWluZXIgc3RhdHVzIChhZGRzIHNwZWNpZmljIHN0eWxlcyk6XHJcbiAgICogYWN0aXZlLCBkaXNhYmxlZCwgcHJpbWFyeSwgaW5mbywgc3VjY2Vzcywgd2FybmluZywgZGFuZ2VyXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IHZhbFxyXG4gICAqL1xyXG4gIEBJbnB1dCgnc3RhdHVzJylcclxuICBwcml2YXRlIHNldCBzZXRTdGF0dXModmFsOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc3RhdHVzID0gdmFsO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy54eHNtYWxsLXNwaW5uZXInKVxyXG4gIGdldCB4eHNtYWxsKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2l6ZSA9PT0gTmJTcGlubmVyQ29tcG9uZW50LlNJWkVfWFhTTUFMTDtcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MueHNtYWxsLXNwaW5uZXInKVxyXG4gIGdldCB4c21hbGwoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zaXplID09PSBOYlNwaW5uZXJDb21wb25lbnQuU0laRV9YU01BTEw7XHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNtYWxsLXNwaW5uZXInKVxyXG4gIGdldCBzbWFsbCgpIHtcclxuICAgIHJldHVybiB0aGlzLnNpemUgPT09IE5iU3Bpbm5lckNvbXBvbmVudC5TSVpFX1NNQUxMO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5tZWRpdW0tc3Bpbm5lcicpXHJcbiAgZ2V0IG1lZGl1bSgpIHtcclxuICAgIHJldHVybiB0aGlzLnNpemUgPT09IE5iU3Bpbm5lckNvbXBvbmVudC5TSVpFX01FRElVTTtcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MubGFyZ2Utc3Bpbm5lcicpXHJcbiAgZ2V0IGxhcmdlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2l6ZSA9PT0gTmJTcGlubmVyQ29tcG9uZW50LlNJWkVfTEFSR0U7XHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnhsYXJnZS1zcGlubmVyJylcclxuICBnZXQgeGxhcmdlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2l6ZSA9PT0gTmJTcGlubmVyQ29tcG9uZW50LlNJWkVfWExBUkdFO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy54eGxhcmdlLXNwaW5uZXInKVxyXG4gIGdldCB4eGxhcmdlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2l6ZSA9PT0gTmJTcGlubmVyQ29tcG9uZW50LlNJWkVfWFhMQVJHRTtcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuYWN0aXZlLXNwaW5uZXInKVxyXG4gIGdldCBhY3RpdmUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdGF0dXMgPT09IE5iU3Bpbm5lckNvbXBvbmVudC5TVEFUVVNfQUNUSVZFO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5kaXNhYmxlZC1zcGlubmVyJylcclxuICBnZXQgZGlzYWJsZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdGF0dXMgPT09IE5iU3Bpbm5lckNvbXBvbmVudC5TVEFUVVNfRElTQUJMRUQ7XHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnByaW1hcnktc3Bpbm5lcicpXHJcbiAgZ2V0IHByaW1hcnkoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdGF0dXMgPT09IE5iU3Bpbm5lckNvbXBvbmVudC5TVEFUVVNfUFJJTUFSWTtcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuaW5mby1zcGlubmVyJylcclxuICBnZXQgaW5mbygpIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXR1cyA9PT0gTmJTcGlubmVyQ29tcG9uZW50LlNUQVRVU19JTkZPO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zdWNjZXNzLXNwaW5uZXInKVxyXG4gIGdldCBzdWNjZXNzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RhdHVzID09PSBOYlNwaW5uZXJDb21wb25lbnQuU1RBVFVTX1NVQ0NFU1M7XHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLndhcm5pbmctc3Bpbm5lcicpXHJcbiAgZ2V0IHdhcm5pbmcoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdGF0dXMgPT09IE5iU3Bpbm5lckNvbXBvbmVudC5TVEFUVVNfV0FSTklORztcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZGFuZ2VyLXNwaW5uZXInKVxyXG4gIGdldCBkYW5nZXIoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdGF0dXMgPT09IE5iU3Bpbm5lckNvbXBvbmVudC5TVEFUVVNfREFOR0VSO1xyXG4gIH1cclxufVxyXG4iXX0=