@vendasta/store
Version:
Components and data for Store
35 lines (34 loc) • 1.94 kB
JavaScript
import { Component, Input } from '@angular/core';
var VaFaqsComponent = /** @class */ (function () {
function VaFaqsComponent() {
this.openFaqs = [];
}
VaFaqsComponent.prototype.toggleFaq = function (index) {
if (this.openFaqs.indexOf(index) >= 0) {
this.openFaqs.splice(this.openFaqs.indexOf(index), 1); // Remove
}
else {
this.openFaqs.push(index); // Insert
}
};
VaFaqsComponent.prototype.isFaqOpen = function (index) {
return this.openFaqs.indexOf(index) >= 0;
};
VaFaqsComponent.prototype.faqIcon = function (index) {
return this.isFaqOpen(index) ? 'keyboard_arrow_up' : 'keyboard_arrow_down';
};
VaFaqsComponent.decorators = [
{ type: Component, args: [{
selector: 'va-faqs',
template: "\n <div class=\"va-faq\" *ngFor=\"let faq of faqs; let i = index;\" (click)=\"toggleFaq(i)\">\n <div class=\"question\">\n <span>{{ faq.question }}</span>\n <mat-icon>{{ faqIcon(i) }}</mat-icon>\n </div>\n <span class=\"answer\" [ngClass]=\"{'show': isFaqOpen(i) }\" [innerHtml]=\"faq.answer | vaSafeHtml\"></span>\n </div>",
styles: [".va-faq { font-size: 16px; display: flex; flex-direction: column; justify-content: flex-start; padding: 12px 0; border-bottom: 1px solid #e0e0e0; } .va-faq:first-of-type { border-top: 1px solid #e0e0e0; } .va-faq .question { display: flex; justify-content: space-between; align-items: center; color: #212121; } .va-faq .answer { color: #616161; height: 0; overflow: hidden; } .va-faq .show { padding-top: 12px; height: inherit; } "]
},] },
];
/** @nocollapse */
VaFaqsComponent.ctorParameters = function () { return []; };
VaFaqsComponent.propDecorators = {
'faqs': [{ type: Input },],
};
return VaFaqsComponent;
}());
export { VaFaqsComponent };