Files
ISA-Frontend/libs/shell/tabs/src/lib/shell-tabs.component.html
Lorenz Hilpert 7a86fcf507 feat(shell): add tabs collapsed state service and navigation indicators
Add TabsCollabsedService to manage tabs bar collapsed/expanded state with
proximity-based switching. Implement activity indicators for navigation items
that bubble up from child routes when menu is collapsed.

- Add TabsCollabsedService for centralized tabs state management
- Add indicator support to navigation types and components
- Implement indicator bubbling from children to parent when collapsed
- Update shell-layout with click-outside-to-close for mobile navigation
- Add dynamic route resolution with factory functions and signals
- Update shell-tabs with compact mode and proximity detection
2025-12-10 20:07:35 +01:00

39 lines
996 B
HTML

@let _tabs = tabs();
<ui-carousel class="flex-1 min-w-0">
@for (tab of _tabs; track tab.id) {
<shell-tab-item
animate.enter="fade-slide-in"
animate.leave="fade-slide-out"
[tab]="tab"
[compact]="compact()"
/>
}
@if (!compact() && _tabs.length > 0) {
<button
animate.enter="fade-slide-in"
animate.leave="fade-slide-out"
uiTextButton
[disabled]="_tabs.length === 0"
color="strong"
[size]="compact() ? 'small' : 'medium'"
class="self-center whitespace-nowrap"
(click)="closeAll()"
[class.h-6]="compact()"
>
Alle schließen
</button>
}
</ui-carousel>
@if (!compact()) {
<ui-icon-button
animate.enter="fade-slide-in"
animate.leave="fade-slide-out"
name="isaActionPlus"
[size]="compact() ? 'small' : 'large'"
class="shrink-0 self-center -mt-2 z-sticky"
[class.size-6]="compact()"
(click)="addTab()"
></ui-icon-button>
}