UNPKG

@taiga-ui/layout

Version:

A package with Taiga UI layout components

88 lines 11.9 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": "" }, 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=