theme-lib
Version:
This is a simple example Angular Library published to npm.
214 lines • 15.7 kB
JavaScript
/**
* @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==