UNPKG

@taiga-ui/kit

Version:
114 lines • 14.7 kB
import { __decorate, __extends, __param } from "tslib"; import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, forwardRef, HostBinding, Inject, Input, Optional, QueryList, Self, ViewChildren, } from '@angular/core'; import { NgControl } from '@angular/forms'; import { AbstractTuiNullableControl, ALWAYS_FALSE_HANDLER, EMPTY_QUERY, isNativeFocusedIn, TUI_DEFAULT_IDENTITY_MATCHER, TUI_FOCUSABLE_ITEM_ACCESSOR, tuiDefaultProp, } from '@taiga-ui/cdk'; import { TuiRadioLabeledComponent } from '@taiga-ui/kit/components/radio-labeled'; var TuiRadioListComponent = /** @class */ (function (_super) { __extends(TuiRadioListComponent, _super); function TuiRadioListComponent(control, changeDetectorRef, elementRef) { var _this = _super.call(this, control, changeDetectorRef) || this; _this.elementRef = elementRef; _this.items = []; _this.size = 'm'; _this.identityMatcher = TUI_DEFAULT_IDENTITY_MATCHER; _this.orientation = "vertical" /* Vertical */; // @bad TODO: Remove & { index: number } _this.itemContent = function (_a) { var $implicit = _a.$implicit; return String($implicit); }; _this.disabledItemHandler = ALWAYS_FALSE_HANDLER; _this.radioButtons = EMPTY_QUERY; return _this; } TuiRadioListComponent_1 = TuiRadioListComponent; Object.defineProperty(TuiRadioListComponent.prototype, "nativeFocusableElement", { get: function () { var focusableRadioButton = this.radioButtons.find(function (radioButton) { return radioButton.nativeFocusableElement !== null; }); return focusableRadioButton ? focusableRadioButton.nativeFocusableElement : null; }, enumerable: true, configurable: true }); Object.defineProperty(TuiRadioListComponent.prototype, "focused", { get: function () { return isNativeFocusedIn(this.elementRef.nativeElement); }, enumerable: true, configurable: true }); TuiRadioListComponent.prototype.computeId = function (index) { return this.id + "-" + index; }; TuiRadioListComponent.prototype.itemIsDisabled = function (item) { return this.disabledItemHandler(item); }; TuiRadioListComponent.prototype.getContentContext = function (item, index, active) { return { $implicit: item, index: index, active: active }; }; TuiRadioListComponent.prototype.onModelChange = function (value) { this.updateValue(value); }; TuiRadioListComponent.prototype.itemIsActive = function (item) { return this.value === null ? item === null : this.identityMatcher(this.value, item); }; var TuiRadioListComponent_1; TuiRadioListComponent.ctorParameters = function () { return [ { type: NgControl, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [NgControl,] }] }, { type: ChangeDetectorRef, decorators: [{ type: Inject, args: [ChangeDetectorRef,] }] }, { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] } ]; }; __decorate([ Input(), tuiDefaultProp() ], TuiRadioListComponent.prototype, "items", void 0); __decorate([ Input(), HostBinding('attr.data-tui-host-size'), tuiDefaultProp() ], TuiRadioListComponent.prototype, "size", void 0); __decorate([ Input(), tuiDefaultProp() ], TuiRadioListComponent.prototype, "identityMatcher", void 0); __decorate([ Input(), HostBinding('attr.data-tui-host-orientation'), tuiDefaultProp() ], TuiRadioListComponent.prototype, "orientation", void 0); __decorate([ Input(), tuiDefaultProp() ], TuiRadioListComponent.prototype, "itemContent", void 0); __decorate([ Input(), tuiDefaultProp() ], TuiRadioListComponent.prototype, "disabledItemHandler", void 0); __decorate([ ViewChildren(TuiRadioLabeledComponent) ], TuiRadioListComponent.prototype, "radioButtons", void 0); TuiRadioListComponent = TuiRadioListComponent_1 = __decorate([ Component({ selector: 'tui-radio-list', template: "<tui-radio-group class=\"group\">\n <tui-radio-labeled\n *ngFor=\"let item of items; index as index\"\n class=\"item\"\n [readOnly]=\"readOnly\"\n [nativeId]=\"computeId(index)\"\n [disabled]=\"disabled\"\n [item]=\"item\"\n [size]=\"size\"\n [pseudoInvalid]=\"computedInvalid\"\n [pseudoDisabled]=\"itemIsDisabled(item)\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onModelChange($event)\"\n >\n <div\n polymorpheus-outlet\n [content]=\"itemContent\"\n [context]=\"getContentContext(item, index, itemIsActive(item))\"\n ></div>\n </tui-radio-labeled>\n</tui-radio-group>\n", changeDetection: ChangeDetectionStrategy.OnPush, providers: [ { provide: TUI_FOCUSABLE_ITEM_ACCESSOR, useExisting: forwardRef(function () { return TuiRadioListComponent_1; }), }, ], styles: [":host{display:block}:host._readonly{pointer-events:none}:host[data-tui-host-orientation=horizontal] .group{display:flex;justify-content:inherit}:host[data-tui-host-orientation=horizontal] .item:nth-child(n+2){margin-left:24px}:host[data-tui-host-orientation=vertical] .item:nth-child(n+2){margin-top:12px}:host[data-tui-host-size='l'][data-tui-host-orientation=horizontal] .item:nth-child(n+2){margin-left:40px}:host[data-tui-host-size='l'][data-tui-host-orientation=vertical] .item:nth-child(n+2){margin-top:16px}"] }), __param(0, Optional()), __param(0, Self()), __param(0, Inject(NgControl)), __param(1, Inject(ChangeDetectorRef)), __param(2, Inject(ElementRef)) ], TuiRadioListComponent); return TuiRadioListComponent; }(AbstractTuiNullableControl)); export { TuiRadioListComponent }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvcmFkaW8tbGlzdC8iLCJzb3VyY2VzIjpbInJhZGlvLWxpc3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFVBQVUsRUFDVixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsU0FBUyxFQUNULElBQUksRUFDSixZQUFZLEdBQ2YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCwwQkFBMEIsRUFDMUIsb0JBQW9CLEVBQ3BCLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsNEJBQTRCLEVBQzVCLDJCQUEyQixFQUUzQixjQUFjLEdBR2pCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBZWhGO0lBQThDLHlDQUE2QjtJQWlDdkUsK0JBSUksT0FBeUIsRUFDRSxpQkFBb0MsRUFDMUIsVUFBbUM7UUFONUUsWUFRSSxrQkFBTSxPQUFPLEVBQUUsaUJBQWlCLENBQUMsU0FDcEM7UUFId0MsZ0JBQVUsR0FBVixVQUFVLENBQXlCO1FBcEM1RSxXQUFLLEdBQXFCLEVBQUUsQ0FBQztRQUs3QixVQUFJLEdBQWEsR0FBRyxDQUFDO1FBSXJCLHFCQUFlLEdBQTBCLDRCQUE0QixDQUFDO1FBS3RFLGlCQUFXLDZCQUEyQztRQUV0RCx3Q0FBd0M7UUFHeEMsaUJBQVcsR0FBcUUsVUFBQyxFQUVoRjtnQkFERyx3QkFBUztZQUNQLE9BQUEsTUFBTSxDQUFDLFNBQVMsQ0FBQztRQUFqQixDQUFpQixDQUFDO1FBSXhCLHlCQUFtQixHQUF5QixvQkFBb0IsQ0FBQztRQUdo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QUE7T0F2Q2QscUJBQXFCLENBaUZqQztJQUFELDRCQUFDO0NBQUEsQUFqRkQsQ0FBOEMsMEJBQTBCLEdBaUZ2RTtTQWpGWSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBTZWxmLFxuICAgIFZpZXdDaGlsZHJlbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdFR1aU51bGxhYmxlQ29udHJvbCxcbiAgICBBTFdBWVNfRkFMU0VfSEFORExFUixcbiAgICBFTVBUWV9RVUVSWSxcbiAgICBpc05hdGl2ZUZvY3VzZWRJbixcbiAgICBUVUlfREVGQVVMVF9JREVOVElUWV9NQVRDSEVSLFxuICAgIFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUixcbiAgICBUdWlCb29sZWFuSGFuZGxlcixcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlJZGVudGl0eU1hdGNoZXIsXG4gICAgVHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1R1aU9yaWVudGF0aW9uLCBUdWlTaXplTCwgVHVpVmFsdWVDb250ZW50Q29udGV4dH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtUdWlSYWRpb0xhYmVsZWRDb21wb25lbnR9IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9yYWRpby1sYWJlbGVkJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktcmFkaW8tbGlzdCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3JhZGlvLWxpc3QudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcmFkaW8tbGlzdC5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFR1aVJhZGlvTGlzdENvbXBvbmVudCksXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpUmFkaW9MaXN0Q29tcG9uZW50PFQ+IGV4dGVuZHMgQWJzdHJhY3RUdWlOdWxsYWJsZUNvbnRyb2w8VD4ge1xuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBpdGVtczogUmVhZG9ubHlBcnJheTxUPiA9IFtdO1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS10dWktaG9zdC1zaXplJylcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNpemU6IFR1aVNpemVMID0gJ20nO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGlkZW50aXR5TWF0Y2hlcjogVHVpSWRlbnRpdHlNYXRjaGVyPFQ+ID0gVFVJX0RFRkFVTFRfSURFTlRJVFlfTUFUQ0hFUjtcblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtdHVpLWhvc3Qtb3JpZW50YXRpb24nKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgb3JpZW50YXRpb246IFR1aU9yaWVudGF0aW9uID0gVHVpT3JpZW50YXRpb24uVmVydGljYWw7XG5cbiAgICAvLyBAYmFkIFRPRE86IFJlbW92ZSAmIHsgaW5kZXg6IG51bWJlciB9XG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGl0ZW1Db250ZW50OiBQb2x5bW9ycGhldXNDb250ZW50PFR1aVZhbHVlQ29udGVudENvbnRleHQ8VD4gJiB7aW5kZXg6IG51bWJlcn0+ID0gKHtcbiAgICAgICAgJGltcGxpY2l0LFxuICAgIH0pID0+IFN0cmluZygkaW1wbGljaXQpO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGRpc2FibGVkSXRlbUhhbmRsZXI6IFR1aUJvb2xlYW5IYW5kbGVyPFQ+ID0gQUxXQVlTX0ZBTFNFX0hBTkRMRVI7XG5cbiAgICBAVmlld0NoaWxkcmVuKFR1aVJhZGlvTGFiZWxlZENvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJhZGlvQnV0dG9uczogUXVlcnlMaXN0PFR1aVJhZGlvTGFiZWxlZENvbXBvbmVudDx7fT4+ID0gRU1QVFlfUVVFUlk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQFNlbGYoKVxuICAgICAgICBASW5qZWN0KE5nQ29udHJvbClcbiAgICAgICAgY29udHJvbDogTmdDb250cm9sIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNvbnRyb2wsIGNoYW5nZURldGVjdG9yUmVmKTtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBUdWlOYXRpdmVGb2N1c2FibGVFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IGZvY3VzYWJsZVJhZGlvQnV0dG9uID0gdGhpcy5yYWRpb0J1dHRvbnMuZmluZChcbiAgICAgICAgICAgIHJhZGlvQnV0dG9uID0+IHJhZGlvQnV0dG9uLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgIT09IG51bGwsXG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIGZvY3VzYWJsZVJhZGlvQnV0dG9uID8gZm9jdXNhYmxlUmFkaW9CdXR0b24ubmF0aXZlRm9jdXNhYmxlRWxlbWVudCA6IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBpc05hdGl2ZUZvY3VzZWRJbih0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgY29tcHV0ZUlkKGluZGV4OiBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7dGhpcy5pZH0tJHtpbmRleH1gO1xuICAgIH1cblxuICAgIGl0ZW1Jc0Rpc2FibGVkKGl0ZW06IFQpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGlzYWJsZWRJdGVtSGFuZGxlcihpdGVtKTtcbiAgICB9XG5cbiAgICBnZXRDb250ZW50Q29udGV4dChcbiAgICAgICAgaXRlbTogVCxcbiAgICAgICAgaW5kZXg6IG51bWJlcixcbiAgICAgICAgYWN0aXZlOiBib29sZWFuLFxuICAgICk6IFR1aVZhbHVlQ29udGVudENvbnRleHQ8VD4gJiB7aW5kZXg6IG51bWJlcn0ge1xuICAgICAgICByZXR1cm4geyRpbXBsaWNpdDogaXRlbSwgaW5kZXgsIGFjdGl2ZX07XG4gICAgfVxuXG4gICAgb25Nb2RlbENoYW5nZSh2YWx1ZTogVCkge1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKHZhbHVlKTtcbiAgICB9XG5cbiAgICBpdGVtSXNBY3RpdmUoaXRlbTogVCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZSA9PT0gbnVsbFxuICAgICAgICAgICAgPyBpdGVtID09PSBudWxsXG4gICAgICAgICAgICA6IHRoaXMuaWRlbnRpdHlNYXRjaGVyKHRoaXMudmFsdWUsIGl0ZW0pO1xuICAgIH1cbn1cbiJdfQ==