{"version":3,"file":"taiga-ui-core-directives-icons.mjs","sources":["../../../projects/core/directives/icons/icons.directive.ts","../../../projects/core/directives/icons/icons.bindings.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    ViewEncapsulation,\n} from '@angular/core';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\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\nconst OPT = {self: true, optional: true} as const;\n\n@Component({\n    template: '',\n    styles: `\n        [data-tui-version='${TUI_VERSION}'] {\n            @import '@taiga-ui/styles/components/icons.less';\n        }\n    `,\n    encapsulation: ViewEncapsulation.None,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    exportAs: `tui-icons-${TUI_VERSION}`,\n})\nclass Styles {}\n\n@Directive({\n    host: {\n        'data-tui-version': TUI_VERSION,\n        tuiIcons: '',\n        '[attr.data-icon-end]': 'endMode()',\n        '[attr.data-icon-start]': 'startMode()',\n        '[style.--t-icon-end]': 'end()',\n        '[style.--t-icon-start]': 'start()',\n    },\n})\nexport class TuiIcons {\n    private readonly resolver = tuiInjectIconResolver();\n\n    protected readonly nothing = tuiWithStyles(Styles);\n    protected readonly start = computed(() => this.resolve(this.iconStart()));\n    protected readonly end = computed(() => this.resolve(this.iconEnd()));\n    protected readonly startMode = computed(() => tuiGetIconMode(this.iconStart()));\n    protected readonly endMode = computed(() => tuiGetIconMode(this.iconEnd()));\n\n    public readonly iconEnd = input(inject<string | undefined>(TUI_ICON_END, OPT));\n    public readonly iconStart = input(inject<string | undefined>(TUI_ICON_START, OPT));\n\n    public resolve(icon?: string | null): string | null {\n        if (!icon) {\n            return null;\n        }\n\n        return tuiGetIconMode(icon) === 'font'\n            ? `'${this.resolver(icon)}'`\n            : `url(${this.resolver(icon)})`;\n    }\n}\n","import {type InjectOptions, type Signal, type WritableSignal} from '@angular/core';\nimport {tuiDirectiveBinding} from '@taiga-ui/cdk/utils/di';\n\nimport {TuiIcons} from './icons.directive';\n\nexport function tuiIconStart(\n    value: WritableSignal<string> | string,\n    options?: InjectOptions,\n): WritableSignal<string>;\nexport function tuiIconStart(\n    value: Signal<string>,\n    options?: InjectOptions,\n): Signal<string>;\nexport function tuiIconStart(\n    value: Signal<string> | string,\n    options?: InjectOptions,\n): Signal<string> {\n    return tuiDirectiveBinding(TuiIcons, 'iconStart', value, options);\n}\n\nexport function tuiIconEnd(\n    value: WritableSignal<string> | string,\n    options?: InjectOptions,\n): WritableSignal<string>;\nexport function tuiIconEnd(\n    value: Signal<string>,\n    options?: InjectOptions,\n): Signal<string>;\nexport function tuiIconEnd(\n    value: Signal<string> | string,\n    options: InjectOptions = {},\n): Signal<string> {\n    return tuiDirectiveBinding(TuiIcons, 'iconEnd', value, options);\n}\n","import {Directive} from '@angular/core';\n\nimport {TuiIcons} from './icons.directive';\n\n@Directive({\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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"}