UNPKG

@taiga-ui/kit

Version:
99 lines • 13.5 kB
var TuiRadioListComponent_1; import { __decorate, __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'; let TuiRadioListComponent = TuiRadioListComponent_1 = class TuiRadioListComponent extends AbstractTuiNullableControl { constructor(control, changeDetectorRef, elementRef) { super(control, changeDetectorRef); 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 = ({ $implicit, }) => String($implicit); this.disabledItemHandler = ALWAYS_FALSE_HANDLER; this.radioButtons = EMPTY_QUERY; } get nativeFocusableElement() { const focusableRadioButton = this.radioButtons.find(radioButton => radioButton.nativeFocusableElement !== null); return focusableRadioButton ? focusableRadioButton.nativeFocusableElement : null; } get focused() { return isNativeFocusedIn(this.elementRef.nativeElement); } computeId(index) { return `${this.id}-${index}`; } itemIsDisabled(item) { return this.disabledItemHandler(item); } getContentContext(item, index, active) { return { $implicit: item, index, active }; } onModelChange(value) { this.updateValue(value); } itemIsActive(item) { return this.value === null ? item === null : this.identityMatcher(this.value, item); } }; TuiRadioListComponent.ctorParameters = () => [ { 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(() => 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); export { TuiRadioListComponent }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvcmFkaW8tbGlzdC8iLCJzb3VyY2VzIjpbInJhZGlvLWxpc3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixVQUFVLEVBQ1YsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLFNBQVMsRUFDVCxJQUFJLEVBQ0osWUFBWSxHQUNmLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQ0gsMEJBQTBCLEVBQzFCLG9CQUFvQixFQUNwQixXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLDRCQUE0QixFQUM1QiwyQkFBMkIsRUFFM0IsY0FBYyxHQUdqQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQWVoRixJQUFhLHFCQUFxQiw2QkFBbEMsTUFBYSxxQkFBeUIsU0FBUSwwQkFBNkI7SUFpQ3ZFLFlBSUksT0FBeUIsRUFDRSxpQkFBb0MsRUFDMUIsVUFBbUM7UUFFeEUsS0FBSyxDQUFDLE9BQU8sRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBRkcsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFwQzVFLFVBQUssR0FBcUIsRUFBRSxDQUFDO1FBSzdCLFNBQUksR0FBYSxHQUFHLENBQUM7UUFJckIsb0JBQWUsR0FBMEIsNEJBQTRCLENBQUM7UUFLdEUsZ0JBQVcsNkJBQTJDO1FBRXRELHdDQUF3QztRQUd4QyxnQkFBVyxHQUFxRSxDQUFDLEVBQzdFLFNBQVMsR0FDWixFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFJeEIsd0JBQW1CLEdBQXlC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aGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBRdWVyeUxpc3QsXG4gICAgU2VsZixcbiAgICBWaWV3Q2hpbGRyZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RUdWlOdWxsYWJsZUNvbnRyb2wsXG4gICAgQUxXQVlTX0ZBTFNFX0hBTkRMRVIsXG4gICAgRU1QVFlfUVVFUlksXG4gICAgaXNOYXRpdmVGb2N1c2VkSW4sXG4gICAgVFVJX0RFRkFVTFRfSURFTlRJVFlfTUFUQ0hFUixcbiAgICBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgVHVpQm9vbGVhbkhhbmRsZXIsXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpSWRlbnRpdHlNYXRjaGVyLFxuICAgIFR1aU5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUdWlPcmllbnRhdGlvbiwgVHVpU2l6ZUwsIFR1aVZhbHVlQ29udGVudENvbnRleHR9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7VHVpUmFkaW9MYWJlbGVkQ29tcG9uZW50fSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvcmFkaW8tbGFiZWxlZCc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLXJhZGlvLWxpc3QnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9yYWRpby1saXN0LnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3JhZGlvLWxpc3Quc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUdWlSYWRpb0xpc3RDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVJhZGlvTGlzdENvbXBvbmVudDxUPiBleHRlbmRzIEFic3RyYWN0VHVpTnVsbGFibGVDb250cm9sPFQ+IHtcbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgaXRlbXM6IFJlYWRvbmx5QXJyYXk8VD4gPSBbXTtcblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtdHVpLWhvc3Qtc2l6ZScpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzaXplOiBUdWlTaXplTCA9ICdtJztcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBpZGVudGl0eU1hdGNoZXI6IFR1aUlkZW50aXR5TWF0Y2hlcjxUPiA9IFRVSV9ERUZBVUxUX0lERU5USVRZX01BVENIRVI7XG5cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXR1aS1ob3N0LW9yaWVudGF0aW9uJylcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG9yaWVudGF0aW9uOiBUdWlPcmllbnRhdGlvbiA9IFR1aU9yaWVudGF0aW9uLlZlcnRpY2FsO1xuXG4gICAgLy8gQGJhZCBUT0RPOiBSZW1vdmUgJiB7IGluZGV4OiBudW1iZXIgfVxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBpdGVtQ29udGVudDogUG9seW1vcnBoZXVzQ29udGVudDxUdWlWYWx1ZUNvbnRlbnRDb250ZXh0PFQ+ICYge2luZGV4OiBudW1iZXJ9PiA9ICh7XG4gICAgICAgICRpbXBsaWNpdCxcbiAgICB9KSA9PiBTdHJpbmcoJGltcGxpY2l0KTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBkaXNhYmxlZEl0ZW1IYW5kbGVyOiBUdWlCb29sZWFuSGFuZGxlcjxUPiA9IEFMV0FZU19GQUxTRV9IQU5ETEVSO1xuXG4gICAgQFZpZXdDaGlsZHJlbihUdWlSYWRpb0xhYmVsZWRDb21wb25lbnQpXG4gICAgcHJpdmF0ZSByZWFkb25seSByYWRpb0J1dHRvbnM6IFF1ZXJ5TGlzdDxUdWlSYWRpb0xhYmVsZWRDb21wb25lbnQ8e30+PiA9IEVNUFRZX1FVRVJZO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpXG4gICAgICAgIGNvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICkge1xuICAgICAgICBzdXBlcihjb250cm9sLCBjaGFuZ2VEZXRlY3RvclJlZik7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQoKTogVHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudCB8IG51bGwge1xuICAgICAgICBjb25zdCBmb2N1c2FibGVSYWRpb0J1dHRvbiA9IHRoaXMucmFkaW9CdXR0b25zLmZpbmQoXG4gICAgICAgICAgICByYWRpb0J1dHRvbiA9PiByYWRpb0J1dHRvbi5uYXRpdmVGb2N1c2FibGVFbGVtZW50ICE9PSBudWxsLFxuICAgICAgICApO1xuXG4gICAgICAgIHJldHVybiBmb2N1c2FibGVSYWRpb0J1dHRvbiA/IGZvY3VzYWJsZVJhZGlvQnV0dG9uLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgOiBudWxsO1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gaXNOYXRpdmVGb2N1c2VkSW4odGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIGNvbXB1dGVJZChpbmRleDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAke3RoaXMuaWR9LSR7aW5kZXh9YDtcbiAgICB9XG5cbiAgICBpdGVtSXNEaXNhYmxlZChpdGVtOiBUKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRpc2FibGVkSXRlbUhhbmRsZXIoaXRlbSk7XG4gICAgfVxuXG4gICAgZ2V0Q29udGVudENvbnRleHQoXG4gICAgICAgIGl0ZW06IFQsXG4gICAgICAgIGluZGV4OiBudW1iZXIsXG4gICAgICAgIGFjdGl2ZTogYm9vbGVhbixcbiAgICApOiBUdWlWYWx1ZUNvbnRlbnRDb250ZXh0PFQ+ICYge2luZGV4OiBudW1iZXJ9IHtcbiAgICAgICAgcmV0dXJuIHskaW1wbGljaXQ6IGl0ZW0sIGluZGV4LCBhY3RpdmV9O1xuICAgIH1cblxuICAgIG9uTW9kZWxDaGFuZ2UodmFsdWU6IFQpIHtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgaXRlbUlzQWN0aXZlKGl0ZW06IFQpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUgPT09IG51bGxcbiAgICAgICAgICAgID8gaXRlbSA9PT0gbnVsbFxuICAgICAgICAgICAgOiB0aGlzLmlkZW50aXR5TWF0Y2hlcih0aGlzLnZhbHVlLCBpdGVtKTtcbiAgICB9XG59XG4iXX0=