{"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/dialogs/confirm-dialog/src/confirm-dialog.props.ts","../../../../../projects/components/widgets/dialogs/confirm-dialog/src/confirm-dialog.component.ts","../../../../../projects/components/widgets/dialogs/confirm-dialog/src/confirm-dialog.component.html","../../../../../projects/components/widgets/dialogs/confirm-dialog/src/index.ts"],"sourcesContent":["import { PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n    register(\n        'wm-confirmdialog',\n        new Map(\n            [\n                ['animation', PROP_STRING],\n                ['canceltext', {value: 'CANCEL', ...PROP_STRING}],\n                ['class', PROP_STRING],\n                ['closable', {value: true, PROP_BOOLEAN}],\n                ['iconclass', {value: 'wm-sl-l sl-check', PROP_STRING}],\n                ['iconheight', PROP_STRING],\n                ['iconmargin', PROP_STRING],\n                ['iconurl', PROP_STRING],\n                ['iconwidth', PROP_STRING],\n                ['message', {value: 'I am confirm box!', ...PROP_STRING}],\n                ['modal', {value: false, ...PROP_BOOLEAN}],\n                ['name', PROP_STRING],\n                ['oktext', {value: 'OK', ...PROP_STRING}],\n                ['tabindex', {value: 0, ...PROP_NUMBER}],\n                ['headinglevel', {value: 'h4', ...PROP_STRING}],\n                ['title', {value: 'Confirm', ...PROP_STRING}]\n            ]\n        )\n    );\n};\n","import {\n    Attribute,\n    Component,\n    Injector,\n    OnInit,\n    OnDestroy,\n    TemplateRef,\n    ViewChild,\n    HostListener,\n    Optional, \n    Inject\n} from '@angular/core';\n\nimport {toBoolean} from '@wm/core';\nimport { provideAsDialogRef, provideAsWidgetRef } from '@wm/components/base';\nimport { BaseDialog, DialogBodyDirective, DialogFooterDirective, DialogHeaderComponent } from '@wm/components/dialogs';\n\nimport { registerProps } from './confirm-dialog.props';\nimport { ButtonComponent } from \"@wm/components/input/button\";\n\nconst DIALOG_CLS = 'app-dialog modal-dialog app-confirm-dialog';\nconst WIDGET_INFO = {widgetType: 'wm-confirmdialog'};\n\n@Component({\n    standalone: true,\n    imports: [DialogBodyDirective, DialogFooterDirective, DialogHeaderComponent, ButtonComponent],\n    selector: 'div[wmConfirmDialog]',\n    templateUrl: './confirm-dialog.component.html',\n    providers: [\n        provideAsWidgetRef(ConfirmDialogComponent),\n        provideAsDialogRef(ConfirmDialogComponent)\n    ]\n})\nexport class ConfirmDialogComponent extends BaseDialog implements OnInit, OnDestroy {\n    static initializeProps = registerProps();\n    @ViewChild('dialogTemplate', { static: true }) dialogTemplate: TemplateRef<any>;\n\n    constructor(\n        inj: Injector,\n        @Attribute('class') dialogClass: string,\n        @Attribute('modal') modal: string | boolean,\n        @Attribute('closable') closable: string | boolean,\n        @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any\n    ) {\n        if (modal === null || modal === undefined) {\n            modal = false;\n        }\n\n        if (closable === null || closable === undefined) {\n            closable = true;\n        }\n\n        // setting the backdrop to 'static' will not close the dialog on backdrop click\n        const backdrop = 'static';\n\n        super(\n            inj,\n            WIDGET_INFO,\n            {\n                class: `${DIALOG_CLS} ${dialogClass || ''}`,\n                backdrop,\n                keyboard: !toBoolean(modal)\n            },\n            explicitContext\n        );\n    }\n\n    @HostListener('window:keydown.esc', ['$event'])\n    onEscape($event: KeyboardEvent){};\n\n    protected getTemplateRef(): TemplateRef<any> {\n        return this.dialogTemplate;\n    }\n\n    /**\n     * Click event handler for the ok button\n     * invokes on-ok event callback\n     * @param {Event} $event\n     */\n    onOk($event: Event) {\n        this.invokeEventCallback('ok', {$event});\n    }\n\n    /**\n     * Click event handler for the cancel button\n     * invokes on-cancel event callback\n     * @param {Event} $event\n     */\n    onCancel($event: Event) {\n        this.invokeEventCallback('cancel', {$event});\n    }\n\n    ngOnInit() {\n        super.ngOnInit();\n        this.register(this.viewParent);\n    }\n\n    ngOnDestroy() {\n        // MEMORY LEAK FIX: Clear ViewChild reference\n        this.dialogTemplate = null;\n\n        super.ngOnDestroy();\n    }\n}\n","<ng-template #dialogTemplate>\n    <div wmDialogHeader [closable]=\"closable\"\n         [iconclass]=\"iconclass\"\n         [iconurl]=\"iconurl\"\n         [iconwidth]=\"iconwidth\"\n         [iconheight]=\"iconheight\"\n         [iconmargin]=\"iconmargin\"\n         [heading]=\"title\"\n         [headinglevel]=\"headinglevel\"\n         [title]=\"title\"\n         [titleid]=\"titleId\"></div>\n    <div wmDialogBody>\n        <p class=\"app-dialog-message {{messageclass}}\">{{ message }}</p>\n    </div>\n    <div wmDialogFooter>\n        <button (click)=\"onCancel($event)\" [attr.aria-label]=\"canceltext\" caption.bind=\"canceltext\" class=\"btn-default cancel-action\"\n                wmButton></button>\n        <button (click)=\"onOk($event)\" [attr.aria-label]=\"oktext\" caption.bind=\"oktext\" class=\"btn-primary ok-action\"\n                wmButton></button>\n    </div>\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}