import * as i1 from '@angular/cdk/portal';
import { DomPortal, PortalModule } from '@angular/cdk/portal';
import * as i0 from '@angular/core';
import { InjectionToken, contentChildren, viewChild, input, booleanAttribute, inject, ElementRef, signal, Injector, effect, afterNextRender, Optional, Self, ChangeDetectionStrategy, ViewEncapsulation, Component, NgModule } from '@angular/core';
import { RouterLink } from '@angular/router';
import { FD_ICON_COMPONENT } from '@fundamental-ngx/core/icon';
import { FdTranslatePipe } from '@fundamental-ngx/i18n';

const LINK_CLASS_NAME = {
    linkContent: 'fd-link__content'
};

const FD_LINK_COMPONENT = new InjectionToken('FdLinkComponent');

const LINK_ROUTER_TARGET = new InjectionToken('linkRouterTarget');
class LinkComponent {
    constructor() {
        /** @hidden */
        this.iconComponents = contentChildren(FD_ICON_COMPONENT, { ...(ngDevMode ? { debugName: "iconComponents" } : {}), descendants: false });
        /** @hidden */
        this.contentSpan = viewChild('content', ...(ngDevMode ? [{ debugName: "contentSpan" }] : []));
        /** Whether user wants to use emphasized mode */
        this.emphasized = input(false, { ...(ngDevMode ? { debugName: "emphasized" } : {}), transform: booleanAttribute });
        /** Whether user wants to put disabled mode */
        this.disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : {}), transform: booleanAttribute });
        /** Whether user wants to use inverted mode */
        this.inverted = input(false, { ...(ngDevMode ? { debugName: "inverted" } : {}), transform: booleanAttribute });
        /** Whether user wants to use subtle mode */
        this.subtle = input(false, { ...(ngDevMode ? { debugName: "subtle" } : {}), transform: booleanAttribute });
        /** Whether user wants to have a link without underline decoration */
        this.undecorated = input(false, { ...(ngDevMode ? { debugName: "undecorated" } : {}), transform: booleanAttribute });
        /** Whether user wants to have a larger touch target */
        this.touchTarget = input(false, { ...(ngDevMode ? { debugName: "touchTarget" } : {}), transform: booleanAttribute });
        /** @hidden */
        this.elementRef = inject((ElementRef));
        /** @hidden */
        this.routerLink = inject(LINK_ROUTER_TARGET);
        /** @hidden */
        this.prefixIconName = signal('', ...(ngDevMode ? [{ debugName: "prefixIconName" }] : []));
        /** @hidden */
        this.postfixIconName = signal('', ...(ngDevMode ? [{ debugName: "postfixIconName" }] : []));
        /** @hidden */
        this.prefixPortal = signal(null, ...(ngDevMode ? [{ debugName: "prefixPortal" }] : []));
        /** @hidden */
        this.postfixPortal = signal(null, ...(ngDevMode ? [{ debugName: "postfixPortal" }] : []));
        /** @hidden */
        this._injector = inject(Injector);
        // Effect that runs when icons or content changes
        effect(() => {
            const icons = this.iconComponents();
            const contentEl = this.contentSpan()?.nativeElement;
            if (!contentEl || icons.length === 0) {
                afterNextRender(() => {
                    this._clearPortals();
                }, { injector: this._injector });
                return;
            }
            afterNextRender(() => {
                this._updatePortals(icons, contentEl);
            }, { injector: this._injector });
        });
    }
    /** @hidden */
    _clearPortals() {
        this._detachPortals();
        this.prefixPortal.set(null);
        this.postfixPortal.set(null);
        this.prefixIconName.set('');
        this.postfixIconName.set('');
    }
    /** @hidden */
    _updatePortals(icons, contentEl) {
        // Determine prefix and postfix icons
        const firstIcon = icons[0];
        const lastIcon = icons[icons.length - 1];
        const prefix = firstIcon.elementRef.nativeElement === contentEl.childNodes[0] ? firstIcon.elementRef.nativeElement : null;
        const postfix = lastIcon.elementRef.nativeElement === contentEl.childNodes[contentEl.childNodes.length - 1]
            ? lastIcon.elementRef.nativeElement
            : null;
        // Update icon names
        this.prefixIconName.set(prefix ? firstIcon.glyph() : '');
        this.postfixIconName.set(postfix ? lastIcon.glyph() : '');
        // Update portals
        this._detachPortals();
        this.prefixPortal.set(prefix ? new DomPortal(prefix) : null);
        this.postfixPortal.set(postfix ? new DomPortal(postfix) : null);
    }
    /** @hidden */
    _detachPortals() {
        const prefix = this.prefixPortal();
        const postfix = this.postfixPortal();
        if (prefix?.isAttached) {
            prefix.detach();
        }
        if (postfix?.isAttached) {
            postfix.detach();
        }
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: LinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: LinkComponent, isStandalone: true, selector: "[fdLink], [fd-link]", inputs: { emphasized: { classPropertyName: "emphasized", publicName: "emphasized", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, inverted: { classPropertyName: "inverted", publicName: "inverted", isSignal: true, isRequired: false, transformFunction: null }, subtle: { classPropertyName: "subtle", publicName: "subtle", isSignal: true, isRequired: false, transformFunction: null }, undecorated: { classPropertyName: "undecorated", publicName: "undecorated", isSignal: true, isRequired: false, transformFunction: null }, touchTarget: { classPropertyName: "touchTarget", publicName: "touchTarget", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.aria-disabled": "disabled() ? true : false", "class.fd-link--emphasized": "emphasized()", "class.is-disabled": "disabled()", "class.fd-link--inverted": "inverted()", "class.fd-link--subtle": "subtle()", "class.fd-link--undecorated": "undecorated()", "class.fd-link--touch-target": "touchTarget()" }, classAttribute: "fd-link" }, providers: [
            {
                provide: FD_LINK_COMPONENT,
                useExisting: LinkComponent
            },
            {
                provide: LINK_ROUTER_TARGET,
                useFactory: (withHref, routerLink) => withHref || routerLink,
                deps: [
                    [new Optional(), new Self(), RouterLink],
                    [new Optional(), new Self(), RouterLink]
                ]
            }
        ], queries: [{ propertyName: "iconComponents", predicate: FD_ICON_COMPONENT, isSignal: true }], viewQueries: [{ propertyName: "contentSpan", first: true, predicate: ["content"], descendants: true, isSignal: true }], ngImport: i0, template: "@if (prefixPortal()) {\n    <span class=\"fd-link__icon-container\" role=\"presentation\" aria-hidden=\"true\">\n        <ng-container *cdkPortalOutlet=\"prefixPortal()\"></ng-container>\n    </span>\n}\n<span class=\"fd-link__content\" #content [class.fd-link__content--icon-line-height]=\"postfixPortal() || prefixPortal()\">\n    <ng-content></ng-content>\n</span>\n@if (postfixPortal()) {\n    <span class=\"fd-link__icon-container\" role=\"presentation\" aria-hidden=\"true\">\n        <ng-container *cdkPortalOutlet=\"postfixPortal()\"></ng-container>\n    </span>\n}\n@if (emphasized()) {\n    <span class=\"fd-link__sr-only\">{{ ('coreLink.emphasized' | fdTranslate)() }}</span>\n}\n@if (subtle()) {\n    <span class=\"fd-link__sr-only\">{{ ('coreLink.subtle' | fdTranslate)() }}</span>\n}\n", styles: [".fd-link{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapLinkColor);cursor:pointer;display:var(--fdLink_Display, inline-block);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;text-shadow:var(--sapContent_TextShadow);-webkit-box-align:center;-ms-flex-align:center;align-items:center;line-height:inherit;line-height:var(--fdLink_Line_Height, 1rem);overflow-wrap:break-word;text-decoration:var(--fdLink_Text_Decoration, none);text-underline-offset:.125rem;-webkit-transition:all .125s ease-in;transition:all .125s ease-in;white-space:normal;word-break:break-word}.fd-link:after,.fd-link:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-link__content{text-decoration:var(--fdLink_Text_Content_Decoration, none)}.fd-link.is-hover,.fd-link:hover{--fdLink_Text_Decoration:var(--fdLink_Text_Decoration_Hover,none);--fdLink_Text_Content_Decoration:var(--fdLink_Text_Content_Decoration_Hover,none)}.fd-link.is-focus,.fd-link:focus{--fdLink_Text_Decoration:var(--fdLink_Text_Decoration_Focus,none);--fdLink_Text_Content_Decoration:var(--fdLink_Text_Content_Decoration_Focus,none)}.fd-link.is-active,.fd-link:active{--fdLink_Text_Decoration:var(--fdLink_Text_Decoration_Active,none);--fdLink_Text_Content_Decoration:var(--fdLink_Text_Content_Decoration_Active,none)}.fd-link.is-disabled,.fd-link:disabled,.fd-link[aria-disabled=true]{--fdLink_Text_Decoration:var(--fdLink_Text_Decoration_Disabled,none);--fdLink_Text_Content_Decoration:var(--fdLink_Text_Content_Decoration_Disabled,none)}.fd-link--subtle{--fdLink_Text_Content_Decoration:var(--fdLink_Text_Content_Decoration_Subtle,none);--fdLink_Text_Content_Decoration_Hover:var(--fdLink_Text_Content_Decoration_Subtle_Hover,none);--fdLink_Text_Content_Decoration_Active:var(--fdLink_Text_Content_Decoration_Subtle_Active,none);--fdLink_Text_Decoration:var(--fdLink_Text_Decoration_Subtle,none);--fdLink_Text_Decoration_Hover:var(--fdLink_Text_Decoration_Subtle_Hover,none);--fdLink_Text_Decoration_Active:var(--fdLink_Text_Decoration_Subtle_Active,none)}.fd-link--undecorated{--fdLink_Text_Decoration:none;--fdLink_Text_Decoration_Subtle:none;--fdLink_Text_Decoration_Subtle_Hover:none;--fdLink_Text_Decoration_Subtle_Active:none;--fdLink_Text_Decoration_Hover:none;--fdLink_Text_Decoration_Focus:none;--fdLink_Text_Decoration_Active:none;--fdLink_Text_Decoration_Visited:none;--fdLink_Text_Decoration_Disabled:none;--fdLink_Text_Content_Decoration:none;--fdLink_Text_Content_Decoration_Subtle:none;--fdLink_Text_Content_Decoration_Subtle_Hover:none;--fdLink_Text_Content_Decoration_Subtle_Active:none;--fdLink_Text_Content_Decoration_Hover:none;--fdLink_Text_Content_Decoration_Focus:none;--fdLink_Text_Content_Decoration_Active:none;--fdLink_Text_Content_Decoration_Visited:none;--fdLink_Text_Content_Decoration_Disabled:none}.fd-link--emphasized{font-family:var(--sapFontBoldFamily)}.fd-link--touch-target{--fdLink_Line_Height:1.5rem}.fd-link:visited{color:var(--sapLink_Visited_Color)}.fd-link.is-hover,.fd-link:hover{color:var(--sapLink_Hover_Color)}.fd-link.is-focus,.fd-link:focus{background-color:var(--fdLink_Focus_Background);border-radius:var(--fdLink_Focus_Border_Radius);-webkit-box-shadow:none;box-shadow:none;color:var(--fdLink_Text_Focus_Color);outline:var(--fdLink_Hover_Outline_Color) var(--fdLink_Hover_Outline_Style) var(--fdLink_Hover_Outline_Width);outline-offset:var(--fdLink_Hover_Outline_Offset);text-shadow:var(--fdLink_Focus_Text_Shadow)}.fd-link.is-active,.fd-link:active{color:var(--sapLink_Active_Color)}.fd-link.is-active.is-focus,.fd-link.is-active:focus,.fd-link:active.is-focus,.fd-link:active:focus{background-color:transparent;z-index:5}.fd-link--inverted{text-shadow:none}.fd-link--inverted,.fd-link--inverted.is-hover,.fd-link--inverted:hover{color:var(--sapLink_InvertedColor)}.fd-link--inverted.is-focus,.fd-link--inverted:focus{outline-color:var(--sapContent_ContrastFocusColor);z-index:5}.fd-link--subtle{color:var(--sapLink_SubtleColor)}.fd-link.is-disabled,.fd-link:disabled,.fd-link[aria-disabled=true]{color:var(--sapLinkColor);opacity:var(--sapContent_DisabledOpacity);pointer-events:none}.fd-link>img{vertical-align:bottom}.fd-link [class*=sap-icon],.fd-link[class*=sap-icon]{color:var(--sapLinkColor);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;line-height:1;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.fd-link [class*=sap-icon]:first-child,.fd-link[class*=sap-icon]:first-child{-webkit-margin-end:.125rem;margin-inline-end:.125rem}.fd-link [class*=sap-icon]:last-child,.fd-link[class*=sap-icon]:last-child{-webkit-margin-start:.125rem;margin-inline-start:.125rem}.fd-link.is-hover [class*=sap-icon],.fd-link.is-hover[class*=sap-icon],.fd-link:hover [class*=sap-icon],.fd-link:hover[class*=sap-icon]{color:var(--sapLink_Hover_Color);text-decoration:var(--fdLink_Text_Decoration_Hover)}.fd-link.is-focus,.fd-link:focus{z-index:5}.fd-link.is-focus [class*=sap-icon],.fd-link.is-focus[class*=sap-icon],.fd-link:focus [class*=sap-icon],.fd-link:focus[class*=sap-icon]{color:var(--fdLink_Text_Focus_Color);text-decoration:var(--fdLink_Text_Decoration_Focus)}.fd-link.is-active [class*=sap-icon],.fd-link.is-active[class*=sap-icon],.fd-link:active [class*=sap-icon],.fd-link:active[class*=sap-icon]{color:var(--sapLink_Active_Color);text-decoration:var(--fdLink_Text_Decoration_Active)}.fd-link:visited:not(:focus) [class*=sap-icon],.fd-link:visited:not(:focus)[class*=sap-icon]{color:var(--sapLink_Visited_Color)}.fd-link__sr-only{position:absolute;clip:rect(0 0 0 0);border:0;height:1px;margin-block:-1px;margin-inline:-1px;overflow:hidden;padding-block:0;padding-inline:0;white-space:nowrap;width:1px}.fd-link__content--icon-line-height{line-height:var(--sapContent_LineHeight)}.fd-link__icon-container{display:inline-flex;justify-content:center;align-items:center}.fd-link__icon-container:first-child{margin-inline-end:var(--fdLink_Icon_Spacing, 0)}.fd-link__icon-container:last-child{margin-inline-start:var(--fdLink_Icon_Spacing, 0)}\n/*!\n * Fundamental Library Styles v0.41.7\n * Copyright (c) 2026 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */\n"], dependencies: [{ kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: LinkComponent, decorators: [{
            type: Component,
            args: [{ selector: '[fdLink], [fd-link]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
                        '[attr.aria-disabled]': 'disabled() ? true : false',
                        class: 'fd-link',
                        '[class.fd-link--emphasized]': 'emphasized()',
                        '[class.is-disabled]': 'disabled()',
                        '[class.fd-link--inverted]': 'inverted()',
                        '[class.fd-link--subtle]': 'subtle()',
                        '[class.fd-link--undecorated]': 'undecorated()',
                        '[class.fd-link--touch-target]': 'touchTarget()'
                    }, providers: [
                        {
                            provide: FD_LINK_COMPONENT,
                            useExisting: LinkComponent
                        },
                        {
                            provide: LINK_ROUTER_TARGET,
                            useFactory: (withHref, routerLink) => withHref || routerLink,
                            deps: [
                                [new Optional(), new Self(), RouterLink],
                                [new Optional(), new Self(), RouterLink]
                            ]
                        }
                    ], imports: [PortalModule, FdTranslatePipe], template: "@if (prefixPortal()) {\n    <span class=\"fd-link__icon-container\" role=\"presentation\" aria-hidden=\"true\">\n        <ng-container *cdkPortalOutlet=\"prefixPortal()\"></ng-container>\n    </span>\n}\n<span class=\"fd-link__content\" #content [class.fd-link__content--icon-line-height]=\"postfixPortal() || prefixPortal()\">\n    <ng-content></ng-content>\n</span>\n@if (postfixPortal()) {\n    <span class=\"fd-link__icon-container\" role=\"presentation\" aria-hidden=\"true\">\n        <ng-container *cdkPortalOutlet=\"postfixPortal()\"></ng-container>\n    </span>\n}\n@if (emphasized()) {\n    <span class=\"fd-link__sr-only\">{{ ('coreLink.emphasized' | fdTranslate)() }}</span>\n}\n@if (subtle()) {\n    <span class=\"fd-link__sr-only\">{{ ('coreLink.subtle' | fdTranslate)() }}</span>\n}\n", styles: [".fd-link{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapLinkColor);cursor:pointer;display:var(--fdLink_Display, inline-block);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;text-shadow:var(--sapContent_TextShadow);-webkit-box-align:center;-ms-flex-align:center;align-items:center;line-height:inherit;line-height:var(--fdLink_Line_Height, 1rem);overflow-wrap:break-word;text-decoration:var(--fdLink_Text_Decoration, none);text-underline-offset:.125rem;-webkit-transition:all .125s ease-in;transition:all .125s ease-in;white-space:normal;word-break:break-word}.fd-link:after,.fd-link:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-link__content{text-decoration:var(--fdLink_Text_Content_Decoration, none)}.fd-link.is-hover,.fd-link:hover{--fdLink_Text_Decoration:var(--fdLink_Text_Decoration_Hover,none);--fdLink_Text_Content_Decoration:var(--fdLink_Text_Content_Decoration_Hover,none)}.fd-link.is-focus,.fd-link:focus{--fdLink_Text_Decoration:var(--fdLink_Text_Decoration_Focus,none);--fdLink_Text_Content_Decoration:var(--fdLink_Text_Content_Decoration_Focus,none)}.fd-link.is-active,.fd-link:active{--fdLink_Text_Decoration:var(--fdLink_Text_Decoration_Active,none);--fdLink_Text_Content_Decoration:var(--fdLink_Text_Content_Decoration_Active,none)}.fd-link.is-disabled,.fd-link:disabled,.fd-link[aria-disabled=true]{--fdLink_Text_Decoration:var(--fdLink_Text_Decoration_Disabled,none);--fdLink_Text_Content_Decoration:var(--fdLink_Text_Content_Decoration_Disabled,none)}.fd-link--subtle{--fdLink_Text_Content_Decoration:var(--fdLink_Text_Content_Decoration_Subtle,none);--fdLink_Text_Content_Decoration_Hover:var(--fdLink_Text_Content_Decoration_Subtle_Hover,none);--fdLink_Text_Content_Decoration_Active:var(--fdLink_Text_Content_Decoration_Subtle_Active,none);--fdLink_Text_Decoration:var(--fdLink_Text_Decoration_Subtle,none);--fdLink_Text_Decoration_Hover:var(--fdLink_Text_Decoration_Subtle_Hover,none);--fdLink_Text_Decoration_Active:var(--fdLink_Text_Decoration_Subtle_Active,none)}.fd-link--undecorated{--fdLink_Text_Decoration:none;--fdLink_Text_Decoration_Subtle:none;--fdLink_Text_Decoration_Subtle_Hover:none;--fdLink_Text_Decoration_Subtle_Active:none;--fdLink_Text_Decoration_Hover:none;--fdLink_Text_Decoration_Focus:none;--fdLink_Text_Decoration_Active:none;--fdLink_Text_Decoration_Visited:none;--fdLink_Text_Decoration_Disabled:none;--fdLink_Text_Content_Decoration:none;--fdLink_Text_Content_Decoration_Subtle:none;--fdLink_Text_Content_Decoration_Subtle_Hover:none;--fdLink_Text_Content_Decoration_Subtle_Active:none;--fdLink_Text_Content_Decoration_Hover:none;--fdLink_Text_Content_Decoration_Focus:none;--fdLink_Text_Content_Decoration_Active:none;--fdLink_Text_Content_Decoration_Visited:none;--fdLink_Text_Content_Decoration_Disabled:none}.fd-link--emphasized{font-family:var(--sapFontBoldFamily)}.fd-link--touch-target{--fdLink_Line_Height:1.5rem}.fd-link:visited{color:var(--sapLink_Visited_Color)}.fd-link.is-hover,.fd-link:hover{color:var(--sapLink_Hover_Color)}.fd-link.is-focus,.fd-link:focus{background-color:var(--fdLink_Focus_Background);border-radius:var(--fdLink_Focus_Border_Radius);-webkit-box-shadow:none;box-shadow:none;color:var(--fdLink_Text_Focus_Color);outline:var(--fdLink_Hover_Outline_Color) var(--fdLink_Hover_Outline_Style) var(--fdLink_Hover_Outline_Width);outline-offset:var(--fdLink_Hover_Outline_Offset);text-shadow:var(--fdLink_Focus_Text_Shadow)}.fd-link.is-active,.fd-link:active{color:var(--sapLink_Active_Color)}.fd-link.is-active.is-focus,.fd-link.is-active:focus,.fd-link:active.is-focus,.fd-link:active:focus{background-color:transparent;z-index:5}.fd-link--inverted{text-shadow:none}.fd-link--inverted,.fd-link--inverted.is-hover,.fd-link--inverted:hover{color:var(--sapLink_InvertedColor)}.fd-link--inverted.is-focus,.fd-link--inverted:focus{outline-color:var(--sapContent_ContrastFocusColor);z-index:5}.fd-link--subtle{color:var(--sapLink_SubtleColor)}.fd-link.is-disabled,.fd-link:disabled,.fd-link[aria-disabled=true]{color:var(--sapLinkColor);opacity:var(--sapContent_DisabledOpacity);pointer-events:none}.fd-link>img{vertical-align:bottom}.fd-link [class*=sap-icon],.fd-link[class*=sap-icon]{color:var(--sapLinkColor);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;line-height:1;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.fd-link [class*=sap-icon]:first-child,.fd-link[class*=sap-icon]:first-child{-webkit-margin-end:.125rem;margin-inline-end:.125rem}.fd-link [class*=sap-icon]:last-child,.fd-link[class*=sap-icon]:last-child{-webkit-margin-start:.125rem;margin-inline-start:.125rem}.fd-link.is-hover [class*=sap-icon],.fd-link.is-hover[class*=sap-icon],.fd-link:hover [class*=sap-icon],.fd-link:hover[class*=sap-icon]{color:var(--sapLink_Hover_Color);text-decoration:var(--fdLink_Text_Decoration_Hover)}.fd-link.is-focus,.fd-link:focus{z-index:5}.fd-link.is-focus [class*=sap-icon],.fd-link.is-focus[class*=sap-icon],.fd-link:focus [class*=sap-icon],.fd-link:focus[class*=sap-icon]{color:var(--fdLink_Text_Focus_Color);text-decoration:var(--fdLink_Text_Decoration_Focus)}.fd-link.is-active [class*=sap-icon],.fd-link.is-active[class*=sap-icon],.fd-link:active [class*=sap-icon],.fd-link:active[class*=sap-icon]{color:var(--sapLink_Active_Color);text-decoration:var(--fdLink_Text_Decoration_Active)}.fd-link:visited:not(:focus) [class*=sap-icon],.fd-link:visited:not(:focus)[class*=sap-icon]{color:var(--sapLink_Visited_Color)}.fd-link__sr-only{position:absolute;clip:rect(0 0 0 0);border:0;height:1px;margin-block:-1px;margin-inline:-1px;overflow:hidden;padding-block:0;padding-inline:0;white-space:nowrap;width:1px}.fd-link__content--icon-line-height{line-height:var(--sapContent_LineHeight)}.fd-link__icon-container{display:inline-flex;justify-content:center;align-items:center}.fd-link__icon-container:first-child{margin-inline-end:var(--fdLink_Icon_Spacing, 0)}.fd-link__icon-container:last-child{margin-inline-start:var(--fdLink_Icon_Spacing, 0)}\n/*!\n * Fundamental Library Styles v0.41.7\n * Copyright (c) 2026 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */\n"] }]
        }], ctorParameters: () => [], propDecorators: { iconComponents: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => FD_ICON_COMPONENT), { ...{ descendants: false }, isSignal: true }] }], contentSpan: [{ type: i0.ViewChild, args: ['content', { isSignal: true }] }], emphasized: [{ type: i0.Input, args: [{ isSignal: true, alias: "emphasized", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], inverted: [{ type: i0.Input, args: [{ isSignal: true, alias: "inverted", required: false }] }], subtle: [{ type: i0.Input, args: [{ isSignal: true, alias: "subtle", required: false }] }], undecorated: [{ type: i0.Input, args: [{ isSignal: true, alias: "undecorated", required: false }] }], touchTarget: [{ type: i0.Input, args: [{ isSignal: true, alias: "touchTarget", required: false }] }] } });

/**
 * @deprecated
 * Use direct imports of components and directives.
 */
class LinkModule {
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: LinkModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
    static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.0", ngImport: i0, type: LinkModule, imports: [LinkComponent], exports: [LinkComponent] }); }
    static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: LinkModule, imports: [LinkComponent] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: LinkModule, decorators: [{
            type: NgModule,
            args: [{
                    imports: [LinkComponent],
                    exports: [LinkComponent]
                }]
        }] });

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

export { FD_LINK_COMPONENT, LINK_CLASS_NAME, LinkComponent, LinkModule };
//# sourceMappingURL=fundamental-ngx-core-link.mjs.map
