design-angular-kit
Version:
Un toolkit Angular conforme alle linee guida di design per i servizi web della PA
80 lines • 8.29 kB
JavaScript
import { ContentChildren, Directive, Host, HostBinding, Input, Optional } from '@angular/core';
import { ItIconComponent } from '../../utils/icon/icon.component';
import { inputToBoolean } from '../../../utils/coercion';
import * as i0 from "@angular/core";
import * as i1 from "../progress-button/progress-button.component";
/**
* Button
* @description Bootstrap italia custom button styles
*/
export class ItButtonDirective {
constructor(progressButtonComponent) {
this.progressButtonComponent = progressButtonComponent;
/**
* The type attribute
* @default button
*/
this.type = 'button';
}
get hostClasses() {
let cssClass = 'btn';
if (this.color) {
cssClass += ` btn-${this.color}`;
}
if (this.size) {
cssClass += ` btn-${this.size}`;
}
if (this.block) {
cssClass += ' btn-block';
}
if (this.disabled) {
cssClass += ' disabled';
}
if (this.icons?.length && !this.progressButtonComponent) {
cssClass += ' btn-icon';
}
if (this.progressButtonComponent) {
cssClass += ' btn-progress';
}
return cssClass;
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItButtonDirective, deps: [{ token: i1.ItProgressButtonComponent, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.0.6", type: ItButtonDirective, isStandalone: true, selector: "[itButton]", inputs: { color: ["itButton", "color"], size: "size", block: "block", disabled: ["disabled", "disabled", inputToBoolean], type: "type" }, host: { properties: { "disabled": "this.disabled", "type": "this.type", "class": "this.hostClasses" } }, queries: [{ propertyName: "icons", predicate: ItIconComponent }], exportAs: ["itButton"], ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItButtonDirective, decorators: [{
type: Directive,
args: [{
standalone: true,
selector: '[itButton]',
exportAs: 'itButton',
}]
}], ctorParameters: () => [{ type: i1.ItProgressButtonComponent, decorators: [{
type: Optional
}, {
type: Host
}] }], propDecorators: { color: [{
type: Input,
args: ['itButton']
}], size: [{
type: Input
}], block: [{
type: Input
}], disabled: [{
type: Input,
args: [{ transform: inputToBoolean }]
}, {
type: HostBinding,
args: ['disabled']
}], type: [{
type: Input
}, {
type: HostBinding,
args: ['type']
}], icons: [{
type: ContentChildren,
args: [ItIconComponent]
}], hostClasses: [{
type: HostBinding,
args: ['class']
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9idXR0b24vYnV0dG9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFFMUcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRWxFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7O0FBRXpEOzs7R0FHRztBQU1ILE1BQU0sT0FBTyxpQkFBaUI7SUF5QzVCLFlBQXdDLHVCQUFrRDtRQUFsRCw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQTJCO1FBZDFGOzs7V0FHRztRQUdILFNBQUksR0FBa0MsUUFBUSxDQUFDO0lBUThDLENBQUM7SUFFOUYsSUFDYyxXQUFXO1FBQ3ZCLElBQUksUUFBUSxHQUFHLEtBQUssQ0FBQztRQUVyQixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNmLFFBQVEsSUFBSSxRQUFRLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNuQyxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDZCxRQUFRLElBQUksUUFBUSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbEMsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2YsUUFBUSxJQUFJLFlBQVksQ0FBQztRQUMzQixDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEIsUUFBUSxJQUFJLFdBQVcsQ0FBQztRQUMxQixDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1lBQ3hELFFBQVEsSUFBSSxXQUFXLENBQUM7UUFDMUIsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7WUFDakMsUUFBUSxJQUFJLGVBQWUsQ0FBQztRQUM5QixDQUFDO1FBRUQsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQzs4R0F4RVUsaUJBQWlCO2tHQUFqQixpQkFBaUIsdUpBdUJSLGNBQWMsMEtBZ0JqQixlQUFlOzsyRkF2Q3JCLGlCQUFpQjtrQkFMN0IsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLFFBQVEsRUFBRSxVQUFVO2lCQUNyQjs7MEJBMENjLFFBQVE7OzBCQUFJLElBQUk7eUNBcENWLEtBQUs7c0JBQXZCLEtBQUs7dUJBQUMsVUFBVTtnQkFNUixJQUFJO3NCQUFaLEtBQUs7Z0JBTUcsS0FBSztzQkFBYixLQUFLO2dCQVFOLFFBQVE7c0JBRlAsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUU7O3NCQUNuQyxXQUFXO3VCQUFDLFVBQVU7Z0JBU3ZCLElBQUk7c0JBRkgsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxNQUFNO2dCQU95QixLQUFLO3NCQUFoRCxlQUFlO3VCQUFDLGVBQWU7Z0JBS2xCLFdBQVc7c0JBRHhCLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRlbnRDaGlsZHJlbiwgRGlyZWN0aXZlLCBIb3N0LCBIb3N0QmluZGluZywgSW5wdXQsIE9wdGlvbmFsLCBRdWVyeUxpc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJ1dHRvbkNvbG9yLCBCdXR0b25TaXplIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9jb3JlJztcbmltcG9ydCB7IEl0SWNvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3V0aWxzL2ljb24vaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSXRQcm9ncmVzc0J1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uL3Byb2dyZXNzLWJ1dHRvbi9wcm9ncmVzcy1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IGlucHV0VG9Cb29sZWFuIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvY29lcmNpb24nO1xuXG4vKipcbiAqIEJ1dHRvblxuICogQGRlc2NyaXB0aW9uIEJvb3RzdHJhcCBpdGFsaWEgY3VzdG9tIGJ1dHRvbiBzdHlsZXNcbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnW2l0QnV0dG9uXScsXG4gIGV4cG9ydEFzOiAnaXRCdXR0b24nLFxufSlcbmV4cG9ydCBjbGFzcyBJdEJ1dHRvbkRpcmVjdGl2ZSB7XG4gIC8qKlxuICAgKiBCdXR0b24gY29sb3JcbiAgICogQGRlZmF1bHQgdW5kZWZpbmVkXG4gICAqL1xuICBASW5wdXQoJ2l0QnV0dG9uJykgY29sb3I6IEJ1dHRvbkNvbG9yIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBCdXR0b24gc2l6ZVxuICAgKiBAZGVmYXVsdCB1bmRlZmluZWRcbiAgICovXG4gIEBJbnB1dCgpIHNpemU6IEJ1dHRvblNpemUgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBidXR0b24gb2NjdXBpZXMgYWxsIHRoZSB3aWR0aCBhdmFpbGFibGUgdG8gaXQuXG4gICAqIEBkZWZhdWx0IHVuZGVmaW5lZFxuICAgKi9cbiAgQElucHV0KCkgYmxvY2s6IEJ1dHRvblNpemUgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIElmIGJ1dHRvbiBpcyBkaXNhYmxlZFxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBpbnB1dFRvQm9vbGVhbiB9KVxuICBASG9zdEJpbmRpbmcoJ2Rpc2FibGVkJylcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgdHlwZSBhdHRyaWJ1dGVcbiAgICogQGRlZmF1bHQgYnV0dG9uXG4gICAqL1xuICBASW5wdXQoKVxuICBASG9zdEJpbmRpbmcoJ3R5cGUnKVxuICB0eXBlOiAnYnV0dG9uJyB8ICdyZXNldCcgfCAnc3VibWl0JyA9ICdidXR0b24nO1xuXG4gIC8qKlxuICAgKiBUaGUgaWNvbiBjaGlsZHJlblxuICAgKiBAZGVmYXVsdCB1bmRlZmluZWRcbiAgICovXG4gIEBDb250ZW50Q2hpbGRyZW4oSXRJY29uQ29tcG9uZW50KSBwcm90ZWN0ZWQgaWNvbnM/OiBRdWVyeUxpc3Q8SXRJY29uQ29tcG9uZW50PjtcblxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBASG9zdCgpIHByaXZhdGUgcHJvZ3Jlc3NCdXR0b25Db21wb25lbnQ6IEl0UHJvZ3Jlc3NCdXR0b25Db21wb25lbnQpIHt9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIHByb3RlY3RlZCBnZXQgaG9zdENsYXNzZXMoKTogc3RyaW5nIHtcbiAgICBsZXQgY3NzQ2xhc3MgPSAnYnRuJztcblxuICAgIGlmICh0aGlzLmNvbG9yKSB7XG4gICAgICBjc3NDbGFzcyArPSBgIGJ0bi0ke3RoaXMuY29sb3J9YDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zaXplKSB7XG4gICAgICBjc3NDbGFzcyArPSBgIGJ0bi0ke3RoaXMuc2l6ZX1gO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmJsb2NrKSB7XG4gICAgICBjc3NDbGFzcyArPSAnIGJ0bi1ibG9jayc7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIGNzc0NsYXNzICs9ICcgZGlzYWJsZWQnO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmljb25zPy5sZW5ndGggJiYgIXRoaXMucHJvZ3Jlc3NCdXR0b25Db21wb25lbnQpIHtcbiAgICAgIGNzc0NsYXNzICs9ICcgYnRuLWljb24nO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnByb2dyZXNzQnV0dG9uQ29tcG9uZW50KSB7XG4gICAgICBjc3NDbGFzcyArPSAnIGJ0bi1wcm9ncmVzcyc7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNzc0NsYXNzO1xuICB9XG59XG4iXX0=