UNPKG

@taiga-ui/kit

Version:

Taiga UI Angular main components kit

1 lines 6.59 kB
{"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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"}