@vindev/particle
Version:
Angular Component Library using Tailwind
31 lines • 3.76 kB
JavaScript
import { Directive, EventEmitter, Output } from '@angular/core';
import { DisableMixin, GhostMixin, IconMixin, SizeMixin, ThemeMixin } from '.';
import * as i0 from "@angular/core";
export const PTCL_BUTTON_HOST = {
'[attr.disabled]': 'disabled || null',
};
export function BaseButtonMixin(Base = class {
}) {
const BaseButtonMixins = SizeMixin(IconMixin(DisableMixin(GhostMixin(ThemeMixin(Base)))));
class BaseButton extends BaseButtonMixins {
constructor() {
super(...arguments);
this.action = new EventEmitter();
}
clicked(event) {
if (event && !this.disabled) {
this.action.emit(event);
// event?.stopPropagation();
}
}
}
BaseButton.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BaseButton, deps: null, target: i0.ɵɵFactoryTarget.Directive });
BaseButton.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: BaseButton, outputs: { action: "action" }, usesInheritance: true, ngImport: i0 });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BaseButton, decorators: [{
type: Directive
}], propDecorators: { action: [{
type: Output
}] } });
return BaseButton;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1idXR0b24ubWl4aW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BhcnRpY2xlLWxpYi9zcmMvbGliL3NoYXJlZC9taXhpbnMvYmFzZS1idXR0b24ubWl4aW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sR0FBRyxDQUFDOztBQUcvRSxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRztJQUM5QixpQkFBaUIsRUFBRSxrQkFBa0I7Q0FDdEMsQ0FBQztBQUVGLE1BQU0sVUFBVSxlQUFlLENBQzdCLE9BQVU7Q0FBZTtJQUV6QixNQUFNLGdCQUFnQixHQUFHLFNBQVMsQ0FDaEMsU0FBUyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUN0RCxDQUFDO0lBRUYsTUFDTSxVQUFXLFNBQVEsZ0JBQWdCO1FBRHpDOztZQUVZLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1NBUXZDO1FBTkMsT0FBTyxDQUFDLEtBQWtCO1lBQ3hCLElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDM0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3hCLDRCQUE0QjthQUM3QjtRQUNILENBQUM7OzJHQVJHLFVBQVU7K0ZBQVYsVUFBVTsrRkFBVixVQUFVO3NCQURmLFNBQVM7a0NBRUUsTUFBTTswQkFBZixNQUFNOztJQVVULE9BQU8sVUFBVSxDQUFDO0NBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFdmVudEVtaXR0ZXIsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEaXNhYmxlTWl4aW4sIEdob3N0TWl4aW4sIEljb25NaXhpbiwgU2l6ZU1peGluLCBUaGVtZU1peGluIH0gZnJvbSAnLic7XHJcbmltcG9ydCB7IENvbnN0cnVjdG9yIH0gZnJvbSAnLi9jb25zdHJ1Y3Rvcic7XHJcblxyXG5leHBvcnQgY29uc3QgUFRDTF9CVVRUT05fSE9TVCA9IHtcclxuICAnW2F0dHIuZGlzYWJsZWRdJzogJ2Rpc2FibGVkIHx8IG51bGwnLFxyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIEJhc2VCdXR0b25NaXhpbjxUIGV4dGVuZHMgQ29uc3RydWN0b3I8e30+PihcclxuICBCYXNlOiBUID0gY2xhc3Mge30gYXMgYW55XHJcbikge1xyXG4gIGNvbnN0IEJhc2VCdXR0b25NaXhpbnMgPSBTaXplTWl4aW4oXHJcbiAgICBJY29uTWl4aW4oRGlzYWJsZU1peGluKEdob3N0TWl4aW4oVGhlbWVNaXhpbihCYXNlKSkpKVxyXG4gICk7XHJcblxyXG4gIEBEaXJlY3RpdmUoKVxyXG4gIGNsYXNzIEJhc2VCdXR0b24gZXh0ZW5kcyBCYXNlQnV0dG9uTWl4aW5zIHtcclxuICAgIEBPdXRwdXQoKSBhY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gICAgY2xpY2tlZChldmVudD86IE1vdXNlRXZlbnQpIHtcclxuICAgICAgaWYgKGV2ZW50ICYmICF0aGlzLmRpc2FibGVkKSB7XHJcbiAgICAgICAgdGhpcy5hY3Rpb24uZW1pdChldmVudCk7XHJcbiAgICAgICAgLy8gZXZlbnQ/LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZXR1cm4gQmFzZUJ1dHRvbjtcclxufVxyXG4iXX0=