@junte/ui
Version:
Quality Angular UI components kit
37 lines • 4.66 kB
JavaScript
import { __decorate, __metadata } from "tslib";
import { Component, ContentChildren, EventEmitter, HostBinding, Input, Output, QueryList } from '@angular/core';
import { UI } from '../../core/enums/ui';
import { AccordionSectionComponent } from './section/accordion-section.component';
var AccordionComponent = /** @class */ (function () {
function AccordionComponent() {
this.ui = UI;
this.host = 'jnt-accordion-host';
this.active = 0;
this.changed = new EventEmitter();
}
__decorate([
HostBinding('attr.host'),
__metadata("design:type", Object)
], AccordionComponent.prototype, "host", void 0);
__decorate([
ContentChildren(AccordionSectionComponent),
__metadata("design:type", QueryList)
], AccordionComponent.prototype, "sections", void 0);
__decorate([
Input(),
__metadata("design:type", Object)
], AccordionComponent.prototype, "active", void 0);
__decorate([
Output(),
__metadata("design:type", Object)
], AccordionComponent.prototype, "changed", void 0);
AccordionComponent = __decorate([
Component({
selector: 'jnt-accordion',
template: "<jnt-stack child-of=\"jnt-accordion-host\" [align]=\"ui.align.stretch\" [gutter]=\"ui.gutter.none\">\n <ng-container *ngFor=\"let section of sections; let i = index;\">\n <a child-of=\"jnt-accordion-host\" href=\"#\" data-title\n (click)=\"active == i ? active = null : active = i;changed.emit(active); $event.preventDefault()\"\n [attr.active]=\"active == i\">\n <jnt-icon child-of=\"jnt-accordion-host\" *ngIf=\"section.icon\" [icon]=\"section.icon\"></jnt-icon>\n <span child-of=\"jnt-accordion-host\" >{{section.title}}</span>\n\n <jnt-stack child-of=\"jnt-accordion-host\" data-state [orientation]=\"ui.orientation.horizontal\" [align]=\"ui.align.center\">\n <jnt-spinner child-of=\"jnt-accordion-host\" *ngIf=\"section.state === ui.state.loading\" [size]=\"ui.size.small\"></jnt-spinner>\n <jnt-icon child-of=\"jnt-accordion-host\" data-warning *ngIf=\"section.state === ui.state.warning\" [icon]=\"ui.icons.warning\"></jnt-icon>\n <jnt-icon child-of=\"jnt-accordion-host\" data-chevron [icon]=\"active == i ? ui.icons.chevronUp : ui.icons.chevronRight\"></jnt-icon>\n </jnt-stack>\n\n </a>\n <div child-of=\"jnt-accordion-host\" *ngIf=\"active == i\" data-content>\n <ng-container *ngTemplateOutlet=\"section.accordionContentTemplate\"></ng-container>\n </div>\n </ng-container>\n</jnt-stack>"
})
], AccordionComponent);
return AccordionComponent;
}());
export { AccordionComponent };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BqdW50ZS91aS8iLCJzb3VyY2VzIjpbImxpYi9uYXZpZ2F0aW9uL2FjY29yZGlvbi9hY2NvcmRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hILE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQU1sRjtJQUFBO1FBRUUsT0FBRSxHQUFHLEVBQUUsQ0FBQztRQUUyQixTQUFJLEdBQUcsb0JBQW9CLENBQUM7UUFNL0QsV0FBTSxHQUFHLENBQUMsQ0FBQztRQUdYLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBRXZDLENBQUM7SUFYMkI7UUFBekIsV0FBVyxDQUFDLFdBQVcsQ0FBQzs7b0RBQXNDO0lBRy9EO1FBREMsZUFBZSxDQUFDLHlCQUF5QixDQUFDO2tDQUNqQyxTQUFTO3dEQUE0QjtJQUcvQztRQURDLEtBQUssRUFBRTs7c0RBQ0c7SUFHWDtRQURDLE1BQU0sRUFBRTs7dURBQzRCO0lBYjFCLGtCQUFrQjtRQUo5QixTQUFTLENBQUM7WUFDVCxRQUFRLEVBQUUsZUFBZTtZQUN6Qix1MkNBQTRDO1NBQzdDLENBQUM7T0FDVyxrQkFBa0IsQ0FlOUI7SUFBRCx5QkFBQztDQUFBLEFBZkQsSUFlQztTQWZZLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkcmVuLCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT3V0cHV0LCBRdWVyeUxpc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVJIH0gZnJvbSAnLi4vLi4vY29yZS9lbnVtcy91aSc7XG5pbXBvcnQgeyBBY2NvcmRpb25TZWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9zZWN0aW9uL2FjY29yZGlvbi1zZWN0aW9uLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2pudC1hY2NvcmRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vYWNjb3JkaW9uLmVuY2Fwc3VsYXRlZC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBBY2NvcmRpb25Db21wb25lbnQge1xuXG4gIHVpID0gVUk7XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmhvc3QnKSByZWFkb25seSBob3N0ID0gJ2pudC1hY2NvcmRpb24taG9zdCc7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihBY2NvcmRpb25TZWN0aW9uQ29tcG9uZW50KVxuICBzZWN0aW9uczogUXVlcnlMaXN0PEFjY29yZGlvblNlY3Rpb25Db21wb25lbnQ+O1xuXG4gIEBJbnB1dCgpXG4gIGFjdGl2ZSA9IDA7XG5cbiAgQE91dHB1dCgpXG4gIGNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxufVxuIl19