import { ChangeDetectionStrategy, Component, computed, forwardRef, inject, input, ViewEncapsulation, } from "@angular/core"; import { SdTab } from "./sd-tab"; @Component({ selector: "sd-tab-item", changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, imports: [], host: { "[attr.data-sd-selected]": "isSelected()", "(click)": "onClick()", }, template: ` `, styles: [ /* language=SCSS */ ` sd-tab-item { display: inline-block; padding: var(--gap-sm) var(--gap-default); cursor: pointer; margin-bottom: -2px; border-bottom: 2px solid transparent !important; font-weight: bold; color: var(--theme-gray-default); &[data-sd-selected="true"] { border-bottom: 3px solid var(--theme-primary-default) !important; color: var(--theme-primary-default); } } `, ], }) export class SdTabItem { private readonly _parentControl = inject(forwardRef(() => SdTab)); value = input(); isSelected = computed(() => this._parentControl.value() === this.value()); onClick() { this._parentControl.value.set(this.value()); } }