import * as i0 from '@angular/core';
import { input, booleanAttribute, output, viewChild, ChangeDetectionStrategy, Component, contentChildren, model, effect, untracked, HostBinding } from '@angular/core';
import { NgTemplateOutlet } from '@angular/common';
import * as i2 from '@angular/material/icon';
import { MatIconModule } from '@angular/material/icon';
import * as i1 from '@angular/material/tabs';
import { MatTabGroup, MatTabsModule } from '@angular/material/tabs';

class SdTab {
    label = input.required(...(ngDevMode ? [{ debugName: "label" }] : []));
    icon = input(undefined, ...(ngDevMode ? [{ debugName: "icon" }] : []));
    badge = input(undefined, ...(ngDevMode ? [{ debugName: "badge" }] : []));
    disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
    closable = input(false, ...(ngDevMode ? [{ debugName: "closable", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
    close = output();
    // why: viewChild on `#body` template captures projected content so the parent
    // <sd-tab-group> can render it lazily via matTabContent + ngTemplateOutlet.
    // If we projected raw ng-content into <mat-tab> directly, mat-tab would render
    // eagerly and lose the lazy-load behavior.
    bodyTpl = viewChild.required('body');
    static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: SdTab, deps: [], target: i0.ɵɵFactoryTarget.Component });
    static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.3.24", type: SdTab, isStandalone: true, selector: "sd-tab", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, badge: { classPropertyName: "badge", publicName: "badge", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, closable: { classPropertyName: "closable", publicName: "closable", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { close: "close" }, viewQueries: [{ propertyName: "bodyTpl", first: true, predicate: ["body"], descendants: true, isSignal: true }], ngImport: i0, template: `<ng-template #body><ng-content></ng-content></ng-template>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: SdTab, decorators: [{
            type: Component,
            args: [{
                    selector: 'sd-tab',
                    standalone: true,
                    template: `<ng-template #body><ng-content></ng-content></ng-template>`,
                    changeDetection: ChangeDetectionStrategy.OnPush,
                }]
        }], propDecorators: { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: true }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], badge: [{ type: i0.Input, args: [{ isSignal: true, alias: "badge", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], closable: [{ type: i0.Input, args: [{ isSignal: true, alias: "closable", required: false }] }], close: [{ type: i0.Output, args: ["close"] }], bodyTpl: [{ type: i0.ViewChild, args: ['body', { isSignal: true }] }] } });

