@taiga-ui/addon-mobile
Version:
Extension package for Taiga UI that adds support for mobile specific behaviors such as custom data pickers, dropdowns, etc.
34 lines • 5.31 kB
JavaScript
import { inject, Injectable } from '@angular/core';
import { TuiSheetDialogService, } from '@taiga-ui/addon-mobile/components/sheet-dialog';
import { TUI_IS_MOBILE } from '@taiga-ui/cdk/tokens';
import { tuiIsString } from '@taiga-ui/cdk/utils/miscellaneous';
import { TuiDialogService, } from '@taiga-ui/core/components/dialog';
import * as i0 from "@angular/core";
/**
* Same as `TuiDialogService` but automatically switches to `TuiSheetDialogService` on mobile
*/
class TuiResponsiveDialogService {
constructor() {
this.isMobile = inject(TUI_IS_MOBILE);
this.dialogs = inject(TuiDialogService);
this.sheets = inject(TuiSheetDialogService);
}
open(content, options = {}) {
return this.isMobile
? this.sheets.open(content, options)
: this.dialogs.open(content, {
...options,
label: tuiIsString(options.label) ? options.label : '',
});
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiResponsiveDialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiResponsiveDialogService, providedIn: 'root' }); }
}
export { TuiResponsiveDialogService };
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiResponsiveDialogService, decorators: [{
type: Injectable,
args: [{
providedIn: 'root',
}]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzcG9uc2l2ZS1kaWFsb2cuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLW1vYmlsZS9kaXJlY3RpdmVzL3Jlc3BvbnNpdmUtZGlhbG9nL3Jlc3BvbnNpdmUtZGlhbG9nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUVILHFCQUFxQixHQUN4QixNQUFNLGdEQUFnRCxDQUFDO0FBQ3hELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDOUQsT0FBTyxFQUdILGdCQUFnQixHQUNuQixNQUFNLGtDQUFrQyxDQUFDOztBQVcxQzs7R0FFRztBQUNILE1BR2EsMEJBQTBCO0lBSHZDO1FBSXFCLGFBQVEsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDakMsWUFBTyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ25DLFdBQU0sR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztLQWUzRDtJQWJVLElBQUksQ0FDUCxPQUVDLEVBQ0QsVUFBb0QsRUFBRTtRQUV0RCxPQUFPLElBQUksQ0FBQyxRQUFRO1lBQ2hCLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDO1lBQ3BDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ3ZCLEdBQUcsT0FBTztnQkFDVixLQUFLLEVBQUUsV0FBVyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRTthQUN6RCxDQUFDLENBQUM7SUFDYixDQUFDOytHQWpCUSwwQkFBMEI7bUhBQTFCLDBCQUEwQixjQUZ2QixNQUFNOztTQUVULDBCQUEwQjs0RkFBMUIsMEJBQTBCO2tCQUh0QyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aW5qZWN0LCBJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgdHlwZSBUdWlTaGVldERpYWxvZ09wdGlvbnMsXG4gICAgVHVpU2hlZXREaWFsb2dTZXJ2aWNlLFxufSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tbW9iaWxlL2NvbXBvbmVudHMvc2hlZXQtZGlhbG9nJztcbmltcG9ydCB7VFVJX0lTX01PQklMRX0gZnJvbSAnQHRhaWdhLXVpL2Nkay90b2tlbnMnO1xuaW1wb3J0IHt0dWlJc1N0cmluZ30gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB7XG4gICAgdHlwZSBUdWlEaWFsb2dDb250ZXh0LFxuICAgIHR5cGUgVHVpRGlhbG9nT3B0aW9ucyxcbiAgICBUdWlEaWFsb2dTZXJ2aWNlLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2RpYWxvZyc7XG5pbXBvcnQge3R5cGUgUG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5pbXBvcnQge3R5cGUgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHVpUmVzcG9uc2l2ZURpYWxvZ09wdGlvbnM8SSA9IHVuZGVmaW5lZD5cbiAgICBleHRlbmRzIE9taXQ8VHVpRGlhbG9nT3B0aW9uczxJPiwgJ2xhYmVsJz4sXG4gICAgICAgIFR1aVNoZWV0RGlhbG9nT3B0aW9uczx1bmtub3duPiB7XG4gICAgcmVhZG9ubHkgZGF0YTogSSBleHRlbmRzIHZvaWQgPyB1bmRlZmluZWQgOiBJICYge2J1dHRvbj86IHN0cmluZ307XG4gICAgcmVhZG9ubHkgbGFiZWw6IFBvbHltb3JwaGV1c0NvbnRlbnQ7XG59XG5cbi8qKlxuICogU2FtZSBhcyBgVHVpRGlhbG9nU2VydmljZWAgYnV0IGF1dG9tYXRpY2FsbHkgc3dpdGNoZXMgdG8gYFR1aVNoZWV0RGlhbG9nU2VydmljZWAgb24gbW9iaWxlXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFR1aVJlc3BvbnNpdmVEaWFsb2dTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlzTW9iaWxlID0gaW5qZWN0KFRVSV9JU19NT0JJTEUpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGlhbG9ncyA9IGluamVjdChUdWlEaWFsb2dTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNoZWV0cyA9IGluamVjdChUdWlTaGVldERpYWxvZ1NlcnZpY2UpO1xuXG4gICAgcHVibGljIG9wZW48RyA9IHZvaWQ+KFxuICAgICAgICBjb250ZW50OiBQb2x5bW9ycGhldXNDb250ZW50PFxuICAgICAgICAgICAgVHVpRGlhbG9nQ29udGV4dDxHPiAmIFR1aVJlc3BvbnNpdmVEaWFsb2dPcHRpb25zPGFueT5cbiAgICAgICAgPixcbiAgICAgICAgb3B0aW9uczogUGFydGlhbDxUdWlSZXNwb25zaXZlRGlhbG9nT3B0aW9uczxhbnk+PiA9IHt9LFxuICAgICk6IE9ic2VydmFibGU8Rz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc01vYmlsZVxuICAgICAgICAgICAgPyB0aGlzLnNoZWV0cy5vcGVuKGNvbnRlbnQsIG9wdGlvbnMpXG4gICAgICAgICAgICA6IHRoaXMuZGlhbG9ncy5vcGVuKGNvbnRlbnQsIHtcbiAgICAgICAgICAgICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgICAgICAgICAgICBsYWJlbDogdHVpSXNTdHJpbmcob3B0aW9ucy5sYWJlbCkgPyBvcHRpb25zLmxhYmVsIDogJycsXG4gICAgICAgICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==