@clr/angular
Version:
Angular components for Clarity
94 lines • 8.76 kB
JavaScript
/*
* Copyright (c) 2016-2023 VMware, Inc. All Rights Reserved.
* This software is released under MIT license.
* The full license information can be found in LICENSE in the root directory of this project.
*/
import { Component, HostBinding, Input } from '@angular/core';
import { isBooleanAttributeSet } from '../../utils/component/is-boolean-attribute-set';
import * as i0 from "@angular/core";
export class ClrSpinner {
/**
* Default class for all spinners. This class is always true
*/
get spinnerClass() {
return true;
}
get inlineClass() {
return this._inline;
}
set clrInline(value) {
this._inline = isBooleanAttributeSet(value);
}
get inverseClass() {
return this._inverse;
}
set clrInverse(value) {
this._inverse = isBooleanAttributeSet(value);
}
get smallClass() {
return this._small;
}
set clrSmall(value) {
this._small = isBooleanAttributeSet(value);
}
/**
* When clrSmall & clrMedium are set both to true.
* The CSS with high priority will be small - so medium size will be ignored.
*
* For this reason if clrSmall is set we won't add clrMedium class.
*
* NOTE: This is dictated by the CSS rules.
* DON'T USE clrSmall & clrMedium to toggle classes. This could change without notice.
*
* Also there is no logical need to have both of them set to TRUE or FALSE.
*/
get mediumClass() {
if (this._small) {
return false;
}
return this._medium;
}
set clrMedium(value) {
this._medium = isBooleanAttributeSet(value);
}
}
ClrSpinner.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrSpinner, deps: [], target: i0.ɵɵFactoryTarget.Component });
ClrSpinner.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClrSpinner, selector: "clr-spinner", inputs: { clrInline: "clrInline", clrInverse: "clrInverse", clrSmall: "clrSmall", clrMedium: "clrMedium" }, host: { properties: { "attr.aria-busy": "true", "class.spinner": "this.spinnerClass", "class.spinner-inline": "this.inlineClass", "class.spinner-inverse": "this.inverseClass", "class.spinner-sm": "this.smallClass", "class.spinner-md": "this.mediumClass" } }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrSpinner, decorators: [{
type: Component,
args: [{
selector: 'clr-spinner',
template: `<ng-content></ng-content>`,
host: {
'[attr.aria-busy]': 'true',
},
}]
}], propDecorators: { spinnerClass: [{
type: HostBinding,
args: ['class.spinner']
}], inlineClass: [{
type: HostBinding,
args: ['class.spinner-inline']
}], clrInline: [{
type: Input,
args: ['clrInline']
}], inverseClass: [{
type: HostBinding,
args: ['class.spinner-inverse']
}], clrInverse: [{
type: Input,
args: ['clrInverse']
}], smallClass: [{
type: HostBinding,
args: ['class.spinner-sm']
}], clrSmall: [{
type: Input,
args: ['clrSmall']
}], mediumClass: [{
type: HostBinding,
args: ['class.spinner-md']
}], clrMedium: [{
type: Input,
args: ['clrMedium']
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bpbm5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL3Byb2dyZXNzL3NwaW5uZXIvc3Bpbm5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDOztBQVN2RixNQUFNLE9BQU8sVUFBVTtJQU1yQjs7T0FFRztJQUNILElBQ0ksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELElBQ0ksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFDSSxTQUFTLENBQUMsS0FBdUI7UUFDbkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsSUFDSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUNJLFVBQVUsQ0FBQyxLQUF1QjtRQUNwQyxJQUFJLENBQUMsUUFBUSxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxJQUNJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVELElBQ0ksUUFBUSxDQUFDLEtBQXVCO1FBQ2xDLElBQUksQ0FBQyxNQUFNLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVEOzs7Ozs7Ozs7O09BVUc7SUFDSCxJQUNJLFdBQVc7UUFDYixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDZixPQUFPLEtBQUssQ0FBQztTQUNkO1FBQ0QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUNJLFNBQVMsQ0FBQyxLQUF1QjtRQUNuQyxJQUFJLENBQUMsT0FBTyxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlDLENBQUM7O3VHQWxFVSxVQUFVOzJGQUFWLFVBQVUsa2FBTFgsMkJBQTJCOzJGQUsxQixVQUFVO2tCQVB0QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxhQUFhO29CQUN2QixRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxJQUFJLEVBQUU7d0JBQ0osa0JBQWtCLEVBQUUsTUFBTTtxQkFDM0I7aUJBQ0Y7OEJBV0ssWUFBWTtzQkFEZixXQUFXO3VCQUFDLGVBQWU7Z0JBTXhCLFdBQVc7c0JBRGQsV0FBVzt1QkFBQyxzQkFBc0I7Z0JBTS9CLFNBQVM7c0JBRFosS0FBSzt1QkFBQyxXQUFXO2dCQU1kLFlBQVk7c0JBRGYsV0FBVzt1QkFBQyx1QkFBdUI7Z0JBTWhDLFVBQVU7c0JBRGIsS0FBSzt1QkFBQyxZQUFZO2dCQU1mLFVBQVU7c0JBRGIsV0FBVzt1QkFBQyxrQkFBa0I7Z0JBTTNCLFFBQVE7c0JBRFgsS0FBSzt1QkFBQyxVQUFVO2dCQWlCYixXQUFXO3NCQURkLFdBQVc7dUJBQUMsa0JBQWtCO2dCQVMzQixTQUFTO3NCQURaLEtBQUs7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMyBWTXdhcmUsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgaXNCb29sZWFuQXR0cmlidXRlU2V0IH0gZnJvbSAnLi4vLi4vdXRpbHMvY29tcG9uZW50L2lzLWJvb2xlYW4tYXR0cmlidXRlLXNldCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Nsci1zcGlubmVyJyxcbiAgdGVtcGxhdGU6IGA8bmctY29udGVudD48L25nLWNvbnRlbnQ+YCxcbiAgaG9zdDoge1xuICAgICdbYXR0ci5hcmlhLWJ1c3ldJzogJ3RydWUnLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBDbHJTcGlubmVyIHtcbiAgcHJpdmF0ZSBfaW5saW5lOiBib29sZWFuO1xuICBwcml2YXRlIF9pbnZlcnNlOiBib29sZWFuO1xuICBwcml2YXRlIF9zbWFsbDogYm9vbGVhbjtcbiAgcHJpdmF0ZSBfbWVkaXVtOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBEZWZhdWx0IGNsYXNzIGZvciBhbGwgc3Bpbm5lcnMuIFRoaXMgY2xhc3MgaXMgYWx3YXlzIHRydWVcbiAgICovXG4gIEBIb3N0QmluZGluZygnY2xhc3Muc3Bpbm5lcicpXG4gIGdldCBzcGlubmVyQ2xhc3MoKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNwaW5uZXItaW5saW5lJylcbiAgZ2V0IGlubGluZUNsYXNzKCkge1xuICAgIHJldHVybiB0aGlzLl9pbmxpbmU7XG4gIH1cblxuICBASW5wdXQoJ2NscklubGluZScpXG4gIHNldCBjbHJJbmxpbmUodmFsdWU6IGJvb2xlYW4gfCBzdHJpbmcpIHtcbiAgICB0aGlzLl9pbmxpbmUgPSBpc0Jvb2xlYW5BdHRyaWJ1dGVTZXQodmFsdWUpO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zcGlubmVyLWludmVyc2UnKVxuICBnZXQgaW52ZXJzZUNsYXNzKCkge1xuICAgIHJldHVybiB0aGlzLl9pbnZlcnNlO1xuICB9XG5cbiAgQElucHV0KCdjbHJJbnZlcnNlJylcbiAgc2V0IGNsckludmVyc2UodmFsdWU6IGJvb2xlYW4gfCBzdHJpbmcpIHtcbiAgICB0aGlzLl9pbnZlcnNlID0gaXNCb29sZWFuQXR0cmlidXRlU2V0KHZhbHVlKTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3Muc3Bpbm5lci1zbScpXG4gIGdldCBzbWFsbENsYXNzKCkge1xuICAgIHJldHVybiB0aGlzLl9zbWFsbDtcbiAgfVxuXG4gIEBJbnB1dCgnY2xyU21hbGwnKVxuICBzZXQgY2xyU21hbGwodmFsdWU6IGJvb2xlYW4gfCBzdHJpbmcpIHtcbiAgICB0aGlzLl9zbWFsbCA9IGlzQm9vbGVhbkF0dHJpYnV0ZVNldCh2YWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogV2hlbiBjbHJTbWFsbCAmIGNsck1lZGl1bSBhcmUgc2V0IGJvdGggdG8gdHJ1ZS5cbiAgICogVGhlIENTUyB3aXRoIGhpZ2ggcHJpb3JpdHkgd2lsbCBiZSBzbWFsbCAtIHNvIG1lZGl1bSBzaXplIHdpbGwgYmUgaWdub3JlZC5cbiAgICpcbiAgICogRm9yIHRoaXMgcmVhc29uIGlmIGNsclNtYWxsIGlzIHNldCB3ZSB3b24ndCBhZGQgY2xyTWVkaXVtIGNsYXNzLlxuICAgKlxuICAgKiBOT1RFOiBUaGlzIGlzIGRpY3RhdGVkIGJ5IHRoZSBDU1MgcnVsZXMuXG4gICAqIERPTidUIFVTRSBjbHJTbWFsbCAmIGNsck1lZGl1bSB0byB0b2dnbGUgY2xhc3Nlcy4gVGhpcyBjb3VsZCBjaGFuZ2Ugd2l0aG91dCBub3RpY2UuXG4gICAqXG4gICAqIEFsc28gdGhlcmUgaXMgbm8gbG9naWNhbCBuZWVkIHRvIGhhdmUgYm90aCBvZiB0aGVtIHNldCB0byBUUlVFIG9yIEZBTFNFLlxuICAgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zcGlubmVyLW1kJylcbiAgZ2V0IG1lZGl1bUNsYXNzKCkge1xuICAgIGlmICh0aGlzLl9zbWFsbCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fbWVkaXVtO1xuICB9XG5cbiAgQElucHV0KCdjbHJNZWRpdW0nKVxuICBzZXQgY2xyTWVkaXVtKHZhbHVlOiBib29sZWFuIHwgc3RyaW5nKSB7XG4gICAgdGhpcy5fbWVkaXVtID0gaXNCb29sZWFuQXR0cmlidXRlU2V0KHZhbHVlKTtcbiAgfVxufVxuIl19