class SdTabGroup {
    tabs = contentChildren(SdTab, ...(ngDevMode ? [{ debugName: "tabs" }] : []));
    selectedIndex = model(0, ...(ngDevMode ? [{ debugName: "selectedIndex" }] : []));
    // why: visual style preset. 'line' = Material default (underline ink-bar);
    // 'pills' = rounded pill, active filled (good for nested tab groups + filter bars);
    // 'segmented' = single bordered container, iOS-style.
    variant = input('line', ...(ngDevMode ? [{ debugName: "variant" }] : []));
    // why: drives the active/indicator color via Core CSS vars (--sd-<color>, --sd-<color>-light).
    // Same palette consumers use on <sd-badge>, <sd-button>, etc — keeps theming consistent.
    color = input('primary', ...(ngDevMode ? [{ debugName: "color" }] : []));
    headerPosition = input('above', ...(ngDevMode ? [{ debugName: "headerPosition" }] : []));
    alignTabs = input('start', ...(ngDevMode ? [{ debugName: "alignTabs" }] : []));
    // why: mat-tab-group defaults stretchTabs=true, which makes labels fill the row
    // and overrides alignTabs. Expose this so consumers can opt out and let alignTabs take effect.
    stretchTabs = input(true, ...(ngDevMode ? [{ debugName: "stretchTabs", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
    animationDuration = input('500ms', ...(ngDevMode ? [{ debugName: "animationDuration" }] : []));
    disableRipple = input(false, ...(ngDevMode ? [{ debugName: "disableRipple", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
    dynamicHeight = input(false, ...(ngDevMode ? [{ debugName: "dynamicHeight", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
    autoId = input(undefined, ...(ngDevMode ? [{ debugName: "autoId" }] : []));
    tabClosed = output();
    matTabGroup = viewChild(MatTabGroup, ...(ngDevMode ? [{ debugName: "matTabGroup" }] : []));
    get autoIdAttr() {
        return this.autoId() ?? null;
    }
    get isPills() {
        return this.variant() === 'pills';
    }
    get isSegmented() {
        return this.variant() === 'segmented';
    }
    // why: bind Core color CSS vars onto the host so the existing --sd-tab-* CSS vars
    // pick up the chosen color. Fallback hex matches the values in autoid-inspector
    // for environments where the global Core SCSS isn't loaded (e.g. lib-only tests).
    get cssIndicator() {
        return `var(--sd-${this.color()})`;
    }
    get cssActive() {
        return `var(--sd-${this.color()})`;
    }
    get cssBadgeBg() {
        return `var(--sd-${this.color()}-light)`;
    }
    get cssBadgeColor() {
        return `var(--sd-${this.color()})`;
    }
    constructor() {
        // why: when the active tab is removed (e.g. parent splices the tabs array),
        // selectedIndex may point past the end. Clamp it back to the last valid index
        // so MatTabGroup doesn't render with a stale selection.
        effect(() => {
            const len = this.tabs().length;
            const cur = untracked(() => this.selectedIndex());
            if (len > 0 && cur >= len) {
                this.selectedIndex.set(Math.max(0, len - 1));
            }
        });
    }
    selectTab(index) {
        const len = this.tabs().length;
        if (len === 0) {
            this.selectedIndex.set(0);
            return;
        }
        this.selectedIndex.set(Math.max(0, Math.min(index, len - 1)));
    }
    realignInkBar() {
        this.matTabGroup()?.realignInkBar();
    }
    onClose(tab, index, event) {
        event.stopPropagation();
        if (tab.disabled())
            return;
        tab.close.emit();
        this.tabClosed.emit({ index, tab });
    }
    static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: SdTabGroup, deps: [], target: i0.ɵɵFactoryTarget.Component });
    static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.24", type: SdTabGroup, isStandalone: true, selector: "sd-tab-group", inputs: { selectedIndex: { classPropertyName: "selectedIndex", publicName: "selectedIndex", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, headerPosition: { classPropertyName: "headerPosition", publicName: "headerPosition", isSignal: true, isRequired: false, transformFunction: null }, alignTabs: { classPropertyName: "alignTabs", publicName: "alignTabs", isSignal: true, isRequired: false, transformFunction: null }, stretchTabs: { classPropertyName: "stretchTabs", publicName: "stretchTabs", isSignal: true, isRequired: false, transformFunction: null }, animationDuration: { classPropertyName: "animationDuration", publicName: "animationDuration", isSignal: true, isRequired: false, transformFunction: null }, disableRipple: { classPropertyName: "disableRipple", publicName: "disableRipple", isSignal: true, isRequired: false, transformFunction: null }, dynamicHeight: { classPropertyName: "dynamicHeight", publicName: "dynamicHeight", isSignal: true, isRequired: false, transformFunction: null }, autoId: { classPropertyName: "autoId", publicName: "autoId", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectedIndex: "selectedIndexChange", tabClosed: "tabClosed" }, host: { properties: { "attr.data-autoId": "this.autoIdAttr", "class.sd-tab-group--pills": "this.isPills", "class.sd-tab-group--segmented": "this.isSegmented", "style.--sd-tab-indicator-color": "this.cssIndicator", "style.--sd-tab-label-active-color": "this.cssActive", "style.--sd-tab-badge-bg": "this.cssBadgeBg", "style.--sd-tab-badge-color": "this.cssBadgeColor" } }, queries: [{ propertyName: "tabs", predicate: SdTab, isSignal: true }], viewQueries: [{ propertyName: "matTabGroup", first: true, predicate: MatTabGroup, descendants: true, isSignal: true }], ngImport: i0, template: "<mat-tab-group\n  class=\"sd-tab-group\"\n  [(selectedIndex)]=\"selectedIndex\"\n  [headerPosition]=\"headerPosition()\"\n  [mat-align-tabs]=\"alignTabs()\"\n  [mat-stretch-tabs]=\"stretchTabs()\"\n  [animationDuration]=\"animationDuration()\"\n  [disableRipple]=\"disableRipple()\"\n  [dynamicHeight]=\"dynamicHeight()\">\n  @for (tab of tabs(); track tab; let i = $index) {\n    <mat-tab [disabled]=\"tab.disabled()\">\n      <ng-template mat-tab-label>\n        <span class=\"sd-tab__label\">\n          @if (tab.icon(); as ic) {\n            <mat-icon class=\"sd-tab__icon\">{{ ic }}</mat-icon>\n          }\n          <span class=\"sd-tab__text\">{{ tab.label() }}</span>\n          @let _badge = tab.badge();\n          @if (_badge !== null && _badge !== undefined) {\n            <span class=\"sd-tab__badge\">{{ _badge }}</span>\n          }\n          @if (tab.closable()) {\n            <mat-icon\n              class=\"sd-tab__close\"\n              role=\"button\"\n              aria-label=\"Close tab\"\n              (click)=\"onClose(tab, i, $event)\">\n              close\n            </mat-icon>\n          }\n        </span>\n      </ng-template>\n\n      <ng-template matTabContent>\n        <ng-container [ngTemplateOutlet]=\"tab.bodyTpl()\"></ng-container>\n      </ng-template>\n    </mat-tab>\n  }\n</mat-tab-group>\n", styles: [":host{display:block;--sd-tab-label-color: var(--sd-text-primary, #1a1a1a);--sd-tab-label-active-color: var(--sd-color-primary, #1565c0);--sd-tab-indicator-color: var(--sd-color-primary, #1565c0);--sd-tab-disabled-opacity: .5;--sd-tab-badge-bg: var(--sd-color-primary-light, #e8f0ff);--sd-tab-badge-color: var(--sd-color-primary, #1565c0);--sd-tab-badge-radius: 10px;--sd-tab-badge-padding: 0 6px;--sd-tab-badge-min-width: 18px;--sd-tab-close-color: var(--sd-text-secondary, #6b6b6b);--sd-tab-close-hover-color: var(--sd-color-error, #d32f2f)}.sd-tab__label{display:inline-flex;align-items:center;gap:4px}.sd-tab__icon{font-size:18px;width:18px;height:18px;line-height:18px}.sd-tab__text{white-space:nowrap}.sd-tab__badge{display:inline-flex;align-items:center;justify-content:center;min-width:var(--sd-tab-badge-min-width);height:18px;padding:var(--sd-tab-badge-padding);font-size:11px;font-weight:500;line-height:1;color:var(--sd-tab-badge-color);background:var(--sd-tab-badge-bg);border-radius:var(--sd-tab-badge-radius);margin-left:2px}.sd-tab__close{font-size:16px;width:16px;height:16px;line-height:16px;color:var(--sd-tab-close-color);cursor:pointer;opacity:.6;margin-left:4px;transition:opacity .12s ease,color .12s ease}.sd-tab__close:hover{opacity:1;color:var(--sd-tab-close-hover-color)}:host ::ng-deep .mat-mdc-tab .mdc-tab-indicator__content--underline{border-color:var(--sd-tab-indicator-color)}:host ::ng-deep .mat-mdc-tab.mdc-tab--active .mdc-tab__ripple:before,:host ::ng-deep .mat-mdc-tab.mdc-tab--active:before{background-color:transparent!important;opacity:0!important}:host(.sd-tab-group--pills) ::ng-deep .mat-mdc-tab .mdc-tab-indicator{display:none}:host(.sd-tab-group--pills) ::ng-deep .mat-mdc-tab-label-container,:host(.sd-tab-group--pills) ::ng-deep .mat-mdc-tab-header{border-bottom:none!important}:host(.sd-tab-group--pills) ::ng-deep .mat-mdc-tab-header{min-height:36px}:host(.sd-tab-group--pills) ::ng-deep .mat-mdc-tab-labels{gap:4px;padding:2px 0}:host(.sd-tab-group--pills) ::ng-deep .mat-mdc-tab{min-width:0;height:32px;padding:0 14px;border-radius:999px;flex-grow:0!important;flex-basis:auto!important;background:transparent;transition:background-color .12s ease,color .12s ease}:host(.sd-tab-group--pills) ::ng-deep .mat-mdc-tab:hover:not(.mat-mdc-tab-disabled){background:var(--sd-tab-badge-bg)}:host(.sd-tab-group--pills) ::ng-deep .mat-mdc-tab .mdc-tab__text-label{color:var(--sd-tab-label-color);font-weight:500}:host(.sd-tab-group--pills) ::ng-deep .mat-mdc-tab .mdc-tab__content{height:100%}:host(.sd-tab-group--pills) ::ng-deep .mat-mdc-tab.mdc-tab--active{background:var(--sd-tab-label-active-color)}:host(.sd-tab-group--pills) ::ng-deep .mat-mdc-tab.mdc-tab--active .mdc-tab__text-label{color:#fff}:host(.sd-tab-group--pills) ::ng-deep .mat-mdc-tab.mdc-tab--active:hover:not(.mat-mdc-tab-disabled){box-shadow:inset 0 0 0 9999px #0000001f}:host(.sd-tab-group--pills) ::ng-deep .sd-tab__label .sd-tab__icon{color:inherit}:host(.sd-tab-group--pills) ::ng-deep .sd-tab__label .sd-tab__badge{background:#ffffff40;color:inherit}:host(.sd-tab-group--pills) ::ng-deep .mat-mdc-tab:not(.mdc-tab--active) .sd-tab__label .sd-tab__badge{background:var(--sd-tab-badge-bg);color:var(--sd-tab-badge-color)}:host(.sd-tab-group--segmented) ::ng-deep .mat-mdc-tab .mdc-tab-indicator{display:none}:host(.sd-tab-group--segmented) ::ng-deep .mat-mdc-tab-label-container,:host(.sd-tab-group--segmented) ::ng-deep .mat-mdc-tab-header{border-bottom:none!important}:host(.sd-tab-group--segmented) ::ng-deep .mat-mdc-tab-header{display:inline-flex;min-height:34px;background:#f0f3f7;border-radius:8px;padding:3px}:host(.sd-tab-group--segmented) ::ng-deep .mat-mdc-tab-labels{gap:0}:host(.sd-tab-group--segmented) ::ng-deep .mat-mdc-tab{min-width:0;height:28px;padding:0 14px;border-radius:6px;flex-grow:0!important;flex-basis:auto!important;background:transparent;transition:background-color .12s ease,box-shadow .12s ease}:host(.sd-tab-group--segmented) ::ng-deep .mat-mdc-tab:hover:not(.mat-mdc-tab-disabled):not(.mdc-tab--active){background:#0000000a}:host(.sd-tab-group--segmented) ::ng-deep .mat-mdc-tab .mdc-tab__text-label{color:var(--sd-tab-label-color);font-weight:500;font-size:13px}:host(.sd-tab-group--segmented) ::ng-deep .mat-mdc-tab.mdc-tab--active{background:#fff;box-shadow:0 1px 3px #00000014}:host(.sd-tab-group--segmented) ::ng-deep .mat-mdc-tab.mdc-tab--active .mdc-tab__text-label{color:var(--sd-tab-label-active-color);font-weight:600}:host(.sd-tab-group--segmented) ::ng-deep .mat-mdc-tab.mdc-tab--active:hover:not(.mat-mdc-tab-disabled){background:#fff;box-shadow:0 1px 4px #0000001f}\n"], dependencies: [{ kind: "ngmodule", type: MatTabsModule }, { kind: "directive", type: i1.MatTabContent, selector: "[matTabContent]" }, { kind: "directive", type: i1.MatTabLabel, selector: "[mat-tab-label], [matTabLabel]" }, { kind: "component", type: i1.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass", "id"], exportAs: ["matTab"] }, { kind: "component", type: i1.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "mat-align-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: SdTabGroup, decorators: [{
            type: Component,
            args: [{ selector: 'sd-tab-group', standalone: true, imports: [MatTabsModule, MatIconModule, NgTemplateOutlet], changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-tab-group\n  class=\"sd-tab-group\"\n  [(selectedIndex)]=\"selectedIndex\"\n  [headerPosition]=\"headerPosition()\"\n  [mat-align-tabs]=\"alignTabs()\"\n  [mat-stretch-tabs]=\"stretchTabs()\"\n  [animationDuration]=\"animationDuration()\"\n  [disableRipple]=\"disableRipple()\"\n  [dynamicHeight]=\"dynamicHeight()\">\n  @for (tab of tabs(); track tab; let i = $index) {\n    <mat-tab [disabled]=\"tab.disabled()\">\n      <ng-template mat-tab-label>\n        <span class=\"sd-tab__label\">\n          @if (tab.icon(); as ic) {\n            <mat-icon class=\"sd-tab__icon\">{{ ic }}</mat-icon>\n          }\n          <span class=\"sd-tab__text\">{{ tab.label() }}</span>\n          @let _badge = tab.badge();\n          @if (_badge !== null && _badge !== undefined) {\n            <span class=\"sd-tab__badge\">{{ _badge }}</span>\n          }\n          @if (tab.closable()) {\n            <mat-icon\n              class=\"sd-tab__close\"\n              role=\"button\"\n              aria-label=\"Close tab\"\n              (click)=\"onClose(tab, i, $event)\">\n              close\n            </mat-icon>\n          }\n        </span>\n      </ng-template>\n\n      <ng-template matTabContent>\n        <ng-container [ngTemplateOutlet]=\"tab.bodyTpl()\"></ng-container>\n      </ng-template>\n    </mat-tab>\n  }\n</mat-tab-group>\n", styles: [":host{display:block;--sd-tab-label-color: var(--sd-text-primary, #1a1a1a);--sd-tab-label-active-color: var(--sd-color-primary, #1565c0);--sd-tab-indicator-color: var(--sd-color-primary, #1565c0);--sd-tab-disabled-opacity: .5;--sd-tab-badge-bg: var(--sd-color-primary-light, #e8f0ff);--sd-tab-badge-color: var(--sd-color-primary, #1565c0);--sd-tab-badge-radius: 10px;--sd-tab-badge-padding: 0 6px;--sd-tab-badge-min-width: 18px;--sd-tab-close-color: var(--sd-text-secondary, #6b6b6b);--sd-tab-close-hover-color: var(--sd-color-error, #d32f2f)}.sd-tab__label{display:inline-flex;align-items:center;gap:4px}.sd-tab__icon{font-size:18px;width:18px;height:18px;line-height:18px}.sd-tab__text{white-space:nowrap}.sd-tab__badge{display:inline-flex;align-items:center;justify-content:center;min-width:var(--sd-tab-badge-min-width);height:18px;padding:var(--sd-tab-badge-padding);font-size:11px;font-weight:500;line-height:1;color:var(--sd-tab-badge-color);background:var(--sd-tab-badge-bg);border-radius:var(--sd-tab-badge-radius);margin-left:2px}.sd-tab__close{font-size:16px;width:16px;height:16px;line-height:16px;color:var(--sd-tab-close-color);cursor:pointer;opacity:.6;margin-left:4px;transition:opacity .12s ease,color .12s ease}.sd-tab__close:hover{opacity:1;color:var(--sd-tab-close-hover-color)}:host ::ng-deep .mat-mdc-tab .mdc-tab-indicator__content--underline{border-color:var(--sd-tab-indicator-color)}:host ::ng-deep .mat-mdc-tab.mdc-tab--active .mdc-tab__ripple:before,:host ::ng-deep .mat-mdc-tab.mdc-tab--active:before{background-color:transparent!important;opacity:0!important}:host(.sd-tab-group--pills) ::ng-deep .mat-mdc-tab .mdc-tab-indicator{display:none}:host(.sd-tab-group--pills) ::ng-deep .mat-mdc-tab-label-container,:host(.sd-tab-group--pills) ::ng-deep .mat-mdc-tab-header{border-bottom:none!important}:host(.sd-tab-group--pills) ::ng-deep .mat-mdc-tab-header{min-height:36px}:host(.sd-tab-group--pills) ::ng-deep .mat-mdc-tab-labels{gap:4px;padding:2px 0}:host(.sd-tab-group--pills) ::ng-deep .mat-mdc-tab{min-width:0;height:32px;padding:0 14px;border-radius:999px;flex-grow:0!important;flex-basis:auto!important;background:transparent;transition:background-color .12s ease,color .12s ease}:host(.sd-tab-group--pills) ::ng-deep .mat-mdc-tab:hover:not(.mat-mdc-tab-disabled){background:var(--sd-tab-badge-bg)}:host(.sd-tab-group--pills) ::ng-deep .mat-mdc-tab .mdc-tab__text-label{color:var(--sd-tab-label-color);font-weight:500}:host(.sd-tab-group--pills) ::ng-deep .mat-mdc-tab .mdc-tab__content{height:100%}:host(.sd-tab-group--pills) ::ng-deep .mat-mdc-tab.mdc-tab--active{background:var(--sd-tab-label-active-color)}:host(.sd-tab-group--pills) ::ng-deep .mat-mdc-tab.mdc-tab--active .mdc-tab__text-label{color:#fff}:host(.sd-tab-group--pills) ::ng-deep .mat-mdc-tab.mdc-tab--active:hover:not(.mat-mdc-tab-disabled){box-shadow:inset 0 0 0 9999px #0000001f}:host(.sd-tab-group--pills) ::ng-deep .sd-tab__label .sd-tab__icon{color:inherit}:host(.sd-tab-group--pills) ::ng-deep .sd-tab__label .sd-tab__badge{background:#ffffff40;color:inherit}:host(.sd-tab-group--pills) ::ng-deep .mat-mdc-tab:not(.mdc-tab--active) .sd-tab__label .sd-tab__badge{background:var(--sd-tab-badge-bg);color:var(--sd-tab-badge-color)}:host(.sd-tab-group--segmented) ::ng-deep .mat-mdc-tab .mdc-tab-indicator{display:none}:host(.sd-tab-group--segmented) ::ng-deep .mat-mdc-tab-label-container,:host(.sd-tab-group--segmented) ::ng-deep .mat-mdc-tab-header{border-bottom:none!important}:host(.sd-tab-group--segmented) ::ng-deep .mat-mdc-tab-header{display:inline-flex;min-height:34px;background:#f0f3f7;border-radius:8px;padding:3px}:host(.sd-tab-group--segmented) ::ng-deep .mat-mdc-tab-labels{gap:0}:host(.sd-tab-group--segmented) ::ng-deep .mat-mdc-tab{min-width:0;height:28px;padding:0 14px;border-radius:6px;flex-grow:0!important;flex-basis:auto!important;background:transparent;transition:background-color .12s ease,box-shadow .12s ease}:host(.sd-tab-group--segmented) ::ng-deep .mat-mdc-tab:hover:not(.mat-mdc-tab-disabled):not(.mdc-tab--active){background:#0000000a}:host(.sd-tab-group--segmented) ::ng-deep .mat-mdc-tab .mdc-tab__text-label{color:var(--sd-tab-label-color);font-weight:500;font-size:13px}:host(.sd-tab-group--segmented) ::ng-deep .mat-mdc-tab.mdc-tab--active{background:#fff;box-shadow:0 1px 3px #00000014}:host(.sd-tab-group--segmented) ::ng-deep .mat-mdc-tab.mdc-tab--active .mdc-tab__text-label{color:var(--sd-tab-label-active-color);font-weight:600}:host(.sd-tab-group--segmented) ::ng-deep .mat-mdc-tab.mdc-tab--active:hover:not(.mat-mdc-tab-disabled){background:#fff;box-shadow:0 1px 4px #0000001f}\n"] }]
        }], ctorParameters: () => [], propDecorators: { tabs: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => SdTab), { isSignal: true }] }], selectedIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedIndex", required: false }] }, { type: i0.Output, args: ["selectedIndexChange"] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }], headerPosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "headerPosition", required: false }] }], alignTabs: [{ type: i0.Input, args: [{ isSignal: true, alias: "alignTabs", required: false }] }], stretchTabs: [{ type: i0.Input, args: [{ isSignal: true, alias: "stretchTabs", required: false }] }], animationDuration: [{ type: i0.Input, args: [{ isSignal: true, alias: "animationDuration", required: false }] }], disableRipple: [{ type: i0.Input, args: [{ isSignal: true, alias: "disableRipple", required: false }] }], dynamicHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "dynamicHeight", required: false }] }], autoId: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoId", required: false }] }], tabClosed: [{ type: i0.Output, args: ["tabClosed"] }], matTabGroup: [{ type: i0.ViewChild, args: [i0.forwardRef(() => MatTabGroup), { isSignal: true }] }], autoIdAttr: [{
                type: HostBinding,
                args: ['attr.data-autoId']
            }], isPills: [{
                type: HostBinding,
                args: ['class.sd-tab-group--pills']
            }], isSegmented: [{
                type: HostBinding,
                args: ['class.sd-tab-group--segmented']
            }], cssIndicator: [{
                type: HostBinding,
                args: ['style.--sd-tab-indicator-color']
            }], cssActive: [{
                type: HostBinding,
                args: ['style.--sd-tab-label-active-color']
            }], cssBadgeBg: [{
                type: HostBinding,
                args: ['style.--sd-tab-badge-bg']
            }], cssBadgeColor: [{
                type: HostBinding,
                args: ['style.--sd-tab-badge-color']
            }] } });

/**
 * Generated bundle index. Do not edit.
 */

export { SdTab, SdTabGroup };
//# sourceMappingURL=sdcorejs-angular-components-tab.mjs.map
