{"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/dialogs/design-dialog/src/dialog.props.ts","../../../../../projects/components/widgets/dialogs/design-dialog/src/dialog.component.ts","../../../../../projects/components/widgets/dialogs/design-dialog/src/dialog.component.html","../../../../../projects/components/widgets/dialogs/design-dialog/src/index.ts"],"sourcesContent":["import { PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n    register(\n        'wm-dialog',\n        new Map(\n            [\n                ['animation', PROP_STRING],\n                ['class', PROP_STRING],\n                ['closable', {value: true, ...PROP_BOOLEAN}],\n                ['iconclass', {value: 'wi wi-file-text', PROP_STRING}],\n                ['iconheight', PROP_STRING],\n                ['iconmargin', PROP_STRING],\n                ['iconurl', PROP_STRING],\n                ['iconwidth', PROP_STRING],\n                ['modal', {value: true, ...PROP_BOOLEAN}],\n                ['name', PROP_STRING],\n                ['showheader', {value: true, ...PROP_BOOLEAN}],\n                ['tabindex', {value: 0, ...PROP_NUMBER}],\n                ['title', {value: 'Information', ...PROP_STRING}],\n                ['headinglevel', {value: 'h4', ...PROP_STRING}],\n                ['eventsource', PROP_ANY]\n            ]\n        )\n    );\n};\n","import {\n    Attribute,\n    Component,\n    ContentChild,\n    Inject,\n    Injector,\n    OnInit,\n    OnDestroy,\n    Optional,\n    Self,\n    TemplateRef,\n    ViewChild\n} from '@angular/core';\n\nimport {toBoolean} from '@wm/core';\nimport { Context, provideAsDialogRef, provideAsWidgetRef } from '@wm/components/base';\nimport { BaseDialog, DialogBodyDirective, DialogHeaderComponent } from '@wm/components/dialogs';\n\nimport { registerProps } from './dialog.props';\nimport { NgTemplateOutlet } from '@angular/common';\n\nconst DIALOG_CLS = 'app-dialog modal-dialog';\n\nconst WIDGET_INFO = {widgetType: 'wm-dialog'};\n\n@Component({\n    standalone: true,\n    imports: [DialogBodyDirective, DialogHeaderComponent, NgTemplateOutlet],\n    selector: 'div[wmDialog]',\n    templateUrl: './dialog.component.html',\n    providers: [\n        provideAsWidgetRef(DialogComponent),\n        provideAsDialogRef(DialogComponent),\n        {provide: Context, useFactory: () => { return {} }, multi: true}\n    ]\n})\nexport class DialogComponent extends BaseDialog implements OnInit, OnDestroy {\n    static initializeProps = registerProps();\n    isDialogComponent: boolean = true;\n\n    @ViewChild('dialogTemplate', { static: true, read: TemplateRef }) dialogTemplate: TemplateRef<any>;\n    @ContentChild('dialogBody', /* TODO: add static flag */ { read: TemplateRef }) dialogBody: TemplateRef<any>;\n    @ContentChild('dialogFooter', /* TODO: add static flag */ { read: TemplateRef }) dialogFooter: 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        @Attribute('sheet') sheet: string | boolean,\n        @Attribute('sheetposition') sheetPosition: string,\n        @Self() @Inject(Context) contexts: Array<any>,\n        @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any\n    ) {\n        if (modal === null || modal === undefined) {\n            modal = true;\n        }\n\n        if (closable === null || closable === undefined) {\n            closable = true;\n        }\n\n        // contexts[0] will refer to the self context provided by this component\n        contexts[0].closeDialog = () => this.close();\n\n        // setting the backdrop to 'static' will not close the dialog on backdrop click\n        const backdrop: boolean | 'static' = toBoolean(modal) ? 'static' : true;\n\n        super(\n            inj,\n            WIDGET_INFO,\n            {\n                class: `${DIALOG_CLS} ${dialogClass || ''}`,\n                backdrop,\n                keyboard: toBoolean(closable) ? true : !toBoolean(modal),\n                ignoreBackdropClick: toBoolean(modal)\n            },\n            explicitContext\n        );\n\n        // adding props to render dialog as sheet\n        this.sheet = sheet;\n        this.sheetPosition = sheetPosition;\n    }\n\n    protected getTemplateRef(): TemplateRef<any> {\n        return this.dialogTemplate;\n    }\n\n    ngOnInit() {\n        super.ngOnInit();\n        this.register(this.viewParent);\n    }\n\n    protected onPropertyChange(key: string, nv: any, ov?: any): void {\n        if(key === 'sheet') {\n            this.sheet = nv;\n        }\n        if(key === 'sheetposition') {\n            this.sheetPosition = nv;\n        }\n        if(key === 'title') {\n            this.nativeElement.setAttribute('title', nv);\n        }\n    }\n\n    ngOnDestroy() {\n        // MEMORY LEAK FIX: Clear ViewChild and ContentChild references\n        this.dialogTemplate = null;\n        this.dialogBody = null;\n        this.dialogFooter = null;\n\n        super.ngOnDestroy();\n    }\n}\n","<ng-template #dialogTemplate>\n  @if (showheader) {\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\"\n    ></div>\n  } @else if (!showheader && title) {\n      <h4 [id]=\"titleId\" class=\"sr-only\">\n          {{ title }}\n      </h4>\n  }\n  <div wmDialogBody>\n    <ng-container *ngTemplateOutlet=\"dialogBody\"></ng-container>\n  </div>\n  <ng-container *ngTemplateOutlet=\"dialogFooter\"></ng-container>\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}