{"version":3,"file":"vssuite-vs-angular-ecom-components.mjs","sources":["../../../projects/vs-angular-ecom-components/src/lib/vssuite-ecom.component.ts","../../../projects/vs-angular-ecom-components/src/lib/components/vssuite-announcement.ts","../../../projects/vs-angular-ecom-components/src/lib/ui/vssuite-announcement.html","../../../projects/vs-angular-ecom-components/src/lib/components/vssuite-cart.ts","../../../projects/vs-angular-ecom-components/src/lib/ui/vssuite-cart.html","../../../projects/vs-angular-ecom-components/src/lib/components/vssuite-check-availability.ts","../../../projects/vs-angular-ecom-components/src/lib/ui/vssuite-check-availability.html","../../../projects/vs-angular-ecom-components/src/lib/components/vssuite-checkout.ts","../../../projects/vs-angular-ecom-components/src/lib/ui/vssuite-checkout.html","../../../projects/vs-angular-ecom-components/src/lib/components/vssuite-content-box-horizontal.ts","../../../projects/vs-angular-ecom-components/src/lib/ui/vssuite-content-box-horizontal.html","../../../projects/vs-angular-ecom-components/src/lib/components/vssuite-content-box-list.ts","../../../projects/vs-angular-ecom-components/src/lib/ui/vssuite-content-box-list.html","../../../projects/vs-angular-ecom-components/src/lib/components/vssuite-footer.ts","../../../projects/vs-angular-ecom-components/src/lib/ui/vssuite-footer.html","../../../projects/vs-angular-ecom-components/src/lib/components/vssuite-hero.ts","../../../projects/vs-angular-ecom-components/src/lib/ui/vssuite-hero.html","../../../projects/vs-angular-ecom-components/src/lib/components/vssuite-login.ts","../../../projects/vs-angular-ecom-components/src/lib/ui/vssuite-login.html","../../../projects/vs-angular-ecom-components/src/lib/components/vssuite-menu-actions.ts","../../../projects/vs-angular-ecom-components/src/lib/ui/vssuite-menu-actions.html","../../../projects/vs-angular-ecom-components/src/lib/components/vssuite-product-details.ts","../../../projects/vs-angular-ecom-components/src/lib/ui/vssuite-product-details.html","../../../projects/vs-angular-ecom-components/src/lib/components/vssuite-register.ts","../../../projects/vs-angular-ecom-components/src/lib/ui/vssuite-register.html","../../../projects/vs-angular-ecom-components/src/lib/components/vssuite-product-contents.ts","../../../projects/vs-angular-ecom-components/src/lib/ui/vssuite-product-contents.html","../../../projects/vs-angular-ecom-components/src/lib/components/vssuite-product-image.ts","../../../projects/vs-angular-ecom-components/src/lib/ui/vssuite-product-image.html","../../../projects/vs-angular-ecom-components/src/lib/components/vssuite-quick-card.ts","../../../projects/vs-angular-ecom-components/src/lib/ui/vssuite-quick-card.html","../../../projects/vs-angular-ecom-components/src/lib/components/vssuite-slider.ts","../../../projects/vs-angular-ecom-components/src/lib/ui/vssuite-slider.html","../../../projects/vs-angular-ecom-components/src/lib/components/vssuite-menu.ts","../../../projects/vs-angular-ecom-components/src/lib/ui/vssuite-menu.html","../../../projects/vs-angular-ecom-components/src/lib/components/vssuite-menu-basic.ts","../../../projects/vs-angular-ecom-components/src/lib/ui/vssuite-menu-basic.html","../../../projects/vs-angular-ecom-components/src/lib/components/vssuite-top-categories.ts","../../../projects/vs-angular-ecom-components/src/lib/ui/vssuite-top-categories.html","../../../projects/vs-angular-ecom-components/src/lib/components/vssuite-hero-carousel.ts","../../../projects/vs-angular-ecom-components/src/lib/ui/vssuite-hero-carousel.html","../../../projects/vs-angular-ecom-components/src/lib/components/vssuite-menu-advanced.ts","../../../projects/vs-angular-ecom-components/src/lib/ui/vssuite-menu-advanced.html","../../../projects/vs-angular-ecom-components/src/lib/components/vssuite-mobile-sidenav.ts","../../../projects/vs-angular-ecom-components/src/lib/ui/vssuite-mobile-sidenav.html","../../../projects/vs-angular-ecom-components/src/lib/components/vssuite-topnav.ts","../../../projects/vs-angular-ecom-components/src/lib/ui/vssuite-topnav.html","../../../projects/vs-angular-ecom-components/src/lib/components/vssuite-zoom1.ts","../../../projects/vs-angular-ecom-components/src/lib/ui/vssuite-zoom1.html","../../../projects/vs-angular-ecom-components/src/lib/components/vssuite-carousel.ts","../../../projects/vs-angular-ecom-components/src/lib/ui/vssuite-carousel.html","../../../projects/vs-angular-ecom-components/src/lib/vssuite-ecom.module.ts","../../../projects/vs-angular-ecom-components/src/public-api.ts","../../../projects/vs-angular-ecom-components/src/vssuite-vs-angular-ecom-components.ts"],"sourcesContent":["import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n  selector: 'vssuite-ecom',\n  template: '',\n  styles: [\n  ]\n})\nexport class VssuiteEcomComponent implements OnInit {\n\n  constructor() { }\n\n  ngOnInit(): void {\n  }\n\n}\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n    selector: 'vssuite-announcement',\n    templateUrl: '../ui/vssuite-announcement.html',\n    styleUrls: ['../ui/vssuite-general.css'],\n})\n\nexport class VssuiteAnnouncement implements OnInit {\n\n    @Input() vsTitle: any = '';\n    @Input() vsLinkText: any = '';\n    @Input() show: boolean = false;\n    @Input() vsLink: any = '';\n\n    constructor() { }\n\n    ngOnInit() {\n\n    }\n\n}","<div class=\"announcement_cls\" *ngIf=\"show\">\n    {{vsTitle}}\n    <a href=\"{{vsLink}}\" target=\"_blank\">{{vsLinkText}}</a>\n</div>","import { Component, EventEmitter, Input, OnInit, Output, } from '@angular/core';\n\n@Component({\n    selector: 'vssuite-cart',\n    templateUrl: '../ui/vssuite-cart.html',\n    styleUrls: ['../ui/vssuite-general.css'],\n})\n\nexport class VssuiteCart implements OnInit {\n\n    @Input() vsTitle: any;\n    @Input() vsDiscountContent: any;\n    @Input() vsContinueTitle: any;\n    @Input() vsPlaceOrderTitle: any;\n    @Input() vsShow: boolean;\n    @Input() vsDiscount: boolean;\n    @Input() vsTitleShow: boolean;\n    @Input() vsContinueButtonShow: boolean;\n    @Input() vsPlaceorderButtonShow: boolean;\n    @Input() vsCart: any = [];\n    @Input() vsCurrency: any = '';\n    @Input() VsCartTotal: any;\n    @Input() vsTaxType: any = '';\n    @Input() vsNetPayableTitle: any = '';\n    @Input() vsTotalShipping: any;\n    @Input() vsDeliveryDetails: any;\n    @Input() vsNoImage: any = '';\n    @Input() vsEmptyCartImage: any = '';\n    @Output() vsIncrementProductEvent = new EventEmitter();\n    @Output() vsDecrementProductEvent = new EventEmitter();\n    @Output() vsNavigateCheckoutPageEvent = new EventEmitter();\n    @Output() vsRemoveProductEvent = new EventEmitter();\n    @Output() vsNavigateHomePageEvent = new EventEmitter();\n    vsShowEmptyCart: boolean = false;\n\n\n    constructor() { }\n\n    ngOnInit() {\n        if (this.vsCart.length == 0 || !this.vsCart || this.vsCart == null) {\n            this.vsShowEmptyCart = true;\n        }\n    }\n\n    handleIncrementProduct(product) {\n        this.vsIncrementProductEvent.emit(product);\n    }\n\n    handleDecrementProduct(product) {\n        this.vsDecrementProductEvent.emit(product);\n    }\n\n    handleRemoveProduct(product) {\n        this.vsRemoveProductEvent.emit(product);\n    }\n\n    handleNavigateCheckoutPage() {\n        this.vsNavigateCheckoutPageEvent.emit();\n    }\n\n    handleNavigateHomePage() {\n        this.vsNavigateHomePageEvent.emit();\n    }\n\n}","<div *ngIf=\"vsShow\" class=\"col-12\">\n  <div *ngIf=\"!vsShowEmptyCart\">\n    <header class=\"compareDropDownHeader cartHeader\">\n      <span *ngIf=\"vsTitleShow\">{{vsTitle}}\n        <i class=\"material-icons cartIcon\">shopping_cart</i></span>\n    </header>\n    <div class=\"table-responsive\">\n      <table class=\"table table-bordered align-center\" width=\"100%\" *ngIf=\"vsCart != null || vsCart.length > 1\">\n        <thead>\n          <tr>\n            <td width=\"10%\"></td>\n            <td width=\"30%\" class=\"vsecom-cartTable-header\">\n              <strong> Product </strong>\n            </td>\n            <td width=\"10%\" class=\"vsecom-cartTable-header\">\n              <strong> QTY </strong>\n            </td>\n            <td width=\"15%\" class=\"vsecom-cartTable-header\">\n              <strong>UNIT PRICE</strong>\n            </td>\n            <td width=\"15%\" class=\"vsecom-cartTable-header\">\n              <strong>DELIVERY INFO</strong>\n            </td>\n            <td width=\"15%\" class=\"vsecom-cartTable-header\">\n              <strong>SUB TOTAL</strong>\n            </td>\n            <td width=\"5%\"></td>\n          </tr>\n        </thead>\n        <tbody>\n          <tr class=\"align-middle\" *ngFor=\"let product of vsCart;  let i= index\">\n            <td width=\"10%\">\n              <img *ngIf=\"product.PictureName\" class=\"imgsmallthumbnail\" id=\"img_{{product.ProductId}}\"\n                src=\"{{product.PictureName}}\" />\n              <img *ngIf=\"product.PictureName == '' || product.PictureName == null || product.PictureName == undefined\"\n                class=\"imgsmallthumbnail\" src=\"{{vsNoImage}}\" />\n            </td>\n            <td width=\"30%\">\n              <span>{{product.Name}}</span>\n              <br />\n              <span class=\"minorinfofont\" *ngIf=\"product.SelectedSize && product.SelectedSize.length>0\">\n                / Size:\n                <span class=\"comparedropdowntext padding-5\">\n                  {{product.SelectedSize}}\n                </span>\n              </span>\n            </td>\n            <td width=\"10%\">\n              <div class=\"col-12\">\n                <div class=\"input-group inputGroupItems\">\n                  <span class=\" input-group-btn\">\n                    <button type=\"button\" class=\"qtyButton\" data-type=\"minus\" (click)=\"handleDecrementProduct(product);\">\n                      <strong>-</strong>\n                    </button>\n                  </span>\n                  <input type=\"text\" class=\"inputNumber qtyTextButton\" min=\"1\" max=\"100\" ng-valid-max ng-valid-min\n                    ng-model=\"product.Quantity\" ng-change=\"qtyChanged(product);\" value=\"{{product.Quantity}}\">\n                  <span class=\" input-group-btn\">\n                    <button type=\"button\" class=\"qtyButton\" data-type=\"plus\" (click)=\"handleIncrementProduct(product);\">\n                      <strong>+</strong>\n                    </button>\n                  </span>\n                </div>\n              </div>\n              <div id=\"restrict{{i}}\" class=\"displayN\">\n                <h6 style=\"font-size: 10px;\">Failure! Quantity is out of stock.</h6>\n              </div>\n            </td>\n            <td width=\"15%\">\n              <strong><span>{{vsCurrency}}</span> <span class=\"padding-5\">{{product.SpecialPrice}}</span></strong>\n            </td>\n            <td width=\"15%\">\n              <span class=\"minorinfofont\">\n                <span *ngIf=\"product.DeliveryTime>0\"><br /> Delivered within {{product.DeliveryTime}}\n                  business day. </span>\n                <span *ngIf=\"product.AdditionalShippingCharge>0\"> Shipping Charges : {{vsCurrency}}\n                  {{product.TotalAdditionalShippingCharge}} </span>\n                <span *ngIf=\"product.AdditionalShippingCharge==0\"> Free Shipping</span>\n              </span>\n            </td>\n            <td width=\"15%\">\n              <strong><span>{{vsCurrency}}</span> <span class=\"padding-5\">{{product.SubTotal}}</span></strong>\n            </td>\n            <td width=\"5%\">\n              <i (click)=\"handleRemoveProduct(product)\" class=\"fa fa-times-circle-o\" aria-hidden=\"true\"></i>\n            </td>\n          </tr>\n        </tbody>\n      </table>\n      <div *ngIf=\"vsCart == null || vsCart.length < 1\">\n        <img src=\"{{vsNoImage}}\" />\n  \n      </div>\n  \n    </div>\n    <span *ngIf=\"vsCart == null || vsCart.length < 1\">\n      <strong>Your Cart Is Empty</strong>\n    </span>\n    <div>\n      <table width=\"100%\">\n        <tr>\n          <td width=\"20%\"></td>\n          <td width=\"20%\"></td>\n          <td width=\"20%\"></td>\n          <td width=\"20%\">\n            <h4><strong>Cart Total</strong></h4>\n          </td>\n          <td width=\"20%\" class=\"align-right\">\n            <h4> <strong><span>{{vsCurrency}}</span> <span>{{VsCartTotal}}</span></strong></h4>\n          </td>\n        </tr>\n        <tr>\n          <td width=\"20%\"></td>\n          <td width=\"20%\"></td>\n          <td width=\"20%\"></td>\n          <td width=\"20%\">\n            <h6><strong>Shipping</strong></h6>\n            <h6 *ngIf=\"vsDeliveryDetails.displayName\"><strong>Courier Name</strong></h6>\n            <h6 *ngIf=\"vsDeliveryDetails.deliveryTime\"><strong>Delivery Time</strong></h6>\n          </td>\n          <td width=\"20%\" class=\"align-right\">\n            <h5 *ngIf=\"vsTotalShipping>0\"> <strong><span>{{vsCurrency}}</span>\n                <span>{{vsTotalShipping}}</span></strong></h5>\n            <h5> <strong><span *ngIf=\"vsTotalShipping==0\">Free</span></strong></h5>\n            <h5> <strong><span *ngIf=\"vsDeliveryDetails.displayName\">{{vsDeliveryDetails.displayName}}</span></strong>\n            </h5>\n            <h5> <strong><span *ngIf=\"vsDeliveryDetails.deliveryTime\">{{vsDeliveryDetails.displayName}}</span></strong>\n            </h5>\n          </td>\n        </tr>\n        <tr>\n          <td width=\"20%\">\n          </td>\n          <td width=\"20%\"></td>\n          <td width=\"20%\"></td>\n          <td width=\"20%\">\n            <h6>\n              <strong>Tax</strong><strong><span>(</span><span>{{vsTaxType}}</span><span>%</span><span>)</span></strong>\n            </h6>\n          </td>\n          <td width=\"20%\" class=\"align-right\">\n            <h5 *ngIf=\"vsTaxType != ''\"><strong>\n                <span>{{vsCurrency}}</span><span>{{(VsCartTotal * vsTaxType) / 100}}</span></strong></h5>\n            <h5> <strong><span *ngIf=\"vsTaxType==''\">-</span></strong></h5>\n          </td>\n        </tr>\n        <tr>\n          <td width=\"20%\"></td>\n          <td width=\"20%\"></td>\n          <td width=\"20%\"></td>\n          <td width=\"20%\">\n            <h4><strong>{{vsNetPayableTitle}}</strong></h4>\n          </td>\n          <td width=\"20%\" class=\"align-right\">\n            <h3>\n              <strong><span>{{vsCurrency}}</span> <span>\n                  {{(((VsCartTotal * vsTaxType) /100) + (VsCartTotal + vsTotalShipping)) | number}}\n                </span></strong>\n            </h3>\n          </td>\n        </tr>\n      </table>\n      <div *ngIf=\"vsDiscount\" class=\"minorinfofont\">{{vsDiscountContent}}\n      </div>\n    </div>\n    <br class=\"clear\" />\n    <div>\n      <a *ngIf=\"vsContinueButtonShow\" href=\"home\">\n        <button class=\"vsecom-btn-primary btn btn-success\">{{vsContinueTitle}}</button>\n      </a>\n      <span class=\"btnalignRight\" *ngIf=\"vsCart && vsCart.length>0\">\n        <a *ngIf=\"vsPlaceorderButtonShow\">\n          <button [disabled]='vsCurrency==\"\" || vsCurrency==null || vsCurrency==undefined'\n            (click)=\"handleNavigateCheckoutPage();\"\n            class=\"vsecom-btn-primary btn btn-success buttonSpace\">{{vsPlaceOrderTitle}}\n          </button>\n        </a>\n      </span>\n    </div>\n  </div>\n  <div *ngIf=\"vsShowEmptyCart\">\n    <div class=\"emptyCartContainer\" >\n      <img class=\"emptyCartImage\" src=\"{{vsEmptyCartImage}}\" />\n      <div (click)=\"handleNavigateHomePage()\">\n          <button class=\"vsecom-btn-primary btn btn-success continueButton\">Continue Shopping</button>\n      </div>\n    </div>\n  </div>\n</div>\n","import { Component, EventEmitter, Input, OnInit, Output, } from '@angular/core';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\n\n@Component({\n    selector: 'vssuite-check-availability',\n    templateUrl: '../ui/vssuite-check-availability.html',\n    styleUrls: ['../ui/vssuite-general.css'],\n})\n\nexport class VssuiteCheckAvailability implements OnInit {\n\n    submitted = false;\n    checkAvailabilityForm: FormGroup;\n    @Output() vsCheckAvailabilityEvent = new EventEmitter();\n    @Output() vsCloseEvent = new EventEmitter();\n    @Input() vsContactDataSaved: boolean;\n    @Input() vsContactDataNotSaved: boolean;\n    @Input() vsContactDataSavedFailure: boolean;\n    @Input() vsProduct: any;\n    @Input() vsMessage1: any;\n    @Input() vsMessage2: any;\n    @Input() vsMessage3: any;\n\n    constructor() {\n        this.checkAvailabilityForm = new FormGroup({\n            Name: new FormControl('', [Validators.required]),\n            Mobile: new FormControl('', [Validators.required]),\n            Email: new FormControl('', [Validators.required]),\n            Subject: new FormControl(''),\n        });\n    }\n\n    ngOnInit() {\n\n    }\n\n    handleContactSeller(){\n        this.submitted = true;\n        if (!this.checkAvailabilityForm.valid) {\n            return;\n        }\n        this.vsCheckAvailabilityEvent.emit({contactData: this.checkAvailabilityForm.value});\n    }\n\n    handleClose(){\n        this.vsCloseEvent.emit();\n    }\n}\n\n\n","<div class=\"dialogDiv\">\n    <i class=\"material-icons cancelIcon\" (click)=\"handleClose()\" >close</i>\n    <h4 *ngIf=\"vsProduct && vsProduct.storePricingModel && vsProduct.storePricingModel[0]\">Contact {{vsProduct.storePricingModel[0].branchName}} - Get Quotes</h4>\n    <div>\n        <div mat-dialog-content>\n            <form [formGroup]=\"checkAvailabilityForm\" class=\"form-horizontal contactForm\" (ngSubmit)=\"handleContactSeller()\" >\n                <div class=\"form-group contactInput\">\n                    <label for=\"username\" class=\"col-sm-2 control-label\">Name</label>\n                    <div class=\"col-sm-10\">\n                        <input type=\"text\" class=\"form-control\" tabindex=\"1\"\n                             required autofocus formControlName=\"Name\"\n                            placeholder=\"Name\">\n                        <div *ngIf=\"submitted && checkAvailabilityForm.controls['Name'].errors\">\n                            <div class=\"text-danger\" *ngIf=\"checkAvailabilityForm.controls['Name'].errors['required']\">*Name is required</div>\n                        </div>\n                    </div>\n                    \n                </div>\n                \n                <div class=\"form-group contactInput\">\n                    <label for=\"mobilenumber\" class=\"col-sm-2 control-label\">Mobile</label>\n                    <div class=\"col-sm-10\">\n                        <input type=\"text\" class=\"form-control\" maxlength=\"14\" minlength=\"10\"\n                            tabindex=\"2\" onkeypress='return event.charCode >= 48 && event.charCode <= 57'\n                             required autofocus formControlName=\"Mobile\"\n                            placeholder=\"Mobile Number\">\n                            <div *ngIf=\"submitted && checkAvailabilityForm.controls['Mobile'].errors\">\n                                <div class=\"text-danger\" *ngIf=\"checkAvailabilityForm.controls['Mobile'].errors['required']\">*Mobile Number is required</div>\n                                <div class=\"text-danger\" *ngIf=\"checkAvailabilityForm.controls['Mobile'].errors['minlength']\">*Minimum 10 Number is required</div>\n                            </div>\n                    </div>\n                </div>\n                <div class=\"form-group contactInput\">\n                    <label for=\"email\" class=\"col-sm-2 control-label\">Email</label>\n                    <div class=\"col-sm-10\">\n                        <input type=\"email\" class=\"form-control\" tabindex=\"3\"\n                             required autofocus formControlName=\"Email\"\n                            placeholder=\"Email\">\n                            <div *ngIf=\"submitted && checkAvailabilityForm.controls['Email'].errors\">\n                                <div class=\"text-danger\" *ngIf=\"checkAvailabilityForm.controls['Email'].errors['required']\">*Email is required</div>\n                            </div>\n                    </div>\n                </div>\n                <div class=\"form-group contactInput\">\n                    <label for=\"subject\" class=\"col-sm-2 control-label\">Subject</label>\n                    <div class=\"col-sm-10\">\n                        <textarea rows=\"5\" class=\"form-control\" maxlength=\"140\"\n                            tabindex=\"4\" autofocus formControlName=\"Subject\"\n                            placeholder=\"Contact Store and Get assured response on lower price and also stock availability.\"></textarea>\n                    </div>\n                </div>\n                <span *ngIf=\"vsProduct && vsProduct.storePricingModel && vsProduct.storePricingModel[0]\">Contact : {{vsProduct.storePricingModel[0].branchName}}</span>\n                <div *ngIf=\"vsContactDataSaved\" class=\"alert alert-success\">Message Sent</div>\n                <div *ngIf=\"vsContactDataSavedFailure\" class=\"alert alert-danger\">You can only sent one message to the store for same product in 2 hours.</div>\n                <div *ngIf=\"vsContactDataNotSaved\" class=\"alert alert-danger\"> \"Sorry. Please resend the details.\"</div>\n                <div class=\"contactButtonRight\">\n                    <button class=\"vsecom-btn-primary btn btn-success\" \n                        tabindex=\"6\" aria-hidden=\"true\" (click)=\"handleClose()\">Close</button>\n                    <button type=\"submit\" class=\"vsecom-btn-primary btn btn-success buttonSpace\"\n                        tabindex=\"5\">\n                        Submit\n                    </button>\n                </div>\n                <br />\n                <br />\n                <br />\n                <ul class=\"keyFeatureList\">\n                    <li>\n                        {{vsMessage1}}\n                    </li>\n                    <li>\n                        {{vsMessage2}}\n                    </li>\n                    <li>\n                        {{vsMessage3}}\n                    </li>\n                </ul>\n                \n            </form>\n            \n        </div>\n    </div>\n  </div>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\n\n@Component({\n    selector: 'vssuite-checkout',\n    templateUrl: '../ui/vssuite-checkout.html',\n    styleUrls: ['../ui/vssuite-general.css'],\n})\n\nexport class VssuiteCheckout implements OnInit {\n\n    loginForm: FormGroup;\n    registerForm: FormGroup;\n    addressForm: FormGroup;\n    submitted = false;\n    loginsubmitted = false;\n    addressSubmitted = false;\n    didNotEdit = true;\n    selected: any;\n\n    @Input() vsCartList: any = [];\n    @Input() billingAddress: any;\n    @Input() vsCurrency: any = '';\n    @Input() vsCartTotal: any;\n    @Input() vsTaxType: any = '';\n    @Input() vsTotalShipping: any;\n    @Input() vsDeliveryDetails: any;\n    @Input() vsOrderDiscount: any;\n    @Input() vsFlagLoggedIn: boolean;\n    @Input() vsLoginErrorMessage: any;\n    @Input() vsRegisterErrorMessage: any;\n    @Input() vsNetPayableTitle: any;\n    @Input() vsApplyCouponTitle: any;\n    @Input() couponCode: any = '';\n    @Input() vsTotalSaved: any;\n    @Input() vsCurUserDisplayName: any = '';\n    @Input() vsBuyerAddress: any = [];\n    @Input() vsDeliveryOption: any;\n    @Input() vsEnabledProvider: any;\n    @Input() vsPaymentOptionShow: any;\n    @Input() vsCountries: any = [];\n\n\n    @Output() vsLoginEvent = new EventEmitter();\n    @Output() vsRegisterEvent = new EventEmitter();\n    @Output() vsIncrementProductEvent = new EventEmitter();\n    @Output() vsDecrementProductEvent = new EventEmitter();\n    @Output() vsRemoveProductEvent = new EventEmitter();\n    @Output() vsBuyerAddressEvent = new EventEmitter();\n    @Output() vsConfirmOrder = new EventEmitter();\n    @Output() vsPaymentMehtodEvent = new EventEmitter();\n    @Output() vsApplyCouponEvent = new EventEmitter();\n    @Output() vsCreateRazorOrderId = new EventEmitter();\n\n    tab: any = 'loginTab';\n\n    constructor() {\n        this.loginForm = new FormGroup({\n            UserName: new FormControl('', [Validators.required]),\n            Password: new FormControl('', [Validators.required]),\n        });\n        this.registerForm = new FormGroup({\n            FirstName: new FormControl('', [Validators.required]),\n            LastName: new FormControl('', [Validators.required]),\n            Email: new FormControl('', [Validators.email]),\n            Password: new FormControl('', [Validators.required, Validators.minLength(6)]),\n            ConfirmPassword: new FormControl('', [Validators.required]),\n            PhoneNumber1: new FormControl('', [Validators.required, Validators.minLength(10), Validators.maxLength(14), Validators.pattern('[0-9\\/+]*')])\n        }, this.mustMatch('Password', 'ConfirmPassword'));\n        this.addressForm = new FormGroup({\n            Address1: new FormControl('', [Validators.required]),\n            Address2: new FormControl(''),\n            City: new FormControl('', [Validators.required]),\n            PostalCode: new FormControl('', [Validators.required]),\n            State: new FormControl('', [Validators.required]),\n            Country: new FormControl('', [Validators.required]),\n            PhoneNumber: new FormControl('', [Validators.required]),\n            UserName: new FormControl(''),\n            AddressId: new FormControl(''),\n        });\n    }\n\n    mustMatch(controlName: string, matchingControlName: string) {\n        return (formGroup: FormGroup) => {\n            const control = formGroup.controls[controlName];\n            const matchingControl = formGroup.controls[matchingControlName];\n            if (matchingControl.errors && !matchingControl.errors['mustMatch']) {\n                return;\n            }\n            // set error on matchingControl if validation fails\n            if (control.value !== matchingControl.value) {\n                matchingControl.setErrors({ mustMatch: true });\n            } else {\n                matchingControl.setErrors(null);\n            }\n            return null;\n        };\n    }\n\n    ngOnInit() {\n      \n    }\n\n    patchValue() {\n        if (this.didNotEdit && this.vsBuyerAddress) {\n            this.addressForm.patchValue({\n                Address1: this.vsBuyerAddress.address1,\n                Address2: this.vsBuyerAddress.address2,\n                City: this.vsBuyerAddress.city,\n                PostalCode: this.vsBuyerAddress.postalCode,\n                State: this.vsBuyerAddress.state,\n                Country: this.vsBuyerAddress.country,\n                PhoneNumber: this.vsBuyerAddress.phoneNumber,\n                AddressId: this.vsBuyerAddress.addressId\n              })\n              this.didNotEdit = false;\n        } \n    }\n\n    handleLogin() {\n        this.loginsubmitted = true;\n        if (!this.loginForm.valid) {\n            return;\n        }\n        this.vsLoginEvent.emit({ loginData: this.loginForm.value });\n\n    }\n    handleRegister() {\n        this.submitted = true;\n        if (!this.registerForm.valid) {\n            return;\n        }\n        if (this.registerForm.value.FirstName == '' || this.registerForm.value.FirstName == null) {\n            this.registerForm.value.FirstName = this.registerForm.value.Email\n        }\n        this.vsRegisterEvent.emit({ registerData: this.registerForm.value })\n    }\n    handleIncrementProduct(product) {\n        this.vsIncrementProductEvent.emit(product);\n    }\n    handleDecrementProduct(product) {\n        this.vsDecrementProductEvent.emit(product);\n    }\n    handleRemoveProduct(product) {\n        this.vsRemoveProductEvent.emit(product);\n    }\n    handleBuyerAddress() {\n        this.addressSubmitted = true;\n        if (!this.addressForm.valid) {\n            return;\n        }\n        this.vsBuyerAddressEvent.emit({ addressData: this.addressForm.value });\n        this.tab = \"paymentTab\";\n    }\n    handleConfirmOrder() {\n        this.vsConfirmOrder.emit();\n    }\n    handleShowPaymentMehtod(id, event) {\n        this.vsPaymentMehtodEvent.emit({ id: id, eventdata: event.currentTarget });\n    }\n    handleApplyCoupon(couponCode) {\n        this.vsApplyCouponEvent.emit({couponCode: couponCode});\n    }\n    handleRazorPayMehtod(event){\n        let tax =this.vsCartTotal * this.vsTaxType /100 \n        let discount = this.vsCartTotal - this.vsOrderDiscount\n        let cartTotal = tax+ discount  + this.vsTotalShipping\n        this.vsCreateRazorOrderId.emit({cartTotal: cartTotal});\n    }\n\n}","<div class=\"row\">\n    <section class=\"col-sm-6\">\n        <div *ngIf=\"!vsFlagLoggedIn && tab === 'loginTab'\">\n            <div class=\"loginForm d-flex justify-content-end\">\n                <div class=\"col-sm-6\">\n                    <span><strong>Existing User - Login</strong></span>\n                    <form autocomplete=\"off\" [formGroup]=\"loginForm\" (ngSubmit)=\"handleLogin()\" class=\"pt20\">\n                        <p>\n                            <input tabindex=\"1\" type=\"text\" name=\"username\" class=\"form-control\"\n                                formControlName=\"UserName\" required autofocus placeholder=\"Email or PhoneNumber\">\n                        </p>\n                        <div *ngIf=\"loginsubmitted && loginForm.controls['UserName'].errors\">\n                            <div class=\"text-danger\" *ngIf=\"loginForm.controls['UserName'].errors['required']\">*Email or\n                                Phone Number is required</div>\n                        </div>\n                        <p>\n                            <input tabindex=\"2\" type=\"password\" name=\"password\" class=\"form-control\"\n                                formControlName=\"Password\" required placeholder=\"Password\">\n                        </p>\n                        <div *ngIf=\"loginsubmitted && loginForm.controls['Password'].errors\">\n                            <div class=\"text-danger\" *ngIf=\"loginForm.controls['Password'].errors['required']\">*Password\n                                is required</div>\n                        </div>\n\n                        <div class=\"d-flex justify-content-end\">\n                            <button class=\"vsecom-btn-primary btn btn-success\" tabindex=\"3\" type=\"submit\">Login</button>\n\n                        </div>\n                        <br style=\"clear:both\">\n                        <div *ngIf=\"vsLoginErrorMessage != ''\" class=\"alert alert-danger\">\n                            {{vsLoginErrorMessage}}\n                        </div>\n                    </form>\n                </div>\n                <br class=\"clear\" />\n            </div>\n            <div class=\"col-12 pt15\" *ngIf=\"!vsFlagLoggedIn\">\n                <div>\n                    <span><strong>Register as New User</strong></span>\n                    <br class=\"clear\" />\n                </div>\n                <form class=\"form-horizontal\" [formGroup]=\"registerForm\" (ngSubmit)=\"handleRegister()\">\n                    <div class=\"registerForm align-right pt20\">\n                        <div class=\"form-group row d-flex justify-content-between align-items-center pb20\">\n                            <label for=\"name\" class=\"col-sm-3\"><strong>First Name :</strong></label>\n                            <div class=\"col-sm-9\">\n                                <input type=\"text\" class=\"form-control\" tabindex=\"3\" size=25 maxlength=100\n                                    formControlName=\"FirstName\" placeholder=\"First Name\" id=\"firstname\">\n                                <div *ngIf=\"submitted && registerForm.controls['FirstName'].errors\">\n                                    <div class=\"text-danger errorMessage\"\n                                        *ngIf=\"registerForm.controls['FirstName'].errors['required']\">*First Name is\n                                        required</div>\n                                </div>\n                            </div>\n                        </div>\n                        <div class=\"form-group row d-flex justify-content-between align-items-center pb20\">\n                            <label for=\"name\" class=\"col-sm-3\"><strong>Last Name :</strong></label>\n                            <div class=\"col-sm-9\">\n                                <input type=\"text\" class=\"form-control\" tabindex=\"4\" size=25 maxlength=100\n                                    formControlName=\"LastName\" placeholder=\"Last Name\" id=\"lastname\">\n                                <div *ngIf=\"submitted && registerForm.controls['LastName'].errors\">\n                                    <div class=\"text-danger errorMessage\"\n                                        *ngIf=\"registerForm.controls['LastName'].errors['required']\">*Last Name is\n                                        required</div>\n                                </div>\n                            </div>\n                        </div>\n                        <div class=\"form-group row d-flex justify-content-between align-items-center pb20\">\n                            <label for=\"phoneNumber\" class=\"col-sm-3\"><strong>Phone no :</strong></label>\n                            <div class=\"col-sm-9\">\n                                <input class=\"form-control\" formControlName=\"PhoneNumber1\" tabindex=\"5\" required\n                                    placeholder=\"Phone Number\" minlength=\"6\" maxlength=\"14\"\n                                    title=\"Enter Valid Phone Number\" id=\"phoneNumber\"\n                                    onkeypress='return event.charCode >= 48 && event.charCode <= 57'>\n                                <div *ngIf=\"submitted && registerForm.controls['PhoneNumber1'].errors\">\n                                    <div class=\"text-danger errorMessage\"\n                                        *ngIf=\"registerForm.controls['PhoneNumber1'].errors['required']\">\n                                        *Phone Number is required</div>\n                                    <div class=\"text-danger errorMessage\"\n                                        *ngIf=\"registerForm.controls['PhoneNumber1'].errors['minlength']\">\n                                        *Minimum 10 Numbers is required</div>\n                                </div>\n\n                            </div>\n                        </div>\n                        <div class=\"form-group row d-flex justify-content-between align-items-center pb20\">\n                            <label for=\"email\" class=\"col-sm-3\"><strong>Email :</strong></label>\n                            <div class=\"col-sm-9\">\n                                <input type=\"email\" class=\"form-control\" tabindex=\"6\" size=25 maxlength=100\n                                    formControlName=\"Email\" placeholder=\"Email\" id=\"email\">\n                                <div *ngIf=\"submitted && registerForm.controls['Email'].errors\">\n                                    <div class=\"text-danger\" *ngIf=\"registerForm.controls['Email'].errors['email']\">\n                                        *Please\n                                        enter a valid email address</div>\n                                </div>\n                            </div>\n                        </div>\n                        <div class=\"form-group row d-flex justify-content-between align-items-center pb20\">\n                            <label for=\"password\" class=\"col-sm-3\"><strong>Password :</strong></label>\n                            <div class=\"col-sm-9\">\n                                <input type=\"password\" class=\"form-control\" tabindex=\"7\" minlength=\"6\" size=25\n                                    maxlength=25 formControlName=\"Password\" placeholder=\"Password\" required\n                                    id=\"password\">\n                                <div *ngIf=\"submitted && registerForm.controls['Password'].errors\">\n                                    <div class=\"text-danger errorMessage\"\n                                        *ngIf=\"registerForm.controls['Password'].errors['required']\">*Password is\n                                        required</div>\n                                    <div class=\"text-danger errorMessage\"\n                                        *ngIf=\"registerForm.controls['Password'].errors['minlength']\">*Minimum 6\n                                        character is required</div>\n                                </div>\n                            </div>\n                        </div>\n                        <div class=\"form-group row d-flex justify-content-between align-items-center pb20\">\n                            <label for=\"confirmpassword\" class=\"col-sm-3\"><strong>Confirm Password\n                                    :</strong></label>\n                            <div class=\"col-sm-9\">\n                                <input type=\"password\" class=\"form-control\" tabindex=\"8\" size=25 maxlength=25\n                                    formControlName=\"ConfirmPassword\" placeholder=\"Confirm Password\" required\n                                    id=\"confirmpassword\">\n                                <div *ngIf=\"submitted && registerForm.controls['ConfirmPassword'].errors\">\n                                    <div class=\"text-danger errorMessage\"\n                                        *ngIf=\"registerForm.controls['ConfirmPassword'].errors['required']\">*Confirm\n                                        Password is required</div>\n                                    <div class=\"text-danger errorMessage\"\n                                        *ngIf=\"registerForm.controls['ConfirmPassword'].errors['mustMatch']\">*Confirm\n                                        Password does not match</div>\n                                </div>\n                            </div>\n                        </div>\n                        <div class=\"form-group row pb20\">\n                            <div class=\"d-flex register_Buttons\">\n                                <button class=\"vsecom-btn-primary btn btn-success\" tabindex=\"10\"\n                                    type=\"Reset\">Reset</button>\n                                <input class=\"vsecom-btn-primary btn btn-success buttonSpace\" tabindex=\"9\" type=\"submit\"\n                                    value=\"Register\">\n                            </div>\n                        </div>\n                        <br style=\"clear:both\">\n                        <div *ngIf=\"vsRegisterErrorMessage != ''\" class=\"alert alert-danger\">\n                            {{vsRegisterErrorMessage}}\n                        </div>\n                    </div>\n                </form>\n            </div>\n        </div>\n        <div *ngIf=\"vsFlagLoggedIn && tab === 'loginTab'\">\n            Logged in as : {{vsCurUserDisplayName}}\n            <br class=\"clear\" />\n            <br class=\"clear\" />\n            <form class=\"form-horizontal\" [formGroup]=\"addressForm\" (ngSubmit)=\"handleBuyerAddress()\">\n                <div class=\"compareDropDownHeader\">\n                    <div class=\"existing-address-text\">Shipping Address</div>\n                </div>\n                <br class=\"clear\" />\n                <br class=\"clear\" />\n                <div class=\"clear\"></div>\n                <div class=\"shipping-address\">\n                    <div class=\"form-group row d-flex justify-content-between align-items-center pb20\">\n                        <label class=\"col-sm-3\">\n                            <strong>Shipping Address: <span class=\"requiredlabel\">*</span></strong>\n                        </label>\n                        <div class=\"col-sm-7\">\n                            <textarea style=\"resize: none;\" name=\"address\" class=\"form-control\" required rows=\"4\"\n                                formControlName=\"Address1\" id=\"address-line1\"></textarea>\n                            <div *ngIf=\"addressSubmitted && addressForm.controls['Address1'].errors\">\n                                <div class=\"text-danger\" *ngIf=\"addressForm.controls['Address1'].errors['required']\">\n                                    *Shipping Address is required</div>\n                            </div>\n                        </div>\n                    </div>\n                    <div class=\"form-group row d-flex justify-content-between align-items-center pb20\">\n                        <label class=\"col-sm-3\">\n                            <label><strong>Nearest Landmark: </strong></label>\n                        </label>\n\n                        <div class=\"col-sm-7\">\n                            <input type=\"text\" value=\"\" class=\"form-control\" formControlName=\"Address2\"\n                                id=\"address-line2\">\n                        </div>\n                    </div>\n                    <div class=\"form-group row d-flex justify-content-between align-items-center pb20\">\n                        <label class=\"col-sm-3\">\n                            <label> <strong>City: <span class=\"requiredlabel\">*</span> </strong></label>\n                        </label>\n                        <div class=\"col-sm-7\">\n                            <input type=\"text\" value=\"\" class=\"form-control\" name=\"city\" required formControlName=\"City\"\n                                id=\"address-city\">\n                            <div *ngIf=\"addressSubmitted && addressForm.controls['City'].errors\">\n                                <div class=\"text-danger\" *ngIf=\"addressForm.controls['City'].errors['required']\">*City\n                                    is required</div>\n                            </div>\n                        </div>\n\n                    </div>\n                    <div class=\"form-group row d-flex justify-content-between align-items-center pb20\">\n                        <label class=\"col-sm-3\"><strong>Zip Code: <span class=\"requiredlabel\">*</span>\n                            </strong></label>\n                        <div class=\"col-sm-7\">\n                            <input id=\"pincode\" type=\"text\" required class=\"form-control\"\n                                title=\"Postal Code should be 6 digits\" minlength=\"6\" maxlength=\"6\"\n                                formControlName=\"PostalCode\" name=\"zip\"\n                                onkeypress='return event.charCode >= 48 && event.charCode <= 57'>\n                            <div *ngIf=\"addressSubmitted && addressForm.controls['PostalCode'].errors\">\n                                <div class=\"text-danger\" *ngIf=\"addressForm.controls['PostalCode'].errors['required']\">\n                                    *Zip Code is required</div>\n                                <div class=\"text-danger\" *ngIf=\"addressForm.controls['PostalCode'].errors['minlength']\">\n                                    *Minimum 6 characters is required </div>\n                            </div>\n\n                        </div>\n                    </div>\n                    <div class=\"form-group row d-flex justify-content-between align-items-center pb20\">\n                        <label class=\"col-sm-3\">\n                            <strong>State: <span class=\"requiredlabel\">*</span></strong>\n                        </label>\n                        <div class=\"col-sm-7\">\n                            <input type=\"text\" name=\"state\" class=\"form-control\" formControlName=\"State\"\n                                id=\"address-state\" required>\n                            <div *ngIf=\"addressSubmitted && addressForm.controls['State'].errors\">\n                                <div class=\"text-danger\" *ngIf=\"addressForm.controls['State'].errors['required']\">*State\n                                    is required</div>\n                            </div>\n                        </div>\n                    </div>\n                    <div class=\"form-group row d-flex justify-content-between align-items-center pb20\">\n                        <label class=\"col-sm-3\">\n                            <strong>Country: <span class=\"requiredlabel\">*</span></strong>\n                        </label>\n                        <div class=\"col-sm-7\">\n                            <select formControlName=\"Country\" class=\"form-control\">\n                                <option value=\"\" disabled selected>Select Country</option>\n                                <option *ngFor=\"let country of vsCountries\" [value]=\"country.name\">{{country.name}}\n                                </option>\n                            </select>\n                            <div *ngIf=\"addressSubmitted && addressForm.controls['Country'].errors\">\n                                <div class=\"text-danger\" *ngIf=\"addressForm.controls['Country'].errors['required']\">\n                                    *Country is required</div>\n                            </div>\n                        </div>\n                    </div>\n                    <div class=\"form-group row d-flex justify-content-between align-items-center pb20\">\n                        <label class=\"col-sm-3\"><strong>Mobile: <span class=\"requiredlabel\">*</span></strong>\n                        </label>\n                        <div class=\"col-sm-7\">\n                            <input type=\"text\" value=\"\" class=\"form-control\" required name=\"mobile\"\n                                formControlName=\"PhoneNumber\" minlength=\"10\" maxlength=\"14\"\n                                onkeypress='return event.charCode >= 48 && event.charCode <= 57'>\n                            <div *ngIf=\"addressSubmitted && addressForm.controls['PhoneNumber'].errors\">\n                                <div class=\"text-danger\" *ngIf=\"addressForm.controls['PhoneNumber'].errors['required']\">\n                                    *Mobile is required</div>\n                                <div class=\"text-danger\"\n                                    *ngIf=\"addressSubmitted && addressForm.controls['PhoneNumber'].errors['minlength']\">\n                                    *Minimum 10 Numbers is required</div>\n                            </div>\n                        </div>\n                    </div>\n                    <div class=\"pb10\">\n                        <br class=\"clear\" />\n                        <span>{{billingAddress}}</span>\n                        <br class=\"clear\" />\n                    </div>\n                </div>\n                <div class=\"d-flex justify-content-end\">\n                    <br class=\"clear\" />\n                    <button class=\"vsecom-btn-primary btn btn-success\" type=\"submit\" href=\"#\">Continue</button>\n\n                </div>\n            </form>\n            <br class=\"clear\" />\n        </div>\n        <div *ngIf=\"tab === 'paymentTab' && vsFlagLoggedIn \">\n            <form class=\"form-horizontal\" (ngSubmit)=\"handleConfirmOrder()\">\n                <div class=\"row\">\n                    <div class=\"col-lg-4 col-md-4 col-sm-4 col-12\">\n                        <span>Delivery Preference : </span>\n                    </div>\n                    <div class=\"col-lg-4 col-md-4 col-sm-4 col-6\">\n                        <label class=\"paymentLabel\">\n                            <input type=\"radio\" class=\"paymentInput\" [(ngModel)]=\"vsDeliveryOption\" value=\"StorePickup\"\n                                name=\"vsDeliveryOption\" required title=\"Select Delivery Option\">\n                            <strong><span class=\"paymentInput\">Pickup at Store</span></strong>\n                        </label>\n                    </div>\n                    <div class=\"col-lg-4 col-md-4 col-sm-4 col-6\">\n                        <label>\n                            <input type=\"radio\" [(ngModel)]=\"vsDeliveryOption\" value=\"HomeDelivery\"\n                                name=\"vsDeliveryOption\" required>\n                            <strong><span class=\"paymentInput\">Door Delivery</span></strong>\n                        </label>\n                    </div>\n                </div>\n\n                <div class=\"row\">\n                    <div class=\"col-lg-4 col-md-4 col-sm-4 col-12\">\n                        <span>Payment Options : </span>\n                    </div>\n                    <div class=\"col-lg-4 col-md-4 col-sm-4 col-6\" *ngFor=\"let paymentOptions of vsEnabledProvider; let i=index\">\n                        <label class=\"vsecom-payment-label paymentLabel\">\n                            <input type=\"radio\" value=\"{{paymentOptions.providerId}}\" name=\"paymmentOption\" required\n                                title=\"Select Payment Option\"\n                                (click)=\"handleShowPaymentMehtod(paymentOptions.providerId, $event)\"\n                                [class.active]=\"i==0\">\n                            <strong>\n                                <span class=\"paymentInput\">{{paymentOptions.providerName}}</span></strong>\n                        </label>\n                    </div>\n                </div>\n\n                <div class=\"row\">\n                    <div class=\"col-sm-12 pt15\" *ngIf=\"vsPaymentOptionShow=='confirmOrder'\">\n                        <button class=\"vsecom-btn-primary btn btn-success\" type=\"submit\" value=\"Submit\">Confirm\n                            Order</button>\n                    </div>\n                    <div class=\"payment_methodsDiv\" id=\"paypal-button-container\"\n                        [hidden]=\"!(vsPaymentOptionShow=='PayPal')\"></div>\n                    <button id=\"rzp-button1\" style=\"visibility: hidden;\">RazorDontClick</button>\n                    <div id=\"razorpay\" (click)=\"handleRazorPayMehtod(vsCartTotal)\" class=\"mart10\"\n                        [hidden]=\"!(vsPaymentOptionShow=='Razor')\">\n                        RazorPay\n                    </div>\n                </div>\n            </form>\n        </div>\n    </section>\n    <section class=\"col-sm-6\">\n        <table class=\"table table-bordered align-center\" width=\"100%\">\n            <thead>\n                <tr>\n                    <td width=\"45%\" class=\"vsecom-checkoutTable-header\">\n                        <strong> Product </strong>\n                    </td>\n                    <td width=\"20%\" class=\"vsecom-checkoutTable-header\">\n                        <strong> QTY </strong>\n                    </td>\n                    <td width=\"25%\" class=\"vsecom-checkoutTable-header\">\n                        <strong>PRICE</strong>\n                    </td>\n                    <td width=\"10%\"></td>\n                </tr>\n            </thead>\n            <tbody>\n                <tr *ngFor=\"let product of vsCartList;  let i = index\">\n\n                    <td class=\"vsecom-checkoutTable-content\">\n                        <span>{{product.Name}}</span>\n                    </td>\n                    <td class=\"vsecom-checkoutTable-content\">\n                        <div class=\"col-xs-12\">\n                            <div class=\"input-group inputGroupItems\">\n                                <span class=\" input-group-btn\">\n                                    <button type=\"button\" class=\"qtyButton\" data-type=\"minus\"\n                                        (click)=\"handleDecrementProduct(product);\">\n                                        <strong>-</strong>\n                                    </button>\n                                </span>\n                                <input type=\"text\" class=\"inputNumber qtyTextButton\" value=\"{{product.Quantity}}\"\n                                    ng-disabled=\"true\">\n                                <span class=\" input-group-btn\">\n                                    <button type=\"button\" class=\"qtyButton\" data-type=\"plus\"\n                                        (click)=\"handleIncrementProduct(product);\">\n                                        <strong>+</strong>\n                                    </button>\n                                </span>\n\n                            </div>\n                        </div>\n                        <div id=\"restrict{{i}}\" class=\"displayN\">\n                            <h6 style=\"font-size: 10px;\">Failure! Quantity is out of stock.</h6>\n                        </div>\n                    </td>\n                    <td class=\"vsecom-checkoutTable-content\">\n                        <strong><span>{{vsCurrency}}</span> <span class=\"padding-5\">{{product.SubTotal}}</span></strong>\n                        <br />\n                        <span class=\"minorinfofont\" *ngIf=\"product.AdditionalShippingCharge>0\"> (+ shipping):\n                            {{vsCurrency}}\n                            {{product.TotalAdditionalShippingCharge}} </span>\n                    </td>\n                    <td class=\"vsecom-checkoutTable-content\">\n                        <i class=\"fa fa-times-circle-o\" (click)=\"handleRemoveProduct(product)\" aria-hidden=\"true\"></i>\n                    </td>\n                </tr>\n            </tbody>\n\n        </table>\n        <div>\n            <table width=\"100%\">\n                <tr>\n                    <td width=\"20%\"></td>\n                    <td width=\"20%\">\n                        <h4><strong>Cart Total</strong></h4>\n                    </td>\n                    <td width=\"20%\" class=\"align-right\">\n                        <h4> <strong><span>{{vsCurrency}}</span> <span>{{vsCartTotal}}</span></strong>\n                        </h4>\n                    </td>\n                </tr>\n\n                <tr>\n                    <td width=\"20%\"></td>\n                    <td width=\"20%\">\n                        <h6><strong>Shipping</strong></h6>\n                        <h6 *ngIf=\"vsDeliveryDetails.displayName\"><strong>Courier Name</strong></h6>\n                        <h6 *ngIf=\"vsDeliveryDetails.deliveryTime\"><strong>Delivery Time</strong></h6>\n                    </td>\n                    <td width=\"20%\" class=\"align-right\">\n                        <h5 *ngIf=\"vsTotalShipping>0\"> <strong><span>{{vsCurrency}}</span>\n                                <span>{{vsTotalShipping}}</span></strong></h5>\n                        <h5> <strong><span *ngIf=\"vsTotalShipping==0\">Free</span></strong></h5>\n                        <h5> <strong><span\n                                    *ngIf=\"vsDeliveryDetails.displayName\">{{vsDeliveryDetails.displayName}}</span></strong>\n                        </h5>\n                        <h5> <strong><span\n                                    *ngIf=\"vsDeliveryDetails.deliveryTime\">{{vsDeliveryDetails.deliveryTime}}</span></strong>\n                        </h5>\n                    </td>\n                </tr>\n\n                <tr>\n                    <td width=\"20%\"></td>\n                    <td width=\"20%\">\n                        <h6>\n                            <strong>Tax</strong>\n                            <strong>\n                                <span>(</span><span>{{vsTaxType}}</span><span>%</span><span>)</span>\n                            </strong>\n                        </h6>\n                    </td>\n                    <td width=\"20%\" class=\"align-right\">\n                        <h5 *ngIf=\"vsTaxType != ''\">\n                            <strong>\n                                <span>{{vsCurrency}}</span>\n                                <span>{{(vsCartTotal * vsTaxType) /100}}</span>\n                            </strong>\n                        </h5>\n                        <h5> <strong><span *ngIf=\"vsTaxType==''\">-</span></strong></h5>\n                    </td>\n                </tr>\n\n                <tr *ngIf=\"vsFlagLoggedIn\">\n                    <td width=\"20%\"></td>\n                    <td width=\"20%\" class=\"btn-coupon\">\n                        <input type=\"text\" [(ngModel)]=\"couponCode\" placeholder=\"Discount Coupon\"\n                            class=\"form-control vsecom-applyCoupon btn-discount\" />\n\n\n                        <button class=\"vsecom-btn-primary btn btn-success vsecom-applyCoupon btn-apply\"\n                            (click)=\"handleApplyCoupon(couponCode)\">{{vsApplyCouponTitle}}</button>\n                    </td>\n                    <td width=\"20%\" class=\"align-right order-align\">\n                        <h6> <strong><span>{{vsCurrency}}</span> <span>{{vsOrderDiscount}}</span></strong>\n                        </h6>\n                    </td>\n\n                </tr>\n                <tr>\n                    <td width=\"20%\"></td>\n                    <td width=\"20%\">\n                        <h4><strong>{{vsNetPayableTitle}}</strong></h4>\n                    </td>\n                    <td width=\"20%\" class=\"align-right\">\n                        <h3> <strong>\n                                <span>{{vsCurrency}}</span>\n                                <span>\n                                    {{(((vsCartTotal * vsTaxType) /100) + ((vsCartTotal - vsOrderDiscount ) +\n                                    vsTotalShipping)) | number : '1.2-2'}}\n                                </span>\n                            </strong>\n                        </h3>\n                    </td>\n                </tr>\n                <tr *ngIf=\"vsFlagLoggedIn && vsTotalSaved > 0\" class=\"youSavedData\">\n                    <td width=\"20%\"></td>\n                    <td width=\"20%\">\n                        <h6><strong>You Saved </strong></h6>\n                    </td>\n                    <td width=\"20%\" class=\"align-right\">\n                        <h6 *ngIf=\"vsOrderDiscount > 0 \"> <strong><span>{{vsCurrency}}</span>\n                                <span>{{vsTotalSaved + vsOrderDiscount}}</span></strong></h6>\n                        <h6 *ngIf=\"vsOrderDiscount <= 0 \"> <strong><span>{{vsCurrency}}</span>\n                                <span>{{vsTotalSaved}}</span></strong></h6>\n                    </td>\n                </tr>\n            </table>\n            <br class=\"clear\" />\n            <br class=\"clear\" />\n            <div *ngIf=\"vsBuyerAddress\">\n                <span>{{patchValue()}}</span>\n                <div class=\"compareDropDownHeader\">SHIPPING Address</div>\n                <div class=\"user-adress\">\n                    <br><span>{{vsBuyerAddress.address1}}\n                    </span><br><span>{{vsBuyerAddress.address2}}</span>\n                    <br><span>{{vsBuyerAddress.city}}</span>\n                    <br />\n                    <span>{{vsBuyerAddress.state}}</span>\n                    <br>\n                    <span>{{vsBuyerAddress.country}}</span>\n                    <br>\n                    <span>\n                        Pincode: <span>{{vsBuyerAddress.postalCode}}</span>\n                    </span><br>\n                    <span>Mobile: <span>{{vsBuyerAddress.phoneNumber}}</span></span>\n                    <br class=\"clear\" />\n                    <br class=\"clear\" />\n                    <a (click)=\"tab = 'loginTab'\">\n                        <button class=\"vsecom-btn-primary btn btn-success\"> Change Address</button>\n                    </a>\n                </div>\n            </div>\n        </div>\n    </section>\n</div>","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n    selector: 'vssuite-content-box-horizontal',\n    templateUrl: '../ui/vssuite-content-box-horizontal.html',\n    styleUrls: ['../ui/vssuite-general.css'],\n})\n\nexport class VssuiteContentBoxHorizontal implements OnInit {\n\n    @Input() data: {\n        vsSectionTitle: any;\n        vsSectionSubTitle: any;\n        vsSectionDescription: any;\n        vsSectionImage: any;\n        vsSectionDescriptionShow: boolean;\n        vsSectionTitleShow: boolean;\n        vsSectionSubTitleShow: boolean;\n        vsSectionImageShow: boolean;\n        vsShow: boolean;\n       \n    }\n    @Input()  vsNoImage: any = '';\n\n    constructor() { }\n\n    ngOnInit() {\n\n    }\n\n}","<div *ngIf=\"data.vsShow\" class=\"vsecom-homecontent1\">\n    <div *ngIf=\"data.vsSectionTitleShow\" class=\"vsecom-homecontent1Title\">\n        <h2 class=\"vsecom-homecontent1-headingTitle vsecom-primarytext-color\">{{data.vsSectionTitle}}</h2>\n    </div>\n    <h3 *ngIf=\"data.vsSectionSubTitleShow\" class=\"h3\">{{data.vsSectionSubTitle}}</h3>\n    <div class=\"vsecom-homecontent1-subsection row pt20\">\n        <div *ngIf=\"data.vsSectionDescriptionShow\" class=\"vsecom-homecontent1-subsectionText pt20 col-md-8\">\n            <p>{{data.vsSectionDescription}}\n            </p>\n        </div>\n        <div *ngIf=\"data.vsSectionImageShow\" class=\"vsecom-homecontent1-subsectionImage col-md-4\">\n            <img *ngIf=\"data.vsSectionImage\" src={{data.vsSectionImage}} class=\"img-responsive sectionImagesfirst\">\n            <img  *ngIf=\"data.vsSectionImage == null || data.vsSectionImage == undefined || data.vsSectionImage == ''\" src={{vsNoImage}} class=\"img-responsive sectionImagesfirst\">\n        </div>\n    </div>\n</div>","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n    selector: 'vssuite-content-box-list',\n    templateUrl: '../ui/vssuite-content-box-list.html',\n    styleUrls: ['../ui/vssuite-general.css'],\n})\n\nexport class VssuiteContentBoxList implements OnInit {\n\n    @Input() data: {\n        vsSectionTitle: any;\n        vsSectionDescription: any;\n        vsSectionImage: any;\n        vsShowContentBox: boolean;\n    }\n    @Input()  vsNoImage: any = '';\n\n    constructor() { }\n\n    ngOnInit() {\n\n    }\n\n}","<div *ngIf=\"data.vsShowContentBox\">\n    <div class=\"contentBox_Container\">\n        <img  *ngIf=\"data.vsSectionImage\" src={{data.vsSectionImage}} id='img_title1' class='section1-logo sectionImages img-responsive'>\n        <img *ngIf=\"data.vsSectionImage == '' || data.vsSectionImage == null || data.vsSectionImage == undefined\" src={{vsNoImage}} id='img_title1' class='section1-logo sectionImages img-responsive'>\n    </div>\n    <div class=\"pt20\">\n        <h3>{{data.vsSectionTitle}}</h3>\n        <p>{{data.vsSectionDescription}}</p>\n    </div>\n</div>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n    selector: 'vssuite-footer',\n    templateUrl: '../ui/vssuite-footer.html',\n    styleUrls: ['../ui/vssuite-general.css']\n})\n\nexport class VssuiteFooter implements OnInit {\n\n    @Input() vsLogo: any = '';\n    @Input() vsPolicyTitle: any = '';\n    @Input() vsContactInfoTitle: any = '';\n    @Input() vsFooterAddress: any = '';\n    @Input() vsFooterMail: any = '';\n    @Input() vsFooterMobile: any = '';\n    @Input() vsFooterPhone: any = '';\n    @Input() vsSocialMediaTitle: any = '';\n    @Input() vsCopyRightText: any = '';\n    @Input() vsFacebookLink: any = '';\n    @Input() vsInstagramLink: any = '';\n    @Input() vsTwitterLink: any = '';\n    @Input() vsLinkedInLink: any = '';\n    @Input() vsYoutubeLink: any = '';\n    @Input() vsShowSocialMedia: boolean;\n    @Input() vsShowContactInfo: boolean;\n    @Input() vsShowPolicy: boolean;\n    @Input() vsShowCopyRight: boolean;\n    @Output() vsSharedChangeEvent = new EventEmitter();\n\n    constructor() { }\n\n    ngOnInit() {\n\n    }\n    handleShared(value){\n        this.vsSharedChangeEvent.emit({event: value})\n    }\n}","<div id=\"footersection\" class=\"vsecom-footer\">\n    <div class=\"vsecom-footersection\">\n        <div class=\"container\">\n            <div class=\"col-md-4 col-6 vsecom-footerpolicysection\" *ngIf=\"vsShowPolicy\">\n                <h4>{{vsPolicyTitle}}</h4>\n                <div class=\"vsecom-footerLink-mb\"><a (click)=\"handleShared('PolicyTerms')\">Terms and Conditions</a></div>\n                <div class=\"vsecom-footerLink-mb\"><a (click)=\"handleShared('PolicyPrivacy')\">Privacy Policy</a></div>\n                <div class=\"vsecom-footerLink-mb\"><a (click)=\"handleShared('ReturnPolicy')\">Return Policy</a></div>\n                <div class=\"vsecom-footerLink-mb\"><a (click)=\"handleShared('OfferPolicy')\">Offer Policy</a></div>\n            </div>\n            <div class=\"col-md-4 col-6 vsecom-footercontactsection\" *ngIf=\"vsShowContactInfo\">\n                <h4>{{vsContactInfoTitle}}</h4>\n                <div class=\"vsecom-footerLink-mb contact_Icons\" *ngIf=\"vsFooterAddress\">\n                    {{vsFooterAddress}}\n                </div>\n                <div class=\"vsecom-footerLink-mb contact_Icons\" *ngIf=\"vsFooterMail\">\n                    <i class=\"fa fa-envelope font15\" aria-hidden=\"true\"></i>\n                    <a href=\"mailto:{{vsFooterMail}}?Subject=Contact from \">{{vsFooterMail}}</a>\n                </div>\n                <div class=\"vsecom-footerLink-mb contact_Icons\" *ngIf=\"vsFooterMobile\">\n                    <i class=\"fa fa-mobile font25\" aria-hidden=\"true\"></i>\n                    <span> <a href=\"tel:{{vsFooterMobile}}\">{{vsFooterMobile}}</a>\n                    </span>\n                </div>\n                <div class=\"vsecom-footerLink-mb contact_Icons\" *ngIf=\"vsFooterPhone\">\n                    <i class=\"fa fa-phone-square font15\" aria-hidden=\"true\"></i>\n                    <span><a href=\"tel:{{vsFooterPhone}}\">{{vsFooterPhone}}</a></span>\n                </div>\n            </div>\n        </div>\n    </div>\n    <br class=\"clear\" />\n    <div class=\"container vsecom-footersection-link justify\">\n        <div class=\"col-md-6\">\n            <div *ngIf=\"vsShowSocialMedia\">\n                <h3 class=\"vsecom-socialmediafooter-title\">{{vsSocialMediaTitle}}</h3>\n                <div class=\"left-side\">\n                    <a href=\"{{vsFacebookLink}}\" class=\"btn btn-social-icon btn-facebook icon-size\"\n                        target=\"_blank\"><i class=\"fa fa-facebook\"></i></a>\n                    <a href=\"{{vsInstagramLink}}\" class=\"btn btn-social-icon btn-google-plus icon-size\"\n                        target=\"_blank\"> <i class=\"fa fa-instagram\"></i></a>\n                    <a href=\"{{vsTwitterLink}}\"  class=\"btn btn-social-icon btn-twitter icon-size\" target=\"_blank\"><i\n                            class=\"fa fa-twitter\"></i> </a>\n                    <a href=\"{{vsLinkedInLink}}\"  class=\"btn btn-social-icon btn-linkedin icon-size\" target=\"_blank\">\n                        <i class=\"fa fa-linkedin\"></i>\n                    </a>\n                    <a href=\"{{vsYoutubeLink}}\"  class=\"btn btn-social-icon icon-size\" target=\"_blank\">\n                        <i class=\"fa fa-youtube\"></i> </a>\n                </div>\n            </div>\n        </div>\n        <div class=\"col-md-6 mouse-hover\">\n            <br class=\"clear\" />\n            <a href=\"https://vsecommerce.com/\" target=\"_blank\">\n                <span *ngIf=\"vsShowCopyRight\">{{vsCopyRightText}}</span>\n                <p><img class=\"img-siz img-mov\" src=\"{{vsLogo}}\"/>Powered by <span class=\"txt\">vsEcommerce</span></p>\n            </a>\n        </div>\n    </div>\n</div>","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n    selector: 'vssuite-hero',\n    templateUrl: '../ui/vssuite-hero.html',\n    styleUrls: ['../ui/vssuite-general.css'],\n})\n\nexport class VssuiteHero implements OnInit {\n\n    @Input() vsHeroTitle: any = '';\n    @Input() vsImages: any = '';\n    @Input() vsShowHero: boolean = false;\n    @Input() vsShowHeroTitle: boolean = false;\n    @Input() vsShowOffersHero: boolean;\n    @Input()  vsNoImage: any = '';\n\n    constructor() { }\n\n    ngOnInit() {\n\n    }\n\n}","<div class=\"vsecom-homebanner\" *ngIf=\"vsShowHero\">\n    <div class=\"vsecom-homebanner-div1 vsposRel\">\n        <div class=\"vsecom-homeBannerTitle\" *ngIf=\"vsShowHeroTitle\">\n            <h1 class=\"vsecom-homeBannerTitleClr\">{{vsHeroTitle}}</h1>\n        </div>\n        <img *ngIf=\"vsImages\" src=\"{{vsImages}}\" id='Hero-Image' class='vsecom-homebannerImg img-responsive'>\n        <img *ngIf=\"vsImages == '' || vsImages == null || vsImages == undefined\" src=\"{{vsNoImage}}\" id='Hero-Image' class='vsecom-homebannerImg img-responsive'>\n    </div>\n</div>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\n\n@Component({\n    selector: 'vssuite-login',\n    templateUrl: '../ui/vssuite-login.html',\n    styleUrls: ['../ui/vssuite-general.css'],\n})\n\nexport class VssuiteLogin implements OnInit {\n    submitted = false;\n    flagError = false;\n    passwordVisible: boolean = false;\n\n    loginForm: FormGroup;\n    @Input() vsTitle: any = '';\n    @Input() Eyeicon1: any = '';\n    @Input() Eyeicon2: any = '';\n    @Input() vsLoginStatus: any = '';\n    @Input() vsTitleShow: boolean;\n    @Input() vsShow: boolean;\n    @Output() vsLoginEvent = new EventEmitter();\n    @Output() vsRegisterEvent = new EventEmitter();\n    @Output() vsForgotPasswordEvent = new EventEmitter();\n\n\n    constructor() {\n        this.loginForm = new FormGroup({\n            UserName: new FormControl('', [Validators.required]),\n            Password: new FormControl('', [Validators.required]),\n        });\n    }\n\n    ngOnInit() {\n\n    }\n    togglePasswordVisibility() {\n        let npw: any;\n        npw = document.getElementById(\"newPassword\");\n        if (npw.type === \"password\") {\n            npw.type = \"text\";\n            this.passwordVisible = true;\n        } else {\n            npw.type = \"password\";\n            this.passwordVisible = false;\n        }\n    }\n    handleLogin() {\n        this.submitted = true;\n        if (!this.loginForm.valid) {\n            return;\n        }\n        this.vsLoginEvent.emit({ loginData: this.loginForm.value });\n    }\n\n    handleForgotPassword() {\n        this.vsForgotPasswordEvent.emit()\n    }\n\n    handleRegister() {\n        this.vsRegisterEvent.emit()\n    }\n\n}","<div class=\"container view containerbgcolor\">\n    <div *ngIf=\"vsShow\" class=\"row justify-content-end\">\n        <div class=\"col-md-4 col-sm-6 mobileView\">\n            <div class=\"panel-heading\">\n                <h4 *ngIf=\"vsTitleShow\">{{vsTitle}}</h4>\n            </div>\n            <div>\n                <form autocomplete=\"off\" [formGroup]=\"loginForm\" (ngSubmit)=\"handleLogin()\">\n                    <p><input tabindex=\"1\" type=\"text\" name=\"username\" class=\"form-control\" formControlName=\"UserName\"\n                            id=\"validationDefaultUsername\" autofocus placeholder=\"Email or PhoneNumber\">\n                    </p>\n                    <div *ngIf=\"submitted && loginForm.controls['UserName'].errors\">\n                        <div class=\"text-danger\" *ngIf=\"loginForm.controls['UserName'].errors['required']\">*Email or\n                            Phone Number is required</div>\n                    </div>\n                    <div class=\"password-input-container\">\n\n                        <p><input tabindex=\"2\" type=\"password\" name=\"password\" class=\"form-control\" \n                            id=\"newPassword\" autocomplete=\"new-password\" formControlName=\"Password\" required\n                            placeholder=\"Password\">\n                        </p>\n\n                        <div class=\"eyeicon\" (click)=\"togglePasswordVisibility()\">\n                            <img *ngIf=\"passwordVisible\" src={{Eyeicon1}}>\n                            <img *ngIf=\"!passwordVisible\" src={{Eyeicon2}}>\n\n                        </div>\n                    </div>\n\n                    <div *ngIf=\"submitted && loginForm.controls['Password'].errors\">\n                        <div class=\"text-danger\" *ngIf=\"loginForm.controls['Password'].errors['required']\">*Password is\n                            required</div>\n                    </div>\n                    <div *ngIf=\"submitted && flagError\" class=\"invalid-message\">\n                        <div class=\"error\">Incorrect Email or Mobile Number. Please try again</div>\n                    </div>\n                    <div class=\"ForgotPassword\">\n                        <p class=\"align-right\">Forgot your password? <a (click)=\"handleForgotPassword()\">Click here to\n                                reset it</a>.\n                        </p>\n                    </div>\n                    <div class=\"align-right\">\n                        <button tabindex=\"4\" class=\"vsecom-btn-primary btn btn-success\" type=\"reset\">Reset</button>\n                        <button tabindex=\"3\" class=\"vsecom-btn-primary btn btn-success buttonSpace\"\n                            type=\"submit\">Login</button>\n                    </div>\n                    <br />\n                    New User? Click Here to <a class=\"btn-link\" (click)=\"handleRegister()\">Register</a>\n                    <div *ngIf=\"vsLoginStatus != ''\" class=\"alert alert-danger\">\n                        {{vsLoginStatus}}\n                    </div>\n                </form>\n            </div>\n        </div>\n    </div>\n</div>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n    selector: 'vssuite-menu-actions',\n    templateUrl: '../ui/vssuite-menu-actions.html',\n    styleUrls: ['../ui/vssuite-general.css'],\n})\n\nexport class VssuiteMenuActions implements OnInit {\n\n    @Input() vsFlagLoggedIn: boolean;\n    @Input() vsSearchShow: boolean;\n    @Input() vsLoginShow: boolean;\n    @Input() vsCartShow: boolean;\n    @Input() vsCartListCount: number = 0;\n    @Output() vsCartChangeEvent = new EventEmitter();\n    @Output() vsSearchChangeEvent = new EventEmitter();\n    @Output() vsSearchIconChangeEvent = new EventEmitter();\n    @Output() vsCloseIconChangeEvent = new EventEmitter();\n    @Output() vsLoginChangeEvent = new EventEmitter();\n    @Output() vsAccountChangeEvent = new EventEmitter();\n    @Output() vsOrderTrackingChangeEvent = new EventEmitter();\n    @Output() vsChangePasswordEvent = new EventEmitter();\n    @Output() vsLogoutChangeEvent = new EventEmitter();\n\n    constructor() { }\n\n    ngOnInit() {\n    }\n\n    handleLoginChangeEvent() {\n        this.vsLoginChangeEvent.emit()\n    }\n\n    handleAccountEvent() {\n        this.vsAccountChangeEvent.emit()\n    }\n\n    handleOrderTrackingEvent() {\n        this.vsOrderTrackingChangeEvent.emit()\n    }\n\n    handleChangePasswordEvent() {\n        this.vsChangePasswordEvent.emit()\n    }\n\n    handleLogoutEvent() {\n        this.vsLogoutChangeEvent.emit()\n    }\n\n    handleSearchChangeEvent() {\n        this.vsSearchChangeEvent.emit()\n    }\n\n    handleSearchIconChangeEvent() {\n        this.vsSearchIconChangeEvent.emit()\n    }\n\n    handleCloseIconChangeEvent() {\n        this.vsSearchShow = false;\n        this.vsCloseIconChangeEvent.emit()\n    }\n\n    handleCartChangeEvent() {\n        this.vsCartChangeEvent.emit()\n    }\n\n}","<a (click)=\"handleSearchIconChangeEvent()\" class=\"vsecom-header-icon-bar-searchbar\" title=\"search\" *ngIf=\"vsSearchShow\">\n    <mat-icon class=\"material-icons headerIcon\">search</mat-icon>\n</a>\n<a class=\"vsecom-header-icon-bar-dropdown\" (click)=\"handleCartChangeEvent()\" *ngIf=\"vsCartShow\">\n    <i matBadge={{vsCartListCount}} id=\"cartTopLink\" class=\"material-icons-outlined\">shopping_cart</i>\n</a>\n<a class=\"vsecom-header-menu-login\" title=\"Login\" (click)=\"handleLoginChangeEvent()\" *ngIf=\"!vsFlagLoggedIn && vsLoginShow\">\n    <i class=\"material-icons-outlined headerIcon\">person</i>\n</a>\n<a class=\"vsecom-header-icon-bar-dropdown\" mat-icon-button [matMenuTriggerFor]=\"menu\" aria-label=\"Example icon-button with a menu\" *ngIf=\"vsFlagLoggedIn && vsLoginShow\">\n    <i class=\"material-icons-outlined\">person_pin</i>\n</a>\n<mat-menu #menu=\"matMenu\">\n    <a *ngIf=\"vsFlagLoggedIn\" class=\"vsecom-header-menu-order dropdown-item\" (click)=\"handleAccountEvent()\"\n        title=\"Account\">\n        <h6>Account</h6>\n    </a>\n    <a *ngIf=\"vsFlagLoggedIn\" class=\"vsecom-header-menu-order dropdown-item\" (click)=\"handleOrderTrackingEvent()\"\n        title=\"Order\">\n        <h6>Order</h6>\n    </a>\n    <a *ngIf=\"vsFlagLoggedIn\" class=\"vsecom-header-menu-order dropdown-item\" (click)=\"handleChangePasswordEvent()\"\n        title=\"Change password\">\n        <h6>Change password</h6>\n    </a>\n    <a *ngIf=\"vsFlagLoggedIn\" class=\"vsecom-header-menu-logout dropdown-item\" (click)=\"handleLogoutEvent()\"\n        title=\"LogOut\">\n        <h6>Logout</h6>\n    </a>\n</mat-menu>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n    selector: 'vssuite-product-details',\n    templateUrl: '../ui/vssuite-product-details.html',\n    styleUrls: ['../ui/vssuite-general.css'],\n})\n\nexport class VssuiteProductDetails implements OnInit {\n\n    @Input() vsProduct: any;\n    @Input() vsCurrency: any = '';\n    @Input() vsProductKeyFeatures: any;\n    @Input() vsQuantityFMessage: any = '';\n    @Input() vsSelectedVariant: any;\n    @Input() vsBuyProductText: any;\n    @Input() vsAvailabilityProductText: any;\n    @Input() vsProductKeyFeatureText: any;\n    @Input() vsWishlist: boolean;\n    @Input() vsCompare: boolean;\n    @Input() vsRating: boolean;\n    @Input() vsComparisonlistProductId: any;\n    @Input() vsProductRating: any;\n    @Output() vsChangeSelectedVariant = new EventEmitter();\n    @Output() vsBuyProduct = new EventEmitter();\n    @Output() vsCheckAvailability = new EventEmitter();\n    @Output() vsAddProductWishlis = new EventEmitter();\n    @Output() vsRemoveFromProductComparison = new EventEmitter();\n    @Output() vsAddToProductComparison = new EventEmitter();\n    @Output() vsProductStartRating = new EventEmitter();\n\n    @Input() vsProductVariantList: any;\n    @Input() vsProductSpecialPrice: any;\n    @Input() vsProductPrice: any;\n    @Output() vsUpdateVariant = new EventEmitter();\n    constructor() { }\n\n    ngOnInit() {\n\n    }\n\n    handleSelectedVariant(data: any) {\n        this.vsChangeSelectedVariant.emit();\n    }\n\n    handleBuyProduct(product, branchId, branchName, price, specialPrice, additionalShippingCharge, deliveryTime, selectedSize) {\n        this.vsBuyProduct.emit({product: product, branchId: branchId, branchName: branchName, price: price, specialPrice: specialPrice, additionalShippingCharge: additionalShippingCharge, deliveryTime: deliveryTime, selectedSize: selectedSize})\n    }\n\n    handleCheckAvaility(id,branchId){\n        this.vsCheckAvailability.emit({id: id, branchId: branchId});\n    }\n\n    handleAddProductWishlist(value: any){\n        this.vsAddProductWishlis.emit({evet: value})\n    }\n\n    handleRemoveFromProductComparison(value: any){\n        this.vsRemoveFromProductComparison.emit({evevt: value})\n    }\n\n    handleAddToProductComparison(value: any){\n        this.vsAddToProductComparison.emit({evevt: value})\n    }\n\n    handleStartRating(){\n        this.vsProductStartRating.emit({evevt: this.vsProductRating})\n    }\n\n    handleProductvariant(value,e){\n        this.vsUpdateVariant.emit({value: value, e: e});\n    }\n}","<div class=\"col-12 row noPadding spaces-top\">\n    <h3 class=\"vsecom-header-color\">\n        <strong>{{ vsProduct.name}}</strong>\n    </h3>\n    <div class=\"col-md-5 col-sm-12 noPadding spaces-left\">\n        by {{vsProduct.brandName}}\n        <br class=\"clear\" />\n        <div *ngIf=\"vsProductSpecialPrice\">\n            <span *ngIf=\"vsProductPrice > vsProductSpecialPrice\">\n                Price: <span class=\"vsecom-StrikeOffText\">{{vsCurrency}}\n                    {{vsProductPrice}} </span>\n                [ <span>{{((1-(vsProductSpecialPrice/vsProductPrice\n                    ))*100) | number }}</span> % Off ]\n            </span>\n            <br class=\"clear\" />\n            <span *ngIf=\"vsProductSpecialPrice\">\n                Sale Price:\n                <span class=\"product-price\">\n                    <strong>\n                        <span>{{vsCurrency}}</span>\n                        <span>{{vsProductSpecialPrice}}</span>\n                    </strong>\n                </span></span>\n        </div>\n        <div *ngIf=\"!vsProductSpecialPrice\">\n            <span\n                *ngIf=\"vsProduct.storePricingModel && (vsProduct.storePricingModel[0].price > vsProduct.storePricingModel[0].specialPrice)\">\n                Price: <span class=\"vsecom-StrikeOffText\">{{vsCurrency}}\n                    {{vsProduct.storePricingModel[0].price}} </span>\n                [ <span>{{((1-(vsProduct.storePricingModel[0].specialPrice/vsProduct.storePricingModel[0].price\n                    ))*100) | number:'1.0-0'}}</span>% Off ]\n            </span>\n            <br class=\"clear\" />\n            <span\n                *ngIf=\"vsProduct.storePricingModel && (vsProduct.storePricingModel.length>0 && vsProduct.storePricingModel.length !=0)\">\n                Sale Price: </span>\n            <span class=\"product-price\">\n                <strong>\n                    <span>{{vsCurrency}}</span>\n                    <span *ngIf=\"vsProduct.storePricingModel\">{{vsProduct.storePricingModel[0].specialPrice}}</span>\n                </strong>\n            </span>\n        </div>\n\n        <div>\n            <span class=\"special-price-description\"\n                *ngIf=\"vsProduct.storePricingModel\">{{vsProduct.storePricingModel[0].specialPriceDescription}}</span>\n        </div>\n        <br class=\"clear\" />\n    </div>\n    <div class=\"col-md-7 col-sm-12\">\n        <div *ngIf=\"vsRating\">\n            <ngx-material-rating [max]=\"5\" [(ngModel)]=\"vsProductRating\" color=\"primary\" (click)=\"handleStartRating()\">\n            </ngx-material-rating>\n        </div>\n        <div class=\"row\" *ngIf=\"vsWishlist && vsCompare\">\n            <div *ngIf=\"!vsProduct.flagWishlist && vsWishlist\" class=\"col-6 col-md-6 shortlistProductDetails\"\n                (click)=\"handleAddProductWishlist(vsProduct);\">\n                <div class=\"butlist\">\n                    <i class=\"material-icons\">favorite</i><span>Wishlist</span>\n                </div>\n            </div>\n            <div class=\"col-6 col-md-6  shortlistProductDetails\" *ngIf=\"vsProduct.flagWishlist && vsWishlist\">\n                <div class=\"butlist\">\n                    <i class=\"material-icons colorRed\">favorite</i><span>Wishlisted</span>\n                </div>\n            </div>\n            <div *ngIf=\"vsComparisonlistProductId.indexOf(vsProduct.productId) == -1 && vsCompare\"\n                class=\"col-6 col-md-6  shortlistProductDetails\" (click)=\"handleAddToProductComparison(vsProduct);\">\n                <div class=\"butlist\">\n                    <i class=\"material-icons\">view_list</i><span>Compare</span>\n                </div>\n            </div>\n            <div *ngIf=\"vsComparisonlistProductId.indexOf(vsProduct.productId) > -1 && vsCompare\"\n                class=\"col-6 col-md-6  shortlistProductDetails\" (click)=\"handleRemoveFromProductComparison(vsProduct);\">\n                <div class=\"butlist\">\n                    <i class=\"material-icons colorRed\">highlight_remove</i><span>Compare</span>\n                </div>\n            </div>\n        </div>\n        <br class=\"clear\" />\n        <div class=\" col-md-12 sizeoptionOuter\">\n            <div *ngIf=\"vsProduct.size1 && vsProduct.size1.length>0\"\n                class=\"sizeoption {{(vsSelectedVariant==vsProduct.size1) ? 'selected' : ''}}\"\n                (click)=\"handleSelectedVariant(vsProduct.size1);\">\n                {{vsProduct.size1}}\n            </div>\n            <div *ngIf=\"vsProduct.size2 && vsProduct.size2.length>0\"\n                class=\"sizeoption {{(vsSelectedVariant==vsProduct.size2) ? 'selected' : ''}}\"\n                (click)=\"handleSelectedVariant(vsProduct.size2);\">\n                {{vsProduct.size2}}\n            </div>\n            <div *ngIf=\"vsProduct.size3 && vsProduct.size3.length>0\"\n                class=\"sizeoption {{(vsSelectedVariant==vsProduct.size3) ? 'selected' : ''}}\"\n                (click)=\"handleSelectedVariant(vsProduct.size3);\">\n                {{vsProduct.size3}}\n            </div>\n            <div *ngIf=\"vsProduct.size4 && vsProduct.size4.length>0\"\n                class=\"sizeoption {{(vsSelectedVariant==vsProduct.size4) ? 'selected' : ''}}\"\n                (click)=\"handleSelectedVariant(vsProduct.size4);\">\n                {{vsProduct.size4}}\n            </div>\n            <div *ngIf=\"vsProduct.size5 && vsProduct.size5.length>0\"\n                class=\"sizeoption {{(vsSelectedVariant==vsProduct.size5) ? 'selected' : ''}}\"\n                (click)=\"handleSelectedVariant(vsProduct.size5);\">\n                {{vsProduct.size5}}\n            </div>\n            <div *ngIf=\"vsProduct.size6 && vsProduct.size6.length>0\"\n                class=\"sizeoption {{(vsSelectedVariant==vsProduct.size6) ? 'selected' : ''}}\"\n                (click)=\"handleSelectedVariant(vsProduct.size6);\">\n                {{vsProduct.size6}}\n            </div>\n        </div>\n        <br class=\"clear\" />\n    </div>\n    <div>\n        <div *ngFor=\"let productVariant of vsProductVariantList\">\n            <div class=\"variantDiv\" *ngIf=\"productVariant.heading == 'Color' || productVariant.heading == 'colour' || productVariant.heading == 'COLOR' || productVariant.heading == 'color'\n                                        || productVariant.heading == 'COLOUR' || productVariant.heading == 'Colour'\">\n                <h4 class=\"headingVariant\">{{productVariant.heading}}</h4>\n                <div class=\"colorStyle\">\n                    <div *ngFor=\"let color of productVariant.variants\">\n                        <div class=\"vs-color-input-wrapper selectColor\" (click)=\"handleProductvariant(color,$event)\">\n                            <div class=\"vs-color-input\" [style.background]=\"color\">\n                            </div>\n                        </div>\n                    </div>\n                </div>\n            </div>\n            <div class=\"variantDiv\"\n                *ngIf=\"productVariant.heading != 'Color' && productVariant.heading != 'colour' && productVariant.heading != 'COLOR' && productVariant.heading != 'color' && productVariant.heading != 'COLOUR' && productVariant.heading != 'Colour'\">\n                <h4 class=\"headingVariant\">{{productVariant.heading}}</h4>\n                <div class=\"sizeStyle\">\n                    <div *ngFor=\"let variant of productVariant.variants\">\n                        <div class=\"vs-size-input-wrapper selectSize\" (click)=\"handleProductvariant(variant,$event)\">\n                            <div class=\"vs-size-input\">\n                                {{variant}}\n                            </div>\n                        </div>\n                    </div>\n                </div>\n            </div>\n        </div>\n    </div>\n</div>\n<br class=\"clear\" />\n<div class=\"col-md-12 noPadding\">\n    <span class=\"fontverysmall\" *ngIf=\"vsProduct.size1 && (vsProduct.size1.length>0 && vsSelectedVariant == '' )\">Select\n        Size before adding\n        to Cart</span>\n    <div class=\"d-grid gap-2 pb10\"\n        *ngIf=\"vsProduct.storePricingModel && !(vsProduct.storePricingModel[0].flagQuantityExceeded) && vsProduct.storePricingModel[0].enableBuy\">\n        <button *ngIf=\"vsProductSpecialPrice\" class=\"vsecom-btn-primary btn btn-primary btn-success vsecomshowbuy\"\n            (click)=\"handleBuyProduct(vsProduct, vsProduct.storePricingModel[0].branchId,\n                    vsProduct.storePricingModel[0].branchName,vsProductPrice, vsProductSpecialPrice\n                   , vsProduct.storePricingModel[0].additionalShippingCharge, vsProduct.storePricingModel[0].deliveryTime, vsSelectedVariant)\">\n            <span class=\"glyphicon glyphicon-shopping-cart\"></span>\n            {{vsBuyProductText}}\n        </button>\n        <button *ngIf=\"!vsProductSpecialPrice\" class=\"vsecom-btn-primary btn btn-primary btn-success vsecomshowbuy\"\n            (click)=\"handleBuyProduct(vsProduct, vsProduct.storePricingModel[0].branchId,\n                    vsProduct.storePricingModel[0].branchName,vsProduct.storePricingModel[0].price, vsProduct.storePricingModel[0].specialPrice\n                   , vsProduct.storePricingModel[0].additionalShippingCharge, vsProduct.storePricingModel[0].deliveryTime, vsSelectedVariant)\">\n            <span class=\"glyphicon glyphicon-shopping-cart\"></span>\n            {{vsBuyProductText}}\n        </button>\n    </div>\n    <div class=\"d-grid gap-2 pb10\"\n        *ngIf=\"vsProduct.storePricingModel && (!(vsProduct.storePricingModel[0].enableBuy) || (vsProduct.storePricingModel[0].flagQuantityExceeded))\">\n        <button class=\"vsecom-btn-primary btn btn-block btn-success vsecomshowenquiry\"\n            (click)=\"handleCheckAvaility(vsProduct.productId,vsProduct.storePricingModel[0].branchId)\">\n            {{vsAvailabilityProductText}}\n        </button>\n    </div>\n    <div\n        *ngIf=\"vsProduct.storePricingModel && (vsProduct.storePricingModel[0].flagQuantityExceeded) || vsQuantityFMessage\">\n        <div class=\"alert alert-warning\">Quantity is out of stock.</div>\n    </div>\n</div>\n<br class=\"clear\" />\n<u *ngIf=\"vsProductKeyFeatures && vsProductKeyFeatures.length > 0\">\n    <strong><span>{{vsProductKeyFeatureText}}</span></strong></u>\n<div class=\"keyFeatureList\" *ngFor=\"let keyFeatuers of vsProductKeyFeatures\">\n    <ul>\n        <li> {{keyFeatuers.Parameter}} : {{keyFeatuers.KeyFeature}}</li>\n    </ul>\n</div>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\n\n@Component({\n    selector: 'vssuite-register',\n    templateUrl: '../ui/vssuite-register.html',\n    styleUrls: ['../ui/vssuite-general.css'],\n})\n\nexport class VssuiteRegister implements OnInit {\n    passwordVisible: boolean = false;\n    passwordVisible1:boolean=false;\n\n    submitted = false;\n    registerForm: FormGroup;\n    @Input() vsTitle: any = '';\n    @Input() Eyeicon1: any = '';\n    @Input() Eyeicon2: any = '';\n    @Input() vsAgreeText: any = '';\n    @Input() vsRegisterStatus: any = '';\n    @Input() vsTitleShow: boolean;\n    @Input() vsShow: boolean;\n    @Input() vsAgreeTextShow: boolean;\n    @Output() vsRegisterEvent = new EventEmitter();\n\n    constructor() {\n    }\n\n    ngOnInit() {\n        this.registerForm = new FormGroup({\n            FirstName: new FormControl('', Validators.required),\n            LastName: new FormControl('', Validators.required),\n            Email: new FormControl('', [Validators.required, Validators.email]),\n            Password: new FormControl('', [Validators.required, Validators.minLength(6)]),\n            ConfirmPassword: new FormControl('', [Validators.required]),\n            PhoneNumber1: new FormControl('', [Validators.required, Validators.minLength(10), Validators.maxLength(14), Validators.pattern('[0-9\\/+]*')]),\n        },\n            this.mustMatch('Password', 'ConfirmPassword'), // insert here\n        );\n    }\n\n    togglePasswordVisibility() {\n        this.passwordVisible = !this.passwordVisible;\n        const passwordInput = document.getElementById('newPassword');\n\n        if (this.passwordVisible) {\n            passwordInput.setAttribute('type', 'text');\n\n        } else {\n            passwordInput.setAttribute('type', 'password');\n        }\n    }\n    togglePasswordVisibility1() {\n        this.passwordVisible1 = !this.passwordVisible1;\n\n        const confirmPasswordInput = document.getElementById('confirmPassword');\n        if (this.passwordVisible1) {\n\n            confirmPasswordInput.setAttribute('type', 'text');\n        } else {\n\n            confirmPasswordInput.setAttribute('type', 'password');\n        }\n    }\n    mustMatch(controlName: string, matchingControlName: string) {\n        return (formGroup: FormGroup) => {\n            const control = formGroup.controls[controlName];\n            const matchingControl = formGroup.controls[matchingControlName];\n            if (matchingControl.errors && !matchingControl.errors['mustMatch']) {\n                return;\n            }\n            // set error on matchingControl if validation fails\n            if (control.value !== matchingControl.value) {\n                matchingControl.setErrors({ mustMatch: true });\n            } else {\n                matchingControl.setErrors(null);\n            }\n            return null;\n        };\n    }\n\n    handleRegister() {\n        this.submitted = true;\n        if (!this.registerForm.valid) {\n            return;\n        }\n        if (this.registerForm.value.Name == '' || this.registerForm.value.Name == null) {\n            this.registerForm.patchValue({\n                Name: this.registerForm.get('Email').value\n            });\n        }\n        this.vsRegisterEvent.emit({ registerData: this.registerForm.value })\n    }\n\n}","<div class=\"container view containerbgcolor\">\n    <div *ngIf=\"vsShow\" class=\"panel panel-default\">\n        <div class=\"panel-body\">\n            <div class=\"col-md-10\">\n                <div class=\"col-md-7\">\n                    <h1 *ngIf=\"vsTitleShow\" class=\"vsecom-header-color\">{{vsTitle}}</h1>\n                    <form class=\"form-horizontal\" [formGroup]=\"registerForm\" (ngSubmit)=\"handleRegister()\">\n                        <div class=\"form-group\">\n                            <div class=\"col-sm-9 vsmb15\">\n                                <input type=\"text\" tabindex=\"1\" class=\"form-control vsRegInput\" size=25 maxlength=40\n                                    formControlName=\"FirstName\" placeholder=\"First Name\" id=\"firstName\">\n                                <div *ngIf=\"submitted && registerForm.controls['FirstName'].errors\">\n                                    <div class=\"text-danger\"\n                                        *ngIf=\"registerForm.controls['FirstName'].errors['required']\">\n                                        *First Name is required</div>\n                                </div>\n                            </div>\n                        </div>\n                        <div class=\"form-group\">\n                            <div class=\"col-sm-9 vsmb15\">\n                                <input type=\"text\" tabindex=\"2\" class=\"form-control vsRegInput\" size=25 maxlength=40\n                                    formControlName=\"LastName\" placeholder=\"Last Name\" id=\"lastName\">\n                                <div *ngIf=\"submitted && registerForm.controls['LastName'].errors\">\n                                    <div class=\"text-danger\"\n                                        *ngIf=\"registerForm.controls['LastName'].errors['required']\">\n                                        *Last Name is required</div>\n                                </div>\n                            </div>\n                        </div>\n                        <div class=\"form-group\">\n                            <div class=\"col-sm-9 vsmb15\">\n                                <input class=\"form-control vsRegInput\" tabindex=\"3\" formControlName=\"PhoneNumber1\"\n                                    placeholder=\"Phone Number\" required title=\"Enter Valid Phone Number\"\n                                    id=\"phoneNumber\" minlength=\"6\" maxlength=\"14\"\n                                    onkeypress='return event.charCode >= 48 && event.charCode <= 57'>\n                                <div *ngIf=\"submitted && registerForm.controls['PhoneNumber1'].errors\"\n                                    class=\"invalid-message\">\n                                    <div class=\"text-danger\"\n                                        *ngIf=\"registerForm.controls['PhoneNumber1'].errors['required']\">\n                                        *PhoneNumber is required</div>\n                                    <div class=\"text-danger\"\n                                        *ngIf=\"registerForm.controls['PhoneNumber1'].errors['minlength']\">\n                                        *Minimum 10-14 Numbers\n                                    </div>\n                                </div>\n\n                            </div>\n                        </div>\n                        <div class=\"form-group\">\n                            <div class=\"col-sm-9 vsmb15\">\n                                <input type=\"email\" tabindex=\"4\" class=\"form-control vsRegInput\" size=25 maxlength=100\n                                    formControlName=\"Email\" placeholder=\"Email\" id=\"email\">\n                                <div *ngIf=\"submitted && registerForm.controls['Email'].errors\">\n                                    <div class=\"text-danger\"\n                                        *ngIf=\"registerForm.controls['Email'].errors['required']\">\n                                        *Email is required</div>\n                                    <div class=\"text-danger\" *ngIf=\"registerForm.controls['Email'].errors['email']\">\n                                        *Please\n                                        enter a valid email address</div>\n                                </div>\n                            </div>\n                        </div>\n                        <div class=\"form-group\">\n                            <div class=\"col-sm-9 vsmb15\">\n\n                                <input type=\"password\" tabindex=\"5\" class=\"form-control vsRegInput\" name=\"password\"\n                                    size=25 maxlength=25  autocomplete=\"new-password\"\n                                    formControlName=\"Password\" placeholder=\"Password\" required id=\"newPassword\">\n\n\n                                <div class=\"eyeicon1\" (click)=\"togglePasswordVisibility()\">\n                                    <img *ngIf=\"passwordVisible\" src={{Eyeicon1}}>\n                                    <img *ngIf=\"!passwordVisible\" src={{Eyeicon2}}>\n\n                                </div>\n                                <div *ngIf=\"submitted && registerForm.controls['Password'].errors\">\n                                    <div class=\"text-danger\"\n                                        *ngIf=\"registerForm.controls['Password'].errors['required']\">\n                                        *Password is required</div>\n                                    <div class=\"text-danger\"\n                                        *ngIf=\"registerForm.controls['Password'].errors['minlength']\">\n                                        *Password must be at least 6\n                                        characters</div>\n                                </div>\n                            </div>\n                        </div>\n                        <div class=\"form-group\">\n                            <div class=\"col-sm-9 vsmb15\">\n                                <input tabindex=\"6\" type=\"password\" name=\"confirmPassword\"\n                                    class=\"form-control vsRegInput\" size=25 maxlength=25 id=\"confirmPassword\"\n                                    autocomplete=\"new-password\" formControlName=\"ConfirmPassword\" required\n                                    placeholder=\"Confirm Password\">\n\n                                <div class=\"eyeicon1\" (click)=\"togglePasswordVisibility1()\">\n                                    <img *ngIf=\"passwordVisible1\" src={{Eyeicon1}}>\n                                    <img *ngIf=\"!passwordVisible1\" src={{Eyeicon2}}>\n\n                                </div>\n                                <div *ngIf=\"submitted && registerForm.controls['ConfirmPassword'].errors\">\n                                    <div class=\"text-danger\"\n                                        *ngIf=\"registerForm.controls['ConfirmPassword'].errors['required']\">\n                                        *ConfirmPassword\n                                        is required</div>\n                                    <div class=\"text-danger\"\n                                        *ngIf=\"registerForm.controls['ConfirmPassword'].errors['mustMatch']\">*Confirm\n                                        Password\n                                        does not match</div>\n                                </div>\n                            </div>\n                        </div>\n                        <div class=\"form-group\">\n                            <div class=\"col-sm-9 align-right\">\n                                <button tabindex=\"8\" class=\"vsecom-btn-primary btn btn-success\"\n                                    type=\"Reset\">Reset</button>\n                                <button tabindex=\"7\" class=\"vsecom-btn-primary btn btn-success buttonSpace\" type=\"submit\"\n                                 value=\"Register\">Register</button>\n                            </div>\n                        </div>\n                        <br style=\"clear:both\">\n                        <div *ngIf=\"vsAgreeTextShow\">{{vsAgreeText}}</div>\n                        <div *ngIf=\"vsRegisterStatus != ''\">\n                            {{vsRegisterStatus}}\n                        </div>\n                    </form>\n                </div>\n            </div>\n        </div>\n    </div>\n</div>","import { Component, EventEmitter, Input, OnInit, Output, } from '@angular/core';\n\n@Component({\n    selector: 'vssuite-product-contents',\n    templateUrl: '../ui/vssuite-product-contents.html',\n    styleUrls: ['../ui/vssuite-general.css'],\n})\n\nexport class VssuiteProductContents implements OnInit {\n\n    @Input() vsProductDescriptionTitle: any;\n    @Input() vsBasicSpecificationTitle: any;\n    @Input() vsDetailedSpecificationTitle: any;\n    @Input() vsProduct: any;\n    @Input() vsProductSpecification: any;\n    @Input() vsProductDescriptionShow: boolean;\n    @Input() vsBasicSpecificationShow: boolean;\n    \n    constructor() {\n\n    }\n\n    ngOnInit() {\n\n    }\n\n}","<div *ngIf=\"vsProductDescriptionShow && (vsProduct && vsProduct.fullDescription !== '')\" class=\"col-10\">\n  <h4> <span>{{vsProductDescriptionTitle}}</span></h4>\n   {{ vsProduct.fullDescription}} \n</div>\n<div class=\"col-12 pt15\">\n  <div class=\"panel-group\">\n      <div *ngIf=\"vsBasicSpecificationShow\" class=\"card\" id=\"accordion-spec\">\n          <div class=\"card-header\">\n              <h4><span>{{vsBasicSpecificationTitle}}</span></h4>\n          </div>\n          <div id=\"accordion-element-basicSpec\" class=\"list-group list-group-flush\">\n              <div class=\"list-group-item\">\n                  <div>\n                      <strong>Title : </strong><span>{{vsProduct.name}}</span>\n                  </div>\n                  <div *ngIf=\"vsProduct.brandName && vsProduct.brandName.length>0\">\n                      <strong>Brand : </strong><span>{{vsProduct.brandName}}</span>\n                  </div>\n                  <div *ngIf=\"vsProduct.manufacturerPartNumber && vsProduct.manufacturerPartNumber.length>0\">\n                      <strong>Model Number: </strong><span>{{vsProduct.manufacturerPartNumber}}</span>\n                  </div>\n                  <div *ngIf=\"vsProduct.color && vsProduct.color.length>0\">\n                      <strong> Color : </strong><span>{{vsProduct.color}}</span>\n                  </div>\n                  <div *ngIf=\"vsProduct.weight && vsProduct.weight>0\">\n                      <strong> Weight (gms) : </strong> <span>{{vsProduct.weight}}</span>\n                  </div>\n                  <div *ngIf=\"vsProduct.length &&vsProduct.length>0\">\n                      <strong> Length : </strong><span>{{vsProduct.length}}</span>\n                  </div>\n                  <div *ngIf=\"vsProduct.width && vsProduct.width>0\">\n                      <strong> Width : </strong><span>{{vsProduct.width}}</span>\n                  </div>\n                  <div *ngIf=\"vsProduct.height && vsProduct.height>0\">\n                      <strong> Height : </strong> <span>{{vsProduct.height}}</span>\n                  </div>\n\n              </div>\n          </div>\n      </div>\n      <div class=\"card\" id=\"accordion-spec-detail\"\n          *ngIf=\"vsProductSpecification && vsProductSpecification.length>0\">\n          <div class=\"card-header\">\n              <a data-toggle=\"collapse\" data-target=\"#accordion-element-detailedSpec\" href=\"\">\n                  <h4><span>{{vsDetailedSpecificationTitle}}</span></h4>\n              </a>\n          </div>\n          <div id=\"accordion-element-detailedSpec\" class=\"panel-collapse collapse in\">\n              <div class=\"list-group list-group-flush\">\n                  <div *ngFor=\"let specification of vsProductSpecification\">\n                      <header class=\"specificationHeaders\">\n                          <strong>{{specification.specificationGroup}}</strong>\n                      </header>\n                      <div *ngFor=\"let specification of vsProductSpecification.data\">\n                          <table style=\"width:100%\">\n                              <tr>\n                                  <td style=\"width:30%\">\n                                      <strong><span>{{specification.specificationAttribute}}</span></strong>\n                                  </td>\n                                  <td style=\"width:70%\">\n                                      <span>{{specification.specificationDetails}}</span>\n                                  </td>\n                              </tr>\n                          </table>\n                      </div>\n                  </div>\n              </div>\n          </div>\n      </div> \n  </div>\n</div> ","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n    selector: 'vssuite-product-image',\n    templateUrl: '../ui/vssuite-product-image.html',\n    styleUrls: ['../ui/vssuite-general.css'],\n})\n\nexport class VssuiteProductImage implements OnInit {\n\n    @Input() vsProductImagesList: any = [];\n    @Input() vsProductImage: any;\n    @Input() vsProductId: any;\n    @Input() vsNoImage: any = '';\n    vsimageRace: any;\n    vsimageBad: any;\n    vSscreenSize: any;\n    @Output() vsProductChangeEvent = new EventEmitter();\n\n    constructor() {\n\n        this.vsimageRace=\"width:565px; height:400px; bottom:0;  left:0;  right:0;  top:0;  margin:0 auto; border:1px solid #dcdcdc;\"\n        this.vsimageBad=\"width:458px; height:430px; background-repeat: no-repeat; z-index: 2; position:absolute;-webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24); top: 0;left: 100%;\"\n        this.vSscreenSize = document.body.clientWidth;\n        if (this.vSscreenSize <= 500) {\n          this.vsimageBad=\"width:0px; height:0px;\"\n        }\n    }\n\n    ngOnInit() {\n\n    }\n\n    handleMenuChangeEvent() {\n        this.vsProductChangeEvent.emit()\n    }\n\n    ChangeProductDisplayImage(productImageSrc: any) {\n        this.vsProductImage = productImageSrc;\n    }\n\n}","<div class=\"row\">\n    <div class=\"col-sm-2 col-lg-3\">\n        <div *ngFor=\"let ProductImage of vsProductImagesList\" data=\"ProductImage\">\n            <img class=\"imgthumbnail\" (mouseover)=\"ChangeProductDisplayImage(ProductImage);\" src=\"{{ProductImage}}\"\n                alt=\"{{ProductImage}}\" onerror=\"this.src = 'assets/images/noimage.jpg'; this.onerror = '';\" />\n        </div>\n    </div>\n    <div class=\"col-sm-10 col-lg-9\" id=\"img_{{vsProductId}}\" *ngIf=\"vsProductImage\">\n        <ngx-img-zoom zoomImageSrc={{vsProductImage}} previewImageSrc={{vsProductImage}} [imgStyle]=\"vsimageRace\"\n            [resultStyle]=\"vsimageBad\" lensWidth=\"700\" lensHeight=\"1000\" [enableZoom]=\"true\" [containerStyle]=\"\"\n            scrollStepSize=\"0.2\" minZoomRatio=\"2\"></ngx-img-zoom>\n    </div>\n    <div *ngIf=\"vsProductImage == '' || vsProductImage == null || vsProductImage == undefined\"\n        class=\"col-sm-10 col-lg-9\">\n        <img class=\"imgthumbnail\" src=\"{{vsNoImage}}\" />\n    </div>\n</div>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n    selector: 'vssuite-quick-card',\n    templateUrl: '../ui/vssuite-quick-card.html',\n    styleUrls: ['../ui/vssuite-general.css'],\n})\n\nexport class VssuiteQuickCard implements OnInit {\n\n    @Input() vsTitle: any = '';\n    @Input() vsLinkText: any = '';\n    @Input() show: boolean = false;\n    @Input() vsLink: any = '';\n    @Input() vsProductsList: any = [];\n    @Input() vsCurrency: any = '';\n    @Input() vsNoImage: any = '';\n    @Input() vsFromOffers: boolean = false;\n    @Input() vsAddCartWishlistMenu: boolean;\n    @Input() vsRemoveWishlistMenu: boolean;\n    @Input() vsAddCartMenu: boolean;\n    @Input() vsOfferPrice: boolean = false;\n\n    @Output() vsProductsChangeEvent = new EventEmitter();\n    @Output() vsRemoveWishlist = new EventEmitter();\n    @Output() vsAddCart= new EventEmitter();\n    @Output() vsAddWishlist= new EventEmitter();\n\n\n\n    constructor() { }\n\n    ngOnInit() {\n    }\n\n    handleProductChangeEvent(productName, productId) {\n        this.vsProductsChangeEvent.emit({ ProductId: productId, ProductName: productName })\n    }\n\n    \n    handleRemoveWishlist(event,value){\n        event.stopPropagation();\n        this.vsRemoveWishlist.emit({event: value})\n    }\n\n    handleAddWishlist(event,value){\n        event.stopPropagation();\n        this.vsAddWishlist.emit({event: value})\n    }\n\n    handleAddCart(event,value){\n        event.stopPropagation();\n        this.vsAddCart.emit({event: value})\n    }\n\n}","<div class=\"vsecom-productslist\">\n    <div *ngFor=\"let product of vsProductsList\">\n        <div class=\"vsecom-card-wishlist\">\n            <div class=\"vsecom-cardMedium-Body col-lg-3 col-md-4 col-sm-4 col-6\"(click)=\"handleProductChangeEvent(product.permaLink, product.productId)\">\n                <div class=\"vsecom-cardMedium-product\">\n                    <div class=\"vsecom-cardMedium-ImageDiv\">\n                        <span *ngIf=\"vsOfferPrice\" class=\"roast\">{{((1-(product.specialPrice/product.price))*100)| number:'1.0-0'}}% </span>\n                        <a class=\"vscursor\" \n                            title=\"{{product.name}}\">\n                            <img *ngIf=\"(product.pictureName =='' || product.pictureName ==null || product.pictureName == undefined)\"\n                                src=\"{{vsNoImage}}\" class=\"vsecom-cardMedium-ProductImg\">\n                            <img *ngIf=\"(product.pictureName !='' && product.pictureName !=null)\"\n                                src=\"{{product.pictureName}}\" alt=\"{{product.name}}\"\n                                class=\"vsecom-cardMedium-ProductImg\">\n                        </a>\n                    </div>\n                    <div class=\"productView\" *ngIf=\"vsAddCartWishlistMenu\">\n                        <p class=\"view1\">\n                            <i class=\"fa fa-shopping-bag vscursor\" aria-hidden=\"true\"\n                                (click)=\"handleAddCart($event,product)\"></i>\n                        </p>\n                        <p class=\"view2\">\n                            <i class=\"fa fa-heart-o shopContentIcon vscursor\" aria-hidden=\"true\" \n                                (click)=\"handleAddWishlist($event,product)\"></i>\n                            <i class=\"fa fa-heart-o shopContentIcon vscursor\" *ngIf=\"product.flagWishlist\"\n                                aria-hidden=\"true\" (click)=\"handleRemoveWishlist($event,product)\"></i>\n                        </p>\n                    </div>\n                    <div class=\"productView\" *ngIf=\"vsRemoveWishlistMenu\">\n                        <i class=\"fa fa-heart-o shopContentIcon vscursor\" aria-hidden=\"true\"\n                            *ngIf=\"product.flagWishlist\" (click)=\"handleRemoveWishlist($event,product)\"></i>\n                    </div>\n                    <div class=\"vsecom-cardMedium-Footer\">\n                        <div class=\"vsecom-card-FooterText1\">\n                            <b>{{product.name}}</b>\n                        </div>\n                        <div *ngIf=\"product.price!='' && product.price!=null\" class=\"vsecom-card-FooterText2\">\n                            <span class=\"vsecom-card-StrikeOffText\"\n                                *ngIf=\"product.price>product.specialPrice\">{{vsCurrency}}{{product.price}}</span> <span>\n                                {{vsCurrency}}{{product.specialPrice}}</span>\n                            <span class=\"vsecom-card-StrikeOffText\"\n                                *ngIf=\"product.specialPrice=='' || (product.price<product.specialPrice)\">{{vsCurrency}}{{product.price}}</span>\n                        </div>\n                    </div>\n                </div>\n            </div>\n        </div>\n    </div>\n</div>","import { Component, EventEmitter, Input, OnInit, Output, } from '@angular/core';\r\n\r\n@Component({\r\n    selector: 'vssuite-slider',\r\n    templateUrl: '../ui/vssuite-slider.html',\r\n    styleUrls: ['../ui/vssuite-general.css'],\r\n})\r\n\r\nexport class VssuiteSlider implements OnInit {\r\n\r\n    @Input() vsProductsList: any;\r\n    @Input() vsProductImage: any;\r\n    @Input()  vsNoImage: any = '';\r\n    @Output() vsProductsChangeEvent = new EventEmitter();\r\n    productsList: any = [];\r\n    eachProduct: any = [];\r\n\r\n    constructor() {\r\n\r\n    }\r\n\r\n    ngOnInit() {\r\n        if (this.vsProductsList) {\r\n            for (let i = 0; i < this.vsProductsList.length; i++) {\r\n                if (this.vsProductsList[i].pictureName == '' || this.vsProductsList[i].pictureName == null || this.vsProductsList[i].pictureName == undefined) {\r\n                    this.eachProduct = {\r\n                        image:  this.vsNoImage,\r\n                        thumbImage: this.vsNoImage,\r\n                        title: this.vsProductsList[i].name,\r\n                        ProductId: this.vsProductsList[i].productId,\r\n                        PermaLink: this.vsProductsList[i].permaLink,\r\n                    };\r\n                    this.productsList.push(this.eachProduct);\r\n                    \r\n                } else {\r\n                this.eachProduct = {\r\n                   \r\n                    image:  this.vsProductsList[i].pictureName,\r\n                    thumbImage: this.vsProductsList[i].pictureName,\r\n                    title: this.vsProductsList[i].name,\r\n                    ProductId: this.vsProductsList[i].productId,\r\n                    PermaLink: this.vsProductsList[i].permaLink,\r\n                };\r\n                this.productsList.push(this.eachProduct);\r\n            }\r\n            }\r\n        }\r\n    }\r\n\r\n    navigateProductDetailsPage(productIndex) {\r\n        this.vsProductsChangeEvent.emit({ ProductId: this.productsList[productIndex].ProductId, ProductName: this.productsList[productIndex].PermaLink })\r\n    }\r\n\r\n}","<ng-image-slider class=\"sliderFontfamily\"\r\n  [images]=\"productsList\" \r\n  [autoSlide]=\"1\"  \r\n  (imageClick)=\"navigateProductDetailsPage($event)\"\r\n  [imageSize]=\"{ height: 190, space: 7}\" \r\n  slideImage=\"1\"\r\n  [imagePopup]=false\r\n></ng-image-slider>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n    selector: 'vssuite-menu',\n    templateUrl: '../ui/vssuite-menu.html',\n    styleUrls: ['../ui/vssuite-general.css'],\n})\n\nexport class VssuiteMenu implements OnInit {\n\n    @Input() vsHomeText: any;\n    @Input() vsOffersText: any;\n    @Input() vsMenu = [];\n    @Input() vsShowHome: boolean = false;\n    @Input() vsShowOffers: boolean = false;\n    @Input() showFloatingCloseIcon: boolean;\n    @Input() showFloatingMenuIcon: boolean;\n    @Input() showfloatingMenubar: boolean;\n    @Input() vsMenuMobileShow: boolean;\n    @Output() vsMenuChangeEvent = new EventEmitter();\n    @Output() vsHomeChangeEvent = new EventEmitter();\n    @Output() vsOffersChangeEvent = new EventEmitter();\n    @Output() vsOffersChangeMobileEvent = new EventEmitter();\n    @Output() vsHomeChangeMobileEvent = new EventEmitter();\n    @Output() vsMenuChangeMobileEvent = new EventEmitter();\n\n    constructor() { }\n\n    ngOnInit() {\n\n    }\n\n    handleMenuChangeEvent(CategoryId, PermaLink) {\n        this.vsMenuChangeEvent.emit({ categoryId: CategoryId , PermaLink: PermaLink})\n    }\n\n    handleHomeChangeEvent() {\n        this.vsHomeChangeEvent.emit()\n    }\n\n    handleOffersChangeEvent() {\n        this.vsOffersChangeEvent.emit();\n    }\n\n    handleOffersChangeMobileEvent() {\n        this.vsOffersChangeMobileEvent.emit();\n    }\n\n    handleHomeChangeMobileEvent() {\n        this.vsHomeChangeMobileEvent.emit()\n    }\n\n\n    handleMenuChangeMobileEvent(CategoryId,PermaLink) {\n        this.vsMenuChangeEvent.emit({ categoryId: CategoryId, PermaLink: PermaLink })\n    }\n}","<a *ngIf=\"vsShowHome && !vsMenuMobileShow\" (click)=\"handleHomeChangeEvent()\">{{vsHomeText}}</a>\n<span *ngIf=\"vsMenu.length > 0 && !vsMenuMobileShow\">\n    <a *ngFor=\"let category of vsMenu\">\n        <span (click)=\"handleMenuChangeEvent(category.parentCategoryId, category.permaLink)\">{{category.parentCategoryName}}</span>\n    </a>\n</span>\n<a *ngIf=\"vsShowOffers && !vsMenuMobileShow\" (click)=\"handleOffersChangeEvent()\">{{vsOffersText}}</a>\n<div *ngIf=\"vsMenuMobileShow\">\n    <ul>\n        <li class=\"menuList\"><a class=\"vsecom-header-menu-item\" *ngIf=\"vsShowHome\"\n                (click)=\"handleHomeChangeMobileEvent()\">{{vsHomeText}}</a></li>\n        <li class=\"menuList\" *ngFor=\"let category of vsMenu\">\n            <a class=\"vsecom-header-menu-item\" (click)=\"handleMenuChangeMobileEvent(category.parentCategoryId,category.permaLink)\">\n                {{category.parentCategoryName}}\n            </a>\n        </li>\n        <li class=\"menuList\"><a class=\"vsecom-header-menu-item\" (click)=\"handleOffersChangeMobileEvent()\" *ngIf=\"vsShowOffers\">\n                {{vsOffersText}}</a></li>\n    </ul>\n</div>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n    selector: 'vssuite-menu-basic',\n    templateUrl: '../ui/vssuite-menu-basic.html',\n    styleUrls: ['../ui/vssuite-general.css'],\n})\n\nexport class VssuiteMenuBasic implements OnInit {\n    \n    @Input() vsMenu: any;\n    @Output() vsCategoryChangeEvent = new EventEmitter();\n    @Output() vsSubCategoryChangeEvent = new EventEmitter();\n    @Input()  vsNoImage: any = '';\n    @Output() vsHomeChangeEvent = new EventEmitter();\n    @Output() vsOffersChangeEvent = new EventEmitter();\n    @Input() vsShowHome: boolean = false;\n    @Input() vsShowOffers: boolean = false;\n    @Input() vsHomeText: any;\n    @Input() vsOffersText: any;\n\n    constructor() { }\n\n    ngOnInit() {\n    }\n\n    handleCategoryChangeEvent(categoryId,permaLink) {\n        this.vsCategoryChangeEvent.emit({ categoryId: categoryId, PermaLink: permaLink})\n    }\n\n    handleSubCategoryChangeEvent(subCategoryName, subCategoryId) {\n        debugger\n        this.vsCategoryChangeEvent.emit({ subCategoryName: subCategoryName, subCategoryId: subCategoryId })\n    }\n\n    handleHomeChangeEvent() {\n        this.vsHomeChangeEvent.emit()\n    }\n\n    handleOfferChangeEvent() {\n        this.vsOffersChangeEvent.emit();\n    }\n}","<div class=\"header-bottom nomobdisplay\">\n    <div class=\"container position-s\">\n        <div class=\"row\">\n            <div class=\"col-12 align-center position-s\">\n                <div id=\"menu\" class=\"navbar-collapse collapse\">\n                    <ul class=\"nav navbar-nav\">\n                        <li class=\"level dropdown\" *ngIf=\"vsShowHome\">\n                            <a (click)=\"handleHomeChangeEvent()\">{{vsHomeText}}</a>\n                        </li>\n                        <li class=\"level dropdown\" *ngFor=\"let menu of vsMenu\">\n                            <span class=\"opener plus\"></span>\n                            <a>{{menu.parentCategoryName}}</a>\n                            <div class=\"megamenu full mobile-sub-menu\">\n                                <div class=\"container\">\n                                    <div class=\"megamenu-inner\">\n                                        <div class=\"megamenu-inner-top\">\n                                            <div class=\"row\">\n                                                <div class=\"col-lg-10 left-p\">\n                                                    <div class=\"row\">\n                                                        <div class=\"col-lg-4 level2\">\n                                                            <a (click)=\"handleCategoryChangeEvent(menu.parentCategoryId,menu.permaLink)\"><span>{{menu.parentCategoryName}}</span></a>\n                                                            <ul class=\"sub-menu-level2 \">\n                                                                <li class=\"level3\" *ngFor=\"let submenu of menu.subMenu\">\n                                                                    <a (click)=\"handleSubCategoryChangeEvent(submenu.permaLink,submenu.subCategoryId)\">{{submenu.subCategoryName}}</a>\n                                                                </li>\n                                                            </ul>\n                                                        </div>\n                                                        <div class=\"col-lg-4 level2\">\n                                                        </div>\n                                                        <div class=\"col-lg-4 level2\">\n                                                        </div>\n                                                    </div>\n                                                    <div class=\"row\">\n                                                        <div class=\"col-lg-6 d-none d-lg-block mt-30\">\n                                                        </div>\n                                                        <div class=\"col-lg-6 d-none d-lg-block mt-30\">\n                                                            <div class=\"sub-menu-img\">\n                                                                <img *ngIf=\"menu.categoryImage\" src=\"{{menu.categoryImage}}\">\n                                                                <img *ngIf=\"menu.categoryImage == '' || menu.categoryImage == null || menu.categoryImage == undefined\" src=\"{{vsNoImage}}\">\n                                                            </div>\n                                                        </div>\n                                                    </div>\n                                                </div>\n                                            </div>\n                                        </div>\n                                    </div>\n                                </div>\n                            </div>\n                        </li>\n                        <li class=\"level dropdown\" *ngIf=\"vsShowOffers\">\n                            <a (click)=\"handleOfferChangeEvent()\">{{vsOffersText}}</a>\n                        </li>\n                    </ul>\n                </div>\n            </div>\n        </div>\n    </div>\n</div>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n    selector: 'vssuite-top-categories',\n    templateUrl: '../ui/vssuite-top-categories.html',\n    styleUrls: ['../ui/vssuite-general.css'],\n})\n\nexport class VssuiteTopCategories implements OnInit {\n\n    @Input() vsTitle: any = '';\n    @Input() vsCategoriesList: any;\n    @Output() vsCategoriesChangeEvent = new EventEmitter();\n    @Input()  vsNoImage: any = '';\n\n    constructor() { }\n\n    ngOnInit() { }\n\n    handleCategoriesEvent(categoryId,name) {\n        this.vsCategoriesChangeEvent.emit({ categoryId: categoryId, categoryName: name })\n    }\n\n}","<div class=\"col-lg-12\">\n    <header class=\"homeHeaders\">\n        <h2 class=\"vsecom-ProdctsTitle vsecom-header-color\">{{vsTitle}}</h2>\n    </header>\n    <div class=\"row\">\n        <div class=\"vsecom-cardMedium-Body col-lg-3 col-md-4 col-sm-4 col-6\" *ngFor=\"let category of vsCategoriesList\">\n            <div class=\"topCategoryImage\" (click)=\"handleCategoriesEvent(category.categoryId,category.permaLink)\">\n                <img *ngIf=\"category.categoryImage\" class=\"categoryBanner1\" alt=\"{{category.name}}\" src=\"{{category.categoryImage}}\">\n                <img *ngIf=\"category.categoryImage == '' || category.categoryImage == null || category.categoryImage == undefined\" class=\"categoryBanner1\" src=\"{{vsNoImage}}\">\n            </div>\n            <div class=\"caption\">{{category.name}}</div>\n        </div>\n    </div>\n</div>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { NgbCarouselConfig } from '@ng-bootstrap/ng-bootstrap';\n\n@Component({\n    selector: 'vssuite-hero-carousel',\n    templateUrl: '../ui/vssuite-hero-carousel.html',\n    styleUrls: ['../ui/vssuite-general.css'],\n})\nexport class VssuiteHeroCarousel implements OnInit{\n\n    @Input() vsHeroImage1:any;\n    @Input() vsHeroImage2:any;\n    @Input() vsHeroImage3:any;\n    @Input() vsHeroImage4:any;\n    @Input() vsHeroInterval: number;\n    @Input() vsHeroKeyboard:boolean=false;\n    @Input() vsHeroPauseOnHover:boolean=false\n    @Input()  vsNoImage: any = '';\n\n    constructor(config: NgbCarouselConfig) {}\n\n    ngOnInit() {\n        this.vsHeroImage1;\n    }\n\n}\n\n\n","<div class=\"container-fluid\">\n    <ngb-carousel>\n        <ng-template ngbSlide>\n            <div class=\"wrapper containerImage\">\n                <img class=\"align\" *ngIf=\"vsHeroImage1\" src=\"{{vsHeroImage1}}\">\n                <img class=\"align\" *ngIf=\"vsHeroImage1 == '' || vsHeroImage1 == null || vsHeroImage1 == undefined\" src=\"{{vsNoImage}}\">\n            </div>\n        </ng-template>\n        <ng-template ngbSlide>\n            <div class=\"wrapper containerImage\">\n                <img class=\"align\" *ngIf=\"vsHeroImage2\" src=\"{{vsHeroImage2}}\">\n                <img class=\"align\" *ngIf=\"vsHeroImage2 == '' || vsHeroImage2 == null || vsHeroImage2 == undefined\" src=\"{{vsNoImage}}\">\n            </div>\n        </ng-template>\n        <ng-template ngbSlide>\n            <div class=\"wrapper containerImage\">\n                <img class=\"align\" *ngIf=\"vsHeroImage3\" src=\"{{vsHeroImage3}}\">\n                <img class=\"align\" *ngIf=\"vsHeroImage3 == '' || vsHeroImage3 == null || vsHeroImage3 == undefined\" src=\"{{vsNoImage}}\">\n            </div>\n       \n        </ng-template>\n        <ng-template ngbSlide>\n            <div class=\"wrapper containerImage\">\n                <img class=\"align\" *ngIf=\"vsHeroImage4\" src=\"{{vsHeroImage4}}\">\n                <img class=\"align\" *ngIf=\"vsHeroImage4 == '' || vsHeroImage4 == null || vsHeroImage4 == undefined\" src=\"{{vsNoImage}}\">\n            </div>\n        </ng-template>\n    </ngb-carousel>\n</div>","\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n    selector: 'vssuite-advanced',\n    templateUrl: '../ui/vssuite-menu-advanced.html',\n    styleUrls: ['../ui/vssuite-generals.css'],\n})\n\nexport class VssuiteMenuAdvanced implements OnInit {\n\n    @Input() vssuiteMainMenu: any = [];\n    @Input() vssuiteTittle: any = '';\n    @Input() vscheck: boolean = true;\n    @Output() vsWebMenuChangeEvent = new EventEmitter();\n    @Output() vsWebShopMenuChangeEvent = new EventEmitter();\n    @Output() vsWebAboutMenuChangeEvent = new EventEmitter();\n    @Output() vsWebBlogMenuChangeEvent = new EventEmitter();\n    @Output() vsWebContactMenuChangeEvent = new EventEmitter();\n    @Output() vsWebHomeMenuChangeEvent = new EventEmitter();\n    @Output() vsWebOffersMenuChangeEvent = new EventEmitter();\n    @Input() vsShowHome: boolean = false;\n    @Input() vsShowOffers: boolean = false;\n    @Input() vsHomeText: any;\n    @Input() vsOffersText: any;\n\n    ngOnInit() {\n    }\n  \n    handleWebMenuChangeEvent(value: any) {\n      this.vsWebMenuChangeEvent.emit({ event: value })\n      this.handleWebMenuOpenCloseChangeEvent();\n    }\n\n    handleWebMenuOpenCloseChangeEvent() {\n      this.vscheck = !this.vscheck;\n    }\n    handleHomeMenuChangeEvent(){\n      this.vsWebHomeMenuChangeEvent.emit()\n    }\n  \n    handleShopMenuChangeEvent(){\n      this.vsWebShopMenuChangeEvent.emit()\n    }\n\n    handleAboutMenuChangeEvent(){\n      this.vsWebAboutMenuChangeEvent.emit()\n    }\n\n    handleBlogMenuChangeEvent(){\n      this.vsWebBlogMenuChangeEvent.emit()\n    }\n\n    handleContactMenuChangeEvent(){\n      this.vsWebContactMenuChangeEvent.emit()\n    }\n    handleOffersMenuChangeEvent(){\n      this.vsWebOffersMenuChangeEvent.emit()\n    }\n  }\n  ","<div id=\"menuSection\">\n    <div class=\"header-bottom vsecom-header-navbar-custom-container-header-bottom nomobdisplay\">\n        <div class=\"container\">\n            <div class=\"row position-r\" style=\"margin: 0px;\">\n                <div class=\"col-md-3 col-lg-3 position-initial container\">\n                    <div class=\"sidebar-menu-dropdown home\">\n                        <a class=\"btn-sidebar-menu-dropdown\" (click)=\"handleWebMenuOpenCloseChangeEvent()\">\n                            <i class=\"fa fa-bars\"></i>\n                            <span></span>\n                            <div style=\"display: inline-block;\">Category</div>\n                        </a>\n                    </div>\n                    <div id=\"cat\" class=\"cat-dropdown\" style=\"display: block;\" *ngIf=\"!vscheck\">\n                        <div class=\"sidebar-contant\">\n                            <div id=\"menu\">\n                                <div class=\"top-right-link mobile right-side\">\n                                    <ul class=\"nav navbar-nav\">\n                                        <li class=\"level dropdown\" *ngFor=\"let menu of vssuiteMainMenu\">\n                                            <span class=\"opener plus\"></span>\n                                            <a (click)=\"handleWebMenuChangeEvent(menu)\"><i\n                                                    class=\"fa fa-female\"></i>{{menu.parentCategoryName}}</a>\n                                            <div class=\"megamenu full mobile-sub-menu\">\n                                                <div class=\"container\">\n                                                    <div class=\"megamenu-inner\">\n                                                        <div class=\"megamenu-inner-top\">\n                                                            <div class=\"row\">\n                                                                <div class=\"col-lg-10 left-p\">\n                                                                    <div class=\"row\">\n                                                                        <div class=\"level2\">\n                                                                            <a class=\"vscursor\"\n                                                                                (click)=\"handleWebMenuChangeEvent(menu)\"><span>{{menu.parentCategoryName}}</span></a>\n                                                                            <ul class=\"sub-menu-level2 \">\n                                                                                <li class=\"level3\"\n                                                                                    *ngFor=\"let submenu of menu.subMenu\">\n                                                                                    <a class=\"vscursor\"\n                                                                                        (click)=\"handleWebMenuChangeEvent(submenu)\">{{submenu.subCategoryName}}</a>\n                                                                                </li>\n                                                                            </ul>\n                                                                        </div>\n                                                                    </div>\n\n                                                                </div>\n                                                            </div>\n                                                        </div>\n                                                    </div>\n                                                </div>\n                                            </div>\n                                        </li>\n                                    </ul>\n\n                                </div>\n\n                            </div>\n                        </div>\n                    </div>\n                </div>\n                <div class=\"col-xl-10 col-md-9 col-lg-9 vsSubMenu\">\n                    <div class=\"bottom-inner\">\n                        <div class=\"position-r\">\n                            <div class=\"nav_sec position-r\">\n                                <div class=\"mobilemenu-content\">\n                                    <ul class=\"nav navbar-nav\" id=\"menu-main\">\n                                        <li class=\"active\" *ngIf=\"vsShowHome\">\n                                            <a (click)=\"handleHomeMenuChangeEvent()\"><span>{{vsHomeText}}</span></a>\n                                        </li>\n                                        <li>\n                                            <a (click)=\"handleShopMenuChangeEvent()\"><span>Shop</span></a>\n                                        </li>\n                                        <li>\n                                            <a (click)=\"handleAboutMenuChangeEvent()\"><span>About Us</span></a>\n                                        </li>\n                                        <li>\n                                            <a (click)=\"handleBlogMenuChangeEvent()\"><span>Blog</span></a>\n                                        </li>\n                                        <li>\n                                            <a (click)=\"handleContactMenuChangeEvent()\"><span>Contact</span></a>\n                                        </li>\n                                        <li *ngIf=\"vsShowOffers\">\n                                            <a (click)=\"handleOffersMenuChangeEvent()\"><span>{{vsOffersText}}</span></a>\n                                        </li>\n                                    </ul>\n                                </div>\n                            </div>\n                        </div>\n                    </div>\n                </div>\n            </div>\n        </div>\n    </div>\n</div>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n    selector: 'vssuite-mobile-sidenav',\n    templateUrl: '../ui/vssuite-mobile-sidenav.html',\n    styleUrls: ['../ui/vssuite-generals.css'],\n})\nexport class VssuiteMobileSidenav implements OnInit {\n  \n\n  @Input() vssuiteMainMenu: any = [];\n  @Input() vssuiteTittle: any = '';\n  @Input() vscheck: boolean = true;\n  @Input() vsStoreLogo: any;\n  @Input() vsShowHome: boolean = false;\n  @Input() vsShowOffers: boolean = false;\n  @Output() vsMobileSidenavMenuChangeEvent = new EventEmitter();\n  @Output() vsMobileSidenavHomeMenuChangeEvent = new EventEmitter();\n  @Output() vsMobileSidenavOffersMenuChangeEvent = new EventEmitter();\n  @Input()  vsNoImage: any = '';\n  @Input() vsHomeText: any;\n  @Input() vsOffersText: any;\n\n  matExpantValue: any = '';\n\n  ngOnInit() {\n  }\n\n  closeMobileMenu() {\n    document.getElementById('mobile-menu-overlay').classList.remove('active');\n  }\n\n  handleMobileSidenavMenuChangeEvent(value: any) {\n    this.vsMobileSidenavMenuChangeEvent.emit({ event: value})\n    this.closeMobileMenu();\n  }\n\n  homeMenu(){\n    this.vsMobileSidenavHomeMenuChangeEvent.emit();\n    document.getElementById('mobile-menu-overlay').classList.remove('active');\n  }\n  expandCategory(expandId: any) {\n    if (expandId == this.matExpantValue) {\n      this.matExpantValue = '';\n    } else {\n      this.matExpantValue = expandId;\n    }\n  }\n  offersMenu(){\n    this.vsMobileSidenavOffersMenuChangeEvent.emit();\n    document.getElementById('mobile-menu-overlay').classList.remove('active');\n  }\n}\n","<div class=\"mobile-menu-overlay\" id=\"mobile-menu-overlay\">\n    <div class=\"mobile-menu-overlay__inner\">\n        <div class=\"mobile-menu-overlay__header\">\n            <div class=\"logo\">\n                <a (click)=\"homeMenu()\">\n                    <img *ngIf=\"vsStoreLogo\" src={{vsStoreLogo}} id='vslogo' class='vscom-logo-style'>\n                    <img *ngIf=\"vsStoreLogo == '' || vsStoreLogo == null || vsStoreLogo == undefined \" src={{vsNoImage}} id='vslogo' class='vscom-logo-style'>\n                </a>\n            </div>\n            <div class=\"mobile-menu-content text-right\">\n                <span class=\"mobile-navigation-close-icon\" (click)=\"closeMobileMenu()\"></span>\n            </div>\n        </div>\n        <div class=\"mobile-menu-overlay__body\">\n            <nav class=\"offcanvas-navigation\">\n                <ul>\n                    <li class=\"has-children\" *ngIf=\"vsShowHome\">\n                        <a (click)=\"homeMenu()\">{{vsHomeText}}</a>\n                    </li>\n                    <li class=\"has-children\" *ngFor=\"let menu of vssuiteMainMenu\">\n                        <a (click)=\"handleMobileSidenavMenuChangeEvent(menu)\">{{menu.parentCategoryName}}</a>\n                        <span class=\"menu-expand\" (click)=\"expandCategory('expand' + menu.parentCategoryId)\"><i\n                                class=\"fa fa-angle-down\"></i></span>\n                        <mat-expansion-panel class=\"matExpanded\" [expanded]=\"matExpantValue == 'expand' + menu.parentCategoryId\"\n                            id=\"subMenuList\">\n                            <ul class=\"sub-menu\" *ngFor=\"let submenu of menu.subMenu\">\n                                <li class=\"has-sub-menu\"><a\n                                        (click)=\"handleMobileSidenavMenuChangeEvent(submenu)\"><span>{{submenu.subCategoryName}}</span></a>\n                                </li>\n                            </ul>\n                        </mat-expansion-panel>\n                    </li>\n                    <li class=\"has-children\" *ngIf=\"vsShowOffers\">\n                        <a (click)=\"offersMenu()\">{{vsOffersText}}</a>\n                    </li>\n                </ul>\n            </nav>\n        </div>\n    </div>\n</div>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n  selector: 'vssuite-topnav',\n  templateUrl: '../ui/vssuite-topnav.html',\n  styleUrls: ['../ui/vssuite-generals.css'],\n})\n\nexport class VssuiteTopnav implements OnInit {\n\n\n  @Input() vsHomeShow: boolean;\n  @Input() vsOffersShow: boolean;\n  @Input() vsWishlistShow: boolean;\n  @Input() vsCompareShow: boolean;\n  @Input() vsCartShow: boolean;\n  @Input() vsRegisterShow: boolean;\n  @Input() vsLoginShow: boolean;\n  @Input() vsLogoutShow: boolean;\n  @Input() vsFlagLoggedIn: boolean;\n  @Input() vsCompareListCount: number = 0;\n  @Input() vsCartListCount: number = 0;\n  @Input() vsWishlistListCount: number = 0;\n  @Input() vsCurrentUserName: string;\n  @Input() vsCartList: any = [];\n  @Input() vsCompareList: any = [];\n  @Input() vsCurrency: any;\n  @Input() vsCartTotal: any;\n  @Input() vsDiscountText: string;\n;\n @Input()  vsNoImage: any = '';\n @Input() vsEmptyImageUrl: any = '';\n\n\n\n  @Output() vsRemoveCartItem=new EventEmitter()\n  @Output() vsHomeChangeEvent = new EventEmitter();\n  @Output() vsOffersChangeEvent = new EventEmitter();\n  @Output() vsWishlistChangeEvent = new EventEmitter();\n  @Output() vsCompareChangeEvent = new EventEmitter();\n  @Output() vsRegisterChangeEvent = new EventEmitter();\n  @Output() vsCartChangeEvent = new EventEmitter();\n  @Output() vsLoginChangeEvent = new EventEmitter();\n  @Output() vsLogoutChangeEvent = new EventEmitter();\n  @Output() vsAccountChangeEvent = new EventEmitter();\n  @Output() vsOrderTrackingChangeEvent = new EventEmitter();\n  @Output() vsChangePasswordEvent = new EventEmitter();\n  @Output() vsViewCartChangeEvent = new EventEmitter();\n  @Output() vsCheckoutChangeEvent = new EventEmitter();\n  @Output() vsRemoveCompareItem = new EventEmitter();\n  @Output() vsComparepageChangeEvent = new EventEmitter();\n  @Input() vsHomeText: any;\n  @Input() vsOffersText: any;\n\n  ngOnInit() {\n  }\n\n  handleRemoveCartItem(product) {\n    this.vsRemoveCartItem.emit(product )\n  }\n  handleViewCartItem() {\n    this.vsViewCartChangeEvent.emit()\n  }\n  handleCheckoutItem() {\n    this.vsCheckoutChangeEvent.emit()\n  }\n  openfloatingMenu() {\n    var body = document.body;\n    document.getElementById('mobile-menu-overlay').classList.add('active');\n    body.classList.add('no-overflow');\n  }\n  handleHomeChangeEvent() {\n    this.vsHomeChangeEvent.emit()\n  }\n  handleOffersChangeEvent() {\n    this.vsOffersChangeEvent.emit()\n  }\n  handleWishlistChangeEvent() {\n    this.vsWishlistChangeEvent.emit()\n  }\n  handleCompareChangeEvent() {\n    this.vsCompareChangeEvent.emit()\n  }\n\n  handleRemoveCompareItem(product) {\n    this.vsRemoveCompareItem.emit({ product: product })\n  }\n  handleRegisterChangeEvent() {\n    this.vsRegisterChangeEvent.emit()\n  }\n\n  handleLoginChangeEvent() {\n    this.vsLoginChangeEvent.emit()\n  }\n\n  handleAccountEvent() {\n    this.vsAccountChangeEvent.emit()\n  }\n\n  handleOrderTrackingEvent() {\n    this.vsOrderTrackingChangeEvent.emit()\n  }\n\n  handleChangePasswordEvent() {\n    this.vsChangePasswordEvent.emit()\n  }\n\n  handleLogoutEvent() {\n    this.vsLogoutChangeEvent.emit()\n  }\n\n\n  handleCartChangeEvent() {\n    this.vsCartChangeEvent.emit()\n  }\n\n\n  closeCartDropDown2() {\n    document.getElementById('compareDropDownMenu').classList.remove('dropdown-menu');\n  }\n\n  openCompareDropDown() {\n    document.getElementById(\"compareDropDownMenu\").classList.add(\"active\");\n  }\n\n  handleComparepage(){\n    this.vsComparepageChangeEvent.emit()\n  }\n\n}","<div class=\"vsecom-header-navbar-inner-topnav\">\n    <div class=\"container\">\n        <input type=\"hidden\" id=\"curLocation\" class=\"hide-text\" />\n        <div class=\"col-xs-12 noPadding\">\n            <div id=\"topnav\" class=\"category\">\n                <div class=\"col-xs-1 noPadding\">\n                    <i class=\"fa fa-bars vsecom-mobile-menuIcons showOnMobi hamburgerAlign\" id=\"mobile-menu-trigger\"\n                        (click)=\"openfloatingMenu()\" aria-hidden=\"true\"></i>\n                </div>\n                <div class=\"col-md-12 col-xs-11 noPadding centerMenu\">\n\n                    <a *ngIf=\"vsHomeShow\" (click)=\"handleHomeChangeEvent()\" class=\"menuColor\">\n                        <span class=\"vsecom-header-menu-home\"><i class=\"material-icons iconsMenu\">home</i></span>\n                        <span class=\"nomobdisplay\">{{vsHomeText}}</span>\n                    </a>\n\n                    <span *ngIf=\"vsHomeShow\">|</span>\n                    <a *ngIf=\"vsOffersShow\" (click)=\"handleOffersChangeEvent()\" class=\"vsecom-header-menu-offers menuColor\">\n                        <span class=\"vsecom-header-menu-offers\"><i\n                                class=\"material-icons iconsMenu\">local_offer</i></span>\n                        <span class=\"nomobdisplay\">{{vsOffersText}}</span>\n                    </a>\n\n                    <span *ngIf=\"vsOffersShow\">|</span>\n                    <a *ngIf=\"vsWishlistShow\" (click)=\"handleWishlistChangeEvent()\" class=\"menuColor\">\n                        <span class=\"vsecom-header-menu-wishlist\"><i\n                                class=\"material-icons iconsMenu\">favorite</i></span>\n                        <span class=\"nomobdisplay\">My Wishlist</span>\n                        <span class=\"circleCountList vsecom-header-menu-wishlist\">{{vsWishlistListCount}}</span>\n                    </a>\n\n                    <span *ngIf=\"vsCompareShow\">|</span>\n                    <span *ngIf=\"vsCompareShow\">\n                        <a (click)=\"handleCompareChangeEvent()\" mat-icon-button [matMenuTriggerFor]=\"menuCompare\" class=\"menuColor\">\n                            <span><i class=\"material-icons iconsMenu\">view_list</i></span>\n                            <span class=\"nomobdisplay\">Compare</span>\n                            <span class=\"circleCountList\">{{vsCompareListCount}}</span>\n                        </a>\n                    </span>\n\n                    <span *ngIf=\"vsCartShow\">|</span>\n                    <span *ngIf=\"vsCartShow\">\n                        <a (click)=\"handleCartChangeEvent()\" mat-icon-button [matMenuTriggerFor]=\"menuCart\" class=\"menuColor\">\n                            <span><i class=\"material-icons iconsMenu\">shopping_cart</i></span>\n                            <span class=\"nomobdisplay\">Cart</span>\n                            <span class=\"circleCountList\">{{vsCartListCount}}</span>\n                        </a>\n                    </span>\n\n                    <span *ngIf=\"!vsFlagLoggedIn && vsRegisterShow\">|</span>\n                    <a *ngIf=\"!vsFlagLoggedIn && vsRegisterShow\" (click)=\"handleRegisterChangeEvent()\"\n                        class=\"vsecom-header-menu-register menuColor\">\n                        <span class=\" \"><i class=\"material-icons iconsMenu\">person</i></span>\n                        <span class=\"nomobdisplay\">Register</span>\n                    </a>\n\n                    <span *ngIf=\"!vsFlagLoggedIn && vsLoginShow\">|</span>\n                    <a (click)=\"handleLoginChangeEvent()\" *ngIf=\"!vsFlagLoggedIn && vsLoginShow\" class=\"menuColor\">\n                        <span><i class=\"material-icons iconsMenu\">login</i></span>\n                        <span class=\"nomobdisplay\">Login</span>\n                    </a>\n                    <span *ngIf=\"vsFlagLoggedIn && vsLogoutShow\">|</span>\n                    <a *ngIf=\"vsFlagLoggedIn && vsLogoutShow\" (click)=\"handleLogoutEvent()\" class=\"menuColor\">\n                        <i class=\"material-icons-outlined  iconsMenu\">logout</i>\n                        <span class=\"nomobdisplay\">Logout</span>\n                    </a>\n\n                    <span *ngIf=\"vsFlagLoggedIn\">|</span>\n                    <a class=\"vsecom-header-icon-bar-dropdown menuColor\" mat-icon-button [matMenuTriggerFor]=\"menu\"\n                        *ngIf=\"vsFlagLoggedIn\">\n                        <span class=\"nomobdisplay\">{{vsCurrentUserName}}</span>\n                        <i class=\"material-icons\">arrow_drop_down</i>\n                    </a>\n                    <mat-menu #menu=\"matMenu\">\n                        <a *ngIf=\"vsFlagLoggedIn\" class=\"vsecom-header-menu-order dropdown-item\"\n                            (click)=\"handleAccountEvent()\" title=\"Account\">\n                            <h6>Account</h6>\n                        </a>\n                        <a *ngIf=\"vsFlagLoggedIn\" class=\"vsecom-header-menu-order dropdown-item\"\n                            (click)=\"handleOrderTrackingEvent()\" title=\"Order\">\n                            <h6>Order</h6>\n                        </a>\n                        <a *ngIf=\"vsFlagLoggedIn\" class=\"vsecom-header-menu-order dropdown-item\"\n                            (click)=\"handleChangePasswordEvent()\" title=\"Change password\">\n                            <h6>Change password</h6>\n                        </a>\n                        <a *ngIf=\"vsFlagLoggedIn\" class=\"vsecom-header-menu-logout dropdown-item\"\n                            (click)=\"handleLogoutEvent()\" title=\"LogOut\">\n                            <h6>Logout</h6>\n                        </a>\n                    </mat-menu>\n                    <mat-menu #menuCompare=\"matMenu\" class=\"cartDropDownMenuList\">\n                        <ul class=\"cartDropdownMenu\">\n                            <li>\n                                <header\n                                    class=\"compareDropDownHeader vsecom-header-navbar-inner-topnav vsecom-flex-jbetween vsecom-d-flex btn-block\">\n                                    <div>\n                                        Compare\n                                    </div>\n                                    <a href=\"#\" class=\"glyphicon glyphicon-remove right\"\n                                        (click)=\"closeCartDropDown2()\"><i class=\"material-icons\">clear</i></a>\n                                </header>\n                            </li>\n                            <li class=\"cart-top-scroll\" role=\"presentation\">\n                                <div role=\"menuitem\" tabindex=\"-1\" *ngFor=\"let product of vsCompareList\">\n                                    <table width=\"100%\">\n                                        <tr>\n                                            <td width=\"20%\">\n                                                <img *ngIf=\"product.pictureName\" class=\"imgsmallthumbnail\" id=\"img_{{product.productId}}\"\n                                                    src=\"{{product.pictureName}}\" />\n                                                <img *ngIf=\"product.pictureName == '' || product.pictureName == undefined || product.pictureName == null\" class=\"imgsmallthumbnail\" \n                                                    src=\"{{vsNoImage}}\" />\n                                            </td>\n                                            <td width=\"50%\">\n                                                <span class=\"comparedropdowntext\">{{product.name}}</span>\n                                                <br class=\"clear\" />\n                                            </td>\n\n                                            <td width=\"10%\" class=\"align-center\">\n                                                <span class=\"glyphicon  removeicon padding-5\"\n                                                    (click)=\"handleRemoveCompareItem(product)\"><i\n                                                        class=\"material-icons\">highlight_remove</i></span>\n                                            </td>\n                                        </tr>\n                                    </table>\n                                </div>\n                            </li>\n                            <li>\n                                <br class=\"clear\" />\n                                <div class=\"vsecom-flex-jbetween vsecom-d-flex btn-block color\"\n                                    *ngIf=\"vsCompareList.length>0\">\n                                    <a class=\"abutton vsecom-btn-primary btn\" type=\"button\" (click)=\"handleComparepage()\">compare</a>\n\n                                </div>\n                                <span class=\"comparedropdowntext\" *ngIf=\"vsCompareList.length < 1\">\n                                    <strong> No Products to Compare....</strong>\n                                </span>\n                            </li>\n                        </ul>\n                    </mat-menu>\n                    <mat-menu #menuCart=\"matMenu\" class=\"cartDropDownMenuList\">\n                        <ul class=\"cartDropdownMenu\">\n                            <li>\n                                <header\n                                    class=\"compareDropDownHeader vsecom-header-navbar-inner-topnav vsecom-flex-jbetween vsecom-d-flex btn-block\">\n                                    <div>\n                                        Your Cart\n                                        <span class=\"glyphicon glyphicon-shopping-cart\"><i\n                                                class=\"material-icons\">shopping_cart</i></span>\n                                    </div>\n                                    <a href=\"#\" class=\"glyphicon glyphicon-remove right\"\n                                        (click)=\"closeCartDropDown2()\"><i class=\"material-icons\">clear</i></a>\n                                </header>\n                            </li>\n                            <li class=\"cart-top-scroll\" role=\"presentation\">\n                                <div role=\"menuitem\" tabindex=\"-1\" *ngFor=\"let product of vsCartList\">\n                                    <table width=\"100%\">\n                                        <tr>\n                                            <td width=\"20%\">\n                                                <img *ngIf=\"product.PictureName\" class=\"imgsmallthumbnail\" id=\"img_{{product.ProductId}}\"\n                                                    src=\"{{product.PictureName}}\" />\n                                                <img *ngIf=\"product.PictureName == '' || product.PictureName == undefined || product.PictureName == null\" class=\"imgsmallthumbnail\" \n                                                    src=\"{{vsNoImage}}\" />\n                                            </td>\n                                            <td width=\"50%\">\n                                                <span class=\"comparedropdowntext\">{{product.Name}}</span>\n                                                <span class=\"minorinfofont\"\n                                                    *ngIf=\"product.SelectedSize && product.SelectedSize.length>0\">\n                                                    <span class=\"padding-5\">{{product.SelectedSize}}</span>\n                                                </span>\n                                                <br class=\"clear\" />\n                                                <span class=\"comparedropdowntext\">\n                                                    <strong> Qty: <span>{{product.Quantity}}</span>\n                                                    </strong>\n                                                    X\n                                                    <strong>Price:{{vsCurrency}}<span>\n                                                            {{product.SpecialPrice}}\n                                                        </span>\n                                                    </strong>\n                                                </span>\n                                                <span class=\"minorinfofont\" *ngIf=\"product.AdditionalShippingCharge>0\">\n                                                    Shipping : {{vsCurrency}} {{product.TotalAdditionalShippingCharge}}\n                                                </span>\n\n                                            </td>\n                                            <td width=\"20%\">\n                                                <span *ngIf=\"product.SubTotal>0\">\n                                                    <strong>\n                                                        {{vsCurrency}}<span>{{product.SubTotal}}</span></strong>\n                                                </span>\n                                            </td>\n                                            <td width=\"10%\" class=\"align-center\">\n                                                <span class=\"glyphicon  removeicon padding-5\"\n                                                    (click)=\"handleRemoveCartItem(product)\"><i\n                                                        class=\"material-icons\">highlight_remove</i></span>\n                                            </td>\n                                        </tr>\n                                    </table>\n                                </div>\n                                <!-- <span *ngIf=\"vsCartList && vsCartList.length < 1\">\n                                    <strong>Your Cart Is Empty</strong>\n                                </span> -->\n                                <div *ngIf=\"vsCartList && vsCartList.length < 1\">\n                                    <div class=\"cartlist\">\n                                        <div class=\"emptyCart\">\n                                            <img src={{vsEmptyImageUrl}} />\n                                        </div>\n                                        <div class=\"cart-text\">\n                                            <strong>Your Cart Is Empty</strong>\n                                        </div>\n                        \n                                    </div>\n                                </div>\n                            </li>\n                            <li>\n                                <div>\n                                    <table width=\"100%\">\n                                        <tr>\n                                            <td width=\"20%\"></td>\n                                            <td width=\"50%\">\n                                                <h4 *ngIf=\"vsCartTotal >0\">\n                                                    <strong>Total</strong>\n                                                </h4>\n                                            </td>\n                                            <td width=\"30%\">\n                                                <span *ngIf=\"vsCartTotal>0\">\n                                                    <strong> {{vsCurrency}}\n                                                        <span>\n                                                            {{vsCartTotal}}\n                                                        </span></strong>\n                                                </span>\n                                            </td>\n                                        </tr>\n                                    </table>\n                                    <div class=\"minorinfofont\">\n                                        {{vsDiscountText}}\n                                    </div>\n                                </div>\n                                <br class=\"clear\" />\n                                <div class=\"vsecom-flex-jbetween vsecom-d-flex btn-block color\"\n                                    *ngIf=\"vsCartList && vsCartList.length>0\">\n                                  <button class=\"abutton vsecom-btn-primary btn\" (click)=\"handleViewCartItem()\">View Cart</button> \n                                  <button class=\"abutton vsecom-btn-primary btn\"   [disabled]='vsCurrency==\"\" || vsCurrency==null || vsCurrency==undefined' (click)=\"handleCheckoutItem()\">Place Order</button>\n                                </div>\n                            </li>\n                        </ul>\n                    </mat-menu>\n                </div>\n            </div>\n\n        </div>\n    </div>\n</div>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n    selector: 'vssuite-zoom1',\n    templateUrl: '../ui/vssuite-zoom1.html',\n    styleUrls: ['../ui/vssuite-general.css'],\n})\n\nexport class VssuiteZoom1 implements OnInit {\n\n    @Input() vsProductImagesList: any = [];\n    @Input() vsProductImage: any;\n    @Input() vsProductId: any;\n    @Input() vsNoImage: any = '';\n    @Output() vsProductChangeEvent = new EventEmitter();\n    \n   \n    imgstyle: string=\"'width:565px; height:400px; bottom:0;  left:0;  right:0;  top:0;  margin:0 auto; border:1px solid #dcdcdc;'\"\n    resultStyle: string=\"'width:458px; height:430px; background-repeat: no-repeat; z-index: 2; position:absolute;-webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24); top: 0;left: 100%;'\"\n\n    \n    constructor() {\n    }\n    ngOnInit(){\n        \n    }\n    handleMenuChangeEvent() {\n        this.vsProductChangeEvent.emit()\n    }\n\n    ChangeProductDisplayImage(productImageSrc: any) {\n        this.vsProductImage = productImageSrc;\n    }\n}","<div class=\"row\">\n    <div class=\"col-sm-2 col-lg-3\">\n        <div *ngFor=\"let ProductImage of vsProductImagesList\" data=\"ProductImage\">\n            <img class=\"imgthumbnail\" (mouseover)=\"ChangeProductDisplayImage(ProductImage);\" src=\"{{ProductImage}}\"\n                alt=\"{{ProductImage}}\" onerror=\"this.src = 'assets/images/noimage.jpg'; this.onerror = '';\" />\n        </div>\n    </div>\n    <div class=\"col-sm-10 col-lg-9\" id=\"img_{{vsProductId}}\" *ngIf=\"vsProductImage\">\n        <lib-ngx-image-zoom thumbImage={{vsProductImage}} fullImage={{vsProductImage}} [magnification]=\"3\"\n            [enableScrollZoom]=\"true\" [enableLens]=\"true\" [lensWidth]=\"200\"\n            onerror=\"this.src = 'assets/images/noimage.jpg'; this.onerror = '';\">\n        </lib-ngx-image-zoom>\n    </div>\n    <div *ngIf=\"vsProductImage == '' || vsProductImage == null || vsProductImage == undefined\"\n        class=\"col-sm-10 col-lg-9\">\n        <img class=\"imgthumbnail\" src=\"{{vsNoImage}}\" />\n    </div>\n</div>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { NgbCarouselConfig } from '@ng-bootstrap/ng-bootstrap';\n\n@Component({\n    selector: 'vssuite-carousel',\n    templateUrl: '../ui/vssuite-carousel.html',\n    styleUrls: ['../ui/vssuite-general.css'],\n})\nexport class VssuiteCarousel implements OnInit{\n\n    @Input() vsCarouselList: any = [];\n    @Input() vsNoImage: any = '';\n    @Input() vsImageUrl: any = '';\n    showArrows: boolean = false;\n\n    constructor(config: NgbCarouselConfig) {}\n\n    ngOnInit() {\n        if (this.vsCarouselList && this.vsCarouselList.length > 1) {\n            this.showArrows = true;\n        }\n    }\n}\n","<div class=\"container-fluid\">\n    <ngb-carousel [showNavigationArrows]=\"showArrows\">\n        <ng-template ngbSlide *ngFor=\"let data of vsCarouselList\">\n            <div class=\"wrapper containerImage\">\n                <img class=\"align\"  *ngIf=\"data && data.vsSectionImage\" src=\"{{vsImageUrl}}{{data.vsSectionImage}}\">\n                <img class=\"align\" *ngIf=\"data && (data.vsSectionImage == '' || data.vsSectionImage == null || data.vsSectionImage == undefined || !data.vsSectionImage)\" src=\"{{vsNoImage}}\">\n\n                <div class=\"new cen-image\">\n                    <h1 class=\"home-banner\" *ngIf=\"data.vsShowTitle\">{{data.vsSectionTitle}}</h1>\n                    <h5  *ngIf=\"data.vsShowDescription\">{{data.vsSectionDescription}}</h5>\n                </div>\n\n            </div>\n        </ng-template>\n    </ngb-carousel>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatBadgeModule } from '@angular/material/badge';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport {MatMenuModule} from '@angular/material/menu';\nimport { ReactiveFormsModule, FormsModule } from '@angular/forms';\nimport { NgxImageZoomModule } from 'ngx-image-zoom';\nimport { NgImageSliderModule } from 'ng-image-slider';\nimport { MatInputModule } from '@angular/material/input';\nimport { VssuiteAnnouncement } from './components/vssuite-announcement';\nimport { VssuiteCart } from './components/vssuite-cart';\nimport { VssuiteCheckAvailability } from './components/vssuite-check-availability';\nimport { VssuiteCheckout } from './components/vssuite-checkout';\nimport { VssuiteContentBoxHorizontal } from './components/vssuite-content-box-horizontal';\nimport { VssuiteContentBoxList } from './components/vssuite-content-box-list';\nimport { VssuiteFooter } from './components/vssuite-footer';\nimport { VssuiteHero } from './components/vssuite-hero';\nimport { VssuiteLogin } from './components/vssuite-login';\nimport { VssuiteMenuActions } from './components/vssuite-menu-actions';\nimport { VssuiteEcomComponent } from './vssuite-ecom.component';\nimport { VssuiteProductDetails } from './components/vssuite-product-details';\nimport { VssuiteRegister } from './components/vssuite-register';\nimport { VssuiteProductContents } from './components/vssuite-product-contents';\nimport { VssuiteProductImage } from './components/vssuite-product-image';\nimport { VssuiteQuickCard } from './components/vssuite-quick-card';\nimport { VssuiteSlider } from './components/vssuite-slider';\nimport { VssuiteMenu } from './components/vssuite-menu';\nimport { VssuiteMenuBasic } from './components/vssuite-menu-basic';\nimport { VssuiteTopCategories } from './components/vssuite-top-categories';\nimport { VssuiteHeroCarousel } from './components/vssuite-hero-carousel';\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\nimport { VssuiteMenuAdvanced } from './components/vssuite-menu-advanced';\nimport { VssuiteMobileSidenav } from './components/vssuite-mobile-sidenav';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { VssuiteTopnav } from './components/vssuite-topnav';\nimport { NgxMaterialRatingModule } from 'ngx-material-rating';\nimport { VssuiteZoom1 } from './components/vssuite-zoom1';\nimport { NgxImgZoomModule } from 'ngx-img-zoom';\nimport { VssuiteCarousel } from './components/vssuite-carousel';\n\n@NgModule({\n  declarations: [\n    VssuiteEcomComponent,\n    VssuiteAnnouncement,\n    VssuiteMenu,\n    VssuiteLogin,\n    VssuiteHero,\n    VssuiteContentBoxList,\n    VssuiteQuickCard,\n    VssuiteFooter,\n    VssuiteContentBoxHorizontal,\n    VssuiteProductImage,\n    VssuiteMenuActions,\n    VssuiteRegister,\n    VssuiteProductDetails,\n    VssuiteSlider,\n    VssuiteCart,\n    VssuiteCheckout,\n    VssuiteProductContents,\n    VssuiteCheckAvailability,\n    VssuiteTopCategories,\n    VssuiteMenuBasic,\n    VssuiteHeroCarousel,\n    VssuiteMenuAdvanced,\n    VssuiteMobileSidenav,\n    VssuiteTopnav,\n    VssuiteZoom1,\n    VssuiteCarousel\n  ],\n  imports: [\n    CommonModule,\n    MatSlideToggleModule,\n    MatIconModule,\n    MatBadgeModule,\n    MatSelectModule,\n    MatFormFieldModule,\n    MatMenuModule,\n    ReactiveFormsModule,\n    FormsModule,\n    NgxImageZoomModule,\n    NgImageSliderModule,\n    MatInputModule,\n    NgbModule,\n    MatExpansionModule,\n    NgxMaterialRatingModule,\n    NgxImgZoomModule\n  ],\n  exports: [\n    VssuiteEcomComponent,\n    VssuiteAnnouncement,\n    VssuiteMenu,\n    VssuiteLogin,\n    VssuiteHero,\n    VssuiteContentBoxList,\n    VssuiteQuickCard,\n    VssuiteFooter,\n    VssuiteContentBoxHorizontal,\n    VssuiteProductImage,\n    VssuiteMenuActions,\n    VssuiteRegister,\n    VssuiteProductDetails,\n    VssuiteSlider,\n    VssuiteCart,\n    VssuiteCheckout,\n    VssuiteProductContents,\n    VssuiteCheckAvailability,\n    VssuiteTopCategories,\n    VssuiteMenuBasic,\n    VssuiteHeroCarousel,\n    VssuiteMenuAdvanced,\n    VssuiteMobileSidenav,\n    VssuiteTopnav,\n    VssuiteZoom1,\n    VssuiteCarousel\n  ]\n})\n\nexport class VssuiteEcomModule { }\n","/*\n * Public API Surface of vs-angular-ecom-components\n */\n\nexport * from './lib/vssuite-ecom.component';\nexport * from './lib/vssuite-ecom.module';\nexport * from './lib/components/vssuite-announcement';\nexport * from './lib/components/vssuite-menu';\nexport * from './lib/components/vssuite-hero';\nexport * from './lib/components/vssuite-quick-card';\nexport * from './lib/components/vssuite-footer';\nexport * from './lib/components/vssuite-content-box-list';\nexport * from './lib/components/vssuite-content-box-horizontal';\nexport * from './lib/components/vssuite-product-image';\nexport * from './lib/components/vssuite-menu-actions';\nexport * from './lib/components/vssuite-login';\nexport * from './lib/components/vssuite-register';\nexport * from './lib/components/vssuite-product-details';\nexport * from './lib/components/vssuite-slider';\nexport * from './lib/components/vssuite-cart';\nexport * from './lib/components/vssuite-checkout';\nexport * from './lib/components/vssuite-product-contents';\nexport * from './lib/components/vssuite-check-availability';\nexport * from './lib/components/vssuite-hero-carousel';\nexport * from './lib/components/vssuite-menu-basic';\nexport * from './lib/components/vssuite-top-categories';\nexport * from './lib/components/vssuite-mobile-sidenav';\nexport * from './lib/components/vssuite-menu-advanced';\nexport * from './lib/components/vssuite-topnav';\nexport * from './lib/components/vssuite-zoom1';\nexport * from './lib/components/vssuite-carousel';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i3","i1"],"mappings":"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"}