UNPKG

carbon-components-angular

Version:
38 lines 3.19 kB
import { Output, EventEmitter, Input, Directive } from "@angular/core"; import * as i0 from "@angular/core"; /** * Extend `BaseModal` in your custom modal implementations to ensure consistent close behavior. * * `ModalService` depends on the `close` event to correctly clean up the component. */ export class BaseModal { constructor() { /** * Base event emitter to propagate close events */ this.close = new EventEmitter(); /** * Controls the open state of the modal */ this.open = false; } /** * Default method to handle closing the modal */ closeModal() { this.close.emit(); } } BaseModal.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: BaseModal, deps: [], target: i0.ɵɵFactoryTarget.Directive }); BaseModal.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: BaseModal, selector: "[cdsBaseModal], [ibmBaseModal]", inputs: { open: "open" }, outputs: { close: "close" }, ngImport: i0 }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: BaseModal, decorators: [{ type: Directive, args: [{ selector: "[cdsBaseModal], [ibmBaseModal]" }] }], propDecorators: { close: [{ type: Output }], open: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1tb2RhbC5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2RhbC9iYXNlLW1vZGFsLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTixNQUFNLEVBQ04sWUFBWSxFQUNaLEtBQUssRUFDTCxTQUFTLEVBQ1QsTUFBTSxlQUFlLENBQUM7O0FBRXZCOzs7O0dBSUc7QUFJSCxNQUFNLE9BQU8sU0FBUztJQUh0QjtRQUlDOztXQUVHO1FBQ08sVUFBSyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFckM7O1dBRUc7UUFDTSxTQUFJLEdBQUcsS0FBSyxDQUFDO0tBUXRCO0lBTkE7O09BRUc7SUFDSCxVQUFVO1FBQ1QsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNuQixDQUFDOztzR0FoQlcsU0FBUzswRkFBVCxTQUFTOzJGQUFULFNBQVM7a0JBSHJCLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLGdDQUFnQztpQkFDMUM7OEJBS1UsS0FBSztzQkFBZCxNQUFNO2dCQUtFLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG5cdE91dHB1dCxcblx0RXZlbnRFbWl0dGVyLFxuXHRJbnB1dCxcblx0RGlyZWN0aXZlXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbi8qKlxuICogRXh0ZW5kIGBCYXNlTW9kYWxgIGluIHlvdXIgY3VzdG9tIG1vZGFsIGltcGxlbWVudGF0aW9ucyB0byBlbnN1cmUgY29uc2lzdGVudCBjbG9zZSBiZWhhdmlvci5cbiAqXG4gKiBgTW9kYWxTZXJ2aWNlYCBkZXBlbmRzIG9uIHRoZSBgY2xvc2VgIGV2ZW50IHRvIGNvcnJlY3RseSBjbGVhbiB1cCB0aGUgY29tcG9uZW50LlxuICovXG5ARGlyZWN0aXZlKHtcblx0c2VsZWN0b3I6IFwiW2Nkc0Jhc2VNb2RhbF0sIFtpYm1CYXNlTW9kYWxdXCJcbn0pXG5leHBvcnQgY2xhc3MgQmFzZU1vZGFsIHtcblx0LyoqXG5cdCAqIEJhc2UgZXZlbnQgZW1pdHRlciB0byBwcm9wYWdhdGUgY2xvc2UgZXZlbnRzXG5cdCAqL1xuXHRAT3V0cHV0KCkgY2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cblx0LyoqXG5cdCAqIENvbnRyb2xzIHRoZSBvcGVuIHN0YXRlIG9mIHRoZSBtb2RhbFxuXHQgKi9cblx0QElucHV0KCkgb3BlbiA9IGZhbHNlO1xuXG5cdC8qKlxuXHQgKiBEZWZhdWx0IG1ldGhvZCB0byBoYW5kbGUgY2xvc2luZyB0aGUgbW9kYWxcblx0ICovXG5cdGNsb3NlTW9kYWwoKTogdm9pZCB7XG5cdFx0dGhpcy5jbG9zZS5lbWl0KCk7XG5cdH1cbn1cbiJdfQ==