@taiga-ui/addon-mobile
Version:
Extension package for Taiga UI that adds support for mobile specific behaviors such as custom data pickers, dropdowns, etc.
64 lines • 7.16 kB
JavaScript
import { Directive, inject, INJECTOR, Input, TemplateRef, } from '@angular/core';
import { TuiPopupService } from '@taiga-ui/core/directives/popup';
import { PolymorpheusComponent, PolymorpheusTemplate } from '@taiga-ui/polymorpheus';
import { TuiSidebarComponent } from './sidebar.component';
import * as i0 from "@angular/core";
/**
* @deprecated use {@link TuiDrawer} instead
*/
class TuiSidebarDirective extends PolymorpheusTemplate {
constructor() {
super(...arguments);
this.injector = inject(INJECTOR);
this.service = inject(TuiPopupService);
this.component = new PolymorpheusComponent(TuiSidebarComponent, this.injector);
this.sidebarRef = null;
this.direction = 'left';
this.autoWidth = false;
this.content = inject((TemplateRef));
}
set tuiSidebar(open) {
if (open) {
this.show();
}
else {
this.hide();
}
}
ngOnDestroy() {
this.hide();
}
show() {
if (this.sidebarRef !== null) {
return;
}
this.sidebarRef = this.service.add(this.component);
this.sidebarRef.changeDetectorRef.detectChanges();
}
hide() {
if (this.sidebarRef === null) {
return;
}
this.service.remove(this.sidebarRef);
this.sidebarRef = null;
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSidebarDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiSidebarDirective, isStandalone: true, selector: "[tuiSidebar]", inputs: { direction: ["tuiSidebarDirection", "direction"], autoWidth: ["tuiSidebarAutoWidth", "autoWidth"], tuiSidebar: "tuiSidebar" }, usesInheritance: true, ngImport: i0 }); }
}
export { TuiSidebarDirective };
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSidebarDirective, decorators: [{
type: Directive,
args: [{
standalone: true,
selector: '[tuiSidebar]',
}]
}], propDecorators: { direction: [{
type: Input,
args: ['tuiSidebarDirection']
}], autoWidth: [{
type: Input,
args: ['tuiSidebarAutoWidth']
}], tuiSidebar: [{
type: Input
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1tb2JpbGUvZGlyZWN0aXZlcy9zaWRlYmFyL3NpZGViYXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFFBQVEsRUFDUixLQUFLLEVBRUwsV0FBVyxHQUNkLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUVoRSxPQUFPLEVBQUMscUJBQXFCLEVBQUUsb0JBQW9CLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUVuRixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQzs7QUFFeEQ7O0dBRUc7QUFDSCxNQUlhLG1CQUNULFNBQVEsb0JBQXVCO0lBTG5DOztRQVFxQixhQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVCLFlBQU8sR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFbEMsY0FBUyxHQUFHLElBQUkscUJBQXFCLENBQ2xELG1CQUFtQixFQUNuQixJQUFJLENBQUMsUUFBUSxDQUNoQixDQUFDO1FBRU0sZUFBVSxHQUE2QyxJQUFJLENBQUM7UUFHN0QsY0FBUyxHQUEyQixNQUFNLENBQUM7UUFHM0MsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUVULFlBQU8sR0FBRyxNQUFNLENBQUMsQ0FBQSxXQUFjLENBQUEsQ0FBQyxDQUFDO0tBZ0NwRDtJQTlCRyxJQUNXLFVBQVUsQ0FBQyxJQUFhO1FBQy9CLElBQUksSUFBSSxFQUFFO1lBQ04sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ2Y7YUFBTTtZQUNILElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNmO0lBQ0wsQ0FBQztJQUVNLFdBQVc7UUFDZCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVPLElBQUk7UUFDUixJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssSUFBSSxFQUFFO1lBQzFCLE9BQU87U0FDVjtRQUVELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdEQsQ0FBQztJQUVPLElBQUk7UUFDUixJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssSUFBSSxFQUFFO1lBQzFCLE9BQU87U0FDVjtRQUVELElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztJQUMzQixDQUFDOytHQW5EUSxtQkFBbUI7bUdBQW5CLG1CQUFtQjs7U0FBbkIsbUJBQW1COzRGQUFuQixtQkFBbUI7a0JBSi9CLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxjQUFjO2lCQUMzQjs4QkFnQlUsU0FBUztzQkFEZixLQUFLO3VCQUFDLHFCQUFxQjtnQkFJckIsU0FBUztzQkFEZixLQUFLO3VCQUFDLHFCQUFxQjtnQkFNakIsVUFBVTtzQkFEcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgdHlwZSBDb21wb25lbnRSZWYsXG4gICAgRGlyZWN0aXZlLFxuICAgIGluamVjdCxcbiAgICBJTkpFQ1RPUixcbiAgICBJbnB1dCxcbiAgICB0eXBlIE9uRGVzdHJveSxcbiAgICBUZW1wbGF0ZVJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1R1aVBvcHVwU2VydmljZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9wb3B1cCc7XG5pbXBvcnQge3R5cGUgVHVpSG9yaXpvbnRhbERpcmVjdGlvbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb21wb25lbnQsIFBvbHltb3JwaGV1c1RlbXBsYXRlfSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcblxuaW1wb3J0IHtUdWlTaWRlYmFyQ29tcG9uZW50fSBmcm9tICcuL3NpZGViYXIuY29tcG9uZW50JztcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCB1c2Uge0BsaW5rIFR1aURyYXdlcn0gaW5zdGVhZFxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnW3R1aVNpZGViYXJdJyxcbn0pXG5leHBvcnQgY2xhc3MgVHVpU2lkZWJhckRpcmVjdGl2ZTxUID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj4+XG4gICAgZXh0ZW5kcyBQb2x5bW9ycGhldXNUZW1wbGF0ZTxUPlxuICAgIGltcGxlbWVudHMgT25EZXN0cm95XG57XG4gICAgcHJpdmF0ZSByZWFkb25seSBpbmplY3RvciA9IGluamVjdChJTkpFQ1RPUik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzZXJ2aWNlID0gaW5qZWN0KFR1aVBvcHVwU2VydmljZSk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbXBvbmVudCA9IG5ldyBQb2x5bW9ycGhldXNDb21wb25lbnQoXG4gICAgICAgIFR1aVNpZGViYXJDb21wb25lbnQsXG4gICAgICAgIHRoaXMuaW5qZWN0b3IsXG4gICAgKTtcblxuICAgIHByaXZhdGUgc2lkZWJhclJlZjogQ29tcG9uZW50UmVmPFR1aVNpZGViYXJDb21wb25lbnQ+IHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoJ3R1aVNpZGViYXJEaXJlY3Rpb24nKVxuICAgIHB1YmxpYyBkaXJlY3Rpb246IFR1aUhvcml6b250YWxEaXJlY3Rpb24gPSAnbGVmdCc7XG5cbiAgICBASW5wdXQoJ3R1aVNpZGViYXJBdXRvV2lkdGgnKVxuICAgIHB1YmxpYyBhdXRvV2lkdGggPSBmYWxzZTtcblxuICAgIHB1YmxpYyByZWFkb25seSBjb250ZW50ID0gaW5qZWN0KFRlbXBsYXRlUmVmPFQ+KTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCB0dWlTaWRlYmFyKG9wZW46IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKG9wZW4pIHtcbiAgICAgICAgICAgIHRoaXMuc2hvdygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5oaWRlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaGlkZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2hvdygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuc2lkZWJhclJlZiAhPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zaWRlYmFyUmVmID0gdGhpcy5zZXJ2aWNlLmFkZCh0aGlzLmNvbXBvbmVudCk7XG4gICAgICAgIHRoaXMuc2lkZWJhclJlZi5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoaWRlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zaWRlYmFyUmVmID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNlcnZpY2UucmVtb3ZlKHRoaXMuc2lkZWJhclJlZik7XG4gICAgICAgIHRoaXMuc2lkZWJhclJlZiA9IG51bGw7XG4gICAgfVxufVxuIl19