@taiga-ui/layout
Version:
A package with Taiga UI layout components
92 lines • 12.2 kB
JavaScript
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