UNPKG

theme-lib

Version:

This is a simple example Angular Library published to npm.

214 lines 15.7 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 */ export class NbSpinnerComponent { constructor() { this.size = NbSpinnerComponent.SIZE_MEDIUM; this.status = NbSpinnerComponent.STATUS_ACTIVE; /* * Loading text that is shown near the icon * @type string */ this.message = 'Loading...'; } /* * Spiiner size, available sizes: * xxsmall, xsmall, small, medium, large, xlarge, xxlarge * @param {string} val */ /** * @private * @param {?} val * @return {?} */ set setSize(val) { this.size = val; } /* * Spiiner status (adds specific styles): * active, disabled, primary, info, success, warning, danger * @param {string} val */ /** * @private * @param {?} val * @return {?} */ set setStatus(val) { this.status = val; } /** * @return {?} */ get xxsmall() { return this.size === NbSpinnerComponent.SIZE_XXSMALL; } /** * @return {?} */ get xsmall() { return this.size === NbSpinnerComponent.SIZE_XSMALL; } /** * @return {?} */ get small() { return this.size === NbSpinnerComponent.SIZE_SMALL; } /** * @return {?} */ get medium() { return this.size === NbSpinnerComponent.SIZE_MEDIUM; } /** * @return {?} */ get large() { return this.size === NbSpinnerComponent.SIZE_LARGE; } /** * @return {?} */ get xlarge() { return this.size === NbSpinnerComponent.SIZE_XLARGE; } /** * @return {?} */ get xxlarge() { return this.size === NbSpinnerComponent.SIZE_XXLARGE; } /** * @return {?} */ get active() { return this.status === NbSpinnerComponent.STATUS_ACTIVE; } /** * @return {?} */ get disabled() { return this.status === NbSpinnerComponent.STATUS_DISABLED; } /** * @return {?} */ get primary() { return this.status === NbSpinnerComponent.STATUS_PRIMARY; } /** * @return {?} */ get info() { return this.status === NbSpinnerComponent.STATUS_INFO; } /** * @return {?} */ get success() { return this.status === NbSpinnerComponent.STATUS_SUCCESS; } /** * @return {?} */ get warning() { return this.status === NbSpinnerComponent.STATUS_WARNING; } /** * @return {?} */ get danger() { return this.status === NbSpinnerComponent.STATUS_DANGER; } } 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: ` <span class="spin-circle"></span> <span class="message" *ngIf="message">{{ message }}</span> `, 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',] }] }; 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bpbm5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly90aGVtZS1saWIvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9zcGlubmVyL3NwaW5uZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQU1BLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQWE5RCxNQUFNLE9BQU8sa0JBQWtCO0lBUi9CO1FBMEJFLFNBQUksR0FBVyxrQkFBa0IsQ0FBQyxXQUFXLENBQUM7UUFDOUMsV0FBTSxHQUFXLGtCQUFrQixDQUFDLGFBQWEsQ0FBQzs7Ozs7UUFNekMsWUFBTyxHQUFXLFlBQVksQ0FBQztJQTJGMUMsQ0FBQzs7Ozs7Ozs7Ozs7SUFwRkMsSUFDWSxPQUFPLENBQUMsR0FBVztRQUM3QixJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQztJQUNsQixDQUFDOzs7Ozs7Ozs7OztJQU9ELElBQ1ksU0FBUyxDQUFDLEdBQVc7UUFDL0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUM7SUFDcEIsQ0FBQzs7OztJQUVELElBQ0ksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxrQkFBa0IsQ0FBQyxZQUFZLENBQUM7SUFDdkQsQ0FBQzs7OztJQUVELElBQ0ksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxrQkFBa0IsQ0FBQyxXQUFXLENBQUM7SUFDdEQsQ0FBQzs7OztJQUVELElBQ0ksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxrQkFBa0IsQ0FBQyxVQUFVLENBQUM7SUFDckQsQ0FBQzs7OztJQUVELElBQ0ksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxrQkFBa0IsQ0FBQyxXQUFXLENBQUM7SUFDdEQsQ0FBQzs7OztJQUVELElBQ0ksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFD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QzNDLGlDQUF5Qzs7SUFFekMsa0NBQThDOztJQUM5QyxvQ0FBa0Q7O0lBTWxELHFDQUF3QyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIEBsaWNlbnNlXHJcbiAqIENvcHlyaWdodCBBa3Zlby4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cclxuICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgTGljZW5zZS50eHQgaW4gdGhlIHByb2plY3Qgcm9vdCBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbi5cclxuICovXHJcblxyXG5pbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLypcclxuICogU3R5bGVkIHNwaW5uZXIgY29tcG9uZW50XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ25iLXNwaW5uZXInLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8c3BhbiBjbGFzcz1cInNwaW4tY2lyY2xlXCI+PC9zcGFuPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJtZXNzYWdlXCIgKm5nSWY9XCJtZXNzYWdlXCI+e3sgbWVzc2FnZSB9fTwvc3Bhbj5cclxuICBgLFxyXG4gIHN0eWxlVXJsczogWycuL3NwaW5uZXIuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE5iU3Bpbm5lckNvbXBvbmVudCB7XHJcblxyXG4gIHN0YXRpYyByZWFkb25seSBTSVpFX1hYU01BTEwgPSAneHhzbWFsbCc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IFNJWkVfWFNNQUxMID0gJ3hzbWFsbCc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IFNJWkVfU01BTEwgPSAnc21hbGwnO1xyXG4gIHN0YXRpYyByZWFkb25seSBTSVpFX01FRElVTSA9ICdtZWRpdW0nO1xyXG4gIHN0YXRpYyByZWFkb25seSBTSVpFX0xBUkdFID0gJ2xhcmdlJztcclxuICBzdGF0aWMgcmVhZG9ubHkgU0laRV9YTEFSR0UgPSAneGxhcmdlJztcclxuICBzdGF0aWMgcmVhZG9ubHkgU0laRV9YWExBUkdFID0gJ3h4bGFyZ2UnO1xyXG5cclxuICBzdGF0aWMgcmVhZG9ubHkgU1RBVFVTX0FDVElWRSA9ICdhY3RpdmUnO1xyXG4gIHN0YXRpYyByZWFkb25seSBTVEFUVVNfRElTQUJMRUQgPSAnZGlzYWJsZWQnO1xyXG4gIHN0YXRpYyByZWFkb25seSBTVEFUVVNfUFJJTUFSWSA9ICdwcmltYXJ5JztcclxuICBzdGF0aWMgcmVhZG9ubHkgU1RBVFVTX0lORk8gPSAnaW5mbyc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IFNUQVRVU19TVUNDRVNTID0gJ3N1Y2Nlc3MnO1xyXG4gIHN0YXRpYyByZWFkb25seSBTVEFUVVNfV0FSTklORyA9ICd3YXJuaW5nJztcclxuICBzdGF0aWMgcmVhZG9ubHkgU1RBVFVTX0RBTkdFUiA9ICdkYW5nZXInO1xyXG5cclxuICBzaXplOiBzdHJpbmcgPSBOYlNwaW5uZXJDb21wb25lbnQuU0laRV9NRURJVU07XHJcbiAgc3RhdHVzOiBzdHJpbmcgPSBOYlNwaW5uZXJDb21wb25lbnQuU1RBVFVTX0FDVElWRTtcclxuXHJcbiAgLypcclxuICAgKiBMb2FkaW5nIHRleHQgdGhhdCBpcyBzaG93biBuZWFyIHRoZSBpY29uXHJcbiAgICogQHR5cGUgc3RyaW5nXHJcbiAgICovXHJcbiAgQElucHV0KCkgbWVzc2FnZTogc3RyaW5nID0gJ0xvYWRpbmcuLi4nO1xyXG5cclxuICAvKlxyXG4gICAqIFNwaWluZXIgc2l6ZSwgYXZhaWxhYmxlIHNpemVzOlxyXG4gICAqIHh4c21hbGwsIHhzbWFsbCwgc21hbGwsIG1lZGl1bSwgbGFyZ2UsIHhsYXJnZSwgeHhsYXJnZVxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB2YWxcclxuICAgKi9cclxuICBASW5wdXQoJ3NpemUnKVxyXG4gIHByaXZhdGUgc2V0IHNldFNpemUodmFsOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc2l6ZSA9IHZhbDtcclxuICB9XHJcblxyXG4gIC8qXHJcbiAgICogU3BpaW5lciBzdGF0dXMgKGFkZHMgc3BlY2lmaWMgc3R5bGVzKTpcclxuICAgKiBhY3RpdmUsIGRpc2FibGVkLCBwcmltYXJ5LCBpbmZvLCBzdWNjZXNzLCB3YXJuaW5nLCBkYW5nZXJcclxuICAgKiBAcGFyYW0ge3N0cmluZ30gdmFsXHJcbiAgICovXHJcbiAgQElucHV0KCdzdGF0dXMnKVxyXG4gIHByaXZhdGUgc2V0IHNldFN0YXR1cyh2YWw6IHN0cmluZykge1xyXG4gICAgdGhpcy5zdGF0dXMgPSB2YWw7XHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnh4c21hbGwtc3Bpbm5lcicpXHJcbiAgZ2V0IHh4c21hbGwoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zaXplID09PSBOYlNwaW5uZXJDb21wb25lbnQuU0laRV9YWFNNQUxMO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy54c21hbGwtc3Bpbm5lcicpXHJcbiAgZ2V0IHhzbWFsbCgpIHtcclxuICAgIHJldHVybiB0aGlzLnNpemUgPT09IE5iU3Bpbm5lckNvbXBvbmVudC5TSVpFX1hTTUFMTDtcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3Muc21hbGwtc3Bpbm5lcicpXHJcbiAgZ2V0IHNtYWxsKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2l6ZSA9PT0gTmJTcGlubmVyQ29tcG9uZW50LlNJWkVfU01BTEw7XHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm1lZGl1bS1zcGlubmVyJylcclxuICBnZXQgbWVkaXVtKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2l6ZSA9PT0gTmJTcGlubmVyQ29tcG9uZW50LlNJWkVfTUVESVVNO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5sYXJnZS1zcGlubmVyJylcclxuICBnZXQgbGFyZ2UoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zaXplID09PSBOYlNwaW5uZXJDb21wb25lbnQuU0laRV9MQVJHRTtcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MueGxhcmdlLXNwaW5uZXInKVxyXG4gIGdldCB4bGFyZ2UoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zaXplID09PSBOYlNwaW5uZXJDb21wb25lbnQuU0laRV9YTEFSR0U7XHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnh4bGFyZ2Utc3Bpbm5lcicpXHJcbiAgZ2V0IHh4bGFyZ2UoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zaXplID09PSBOYlNwaW5uZXJDb21wb25lbnQuU0laRV9YWExBUkdFO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5hY3RpdmUtc3Bpbm5lcicpXHJcbiAgZ2V0IGFjdGl2ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXR1cyA9PT0gTmJTcGlubmVyQ29tcG9uZW50LlNUQVRVU19BQ1RJVkU7XHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmRpc2FibGVkLXNwaW5uZXInKVxyXG4gIGdldCBkaXNhYmxlZCgpIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXR1cyA9PT0gTmJTcGlubmVyQ29tcG9uZW50LlNUQVRVU19ESVNBQkxFRDtcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MucHJpbWFyeS1zcGlubmVyJylcclxuICBnZXQgcHJpbWFyeSgpIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXR1cyA9PT0gTmJTcGlubmVyQ29tcG9uZW50LlNUQVRVU19QUklNQVJZO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pbmZvLXNwaW5uZXInKVxyXG4gIGdldCBpbmZvKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RhdHVzID09PSBOYlNwaW5uZXJDb21wb25lbnQuU1RBVFVTX0lORk87XHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnN1Y2Nlc3Mtc3Bpbm5lcicpXHJcbiAgZ2V0IHN1Y2Nlc3MoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdGF0dXMgPT09IE5iU3Bpbm5lckNvbXBvbmVudC5TVEFUVVNfU1VDQ0VTUztcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3Mud2FybmluZy1zcGlubmVyJylcclxuICBnZXQgd2FybmluZygpIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXR1cyA9PT0gTmJTcGlubmVyQ29tcG9uZW50LlNUQVRVU19XQVJOSU5HO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5kYW5nZXItc3Bpbm5lcicpXHJcbiAgZ2V0IGRhbmdlcigpIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXR1cyA9PT0gTmJTcGlubmVyQ29tcG9uZW50LlNUQVRVU19EQU5HRVI7XHJcbiAgfVxyXG59XHJcbiJdfQ==