UNPKG

@clr/angular

Version:

Angular components for Clarity

94 lines 8.76 kB
/* * 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