UNPKG

@coreui/angular

Version:

CoreUI Components Library for Angular

63 lines 8.61 kB
import { booleanAttribute, computed, Directive, ElementRef, inject, input } from '@angular/core'; import * as i0 from "@angular/core"; export class ListGroupItemDirective { constructor() { this.hostElement = inject(ElementRef); /** * Toggle the active state for the component. * @type InputSignal<boolean | undefined> */ this.active = input(); /** * Sets the color context of the component to one of CoreUI’s themed colors. * @type InputSignal<boolean | undefined> */ this.color = input(); /** * Set disabled attr for the host element. [docs] * @type boolean */ this.disabled = input(false, { transform: booleanAttribute }); this.hostClasses = computed(() => { const host = this.hostElement.nativeElement; return { 'list-group-item': true, 'list-group-item-action': host.nodeName === 'A' || host.nodeName === 'BUTTON', active: !!this.active(), disabled: this._disabled(), [`list-group-item-${this.color()}`]: !!this.color() }; }); this._disabled = computed(() => this.disabled()); this.ariaDisabled = computed(() => { return this._disabled() ? true : null; }); this.attrDisabled = computed(() => { return this._disabled() ? '' : null; }); this.tabIndex = computed(() => { return this._disabled() ? '-1' : null; }); this.ariaCurrent = computed(() => { return this.active() || null; }); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ListGroupItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); } static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.12", type: ListGroupItemDirective, isStandalone: true, selector: "[cListGroupItem], c-list-group-item", inputs: { active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "hostClasses()", "attr.aria-disabled": "ariaDisabled()", "attr.aria-current": "ariaCurrent()", "attr.disabled": "attrDisabled()", "attr.tabindex": "tabIndex()" } }, exportAs: ["cListGroupItem"], ngImport: i0 }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ListGroupItemDirective, decorators: [{ type: Directive, args: [{ selector: '[cListGroupItem], c-list-group-item', exportAs: 'cListGroupItem', standalone: true, host: { '[class]': 'hostClasses()', '[attr.aria-disabled]': 'ariaDisabled()', '[attr.aria-current]': 'ariaCurrent()', '[attr.disabled]': 'attrDisabled()', '[attr.tabindex]': 'tabIndex()' } }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1ncm91cC1pdGVtLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvbGlzdC1ncm91cC9saXN0LWdyb3VwLWl0ZW0uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsUUFBUSxFQUNSLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFHTixNQUFNLGVBQWUsQ0FBQzs7QUFldkIsTUFBTSxPQUFPLHNCQUFzQjtJQVpuQztRQWFXLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRTFDOzs7V0FHRztRQUNNLFdBQU0sR0FBcUMsS0FBSyxFQUFFLENBQUM7UUFFNUQ7OztXQUdHO1FBQ00sVUFBSyxHQUFvQyxLQUFLLEVBQUUsQ0FBQztRQUUxRDs7O1dBR0c7UUFDTSxhQUFRLEdBQStDLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1FBRXJHLGdCQUFXLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNuQyxNQUFNLElBQUksR0FBZ0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUM7WUFDekQsT0FBTztnQkFDTCxpQkFBaUIsRUFBRSxJQUFJO2dCQUN2Qix3QkFBd0IsRUFBRSxJQUFJLENBQUMsUUFBUSxLQUFLLEdBQUcsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLFFBQVE7Z0JBQzdFLE1BQU0sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtnQkFDdkIsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUU7Z0JBQzFCLENBQUMsbUJBQW1CLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7YUFDcEQsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO1FBRU0sY0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUU1QyxpQkFBWSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDcEMsT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ3hDLENBQUMsQ0FBQyxDQUFDO1FBRU0saUJBQVksR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3BDLE9BQU8sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUN0QyxDQUFDLENBQUMsQ0FBQztRQUVNLGFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ2hDLE9BQU8sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUN4QyxDQUFDLENBQUMsQ0FBQztRQUVNLGdCQUFXLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNuQyxPQUFnQixJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksSUFBSSxDQUFDO1FBQ3hDLENBQUMsQ0FBQyxDQUFDO0tBQ0o7K0dBakRZLHNCQUFzQjttR0FBdEIsc0JBQXNCOzs0RkFBdEIsc0JBQXNCO2tCQVpsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQ0FBcUM7b0JBQy9DLFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0osU0FBUyxFQUFFLGVBQWU7d0JBQzFCLHNCQUFzQixFQUFFLGdCQUFnQjt3QkFDeEMscUJBQXFCLEVBQUUsZUFBZTt3QkFDdEMsaUJBQWlCLEVBQUUsZ0JBQWdCO3dCQUNuQyxpQkFBaUIsRUFBRSxZQUFZO3FCQUNoQztpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIGNvbXB1dGVkLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIElucHV0U2lnbmFsLFxuICBJbnB1dFNpZ25hbFdpdGhUcmFuc2Zvcm1cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb2xvcnMgfSBmcm9tICcuLi9jb3JldWkudHlwZXMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbY0xpc3RHcm91cEl0ZW1dLCBjLWxpc3QtZ3JvdXAtaXRlbScsXG4gIGV4cG9ydEFzOiAnY0xpc3RHcm91cEl0ZW0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzc10nOiAnaG9zdENsYXNzZXMoKScsXG4gICAgJ1thdHRyLmFyaWEtZGlzYWJsZWRdJzogJ2FyaWFEaXNhYmxlZCgpJyxcbiAgICAnW2F0dHIuYXJpYS1jdXJyZW50XSc6ICdhcmlhQ3VycmVudCgpJyxcbiAgICAnW2F0dHIuZGlzYWJsZWRdJzogJ2F0dHJEaXNhYmxlZCgpJyxcbiAgICAnW2F0dHIudGFiaW5kZXhdJzogJ3RhYkluZGV4KCknXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgTGlzdEdyb3VwSXRlbURpcmVjdGl2ZSB7XG4gIHJlYWRvbmx5IGhvc3RFbGVtZW50ID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXG4gIC8qKlxuICAgKiBUb2dnbGUgdGhlIGFjdGl2ZSBzdGF0ZSBmb3IgdGhlIGNvbXBvbmVudC5cbiAgICogQHR5cGUgSW5wdXRTaWduYWw8Ym9vbGVhbiB8IHVuZGVmaW5lZD5cbiAgICovXG4gIHJlYWRvbmx5IGFjdGl2ZTogSW5wdXRTaWduYWw8Ym9vbGVhbiB8IHVuZGVmaW5lZD4gPSBpbnB1dCgpO1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBjb2xvciBjb250ZXh0IG9mIHRoZSBjb21wb25lbnQgdG8gb25lIG9mIENvcmVVSeKAmXMgdGhlbWVkIGNvbG9ycy5cbiAgICogQHR5cGUgSW5wdXRTaWduYWw8Ym9vbGVhbiB8IHVuZGVmaW5lZD5cbiAgICovXG4gIHJlYWRvbmx5IGNvbG9yOiBJbnB1dFNpZ25hbDxDb2xvcnMgfCB1bmRlZmluZWQ+ID0gaW5wdXQoKTtcblxuICAvKipcbiAgICogU2V0IGRpc2FibGVkIGF0dHIgZm9yIHRoZSBob3N0IGVsZW1lbnQuIFtkb2NzXVxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqL1xuICByZWFkb25seSBkaXNhYmxlZDogSW5wdXRTaWduYWxXaXRoVHJhbnNmb3JtPGJvb2xlYW4sIHVua25vd24+ID0gaW5wdXQoZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pO1xuXG4gIHJlYWRvbmx5IGhvc3RDbGFzc2VzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGhvc3Q6IEhUTUxFbGVtZW50ID0gdGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICAgIHJldHVybiB7XG4gICAgICAnbGlzdC1ncm91cC1pdGVtJzogdHJ1ZSxcbiAgICAgICdsaXN0LWdyb3VwLWl0ZW0tYWN0aW9uJzogaG9zdC5ub2RlTmFtZSA9PT0gJ0EnIHx8IGhvc3Qubm9kZU5hbWUgPT09ICdCVVRUT04nLFxuICAgICAgYWN0aXZlOiAhIXRoaXMuYWN0aXZlKCksXG4gICAgICBkaXNhYmxlZDogdGhpcy5fZGlzYWJsZWQoKSxcbiAgICAgIFtgbGlzdC1ncm91cC1pdGVtLSR7dGhpcy5jb2xvcigpfWBdOiAhIXRoaXMuY29sb3IoKVxuICAgIH07XG4gIH0pO1xuXG4gIHJlYWRvbmx5IF9kaXNhYmxlZCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuZGlzYWJsZWQoKSk7XG5cbiAgcmVhZG9ubHkgYXJpYURpc2FibGVkID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZCgpID8gdHJ1ZSA6IG51bGw7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IGF0dHJEaXNhYmxlZCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQoKSA/ICcnIDogbnVsbDtcbiAgfSk7XG5cbiAgcmVhZG9ubHkgdGFiSW5kZXggPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkKCkgPyAnLTEnIDogbnVsbDtcbiAgfSk7XG5cbiAgcmVhZG9ubHkgYXJpYUN1cnJlbnQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIDxib29sZWFuPnRoaXMuYWN0aXZlKCkgfHwgbnVsbDtcbiAgfSk7XG59XG4iXX0=