{"version":3,"file":"taiga-ui-addon-mobile-components-mobile-dialog.mjs","sources":["../../../projects/addon-mobile/components/mobile-dialog/mobile-dialog.component.ts","../../../projects/addon-mobile/components/mobile-dialog/mobile-dialog.template.html","../../../projects/addon-mobile/components/mobile-dialog/mobile-dialog.options.ts","../../../projects/addon-mobile/components/mobile-dialog/mobile-dialog.service.ts","../../../projects/addon-mobile/components/mobile-dialog/taiga-ui-addon-mobile-components-mobile-dialog.ts"],"sourcesContent":["import {NgForOf, NgIf} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, inject} from '@angular/core';\nimport {TuiRipple} from '@taiga-ui/addon-mobile/directives';\nimport {type TuiPopover} from '@taiga-ui/cdk/services';\nimport {TUI_IS_IOS} from '@taiga-ui/cdk/tokens';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport {\n    injectContext,\n    PolymorpheusOutlet,\n    PolymorpheusTemplate,\n} from '@taiga-ui/polymorpheus';\n\nimport {type TuiMobileDialogOptions} from './mobile-dialog.options';\n\n@Component({\n    standalone: true,\n    selector: 'tui-mobile-dialog',\n    imports: [\n        NgForOf,\n        NgIf,\n        PolymorpheusOutlet,\n        PolymorpheusTemplate,\n        TuiButton,\n        TuiRipple,\n    ],\n    templateUrl: './mobile-dialog.template.html',\n    styleUrls: ['./mobile-dialog.style.less'],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    host: {\n        '[class._ios]': 'isIOS',\n    },\n})\nexport class TuiMobileDialog<I> {\n    protected readonly isIOS = inject(TUI_IS_IOS);\n    protected readonly context =\n        injectContext<TuiPopover<TuiMobileDialogOptions<I>, number>>();\n\n    protected onAction(index: number): void {\n        this.context.completeWith(index);\n    }\n}\n","<h2\n    *ngIf=\"!!context.label\"\n    automation-id=\"tui-mobile-dialog__label\"\n    class=\"t-heading\"\n    [id]=\"context.id\"\n>\n    {{ context.label }}\n</h2>\n<div class=\"t-content\">\n    <ng-container *polymorpheusOutlet=\"context.content as text; context: context\">\n        {{ text }}\n    </ng-container>\n</div>\n<button\n    *ngFor=\"let action of context.actions; let index = index\"\n    appearance=\"flat\"\n    size=\"s\"\n    tuiButton\n    tuiRipple\n    type=\"button\"\n    class=\"t-button\"\n    [class.t-button_column]=\"context.actions.length > 2\"\n    (click)=\"onAction(index)\"\n>\n    {{ action }}\n</button>\n","import {InjectionToken, type Provider} from '@angular/core';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\n\nexport interface TuiMobileDialogOptions<I = undefined> {\n    readonly actions: readonly string[];\n    readonly data: I;\n    readonly label: string;\n}\n\nexport const TUI_MOBILE_DIALOG_DEFAULT_OPTIONS: TuiMobileDialogOptions = {\n    label: '',\n    actions: ['OK'],\n    data: undefined,\n};\n\n/**\n * Default parameters for mobile dialog component\n */\nexport const TUI_MOBILE_DIALOG_OPTIONS = new InjectionToken(\n    ngDevMode ? 'TUI_MOBILE_DIALOG_OPTIONS' : '',\n    {\n        factory: () => TUI_MOBILE_DIALOG_DEFAULT_OPTIONS,\n    },\n);\n\nexport function tuiMobileDialogOptionsProvider(\n    options: Partial<TuiMobileDialogOptions<unknown>>,\n): Provider {\n    return tuiProvideOptions(\n        TUI_MOBILE_DIALOG_OPTIONS,\n        options,\n        TUI_MOBILE_DIALOG_DEFAULT_OPTIONS,\n    );\n}\n","import {inject, Injectable} from '@angular/core';\nimport {type TuiPopoverContext, TuiPopoverService} from '@taiga-ui/cdk/services';\nimport {TUI_DIALOGS} from '@taiga-ui/core/components/dialog';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\nimport {type Observable} from 'rxjs';\n\nimport {TuiMobileDialog} from './mobile-dialog.component';\nimport {\n    TUI_MOBILE_DIALOG_OPTIONS,\n    type TuiMobileDialogOptions,\n} from './mobile-dialog.options';\n\n@Injectable({\n    providedIn: 'root',\n    useFactory: () =>\n        new TuiMobileDialogService(\n            TUI_DIALOGS,\n            TuiMobileDialog,\n            inject(TUI_MOBILE_DIALOG_OPTIONS),\n        ),\n})\nexport class TuiMobileDialogService extends TuiPopoverService<\n    TuiMobileDialogOptions<any>,\n    number\n> {\n    public override open(\n        content: PolymorpheusContent<\n            TuiMobileDialogOptions<any> & TuiPopoverContext<number>\n        >,\n        options: Partial<TuiMobileDialogOptions<any>> = {},\n    ): Observable<number> {\n        return super.open(content, options);\n    }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}