{"version":3,"file":"taiga-ui-kit-components-radio-list.mjs","sources":["../../../projects/kit/components/radio-list/radio-list.component.ts","../../../projects/kit/components/radio-list/radio-list.template.html","../../../projects/kit/components/radio-list/taiga-ui-kit-components-radio-list.ts"],"sourcesContent":["import {NgForOf} from '@angular/common';\nimport type {QueryList} from '@angular/core';\nimport {\n    ChangeDetectionStrategy,\n    Component,\n    computed,\n    inject,\n    Input,\n    ViewChildren,\n    ViewEncapsulation,\n} from '@angular/core';\nimport type {ValidatorFn} from '@angular/forms';\nimport {FormsModule, NgControl, Validators} from '@angular/forms';\nimport {tuiAsControl, TuiControl} from '@taiga-ui/cdk/classes';\nimport {\n    EMPTY_QUERY,\n    TUI_DEFAULT_IDENTITY_MATCHER,\n    TUI_FALSE_HANDLER,\n} from '@taiga-ui/cdk/constants';\nimport {TuiValidator} from '@taiga-ui/cdk/directives/validator';\nimport {TuiIdService} from '@taiga-ui/cdk/services';\nimport type {TuiBooleanHandler, TuiIdentityMatcher} from '@taiga-ui/cdk/types';\nimport type {TuiSizeS, TuiValueContentContext} from '@taiga-ui/core/types';\nimport {TuiRadio} from '@taiga-ui/kit/components/radio';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\nimport {PolymorpheusOutlet, PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\n\nconst ERROR: ValidatorFn = () => ({error: 'Invalid'});\n\n@Component({\n    standalone: true,\n    selector: 'tui-radio-list',\n    imports: [\n        FormsModule,\n        NgForOf,\n        PolymorpheusOutlet,\n        PolymorpheusTemplate,\n        TuiRadio,\n        TuiValidator,\n    ],\n    templateUrl: './radio-list.template.html',\n    styleUrls: ['./radio-list.style.less'],\n    encapsulation: ViewEncapsulation.None,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    providers: [tuiAsControl(TuiRadioList)],\n    host: {\n        '[attr.data-size]': 'size',\n        '(focusout)': 'onFocusOut()',\n    },\n})\nexport class TuiRadioList<T> extends TuiControl<T> {\n    @ViewChildren(NgControl)\n    private readonly controls: QueryList<NgControl> = EMPTY_QUERY;\n\n    private readonly id = inject(TuiIdService).generate();\n\n    protected validator = computed(() =>\n        this.invalid() ? ERROR : Validators.nullValidator,\n    );\n\n    @Input()\n    public items: readonly T[] = [];\n\n    @Input()\n    public size: TuiSizeS = 'm';\n\n    @Input()\n    public identityMatcher: TuiIdentityMatcher<T> = TUI_DEFAULT_IDENTITY_MATCHER;\n\n    @Input()\n    public disabledItemHandler: TuiBooleanHandler<T> = TUI_FALSE_HANDLER;\n\n    @Input()\n    public itemContent: PolymorpheusContent<TuiValueContentContext<T>> = ({$implicit}) =>\n        String($implicit);\n\n    protected get name(): string {\n        return `${this.control.name}-${this.id}`;\n    }\n\n    protected onFocusOut(): void {\n        this.controls.forEach((control) => control.control?.markAsTouched());\n\n        if (!this.touched()) {\n            this.onTouched();\n        }\n    }\n\n    protected itemIsActive(item: T): boolean {\n        return this.value() === null\n            ? item === null\n            : this.identityMatcher(this.value(), item);\n    }\n}\n","<label\n    *ngFor=\"let item of items; index as index\"\n    class=\"t-item\"\n    [class.t-item_disabled]=\"disabled() || disabledItemHandler(item)\"\n>\n    <input\n        tuiRadio\n        type=\"radio\"\n        [disabled]=\"disabled() || disabledItemHandler(item)\"\n        [identityMatcher]=\"identityMatcher\"\n        [name]=\"name\"\n        [ngModel]=\"value()\"\n        [ngModelOptions]=\"{standalone: true}\"\n        [size]=\"size\"\n        [tuiValidator]=\"validator()\"\n        [value]=\"item\"\n        (ngModelChange)=\"onChange($event)\"\n    />\n    <ng-container *polymorpheusOutlet=\"itemContent as text; context: {$implicit: item, active: itemIsActive(item)}\">\n        {{ text }}\n    </ng-container>\n</label>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}