{"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 {\n    ChangeDetectionStrategy,\n    Component,\n    computed,\n    inject,\n    input,\n    viewChildren,\n    ViewEncapsulation,\n} from '@angular/core';\nimport {FormsModule, NgControl, type ValidatorFn, Validators} from '@angular/forms';\nimport {tuiAsControl, TuiControl} from '@taiga-ui/cdk/classes';\nimport {TUI_STRINGIFY, TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {TuiValidator} from '@taiga-ui/cdk/directives/validator';\nimport {tuiGenerateId} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiRadio} from '@taiga-ui/core/components/radio';\nimport {\n    TUI_ITEMS_HANDLERS,\n    TuiWithItemsHandlers,\n} from '@taiga-ui/core/directives/items-handlers';\nimport {type TuiSizeS} from '@taiga-ui/core/types';\nimport {PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\nconst ERROR: ValidatorFn = () => ({error: 'Invalid'});\n\n@Component({\n    selector: 'tui-radio-list',\n    imports: [FormsModule, PolymorpheusOutlet, TuiRadio, TuiValidator],\n    templateUrl: './radio-list.template.html',\n    styles: `\n        [data-tui-version='${TUI_VERSION}'] {\n            @import './radio-list.style.less';\n        }\n    `,\n    encapsulation: ViewEncapsulation.None,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    providers: [tuiAsControl(TuiRadioList)],\n    hostDirectives: [TuiWithItemsHandlers],\n    host: {\n        'data-tui-version': TUI_VERSION,\n        role: 'radiogroup',\n        '[attr.data-size]': 'size()',\n        '(focusout)': 'onFocusOut()',\n    },\n})\nexport class TuiRadioList<T> extends TuiControl<T> {\n    private readonly controls = viewChildren(NgControl);\n    private readonly id = tuiGenerateId();\n    protected readonly handlers = inject(TUI_ITEMS_HANDLERS);\n\n    protected readonly validator = computed(() =>\n        this.invalid() ? ERROR : Validators.nullValidator,\n    );\n\n    public readonly items = input<readonly T[]>();\n    public readonly size = input<TuiSizeS>('m');\n    public readonly itemContent = input(TUI_STRINGIFY);\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.handlers.identityMatcher()(this.value(), item);\n    }\n}\n","@for (item of items(); track item) {\n    <label\n        class=\"t-item\"\n        [class.t-item_disabled]=\"disabled() || handlers.disabledItemHandler()(item)\"\n    >\n        <input\n            tuiRadio\n            type=\"radio\"\n            [disabled]=\"disabled() || handlers.disabledItemHandler()(item)\"\n            [identityMatcher]=\"handlers.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\n            *polymorpheusOutlet=\"itemContent() as text; context: {$implicit: item, active: itemIsActive(item)}\"\n        >\n            {{ text }}\n        </ng-container>\n    </label>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}