ng-shopping-cart
Version:
An Angular component library to create shopping carts
1 lines • 39.8 kB
JSON
{"__symbolic":"module","version":4,"metadata":{"AddToCartComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":45,"character":1},"arguments":[{"selector":"add-to-cart","template":"<div class=\"add-to-cart\" [ngClass]=\"containerClass\">\n <div class=\"add-to-cart-component\" [ngClass]=\"position\"\n *ngIf=\"editorPrecedence === 'before' && hasEditor\">\n <add-to-cart-editor [type]=\"type\" [dropdown]=\"dropdown\" [(value)]=\"editorQuantity\"></add-to-cart-editor>\n </div>\n <div class=\"cart-button-container\" (click)=\"addToCart($event)\">\n <ng-container *ngIf=\"!custom\">\n <button type=\"button\" [ngClass]=\"buttonClass\" [disabled]=\"!item\">\n {{buttonText}}\n </button>\n </ng-container>\n <ng-content *ngIf=\"custom\">\n </ng-content>\n </div>\n <div class=\"add-to-cart-component\" [ngClass]=\"position\"\n *ngIf=\"editorPrecedence === 'after' && hasEditor\">\n <add-to-cart-editor [type]=\"type\" [dropdown]=\"dropdown\" [(value)]=\"editorQuantity\"></add-to-cart-editor>\n </div>\n</div>\n"}]}],"members":{"custom":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":78,"character":3}}]}],"item":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":84,"character":3}}]}],"buttonText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":88,"character":3}}]}],"buttonClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":92,"character":3}}]}],"type":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":100,"character":3}}]}],"position":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":105,"character":3}}]}],"dropdown":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":110,"character":3}}]}],"quantity":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":120,"character":3}}]}],"change":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":124,"character":3}}]}],"added":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":128,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"CartService"}]}],"ngOnInit":[{"__symbolic":"method"}],"itemQuantity":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"addToCart":[{"__symbolic":"method"}],"computeClass":[{"__symbolic":"method"}]}},"CartCheckoutComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":66,"character":1},"arguments":[{"selector":"cart-checkout","template":"<ng-container *ngIf=\"service === 'log' || service === 'http'\">\n <button [ngClass]=\"buttonClass\" [disabled]=\"empty\" *ngIf=\"!custom\" (click)=\"doCheckout()\">\n {{buttonText}}\n </button>\n <span (click)=\"doCheckout()\" *ngIf=\"custom\">\n <ng-content>\n </ng-content>\n </span>\n</ng-container>\n<ng-container *ngIf=\"service === 'paypal'\">\n <form action=\"https://www.paypal.com/cgi-bin/webscr\" method=\"post\" target=\"_top\">\n <input type=\"hidden\" name=\"cmd\" value=\"_xclick\"/>\n <input type=\"hidden\" name=\"business\" value=\"{{paypalSettings.business}}\"/>\n <input type=\"hidden\" name=\"lc\" value=\"{{paypalLocale}}\"/>\n <input type=\"hidden\" name=\"item_name\" value=\"{{paypalSettings.itemName}}\" *ngIf=\"paypalSettings.itemName\"/>\n <input type=\"hidden\" name=\"item_number\" value=\"{{paypalSettings.itemNumber}}\" *ngIf=\"paypalSettings.itemNumber\"/>\n <input type=\"hidden\" name=\"amount\" value=\"{{cost}}\"/>\n <input type=\"hidden\" name=\"currency_code\" value=\"{{currency}}\"/>\n <input type=\"hidden\" name=\"tax_rate\" value=\"{{taxRate}}\"/>\n <input type=\"hidden\" name=\"shipping\" value=\"{{shipping}}\"/>\n <input type=\"hidden\" name=\"bn\" value=\"{{paypalSettings.serviceName + '_BuyNow_WPS_' + paypalSettings.country}}\"\n *ngIf=\"paypalSettings.serviceName && paypalSettings.country\"/>\n <input type=\"image\" src=\"https://www.paypalobjects.com/en_US/i/btn/btn_buynowCC_LG.gif\" border=\"0\" name=\"submit\"\n alt=\"PayPal - The safer, easier way to pay online!\"/>\n <img alt=\"\" border=\"0\" src=\"https://www.paypalobjects.com/en_US/i/scr/pixel.gif\" width=\"1\" height=\"1\"/>\n </form>\n</ng-container>\n"}]}],"members":{"custom":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":112,"character":3}}]}],"buttonText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":116,"character":3}}]}],"buttonClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":120,"character":3}}]}],"service":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":124,"character":3}}]}],"settings":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":129,"character":3}}]}],"localeFormat":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":133,"character":3}}]}],"checkout":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":140,"character":3}}]}],"error":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":147,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":149,"character":86},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"LOCALE_ID","line":149,"character":93}]}]],"parameters":[{"__symbolic":"reference","name":"CartService"},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":149,"character":73},{"__symbolic":"reference","name":"string"}]}],"ngOnInit":[{"__symbolic":"method"}],"updateCart":[{"__symbolic":"method"}],"updateLocale":[{"__symbolic":"method"}],"getCurrency":[{"__symbolic":"method"}],"doCheckout":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"CartSummaryComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":27,"character":1},"arguments":[{"selector":"cart-summary","template":"<div class=\"cart-summary\">\n <div class=\"cart-summary-icon\">\n <svg *ngIf=\"!icon\" version=\"1.1\" class=\"summary-icon\" xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 32 32\">\n <path stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" fill=\"none\" stroke-linejoin=\"round\"\n d=\"M2,4 L6,4 L10,20 L21,20 L25,10 L8,10 M13,10 L13,20 M18,20 L18,10 M10,15 L23,15\"/>\n <circle fill=\"currentColor\" cx=\"11\" cy=\"24\" r=\"2\"/>\n <circle fill=\"currentColor\" cx=\"21\" cy=\"24\" r=\"2\"/>\n </svg>\n <img *ngIf=\"icon\" [src]=\"icon\" class=\"summary-icon\" alt=\"cart-summary-icon\">\n </div>\n <div class=\"cart-summary-contents\">\n <div class=\"cart-summary-items\">\n {{itemsText}}\n </div>\n <div class=\"cart-summary-cost\">\n {{totalCost | currency:format.currencyCode:format.display:format.digitsInfo:format.locale}}\n </div>\n </div>\n</div>\n"}]}],"members":{"icon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":58,"character":3}}]}],"noItemsText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":62,"character":3}}]}],"oneItemText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":66,"character":3}}]}],"manyItemsText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":70,"character":3}}]}],"localeFormat":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":74,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"CartService"}]}],"updateItemsText":[{"__symbolic":"method"}],"updateComponent":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"CartShowcaseComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":60,"character":1},"arguments":[{"selector":"cart-showcase","template":"<div class=\"cart-showcase\">\n <div class=\"sc-item-container\" *ngFor=\"let carItem of items\"\n [ngClass]=\"[xsClass, sClass, mClass, lClass, xlClass, ratioClass]\">\n <div class=\"sc-item-wrapper\">\n <ng-container\n *cartShowcaseOutlet=\"itemComponent;item:carItem;format:format;injector:injector;ngModuleFactory:moduleFactory\">\n </ng-container>\n </div>\n </div>\n</div>\n"}]}],"members":{"xsCols":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":86,"character":3}}]}],"sCols":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":90,"character":3}}]}],"mCols":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":94,"character":3}}]}],"lCols":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":98,"character":3}}]}],"xlCols":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":102,"character":3}}]}],"columns":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":107,"character":3}}]}],"items":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":111,"character":3}}]}],"itemComponent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":115,"character":3}}]}],"injector":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":119,"character":3}}]}],"moduleFactory":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":123,"character":3}}]}],"aspectRatio":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":128,"character":3}}]}],"localeFormat":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":132,"character":3}}]}],"getColumnSize":[{"__symbolic":"method"}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"CartService"}]}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"CartShowcaseItemComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":12,"character":1},"arguments":[{"selector":"cart-showcase-item","template":"<div class=\"showcase-item default-sc-item\" [ngStyle]=\"{'background-image': 'url(' + item.getImage() + ')'}\">\n <div class=\"default-sc-description\">\n <div class=\"default-sc-name\">\n {{item.getName()}}\n </div>\n <div class=\"default-sc-price\">\n {{item.getPrice() | cartCurrency:format}}\n </div>\n </div>\n</div>\n"}]}],"members":{}},"CartViewComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":58,"character":1},"arguments":[{"selector":"cart-view","template":"<ng-container *ngIf=\"empty\">\n <div *ngIf=\"!customEmptyContent\" class=\"cart-view-empty\">\n {{emptyText}}\n </div>\n <ng-content *ngIf=\"customEmptyContent\"></ng-content>\n</ng-container>\n<ng-container *ngIf=\"!empty\">\n <ng-container *ngIf=\"display !== 'table'\">\n <div *ngIf=\"!empty\" class=\"cart-view\" [ngClass]=\"display + '-display'\">\n <div class=\"cart-list-view\" [ngClass]=\"{'no-images': !images}\">\n <div class=\"cart-list-header\">\n <div class=\"cart-list-header-value cart-list-image-header\">\n </div>\n <div class=\"cart-list-header-value cart-list-name-header\">\n {{nameHeaderText}}\n </div>\n <div class=\"cart-list-header-value cart-list-quantity-header\">\n {{quantityHeaderText}}\n </div>\n <div class=\"cart-list-header-value cart-list-price-header\">\n {{priceHeaderText}}\n </div>\n <div class=\"cart-list-header-value cart-list-total-header\">\n {{totalHeaderText}}\n </div>\n </div>\n <div *ngFor=\"let cartItem of items\" class=\"cart-list-item\">\n <div class=\"cart-list-value cart-list-image-value\"\n [ngStyle]=\"{'background-image': 'url(' + cartItem.getImage() + ')'}\">\n </div>\n <div class=\"cart-list-value cart-list-name-value\">\n {{cartItem.getName()}}\n </div>\n <div class=\"cart-list-value cart-list-quantity-value\">\n <button type=\"button\" class=\"cart-increase-button\" (click)=\"increase(cartItem)\">\n +\n </button>\n <span class=\"cart-list-quantity-content\">{{cartItem.getQuantity()}}</span>\n <button type=\"button\" class=\"cart-decrease-button\" (click)=\"decrease(cartItem)\">\n -\n </button>\n </div>\n <div class=\"cart-list-value cart-list-price-value\">\n {{cartItem.getPrice() | currency:format.currencyCode:format.display:format.digitsInfo:format.locale}}\n </div>\n <div class=\"cart-list-value cart-list-total-value\">\n {{cartItem.total() | currency:format.currencyCode:format.display:format.digitsInfo:format.locale}}\n </div>\n </div>\n <div class=\"cart-list-footer\">\n <div class=\"cart-list-summary\">\n <div class=\"cart-empty-summary\" *ngIf=\"images\"></div>\n <div class=\"cart-empty-summary\"></div>\n <div class=\"cart-empty-summary\"></div>\n <div class=\"cart-empty-summary\"></div>\n <div class=\"cart-tax-summary\">\n {{taxFooterText}}: ({{taxRate | percent:format.digitsInfo:format.locale}})\n {{tax | currency:format.currencyCode:format.display:format.digitsInfo:format.locale}}\n </div>\n </div>\n <div class=\"cart-list-summary\">\n <div class=\"cart-empty-summary\" *ngIf=\"images\"></div>\n <div class=\"cart-empty-summary\"></div>\n <div class=\"cart-empty-summary\"></div>\n <div class=\"cart-empty-summary\"></div>\n <div class=\"cart-shipping-summary\">\n {{shippingFooterText}}:\n {{shipping | currency:format.currencyCode:format.display:format.digitsInfo:format.locale}}\n </div>\n </div>\n <div class=\"cart-list-summary\">\n <div class=\"cart-empty-summary\" *ngIf=\"images\"></div>\n <div class=\"cart-empty-summary\"></div>\n <div class=\"cart-empty-summary\"></div>\n <div class=\"cart-empty-summary\"></div>\n <div class=\"cart-total-summary\">\n {{totalFooterText}}:\n {{cost | currency:format.currencyCode:format.display:format.digitsInfo:format.locale}}\n </div>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n <ng-container *ngIf=\"display === 'table'\">\n <table class=\"cart-view table-display\">\n <thead class=\"cart-list-header\">\n <tr>\n <th class=\"cart-list-header-value cart-list-image-header\" *ngIf=\"images\"></th>\n <th class=\"cart-list-header-value cart-list-name-header\">{{nameHeaderText}}</th>\n <th class=\"cart-list-header-value cart-list-quantity-header\">{{quantityHeaderText}}</th>\n <th class=\"cart-list-header-value cart-list-price-header\">{{priceHeaderText}}</th>\n <th class=\"cart-list-header-value cart-list-total-header\">{{totalHeaderText}}</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let cartItem of items\">\n <td class=\"cart-list-value cart-list-image-value\" *ngIf=\"images\"\n [ngStyle]=\"{'background-image': 'url(' + cartItem.getImage() + ')'}\">\n </td>\n <td class=\"cart-list-value cart-list-name-value\">{{cartItem.getName()}}</td>\n <td class=\"cart-list-value cart-list-quantity-value\">\n <button type=\"button\" class=\"cart-increase-button\" (click)=\"increase(cartItem)\">\n +\n </button>\n <span class=\"cart-list-quantity-content\">{{cartItem.getQuantity()}}</span>\n <button type=\"button\" class=\"cart-decrease-button\" (click)=\"decrease(cartItem)\">\n -\n </button>\n </td>\n <td class=\"cart-list-value cart-list-price-value\">\n {{cartItem.getPrice() | currency:format.currencyCode:format.display:format.digitsInfo:format.locale}}\n </td>\n <td class=\"cart-list-value cart-list-total-value\">\n {{cartItem.total() | currency:format.currencyCode:format.display:format.digitsInfo:format.locale}}\n </td>\n </tr>\n </tbody>\n <tfoot class=\"cart-list-footer\">\n <tr class=\"cart-list-summary\">\n <td [attr.colspan]=\"images ? 4 : 3\" class=\"cart-empty-summary\"></td>\n <td class=\"cart-tax-summary\">\n {{taxFooterText}}: ({{taxRate | percent:format.digitsInfo:format.locale}})\n {{tax | currency:format.currencyCode:format.display:format.digitsInfo:format.locale}}\n </td>\n </tr>\n <tr class=\"cart-list-summary\">\n <td [attr.colspan]=\"images ? 4 : 3\" class=\"cart-empty-summary\"></td>\n <td class=\"cart-shipping-summary\">\n {{shippingFooterText}}:\n {{shipping | currency:format.currencyCode:format.display:format.digitsInfo:format.locale}}\n </td>\n </tr>\n <tr class=\"cart-list-summary\">\n <td [attr.colspan]=\"images ? 4 : 3\" class=\"cart-empty-summary\"></td>\n <td class=\"cart-total-summary\">\n {{totalFooterText}}:\n {{cost | currency:format.currencyCode:format.display:format.digitsInfo:format.locale}}\n </td>\n </tr>\n </tfoot>\n </table>\n </ng-container>\n</ng-container>\n\n"}]}],"members":{"display":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":212,"character":3}}]}],"images":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":216,"character":3}}]}],"emptyText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":220,"character":3}}]}],"customEmptyContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":224,"character":3}}]}],"nameHeaderText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":228,"character":3}}]}],"quantityHeaderText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":232,"character":3}}]}],"priceHeaderText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":236,"character":3}}]}],"totalHeaderText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":240,"character":3}}]}],"taxFooterText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":244,"character":3}}]}],"shippingFooterText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":248,"character":3}}]}],"totalFooterText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":252,"character":3}}]}],"localeFormat":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":256,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"CartService"}]}],"update":[{"__symbolic":"method"}],"increase":[{"__symbolic":"method"}],"decrease":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"CartCurrencyPipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":58,"character":1},"arguments":[{"name":"cartCurrency"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":62,"character":15},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"LOCALE_ID","line":62,"character":22}]}]],"parameters":[{"__symbolic":"reference","name":"string"}]}],"transform":[{"__symbolic":"method"}]}},"ShoppingCartModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":27,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"AddToCartComponent"},{"__symbolic":"reference","name":"CartCheckoutComponent"},{"__symbolic":"reference","name":"CartSummaryComponent"},{"__symbolic":"reference","name":"CartShowcaseComponent"},{"__symbolic":"reference","name":"CartViewComponent"},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"CartShowcaseItemComponent"},{"__symbolic":"reference","name":"CartCurrencyPipe"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":40,"character":4},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClientModule","line":41,"character":4}],"exports":[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"AddToCartComponent"},{"__symbolic":"reference","name":"CartCheckoutComponent"},{"__symbolic":"reference","name":"CartSummaryComponent"},{"__symbolic":"reference","name":"CartShowcaseComponent"},{"__symbolic":"reference","name":"CartViewComponent"},{"__symbolic":"reference","name":"CartShowcaseItemComponent"},{"__symbolic":"reference","name":"CartCurrencyPipe"},{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":52,"character":4},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClientModule","line":53,"character":4}],"entryComponents":[{"__symbolic":"reference","name":"CartShowcaseItemComponent"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["options"],"defaults":[{}],"value":{"ngModule":{"__symbolic":"reference","name":"ShoppingCartModule"},"providers":[{"__symbolic":"call","expression":{"__symbolic":"reference","name":"ɵe"},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"options"},"member":"itemType"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","name":"ɵd"},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"options"},"member":"serviceType"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","name":"ɵf"},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"options"},"member":"serviceType"},{"__symbolic":"select","expression":{"__symbolic":"reference","name":"options"},"member":"serviceOptions"}]},{"provide":{"__symbolic":"reference","name":"CartService"},"useFactory":{"__symbolic":"reference","name":"ɵc"},"deps":[{"__symbolic":"reference","name":"CART_SERVICE_TYPE"},{"__symbolic":"reference","name":"CART_ITEM_CLASS"},{"__symbolic":"reference","name":"CART_SERVICE_CONFIGURATION"}]}]}},"forChild":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"ShoppingCartModule"}}}}},"CART_ITEM_CLASS":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":6,"character":35},"arguments":["CartItemClass"]},"CART_SERVICE_CONFIGURATION":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":5,"character":46},"arguments":["CartServiceConfiguration"]},"CART_SERVICE_TYPE":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":8,"character":37},"arguments":["CartServiceType"]},"CartService":{"__symbolic":"class","arity":1,"members":{"getItem":[{"__symbolic":"method"}],"getItems":[{"__symbolic":"method"}],"addItem":[{"__symbolic":"method"}],"removeItem":[{"__symbolic":"method"}],"itemCount":[{"__symbolic":"method"}],"entries":[{"__symbolic":"method"}],"cost":[{"__symbolic":"method"}],"clear":[{"__symbolic":"method"}],"isEmpty":[{"__symbolic":"method"}],"getShipping":[{"__symbolic":"method"}],"setShipping":[{"__symbolic":"method"}],"getTaxRate":[{"__symbolic":"method"}],"setTaxRate":[{"__symbolic":"method"}],"getTax":[{"__symbolic":"method"}],"totalCost":[{"__symbolic":"method"}],"setLocaleFormat":[{"__symbolic":"method"}],"getLocaleFormat":[{"__symbolic":"method"}],"toObject":[{"__symbolic":"method"}]}},"MemoryCartService":{"__symbolic":"class","arity":1,"extends":{"__symbolic":"reference","name":"CartService"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":8,"character":1}}],"members":{"_addItem":[{"__symbolic":"method"}],"_removeItem":[{"__symbolic":"method"}],"getItem":[{"__symbolic":"method"}],"getItems":[{"__symbolic":"method"}],"itemCount":[{"__symbolic":"method"}],"entries":[{"__symbolic":"method"}],"addItem":[{"__symbolic":"method"}],"removeItem":[{"__symbolic":"method"}],"cost":[{"__symbolic":"method"}],"clear":[{"__symbolic":"method"}],"getShipping":[{"__symbolic":"method"}],"setShipping":[{"__symbolic":"method"}],"getTaxRate":[{"__symbolic":"method"}],"setTaxRate":[{"__symbolic":"method"}],"isEmpty":[{"__symbolic":"method"}]}},"LocalStorageCartService":{"__symbolic":"class","arity":1,"extends":{"__symbolic":"reference","name":"ɵg"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":11,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":13,"character":15},"arguments":[{"__symbolic":"reference","name":"CART_ITEM_CLASS"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":13,"character":51},"arguments":[{"__symbolic":"reference","name":"CART_SERVICE_CONFIGURATION"}]}]],"parameters":[null,{"__symbolic":"reference","name":"BrowserStorageServiceConfiguration"}]}]}},"SessionStorageCartService":{"__symbolic":"class","arity":1,"extends":{"__symbolic":"reference","name":"ɵg"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":11,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":13,"character":15},"arguments":[{"__symbolic":"reference","name":"CART_ITEM_CLASS"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":13,"character":51},"arguments":[{"__symbolic":"reference","name":"CART_SERVICE_CONFIGURATION"}]}]],"parameters":[null,{"__symbolic":"reference","name":"BrowserStorageServiceConfiguration"}]}]}},"AddToCartType":{"__symbolic":"interface"},"AddToCartPosition":{"__symbolic":"interface"},"CartViewDisplay":{"__symbolic":"interface"},"CheckoutType":{"__symbolic":"interface"},"CheckoutSettings":{"__symbolic":"interface"},"CartModuleServiceType":{"__symbolic":"interface"},"BrowserStorageServiceConfiguration":{"__symbolic":"interface"},"CartChangeEvent":{"__symbolic":"interface"},"CartModuleOptions":{"__symbolic":"interface"},"CheckoutHttpSettings":{"__symbolic":"interface"},"CheckoutPaypalSettings":{"__symbolic":"interface"},"DropdownValue":{"__symbolic":"interface"},"HttpOptions":{"__symbolic":"interface"},"LocaleFormat":{"__symbolic":"interface"},"ShowcaseItem":{"__symbolic":"interface"},"CartItem":{"__symbolic":"class","members":{"getId":[{"__symbolic":"method"}],"getName":[{"__symbolic":"method"}],"getPrice":[{"__symbolic":"method"}],"setQuantity":[{"__symbolic":"method"}],"getQuantity":[{"__symbolic":"method"}],"getImage":[{"__symbolic":"method"}],"total":[{"__symbolic":"method"}]}},"BaseCartItem":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"CartItem"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any"}]}],"getId":[{"__symbolic":"method"}],"setId":[{"__symbolic":"method"}],"getName":[{"__symbolic":"method"}],"setName":[{"__symbolic":"method"}],"getPrice":[{"__symbolic":"method"}],"setPrice":[{"__symbolic":"method"}],"getQuantity":[{"__symbolic":"method"}],"setQuantity":[{"__symbolic":"method"}],"getImage":[{"__symbolic":"method"}],"setImage":[{"__symbolic":"method"}],"getData":[{"__symbolic":"method"}],"setData":[{"__symbolic":"method"}]}},"parseLocaleFormat":{"__symbolic":"function"},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":8,"character":1},"arguments":[{"selector":"add-to-cart-editor","template":"<ng-container *ngIf=\"type === 'dropdown'\">\n <select class=\"add-to-cart-input\" #selectAmount (change)=\"changeValue(selectAmount.value)\">\n <option [selected]=\"item.value === value\" *ngFor=\"let item of dropdown\" [value]=\"item.value\">{{item.label}}</option>\n </select>\n</ng-container>\n<ng-container *ngIf=\"type === 'number' || type === 'text'\">\n <input class=\"add-to-cart-input\" #inputAmount [type]=\"type\" (change)=\"changeValue(inputAmount.value)\" [value]=\"value\">\n</ng-container>\n\n"}]}],"members":{"type":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}}]}],"dropdown":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":3}}]}],"value":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":3}}]}],"valueChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":37,"character":3}}]}],"changeValue":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":11,"character":1},"arguments":[{"selector":"[cartShowcaseOutlet]"}]}],"members":{"cartShowcaseOutlet":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"cartShowcaseOutletInjector":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"cartShowcaseOutletNgModuleFactory":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"cartShowcaseOutletItem":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":3}}]}],"cartShowcaseOutletFormat":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":34,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef","line":39,"character":39}]}],"cleanModule":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"ɵc":{"__symbolic":"function"},"ɵd":{"__symbolic":"function","parameters":["serviceType"],"value":{"provide":{"__symbolic":"reference","name":"CART_SERVICE_TYPE"},"useValue":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"reference","name":"serviceType"},"right":"localStorage"}}},"ɵe":{"__symbolic":"function","parameters":["itemClass"],"value":{"provide":{"__symbolic":"reference","name":"CART_ITEM_CLASS"},"useValue":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"reference","name":"itemClass"},"right":{"__symbolic":"reference","name":"BaseCartItem"}}}},"ɵf":{"__symbolic":"function","parameters":["serviceType","serviceOptions"],"value":{"provide":{"__symbolic":"reference","name":"CART_SERVICE_CONFIGURATION"},"useValue":{"__symbolic":"if","condition":{"__symbolic":"binop","operator":"!==","left":{"__symbolic":"reference","name":"serviceType"},"right":"memory"},"thenExpression":{"__symbolic":"if","condition":{"__symbolic":"pre","operator":"!","operand":{"__symbolic":"reference","name":"serviceOptions"}},"thenExpression":{"storageKey":"NgShoppingCart","clearOnError":true},"elseExpression":{"__symbolic":"reference","name":"serviceOptions"}},"elseExpression":null}}},"ɵg":{"__symbolic":"class","arity":1,"extends":{"__symbolic":"reference","name":"MemoryCartService"},"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":22,"character":5},"arguments":[{"__symbolic":"reference","name":"CART_ITEM_CLASS"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":23,"character":5},"arguments":[{"__symbolic":"reference","name":"CART_SERVICE_CONFIGURATION"}]}]],"parameters":[{"__symbolic":"reference","name":"CartItem"},{"__symbolic":"reference","name":"BrowserStorageServiceConfiguration"}]}],"resetStorage":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}],"restore":[{"__symbolic":"method"}],"addItem":[{"__symbolic":"method"}],"removeItem":[{"__symbolic":"method"}],"clear":[{"__symbolic":"method"}],"setShipping":[{"__symbolic":"method"}],"setTaxRate":[{"__symbolic":"method"}]}}},"origins":{"AddToCartComponent":"./components/add-to-cart/add-to-cart.component","CartCheckoutComponent":"./components/cart-checkout/cart-checkout.component","CartSummaryComponent":"./components/cart-summary/cart-summary.component","CartShowcaseComponent":"./components/cart-showcase/cart-showcase.component","CartShowcaseItemComponent":"./components/cart-showcase-item/cart-showcase-item.component","CartViewComponent":"./components/cart-view/cart-view.component","CartCurrencyPipe":"./pipes/cart-currency.pipe","ShoppingCartModule":"./shopping-cart.module","CART_ITEM_CLASS":"./services/item-class.token","CART_SERVICE_CONFIGURATION":"./services/service-configuration.token","CART_SERVICE_TYPE":"./services/service-type.token","CartService":"./services/cart.service","MemoryCartService":"./services/memory-cart.service","LocalStorageCartService":"./services/local-storage-cart.service","SessionStorageCartService":"./services/session-storage-cart.service","AddToCartType":"./types","AddToCartPosition":"./types","CartViewDisplay":"./types","CheckoutType":"./types","CheckoutSettings":"./types","CartModuleServiceType":"./types","BrowserStorageServiceConfiguration":"./interfaces/browser-storage-service-configuration","CartChangeEvent":"./interfaces/cart-change-event","CartModuleOptions":"./interfaces/cart-module-options","CheckoutHttpSettings":"./interfaces/checkout-http-settings","CheckoutPaypalSettings":"./interfaces/checkout-paypal-settings","DropdownValue":"./interfaces/dropdown-value","HttpOptions":"./interfaces/http-options","LocaleFormat":"./interfaces/locale-format","ShowcaseItem":"./interfaces/showcase-item","CartItem":"./classes/cart-item","BaseCartItem":"./classes/base-cart-item","parseLocaleFormat":"./locales","ɵa":"./components/add-to-cart-editor/add-to-cart-editor.component","ɵb":"./directives/showcase-outlet","ɵc":"./service.factory","ɵd":"./service.factory","ɵe":"./service.factory","ɵf":"./service.factory","ɵg":"./services/browser-storage-cart.service"},"importAs":"ng-shopping-cart"}