{"version":3,"file":"taiga-ui-core-directives-icons.mjs","sources":["../../../projects/core/directives/icons/icons.directive.ts","../../../projects/core/directives/icons/with-icons.ts","../../../projects/core/directives/icons/taiga-ui-core-directives-icons.ts"],"sourcesContent":["import {\n    ChangeDetectionStrategy,\n    Component,\n    computed,\n    Directive,\n    inject,\n    Input,\n    signal,\n    ViewEncapsulation,\n} from '@angular/core';\nimport {type SafeResourceUrl} from '@angular/platform-browser';\nimport {type TuiStringHandler} from '@taiga-ui/cdk/types';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n    TUI_ICON_END,\n    TUI_ICON_START,\n    tuiGetIconMode,\n    tuiInjectIconResolver,\n} from '@taiga-ui/core/tokens';\n\n/**\n * Workaround for {@link TuiAvatar} to properly handle icon color in {@link TuiAppearance}\n */\ntype Icon = SafeResourceUrl | string | null | undefined;\n\n@Component({\n    standalone: true,\n    template: '',\n    styles: ['@import \"@taiga-ui/core/styles/components/icons.less\";'],\n    encapsulation: ViewEncapsulation.None,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    host: {\n        class: 'tui-icons',\n    },\n})\nclass TuiIconsStyles {}\n\n@Directive({\n    standalone: true,\n    host: {\n        tuiIcons: '',\n        '[style.--t-icon-start]': 'startResource()',\n        '[style.--t-icon-end]': 'endResource()',\n        '[attr.data-icon-start]': 'startMode()',\n        '[attr.data-icon-end]': 'endMode()',\n    },\n})\nexport class TuiIcons {\n    private readonly resolver: TuiStringHandler<string> = tuiInjectIconResolver();\n\n    protected readonly nothing = tuiWithStyles(TuiIconsStyles);\n    protected readonly startResource = computed(() => this.resolve(this.iconStart()));\n    protected readonly endResource = computed(() => this.resolve(this.iconEnd()));\n    protected readonly startMode = computed(() =>\n        tuiGetIconMode(this.iconStart()?.toString()),\n    );\n\n    protected readonly endMode = computed(() => tuiGetIconMode(this.iconEnd()));\n\n    public readonly iconStart = signal<Icon>(\n        inject(TUI_ICON_START, {self: true, optional: true}) || '',\n    );\n\n    public readonly iconEnd = signal<string>(\n        inject(TUI_ICON_END, {self: true, optional: true}) || '',\n    );\n\n    // TODO(v5): use signal inputs\n    @Input('iconStart')\n    public set iconStartSetter(x: Icon) {\n        this.iconStart.set(x);\n    }\n\n    // TODO(v5): use signal inputs\n    @Input('iconEnd')\n    public set iconEndSetter(x: string) {\n        this.iconEnd.set(x);\n    }\n\n    protected resolve(icon: Icon): string | null {\n        if (!icon) {\n            return null;\n        }\n\n        const iconStr = icon.toString();\n\n        return tuiGetIconMode(iconStr) === 'font'\n            ? `'${this.resolver(iconStr)}'`\n            : `url(${this.resolver(iconStr)})`;\n    }\n}\n","import {Directive} from '@angular/core';\n\nimport {TuiIcons} from './icons.directive';\n\n@Directive({\n    standalone: true,\n    hostDirectives: [\n        {\n            directive: TuiIcons,\n            inputs: ['iconStart', 'iconEnd'],\n        },\n    ],\n})\nexport class TuiWithIcons {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.TuiIcons"],"mappings":"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"}