@taiga-ui/layout
Version:
A package with Taiga UI layout components
88 lines • 11.9 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": "" }, properties: { "class._link": "link", "class._active": "active()", "class._custom": "icon !== icons.iconEnd()" } }, providers: [
tuiAsDataListHost(TuiAsideItemDirective),
provideIcon(),
provideDropdown(),
], hostDirectives: [{ directive: i1.TuiHintAsideDirective }, { 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: [
TuiHintAsideDirective,
TuiDropdownManual,
TuiDropdownPositionSided,
TuiButton,
{
directive: RouterLinkActive,
inputs: ['routerLinkActiveOptions'],
},
],
host: {
tuiButton: '',
tuiOption: '',
'[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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNpZGUtaXRlbS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9sYXlvdXQvY29tcG9uZW50cy9uYXZpZ2F0aW9uL2FzaWRlLWl0ZW0uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2hELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsVUFBVSxFQUFFLGdCQUFnQixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0QsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBRTNELE9BQU8sRUFDSCxpQkFBaUIsRUFDakIsb0JBQW9CLEdBQ3ZCLE1BQU0scUNBQXFDLENBQUM7QUFFN0MsT0FBTyxFQUNILG9CQUFvQixFQUNwQixvQkFBb0IsRUFDcEIsaUJBQWlCLEVBQ2pCLHdCQUF3QixHQUMzQixNQUFNLG9DQUFvQyxDQUFDO0FBQzVDLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsWUFBWSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDckUsT0FBTyxFQUFDLFdBQVcsRUFBRSxVQUFVLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUV6RSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7O0FBRTdELE1BMEJhLHFCQUFxQjtJQTFCbEM7UUEyQnVCLFNBQUksR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDdEMsVUFBSyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN6QixTQUFJLEdBQUcsTUFBTSxDQUFDLFVBQVUsRUFBRSxFQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7UUFDeEQsV0FBTSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUU5RCxTQUFJLEdBQUcsR0FBRyxDQUFDO0tBQzlCOytHQVBZLHFCQUFxQjttR0FBckIscUJBQXFCLDBPQXZCbkI7WUFDUCxpQkFBaUIsQ0FBQyxxQkFBcUIsQ0FBQztZQUN4QyxXQUFXLEVBQUU7WUFDYixlQUFlLEVBQUU7U0FDcEI7O1NBbUJRLHFCQUFxQjs0RkFBckIscUJBQXFCO2tCQTFCakMsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsU0FBUyxFQUFFO3dCQUNQLGlCQUFpQix1QkFBdUI7d0JBQ3hDLFdBQVcsRUFBRTt3QkFDYixlQUFlLEVBQUU7cUJBQ3BCO29CQUNELGNBQWMsRUFBRTt3QkFDWixxQkFBcUI7d0JBQ3JCLGlCQUFpQjt3QkFDakIsd0JBQXdCO3dCQUN4QixTQUFTO3dCQUNUOzRCQUNJLFNBQVMsRUFBRSxnQkFBZ0I7NEJBQzNCLE1BQU0sRUFBRSxDQUFDLHlCQUF5QixDQUFDO3lCQUN0QztxQkFDSjtvQkFDRCxJQUFJLEVBQUU7d0JBQ0YsU0FBUyxFQUFFLEVBQUU7d0JBQ2IsU0FBUyxFQUFFLEVBQUU7d0JBQ2IsZUFBZSxFQUFFLE1BQU07d0JBQ3ZCLGlCQUFpQixFQUFFLFVBQVU7d0JBQzdCLGlCQUFpQixFQUFFLDBCQUEwQjtxQkFDaEQ7aUJBQ0o7O0FBVUQsU0FBUyxXQUFXO0lBQ2hCLE9BQU87UUFDSCxPQUFPLEVBQUUsWUFBWTtRQUNyQixVQUFVLEVBQUUsR0FBVyxFQUFFO1lBQ3JCLElBQUksTUFBTSxDQUFDLFVBQVUsRUFBRSxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBQyxDQUFDLEVBQUU7Z0JBQ2xELE9BQU8sTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQzlCO1lBRUQsTUFBTSxFQUFDLEtBQUssRUFBRSxJQUFJLEVBQUMsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUMvQyxNQUFNLE1BQU0sR0FDUixNQUFNLENBQUMsb0JBQW9CLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUM7Z0JBQzlDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsRUFBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQztnQkFDNUMsQ0FBQyxDQUFDLEtBQUs7Z0JBQ1AsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUViLE9BQU8sTUFBTSxDQUFDLG9CQUFvQixFQUFFLEVBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUM7Z0JBQzdELENBQUMsQ0FBQyxJQUFJO2dCQUNOLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDakIsQ0FBQztLQUNKLENBQUM7QUFDTixDQUFDO0FBRUQsU0FBUyxlQUFlO0lBQ3BCLE9BQU87UUFDSCxPQUFPLEVBQUUsb0JBQW9CO1FBQzdCLFVBQVUsRUFBRSxHQUF1QixFQUFFLENBQUMsQ0FBQztZQUNuQyxHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRSxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQztZQUNqRCxNQUFNLEVBQUUsTUFBTSxDQUFDLG9CQUFvQixFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtTQUNsRSxDQUFDO0tBQ0wsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7RmFjdG9yeVByb3ZpZGVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RGlyZWN0aXZlLCBpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0b1NpZ25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtSb3V0ZXJMaW5rLCBSb3V0ZXJMaW5rQWN0aXZlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtUdWlCdXR0b259IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB0eXBlIHtUdWlEYXRhTGlzdEhvc3R9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvZGF0YS1saXN0JztcbmltcG9ydCB7XG4gICAgdHVpQXNEYXRhTGlzdEhvc3QsXG4gICAgVHVpRGF0YUxpc3RDb21wb25lbnQsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvZGF0YS1saXN0JztcbmltcG9ydCB0eXBlIHtUdWlEcm9wZG93bk9wdGlvbnN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvZHJvcGRvd24nO1xuaW1wb3J0IHtcbiAgICBUVUlfRFJPUERPV05fT1BUSU9OUyxcbiAgICBUdWlEcm9wZG93bkRpcmVjdGl2ZSxcbiAgICBUdWlEcm9wZG93bk1hbnVhbCxcbiAgICBUdWlEcm9wZG93blBvc2l0aW9uU2lkZWQsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvZHJvcGRvd24nO1xuaW1wb3J0IHtUdWlJY29uc30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9pY29ucyc7XG5pbXBvcnQge1RVSV9DT01NT05fSUNPTlMsIFRVSV9JQ09OX0VORH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7VFVJX0NIRVZST04sIFR1aUNoZXZyb259IGZyb20gJ0B0YWlnYS11aS9raXQvZGlyZWN0aXZlcy9jaGV2cm9uJztcblxuaW1wb3J0IHtUdWlIaW50QXNpZGVEaXJlY3RpdmV9IGZyb20gJy4vaGludC1hc2lkZS5kaXJlY3RpdmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnW3R1aUFzaWRlSXRlbV0nLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB0dWlBc0RhdGFMaXN0SG9zdChUdWlBc2lkZUl0ZW1EaXJlY3RpdmUpLFxuICAgICAgICBwcm92aWRlSWNvbigpLFxuICAgICAgICBwcm92aWRlRHJvcGRvd24oKSxcbiAgICBdLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbXG4gICAgICAgIFR1aUhpbnRBc2lkZURpcmVjdGl2ZSxcbiAgICAgICAgVHVpRHJvcGRvd25NYW51YWwsXG4gICAgICAgIFR1aURyb3Bkb3duUG9zaXRpb25TaWRlZCxcbiAgICAgICAgVHVpQnV0dG9uLFxuICAgICAgICB7XG4gICAgICAgICAgICBkaXJlY3RpdmU6IFJvdXRlckxpbmtBY3RpdmUsXG4gICAgICAgICAgICBpbnB1dHM6IFsncm91dGVyTGlua0FjdGl2ZU9wdGlvbnMnXSxcbiAgICAgICAgfSxcbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgdHVpQnV0dG9uOiAnJyxcbiAgICAgICAgdHVpT3B0aW9uOiAnJyxcbiAgICAgICAgJ1tjbGFzcy5fbGlua10nOiAnbGluaycsXG4gICAgICAgICdbY2xhc3MuX2FjdGl2ZV0nOiAnYWN0aXZlKCknLFxuICAgICAgICAnW2NsYXNzLl9jdXN0b21dJzogJ2ljb24gIT09IGljb25zLmljb25FbmQoKScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpQXNpZGVJdGVtRGlyZWN0aXZlIGltcGxlbWVudHMgVHVpRGF0YUxpc3RIb3N0PHVua25vd24+IHtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaWNvbiA9IGluamVjdChUVUlfQ09NTU9OX0lDT05TKS5jaGVjaztcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaWNvbnMgPSBpbmplY3QoVHVpSWNvbnMpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBsaW5rID0gaW5qZWN0KFJvdXRlckxpbmssIHtzZWxmOiB0cnVlLCBvcHRpb25hbDogdHJ1ZX0pO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBhY3RpdmUgPSB0b1NpZ25hbChpbmplY3QoUm91dGVyTGlua0FjdGl2ZSkuaXNBY3RpdmVDaGFuZ2UpO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IHNpemUgPSAncyc7XG59XG5cbmZ1bmN0aW9uIHByb3ZpZGVJY29uKCk6IEZhY3RvcnlQcm92aWRlciB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcHJvdmlkZTogVFVJX0lDT05fRU5ELFxuICAgICAgICB1c2VGYWN0b3J5OiAoKTogc3RyaW5nID0+IHtcbiAgICAgICAgICAgIGlmIChpbmplY3QoVHVpQ2hldnJvbiwge29wdGlvbmFsOiB0cnVlLCBzZWxmOiB0cnVlfSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gaW5qZWN0KFRVSV9DSEVWUk9OKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3Qge2NoZWNrLCBtb3JlfSA9IGluamVjdChUVUlfQ09NTU9OX0lDT05TKTtcbiAgICAgICAgICAgIGNvbnN0IGFjdGl2ZSA9XG4gICAgICAgICAgICAgICAgaW5qZWN0KFR1aURhdGFMaXN0Q29tcG9uZW50LCB7b3B0aW9uYWw6IHRydWV9KSAmJlxuICAgICAgICAgICAgICAgIGluamVjdChSb3V0ZXJMaW5rLCB7c2VsZjogdHJ1ZSwgb3B0aW9uYWw6IHRydWV9KVxuICAgICAgICAgICAgICAgICAgICA/IGNoZWNrXG4gICAgICAgICAgICAgICAgICAgIDogJyc7XG5cbiAgICAgICAgICAgIHJldHVybiBpbmplY3QoVHVpRHJvcGRvd25EaXJlY3RpdmUsIHtzZWxmOiB0cnVlLCBvcHRpb25hbDogdHJ1ZX0pXG4gICAgICAgICAgICAgICAgPyBtb3JlXG4gICAgICAgICAgICAgICAgOiBhY3RpdmU7XG4gICAgICAgIH0sXG4gICAgfTtcbn1cblxuZnVuY3Rpb24gcHJvdmlkZURyb3Bkb3duKCk6IEZhY3RvcnlQcm92aWRlciB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcHJvdmlkZTogVFVJX0RST1BET1dOX09QVElPTlMsXG4gICAgICAgIHVzZUZhY3Rvcnk6ICgpOiBUdWlEcm9wZG93bk9wdGlvbnMgPT4gKHtcbiAgICAgICAgICAgIC4uLmluamVjdChUVUlfRFJPUERPV05fT1BUSU9OUywge3NraXBTZWxmOiB0cnVlfSksXG4gICAgICAgICAgICBvZmZzZXQ6IGluamVjdChUdWlEYXRhTGlzdENvbXBvbmVudCwge29wdGlvbmFsOiB0cnVlfSkgPyA4IDogMTIsXG4gICAgICAgIH0pLFxuICAgIH07XG59XG4iXX0=