UNPKG

@vendasta/store

Version:

Components and data for Store

45 lines (44 loc) 4.84 kB
import 'rxjs/add/operator/catch'; import { Component, EventEmitter, Input, Output } from '@angular/core'; var AddonDetailsComponent = /** @class */ (function () { function AddonDetailsComponent() { this.prerequisiteSelected = new EventEmitter(); } AddonDetailsComponent.prototype.onPrerequisiteSelected = function () { this.prerequisiteSelected.emit(); }; AddonDetailsComponent.prototype.getPricing = function (product, addon) { return { currency: product.currency, prices: [{ price: addon.price, frequency: addon.billingFrequency ? addon.billingFrequency : 'Monthly' }] }; }; Object.defineProperty(AddonDetailsComponent.prototype, "pricingLabel", { get: function () { return this.reseller ? 'Wholesale Pricing' : 'Pricing'; }, enumerable: true, configurable: true }); AddonDetailsComponent.decorators = [ { type: Component, args: [{ selector: 'addon-details', template: "<div class=\"addon-page\"> <va-header-container [iconUrl]=\"addon.icon\" [title]=\"addon.title\" [tagline]=\"addon.tagline\" [chipLabels]=\"product.getLmiCategoryNames()\" [showPricing]=\"true\" [pricing]=\"getPricing(product, addon)\" [pricingLabel]=\"pricingLabel\" [prerequisiteLabel]=\"product.name\" (prerequisiteSelected)=\"onPrerequisiteSelected()\"> </va-header-container> <div class=\"addon-details addon-content\"> <ng-container *ngIf=\"reseller\"> <div class=\"left-column\"> <div *ngIf=\"addon.resellerMarketing?.description || addon.resellerMarketing?.keySellingPoints\"> <va-selling-info [description]=\"addon.resellerMarketing?.description\" [keySellingPoints]=\"addon.resellerMarketing?.keySellingPoints\"></va-selling-info> </div> <section *ngIf=\"addon.resellerMarketing?.faqs?.length > 0 && addon.resellerMarketing?.faqs[0].question\"> <h2 class=\"va-addon-title\">FAQs</h2> <va-faqs [faqs]=\"addon.resellerMarketing?.faqs\"></va-faqs> </section> </div> <div class=\"right-column\"> <section *ngIf=\"addon.screenshots?.length > 0\"> <h2 class=\"va-addon-title\">Gallery</h2> <va-image-gallery [imageUrls]=\"addon.screenshots\"></va-image-gallery> </section> <section *ngIf=\"addon.resellerMarketing?.files?.length > 0\"> <h2 class=\"va-addon-title\">Files</h2> <va-files [files]=\"addon.resellerMarketingFiles\"></va-files> </section> </div> </ng-container> <ng-container *ngIf=\"!reseller\"> <div class=\"left-column\"> <div *ngIf=\"addon.endUserMarketing?.description || addon.endUserMarketing?.keySellingPoints\"> <va-selling-info [description]=\"addon.endUserMarketing?.description\" [keySellingPoints]=\"addon.endUserMarketing?.keySellingPoints\"></va-selling-info> </div> <section *ngIf=\"addon.endUserMarketing?.faqs?.length > 0 && addon.endUserMarketing?.faqs[0].question\"> <h2 class=\"va-addon-title\">FAQs</h2> <va-faqs [faqs]=\"addon.endUserMarketing?.faqs\"></va-faqs> </section> </div> <div class=\"right-column\"> <section *ngIf=\"addon.screenshots?.length > 0\"> <h2 class=\"va-addon-title\">Gallery</h2> <va-image-gallery [imageUrls]=\"addon.screenshots\"></va-image-gallery> </section> <section *ngIf=\"addon.endUserMarketing?.files?.length > 0\"> <h2 class=\"va-addon-title\">Files</h2> <va-files [files]=\"addon.endUserMarketingFiles\"></va-files> </section> </div> </ng-container> </div> </div> ", styles: [":host { display: block; font-size: 14px; line-height: 1.4; } :host * { box-sizing: border-box; } .va-addon-title { font-size: 32px; font-weight: 300; margin-top: 0; color: #212121; } @media screen and (min-width: 600px) { .va-addon-title { font-size: 32px; } } img { max-width: 100%; } va-icon { display: inline-block; } .addon-page { position: relative; margin: 0 auto 20px; background: #fff; box-shadow: 0 3px 10px rgba(33, 33, 33, 0.3); overflow: hidden; font-size: 16px; color: #212121; } .addon-page .item-amount { color: #999; font-size: 14px; text-align: right; margin: 0 24px 8px; } section { padding: 24px; } .left-column { width: 66%; } @media screen and (max-width: 600px) { .left-column { width: 100%; } } .right-column { width: 34%; } @media screen and (max-width: 600px) { .right-column { width: 100%; } } .addon-content { display: flex; } @media screen and (max-width: 600px) { .addon-content { flex-direction: column; } } "] },] }, ]; /** @nocollapse */ AddonDetailsComponent.ctorParameters = function () { return []; }; AddonDetailsComponent.propDecorators = { 'product': [{ type: Input },], 'addon': [{ type: Input },], 'reseller': [{ type: Input },], 'prerequisiteSelected': [{ type: Output },], }; return AddonDetailsComponent; }()); export { AddonDetailsComponent }; ;