UNPKG

@taiga-ui/layout

Version:

A package with Taiga UI layout components

92 lines 12.2 kB
import { Directive, inject } from '@angular/core'; import { toSignal } from '@angular/core/rxjs-interop'; import { RouterLink, RouterLinkActive } from '@angular/router'; import { TuiButton } from '@taiga-ui/core/components/button'; import { tuiAsDataListHost, TuiDataListComponent, } from '@taiga-ui/core/components/data-list'; import { TUI_DROPDOWN_OPTIONS, TuiDropdownDirective, TuiDropdownManual, TuiDropdownPositionSided, } from '@taiga-ui/core/directives/dropdown'; import { TuiIcons } from '@taiga-ui/core/directives/icons'; import { TUI_COMMON_ICONS, TUI_ICON_END } from '@taiga-ui/core/tokens'; import { TUI_CHEVRON, TuiChevron } from '@taiga-ui/kit/directives/chevron'; import { TuiHintAsideDirective } from './hint-aside.directive'; import * as i0 from "@angular/core"; import * as i1 from "./hint-aside.directive"; import * as i2 from "@taiga-ui/core/directives/dropdown"; import * as i3 from "@taiga-ui/core/components/button"; import * as i4 from "@angular/router"; class TuiAsideItemDirective { constructor() { this.icon = inject(TUI_COMMON_ICONS).check; this.icons = inject(TuiIcons); this.link = inject(RouterLink, { self: true, optional: true }); this.active = toSignal(inject(RouterLinkActive).isActiveChange); this.size = 's'; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiAsideItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); } static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiAsideItemDirective, isStandalone: true, selector: "[tuiAsideItem]", host: { attributes: { "tuiButton": "", "tuiOption": "", "tuiAsideItem": "" }, properties: { "class._link": "link", "class._active": "active()", "class._custom": "icon !== icons.iconEnd()" } }, providers: [ tuiAsDataListHost(TuiAsideItemDirective), provideIcon(), provideDropdown(), ], hostDirectives: [{ directive: i1.TuiHintAsideDirective, inputs: ["tuiHintAside", "tuiAsideItem"] }, { directive: i2.TuiDropdownManual }, { directive: i2.TuiDropdownPositionSided }, { directive: i3.TuiButton }, { directive: i4.RouterLinkActive, inputs: ["routerLinkActiveOptions", "routerLinkActiveOptions"] }], ngImport: i0 }); } } export { TuiAsideItemDirective }; i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiAsideItemDirective, decorators: [{ type: Directive, args: [{ standalone: true, selector: '[tuiAsideItem]', providers: [ tuiAsDataListHost(TuiAsideItemDirective), provideIcon(), provideDropdown(), ], hostDirectives: [ { directive: TuiHintAsideDirective, inputs: ['tuiHintAside:tuiAsideItem'], }, TuiDropdownManual, TuiDropdownPositionSided, TuiButton, { directive: RouterLinkActive, inputs: ['routerLinkActiveOptions'], }, ], host: { tuiButton: '', tuiOption: '', tuiAsideItem: '', '[class._link]': 'link', '[class._active]': 'active()', '[class._custom]': 'icon !== icons.iconEnd()', }, }] }] }); function provideIcon() { return { provide: TUI_ICON_END, useFactory: () => { if (inject(TuiChevron, { optional: true, self: true })) { return inject(TUI_CHEVRON); } const { check, more } = inject(TUI_COMMON_ICONS); const active = inject(TuiDataListComponent, { optional: true }) && inject(RouterLink, { self: true, optional: true }) ? check : ''; return inject(TuiDropdownDirective, { self: true, optional: true }) ? more : active; }, }; } function provideDropdown() { return { provide: TUI_DROPDOWN_OPTIONS, useFactory: () => ({ ...inject(TUI_DROPDOWN_OPTIONS, { skipSelf: true }), offset: inject(TuiDataListComponent, { optional: true }) ? 8 : 12, }), }; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNpZGUtaXRlbS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9sYXlvdXQvY29tcG9uZW50cy9uYXZpZ2F0aW9uL2FzaWRlLWl0ZW0uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQXdCLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDcEQsT0FBTyxFQUFDLFVBQVUsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUMzRCxPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLG9CQUFvQixHQUV2QixNQUFNLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sRUFDSCxvQkFBb0IsRUFDcEIsb0JBQW9CLEVBQ3BCLGlCQUFpQixFQUVqQix3QkFBd0IsR0FDM0IsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1QyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDekQsT0FBTyxFQUFDLGdCQUFnQixFQUFFLFlBQVksRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ3JFLE9BQU8sRUFBQyxXQUFXLEVBQUUsVUFBVSxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFFekUsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7Ozs7OztBQUU3RCxNQThCYSxxQkFBcUI7SUE5QmxDO1FBK0J1QixTQUFJLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ3RDLFVBQUssR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDekIsU0FBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLEVBQUUsRUFBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO1FBQ3hELFdBQU0sR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFOUQsU0FBSSxHQUFHLEdBQUcsQ0FBQztLQUM5QjsrR0FQWSxxQkFBcUI7bUdBQXJCLHFCQUFxQiw4UEEzQm5CO1lBQ1AsaUJBQWlCLENBQUMscUJBQXFCLENBQUM7WUFDeEMsV0FBVyxFQUFFO1lBQ2IsZUFBZSxFQUFFO1NBQ3BCOztTQXVCUSxxQkFBcUI7NEZBQXJCLHFCQUFxQjtrQkE5QmpDLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFNBQVMsRUFBRTt3QkFDUCxpQkFBaUIsdUJBQXVCO3dCQUN4QyxXQUFXLEVBQUU7d0JBQ2IsZUFBZSxFQUFFO3FCQUNwQjtvQkFDRCxjQUFjLEVBQUU7d0JBQ1o7NEJBQ0ksU0FBUyxFQUFFLHFCQUFxQjs0QkFDaEMsTUFBTSxFQUFFLENBQUMsMkJBQTJCLENBQUM7eUJBQ3hDO3dCQUNELGlCQUFpQjt3QkFDakIsd0JBQXdCO3dCQUN4QixTQUFTO3dCQUNUOzRCQUNJLFNBQVMsRUFBRSxnQkFBZ0I7NEJBQzNCLE1BQU0sRUFBRSxDQUFDLHlCQUF5QixDQUFDO3lCQUN0QztxQkFDSjtvQkFDRCxJQUFJLEVBQUU7d0JBQ0YsU0FBUyxFQUFFLEVBQUU7d0JBQ2IsU0FBUyxFQUFFLEVBQUU7d0JBQ2IsWUFBWSxFQUFFLEVBQUU7d0JBQ2hCLGVBQWUsRUFBRSxNQUFNO3dCQUN2QixpQkFBaUIsRUFBRSxVQUFVO3dCQUM3QixpQkFBaUIsRUFBRSwwQkFBMEI7cUJBQ2hEO2lCQUNKOztBQVVELFNBQVMsV0FBVztJQUNoQixPQUFPO1FBQ0gsT0FBTyxFQUFFLFlBQVk7UUFDckIsVUFBVSxFQUFFLEdBQVcsRUFBRTtZQUNyQixJQUFJLE1BQU0sQ0FBQyxVQUFVLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUMsQ0FBQyxFQUFFO2dCQUNsRCxPQUFPLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUM5QjtZQUVELE1BQU0sRUFBQyxLQUFLLEVBQUUsSUFBSSxFQUFDLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFDL0MsTUFBTSxNQUFNLEdBQ1IsTUFBTSxDQUFDLG9CQUFvQixFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDO2dCQUM5QyxNQUFNLENBQUMsVUFBVSxFQUFFLEVBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUM7Z0JBQzVDLENBQUMsQ0FBQyxLQUFLO2dCQUNQLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFFYixPQUFPLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRSxFQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDO2dCQUM3RCxDQUFDLENBQUMsSUFBSTtnQkFDTixDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ2pCLENBQUM7S0FDSixDQUFDO0FBQ04sQ0FBQztBQUVELFNBQVMsZUFBZTtJQUNwQixPQUFPO1FBQ0gsT0FBTyxFQUFFLG9CQUFvQjtRQUM3QixVQUFVLEVBQUUsR0FBdUIsRUFBRSxDQUFDLENBQUM7WUFDbkMsR0FBRyxNQUFNLENBQUMsb0JBQW9CLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUM7WUFDakQsTUFBTSxFQUFFLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRSxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7U0FDbEUsQ0FBQztLQUNMLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIHR5cGUgRmFjdG9yeVByb3ZpZGVyLCBpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0b1NpZ25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtSb3V0ZXJMaW5rLCBSb3V0ZXJMaW5rQWN0aXZlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtUdWlCdXR0b259IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7XG4gICAgdHVpQXNEYXRhTGlzdEhvc3QsXG4gICAgVHVpRGF0YUxpc3RDb21wb25lbnQsXG4gICAgdHlwZSBUdWlEYXRhTGlzdEhvc3QsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvZGF0YS1saXN0JztcbmltcG9ydCB7XG4gICAgVFVJX0RST1BET1dOX09QVElPTlMsXG4gICAgVHVpRHJvcGRvd25EaXJlY3RpdmUsXG4gICAgVHVpRHJvcGRvd25NYW51YWwsXG4gICAgdHlwZSBUdWlEcm9wZG93bk9wdGlvbnMsXG4gICAgVHVpRHJvcGRvd25Qb3NpdGlvblNpZGVkLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duJztcbmltcG9ydCB7VHVpSWNvbnN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvaWNvbnMnO1xuaW1wb3J0IHtUVUlfQ09NTU9OX0lDT05TLCBUVUlfSUNPTl9FTkR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge1RVSV9DSEVWUk9OLCBUdWlDaGV2cm9ufSBmcm9tICdAdGFpZ2EtdWkva2l0L2RpcmVjdGl2ZXMvY2hldnJvbic7XG5cbmltcG9ydCB7VHVpSGludEFzaWRlRGlyZWN0aXZlfSBmcm9tICcuL2hpbnQtYXNpZGUuZGlyZWN0aXZlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ1t0dWlBc2lkZUl0ZW1dJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgdHVpQXNEYXRhTGlzdEhvc3QoVHVpQXNpZGVJdGVtRGlyZWN0aXZlKSxcbiAgICAgICAgcHJvdmlkZUljb24oKSxcbiAgICAgICAgcHJvdmlkZURyb3Bkb3duKCksXG4gICAgXSxcbiAgICBob3N0RGlyZWN0aXZlczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBkaXJlY3RpdmU6IFR1aUhpbnRBc2lkZURpcmVjdGl2ZSxcbiAgICAgICAgICAgIGlucHV0czogWyd0dWlIaW50QXNpZGU6dHVpQXNpZGVJdGVtJ10sXG4gICAgICAgIH0sXG4gICAgICAgIFR1aURyb3Bkb3duTWFudWFsLFxuICAgICAgICBUdWlEcm9wZG93blBvc2l0aW9uU2lkZWQsXG4gICAgICAgIFR1aUJ1dHRvbixcbiAgICAgICAge1xuICAgICAgICAgICAgZGlyZWN0aXZlOiBSb3V0ZXJMaW5rQWN0aXZlLFxuICAgICAgICAgICAgaW5wdXRzOiBbJ3JvdXRlckxpbmtBY3RpdmVPcHRpb25zJ10sXG4gICAgICAgIH0sXG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgIHR1aUJ1dHRvbjogJycsXG4gICAgICAgIHR1aU9wdGlvbjogJycsXG4gICAgICAgIHR1aUFzaWRlSXRlbTogJycsXG4gICAgICAgICdbY2xhc3MuX2xpbmtdJzogJ2xpbmsnLFxuICAgICAgICAnW2NsYXNzLl9hY3RpdmVdJzogJ2FjdGl2ZSgpJyxcbiAgICAgICAgJ1tjbGFzcy5fY3VzdG9tXSc6ICdpY29uICE9PSBpY29ucy5pY29uRW5kKCknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUFzaWRlSXRlbURpcmVjdGl2ZSBpbXBsZW1lbnRzIFR1aURhdGFMaXN0SG9zdDx1bmtub3duPiB7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGljb24gPSBpbmplY3QoVFVJX0NPTU1PTl9JQ09OUykuY2hlY2s7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGljb25zID0gaW5qZWN0KFR1aUljb25zKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbGluayA9IGluamVjdChSb3V0ZXJMaW5rLCB7c2VsZjogdHJ1ZSwgb3B0aW9uYWw6IHRydWV9KTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgYWN0aXZlID0gdG9TaWduYWwoaW5qZWN0KFJvdXRlckxpbmtBY3RpdmUpLmlzQWN0aXZlQ2hhbmdlKTtcblxuICAgIHB1YmxpYyByZWFkb25seSBzaXplID0gJ3MnO1xufVxuXG5mdW5jdGlvbiBwcm92aWRlSWNvbigpOiBGYWN0b3J5UHJvdmlkZXIge1xuICAgIHJldHVybiB7XG4gICAgICAgIHByb3ZpZGU6IFRVSV9JQ09OX0VORCxcbiAgICAgICAgdXNlRmFjdG9yeTogKCk6IHN0cmluZyA9PiB7XG4gICAgICAgICAgICBpZiAoaW5qZWN0KFR1aUNoZXZyb24sIHtvcHRpb25hbDogdHJ1ZSwgc2VsZjogdHJ1ZX0pKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGluamVjdChUVUlfQ0hFVlJPTik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHtjaGVjaywgbW9yZX0gPSBpbmplY3QoVFVJX0NPTU1PTl9JQ09OUyk7XG4gICAgICAgICAgICBjb25zdCBhY3RpdmUgPVxuICAgICAgICAgICAgICAgIGluamVjdChUdWlEYXRhTGlzdENvbXBvbmVudCwge29wdGlvbmFsOiB0cnVlfSkgJiZcbiAgICAgICAgICAgICAgICBpbmplY3QoUm91dGVyTGluaywge3NlbGY6IHRydWUsIG9wdGlvbmFsOiB0cnVlfSlcbiAgICAgICAgICAgICAgICAgICAgPyBjaGVja1xuICAgICAgICAgICAgICAgICAgICA6ICcnO1xuXG4gICAgICAgICAgICByZXR1cm4gaW5qZWN0KFR1aURyb3Bkb3duRGlyZWN0aXZlLCB7c2VsZjogdHJ1ZSwgb3B0aW9uYWw6IHRydWV9KVxuICAgICAgICAgICAgICAgID8gbW9yZVxuICAgICAgICAgICAgICAgIDogYWN0aXZlO1xuICAgICAgICB9LFxuICAgIH07XG59XG5cbmZ1bmN0aW9uIHByb3ZpZGVEcm9wZG93bigpOiBGYWN0b3J5UHJvdmlkZXIge1xuICAgIHJldHVybiB7XG4gICAgICAgIHByb3ZpZGU6IFRVSV9EUk9QRE9XTl9PUFRJT05TLFxuICAgICAgICB1c2VGYWN0b3J5OiAoKTogVHVpRHJvcGRvd25PcHRpb25zID0+ICh7XG4gICAgICAgICAgICAuLi5pbmplY3QoVFVJX0RST1BET1dOX09QVElPTlMsIHtza2lwU2VsZjogdHJ1ZX0pLFxuICAgICAgICAgICAgb2Zmc2V0OiBpbmplY3QoVHVpRGF0YUxpc3RDb21wb25lbnQsIHtvcHRpb25hbDogdHJ1ZX0pID8gOCA6IDEyLFxuICAgICAgICB9KSxcbiAgICB9O1xufVxuIl19