{"version":3,"sources":["webpack:///./src/assets/images/elements/homepod.png","webpack:///./src/assets/images/elements/iphone-x.png","webpack:///./src/assets/images/elements/macbook-pro.png","webpack:///./src/assets/images/elements/magic-mouse.png","webpack:///./node_modules/bootstrap-vue/esm/components/alert/alert.js","webpack:///./src/assets/images/elements/apple-watch.png","webpack:///./src/@core/utils/utils.js","webpack:///./src/views/apps/e-commerce/e-commerce-product-details/ECommerceProductDetails.vue?86c3","webpack:///./src/views/apps/e-commerce/e-commerce-product-details/ECommerceProductDetailsItemFeatures.vue?e3b0","webpack:///src/views/apps/e-commerce/e-commerce-product-details/ECommerceProductDetailsItemFeatures.vue","webpack:///./src/views/apps/e-commerce/e-commerce-product-details/ECommerceProductDetailsItemFeatures.vue?b8c6","webpack:///./src/views/apps/e-commerce/e-commerce-product-details/ECommerceProductDetailsItemFeatures.vue","webpack:///./src/views/apps/e-commerce/e-commerce-product-details/ECommerceProductDetailsRelatedProducts.vue?bbd9","webpack:///src/views/apps/e-commerce/e-commerce-product-details/ECommerceProductDetailsRelatedProducts.vue","webpack:///./src/views/apps/e-commerce/e-commerce-product-details/ECommerceProductDetailsRelatedProducts.vue?f5fd","webpack:///./src/views/apps/e-commerce/e-commerce-product-details/ECommerceProductDetailsRelatedProducts.vue","webpack:///./src/views/apps/e-commerce/useEcommerce.js","webpack:///src/views/apps/e-commerce/e-commerce-product-details/ECommerceProductDetails.vue","webpack:///./src/views/apps/e-commerce/e-commerce-product-details/ECommerceProductDetails.vue?337a","webpack:///./src/views/apps/e-commerce/e-commerce-product-details/ECommerceProductDetails.vue","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-text.js","webpack:///./src/views/apps/e-commerce/e-commerce-product-details/ECommerceProductDetails.vue?6cc6","webpack:///./src/views/apps/e-commerce/e-commerce-product-details/ECommerceProductDetailsRelatedProducts.vue?a1db"],"names":["module","exports","_watch","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","configurable","writable","_makeModelMixin","type","defaultValue","modelMixin","mixin","modelProps","props","MODEL_PROP_NAME","prop","MODEL_EVENT_NAME","event","parseCountDown","show","parseShow","dismissLabel","dismissible","fade","variant","BAlert","extend","name","mixins","data","countDown","localShow","this","watch","newValue","_this","clearCountDownInterval","$emit","$_countDownTimeout","setTimeout","$nextTick","created","$_filterTimer","beforeDestroy","methods","dismiss","clearTimeout","render","h","$alert","$dismissButton","attrs","on","click","normalizeSlot","staticClass","class","concat","role","noFade","isObject","_typeof","isToday","date","today","Date","getDate","getMonth","getFullYear","useRouter","vm","getCurrentInstance","proxy","state","reactive","route","$route","r","toRefs","router","$router","_vm","_h","$createElement","_c","_self","undefined","product","_v","image","_s","brand","price","_l","star","rating","description","_e","color","selectedColor","$event","directives","rawName","expression","modifiers","handleCartActionClick","isInCart","toggleProductInWishlist","isInWishlist","scopedSlots","_u","fn","icon","staticRenderFns","component","swiperOptions","index","slot","components","BCardBody","BCardText","BImg","BLink","Swiper","SwiperSlide","setup","slidesPerView","spaceBetween","navigation","nextEl","prevEl","breakpoints","relatedProducts","require","useEcommerce","addProductInWishlist","productId","store","dispatch","removeProductFromWishlist","addProductInCart","removeProductFromCart","useEcommerceUi","_useRouter","_useEcommerce","id","then","_useEcommerce2","commit","cartItemsCount","handleWishlistCartActionClick","removeProductFromWishlistUi","_useEcommerce3","Ripple","BCard","BRow","BCol","BButton","BDropdown","BDropdownItem","ECommerceProductDetailsItemFeatures","ECommerceProductDetailsRelatedProducts","_useEcommerceUi","ref","fetchProduct","productSlug","params","slug","substring","lastIndexOf","response","catch","error","status","textTag","functional","_ref","children"],"mappings":"qGAAAA,EAAOC,QAAU,IAA0B,4B,uBCA3CD,EAAOC,QAAU,IAA0B,6B,uBCA3CD,EAAOC,QAAU,IAA0B,gC,uBCA3CD,EAAOC,QAAU,IAA0B,gC,oCCA3C,sCAAIC,EAAJ,oLAEA,SAASC,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKC,MAAMT,EAAMG,GAAY,OAAOH,EAE9U,SAASU,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAAE,IAAIG,EAAyB,MAAhBF,UAAUD,GAAaC,UAAUD,GAAK,GAAQA,EAAI,EAAKf,EAAQI,OAAOc,IAAS,GAAMC,SAAQ,SAAUC,GAAOC,EAAgBP,EAAQM,EAAKF,EAAOE,OAAsBhB,OAAOkB,0BAA6BlB,OAAOmB,iBAAiBT,EAAQV,OAAOkB,0BAA0BJ,IAAmBlB,EAAQI,OAAOc,IAASC,SAAQ,SAAUC,GAAOhB,OAAOoB,eAAeV,EAAQM,EAAKhB,OAAOK,yBAAyBS,EAAQE,OAAe,OAAON,EAE7gB,SAASO,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOrB,OAAOoB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOhB,YAAY,EAAMiB,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAiB3M,IAAII,EAAkB,eAAe,OAAQ,CAC3CC,KAAM,OACNC,cAAc,IAEZC,EAAaH,EAAgBI,MAC7BC,EAAaL,EAAgBM,MAC7BC,EAAkBP,EAAgBQ,KAClCC,EAAmBT,EAAgBU,MAInCC,EAAiB,SAAwBC,GAC3C,MAAa,KAATA,GAAe,eAAUA,GACpB,GAGTA,EAAO,eAAUA,EAAM,GAChBA,EAAO,EAAIA,EAAO,IAIvBC,EAAY,SAAmBD,GACjC,MAAa,KAATA,IAAwB,IAATA,KAIf,eAAUA,EAAM,GAAK,MAKhBA,GAIAN,EAAQ,eAAsB,eAAStB,EAAcA,EAAc,GAAIqB,GAAa,GAAI,CACjGS,aAAc,eAAS,OAAkB,SACzCC,YAAa,eAAS,QAAmB,GACzCC,KAAM,eAAS,QAAmB,GAClCC,QAAS,eAAS,OAAkB,WACjC,QAGMC,EAAsB,aAAIC,OAAO,CAC1CC,KAAM,OACNC,OAAQ,CAAClB,EAAY,QACrBG,MAAOA,EACPgB,KAAM,WACJ,MAAO,CACLC,UAAW,EAEXC,UAAWX,EAAUY,KAAKlB,MAG9BmB,OAAQxD,EAAS,GAAIsB,EAAgBtB,EAAQqC,GAAiB,SAAUoB,GACtEF,KAAKF,UAAYZ,EAAegB,GAChCF,KAAKD,UAAYX,EAAUc,MACzBnC,EAAgBtB,EAAQ,aAAa,SAAmByD,GAC1D,IAAIC,EAAQH,KAEZA,KAAKI,yBACL,IAAIjB,EAAOa,KAAKlB,GAEZ,eAAUK,KACZa,KAAKK,MAAM,OAA+BH,GAEtCf,IAASe,GACXF,KAAKK,MAAMrB,EAAkBkB,GAG3BA,EAAW,GACbF,KAAKD,WAAY,EACjBC,KAAKM,mBAAqBC,YAAW,WACnCJ,EAAML,cACL,MAGHE,KAAKQ,WAAU,WACb,gBAAU,WACRL,EAAMJ,WAAY,YAKxBhC,EAAgBtB,EAAQ,aAAa,SAAmByD,GAC1D,IAAIf,EAAOa,KAAKlB,GAEXoB,IAAaF,KAAKV,cAAe,eAAUH,IAC9Ca,KAAKK,MAAM,QAIR,eAAUlB,IAASA,IAASe,GAC/BF,KAAKK,MAAMrB,EAAkBkB,MAE7BzD,GACJgE,QAAS,WAEPT,KAAKU,cAAgB,KACrB,IAAIvB,EAAOa,KAAKlB,GAChBkB,KAAKF,UAAYZ,EAAeC,GAChCa,KAAKD,UAAYX,EAAUD,IAE7BwB,cAAe,WACbX,KAAKI,0BAEPQ,QAAS,CACPC,QAAS,WACPb,KAAKI,yBACLJ,KAAKF,UAAY,EACjBE,KAAKD,WAAY,GAEnBK,uBAAwB,WACtBU,aAAad,KAAKM,oBAClBN,KAAKM,mBAAqB,OAG9BS,OAAQ,SAAgBC,GACtB,IAAIC,EAASD,IAEb,GAAIhB,KAAKD,UAAW,CAClB,IAAIT,EAAcU,KAAKV,YACnBE,EAAUQ,KAAKR,QACf0B,EAAiBF,IAEjB1B,IAEF4B,EAAiBF,EAAE,OAAc,CAC/BG,MAAO,CACL,aAAcnB,KAAKX,cAErB+B,GAAI,CACFC,MAAOrB,KAAKa,UAEb,CAACb,KAAKsB,cAAc,WAGzBL,EAASD,EAAE,MAAO,CAChBO,YAAa,QACbC,MAAOzD,EAAgB,CACrB,oBAAqBuB,GACpB,SAASmC,OAAOjC,GAAUA,GAC7B2B,MAAO,CACLO,KAAM,QACN,YAAa,SACb,eAAe,GAEjB5D,IAAKkC,KAAK,SACT,CAACkB,EAAgBlB,KAAKsB,kBAG3B,OAAON,EAAE,OAAc,CACrBnC,MAAO,CACL8C,QAAS3B,KAAKT,OAEf,CAAC0B,Q,qBClLR1E,EAAOC,QAAU,IAA0B,gC,mNCI9BoF,EAAW,SAAAzD,GAAG,MAAmB,WAAf0D,eAAO1D,IAA4B,OAARA,GAE7C2D,EAAU,SAAAC,GACrB,IAAMC,EAAQ,IAAIC,KAClB,OAEEF,EAAKG,YAAcF,EAAME,WACzBH,EAAKI,aAAeH,EAAMG,YAC1BJ,EAAKK,gBAAkBJ,EAAMI,eAiBpBC,EAAY,WACvB,IAAMC,EAAKC,kCAAqBC,MAC1BC,EAAQC,sBAAS,CACrBC,MAAOL,EAAGM,SAUZ,OAPA3C,oBACE,kBAAMqC,EAAGM,UACT,SAAAC,GACEJ,EAAME,MAAQE,KAIlBtF,8BAAA,GAAYuF,oBAAOL,IAAM,IAAEM,OAAQT,EAAGU,Y,yCC1CxC,IAAIjC,EAAS,WAAa,IAAIkC,EAAIjD,KAASkD,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,UAAU,CAAC7B,YAAY,yBAAyB,CAAC6B,EAAG,UAAU,CAACjC,MAAM,CAAC,QAAU,SAAS,UAAuBmC,IAAhBL,EAAIM,UAAwB,CAACH,EAAG,KAAK,CAAC7B,YAAY,iBAAiB,CAAC0B,EAAIO,GAAG,mCAAmCJ,EAAG,MAAM,CAAC7B,YAAY,cAAc,CAAC0B,EAAIO,GAAG,8CAA8CJ,EAAG,SAAS,CAAC7B,YAAY,aAAaJ,MAAM,CAAC,GAAK,CAAExB,KAAM,0BAA0B,CAACsD,EAAIO,GAAG,YAAYP,EAAIO,GAAG,uBAAuB,KAAMP,EAAW,QAAEG,EAAG,SAAS,CAACjC,MAAM,CAAC,UAAU,KAAK,CAACiC,EAAG,cAAc,CAACA,EAAG,QAAQ,CAAC7B,YAAY,QAAQ,CAAC6B,EAAG,QAAQ,CAAC7B,YAAY,gEAAgEJ,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACiC,EAAG,MAAM,CAAC7B,YAAY,oDAAoD,CAAC6B,EAAG,QAAQ,CAAC7B,YAAY,cAAcJ,MAAM,CAAC,IAAM8B,EAAIM,QAAQE,MAAM,IAAO,YAAeR,EAAIM,QAAY,KAAG,MAAQ,OAAO,KAAKH,EAAG,QAAQ,CAACjC,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACiC,EAAG,KAAK,CAACH,EAAIO,GAAGP,EAAIS,GAAGT,EAAIM,QAAQ5D,SAASyD,EAAG,cAAc,CAAC7B,YAAY,qBAAqB,CAAC6B,EAAG,OAAO,CAACH,EAAIO,GAAG,QAAQJ,EAAG,SAAS,CAAC7B,YAAY,gBAAgB,CAAC0B,EAAIO,GAAG,IAAIP,EAAIS,GAAGT,EAAIM,QAAQI,OAAO,QAAQ,GAAGP,EAAG,MAAM,CAAC7B,YAAY,iDAAiD,CAAC6B,EAAG,KAAK,CAAC7B,YAAY,mBAAmB,CAAC0B,EAAIO,GAAG,KAAKP,EAAIS,GAAGT,EAAIM,QAAQK,OAAO,OAAOR,EAAG,KAAK,CAAC7B,YAAY,8CAA8C0B,EAAIY,GAAG,GAAI,SAASC,GAAM,OAAOV,EAAG,KAAK,CAACtF,IAAIgG,EAAKvC,YAAY,2BAA2B,CAAC6B,EAAG,eAAe,CAAC5B,MAAM,CAAC,CAAC,eAAgBsC,GAAQb,EAAIM,QAAQQ,QAASD,GAAQb,EAAIM,QAAQQ,OAAS,eAAiB,cAAc5C,MAAM,CAAC,KAAO,WAAW,KAAO,SAAS,MAAK,KAAKiC,EAAG,cAAc,CAACH,EAAIO,GAAG,gBAAgBJ,EAAG,OAAO,CAAC7B,YAAY,gBAAgB,CAAC0B,EAAIO,GAAG,gBAAgBJ,EAAG,cAAc,CAACH,EAAIO,GAAGP,EAAIS,GAAGT,EAAIM,QAAQS,gBAAgBZ,EAAG,KAAK,CAAC7B,YAAY,kCAAkC,CAAE0B,EAAIM,QAAuB,gBAAEH,EAAG,KAAK,CAACA,EAAG,eAAe,CAACjC,MAAM,CAAC,KAAO,sBAAsBiC,EAAG,OAAO,CAACH,EAAIO,GAAG,oBAAoB,GAAGP,EAAIgB,KAAKb,EAAG,KAAK,CAACA,EAAG,eAAe,CAACjC,MAAM,CAAC,KAAO,oBAAoBiC,EAAG,OAAO,CAACH,EAAIO,GAAG,4BAA4B,KAAKJ,EAAG,MAAMA,EAAG,MAAM,CAAC7B,YAAY,yBAAyB,CAAC6B,EAAG,KAAK,CAACH,EAAIO,GAAG,YAAYJ,EAAG,KAAK,CAAC7B,YAAY,sBAAsB0B,EAAIY,GAAIZ,EAAIM,QAAoB,cAAE,SAASW,GAAO,OAAOd,EAAG,KAAK,CAACtF,IAAIoG,EAAM3C,YAAY,iBAAiBC,MAAM,CAAC,SAAYyB,EAAIkB,gBAAkBD,GAAO9C,GAAG,CAAC,MAAQ,SAASgD,GAAQnB,EAAIkB,cAAgBD,KAAS,CAACd,EAAG,MAAM,CAAC7B,YAAY,eAAeC,MAAO,KAAO0C,GAAQ,CAACd,EAAG,MAAM,CAAC7B,YAAY,aAAaC,MAAO,MAAQ0C,WAAe,KAAKd,EAAG,MAAMA,EAAG,MAAM,CAAC7B,YAAY,uCAAuC,CAAC6B,EAAG,WAAW,CAACiB,WAAW,CAAC,CAAC1E,KAAK,SAAS2E,QAAQ,eAAelG,MAAM,4BAA8BmG,WAAW,8BAA8BC,UAAU,CAAC,KAAM,KAAQjD,YAAY,qCAAqCJ,MAAM,CAAC,QAAU,WAAWC,GAAG,CAAC,MAAQ,SAASgD,GAAQ,OAAOnB,EAAIwB,sBAAsBxB,EAAIM,YAAY,CAACH,EAAG,eAAe,CAAC7B,YAAY,QAAQJ,MAAM,CAAC,KAAO,sBAAsBiC,EAAG,OAAO,CAACH,EAAIO,GAAGP,EAAIS,GAAGT,EAAIM,QAAQmB,SAAW,eAAiB,mBAAmB,GAAGtB,EAAG,WAAW,CAAC7B,YAAY,yCAAyCJ,MAAM,CAAC,QAAU,qBAAqBC,GAAG,CAAC,MAAQ,SAASgD,GAAQ,OAAOnB,EAAI0B,wBAAwB1B,EAAIM,YAAY,CAACH,EAAG,eAAe,CAAC7B,YAAY,QAAQC,MAAM,CAAC,cAAeyB,EAAIM,QAAQqB,cAAczD,MAAM,CAAC,KAAO,eAAeiC,EAAG,OAAO,CAACH,EAAIO,GAAG,eAAe,GAAGJ,EAAG,aAAa,CAAC7B,YAAY,YAAYJ,MAAM,CAAC,QAAU,oBAAoB,WAAW,GAAG,eAAe,WAAW,MAAQ,IAAI0D,YAAY5B,EAAI6B,GAAG,CAAC,CAAChH,IAAI,iBAAiBiH,GAAG,WAAW,MAAO,CAAC3B,EAAG,eAAe,CAACjC,MAAM,CAAC,KAAO,kBAAkBqB,OAAM,IAAO,MAAK,EAAM,aAAaS,EAAIY,GAAG,CAAG,eAAgB,cAAe,cAAe,kBAAmB,SAASmB,GAAM,OAAO5B,EAAG,kBAAkB,CAACtF,IAAIkH,GAAM,CAAC5B,EAAG,eAAe,CAACjC,MAAM,CAAC,KAAO6D,MAAS,MAAK,IAAI,IAAI,IAAI,IAAI,GAAG5B,EAAG,4CAA4CA,EAAG,gDAAgD,GAAGH,EAAIgB,MAAM,IAC5iIgB,EAAkB,G,oLCDlB,EAAS,WAAa,IAAIhC,EAAIjD,KAASkD,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAAC7B,YAAY,iBAAiB,CAAC6B,EAAG,MAAM,CAAC7B,YAAY,mBAAmB,CAAC6B,EAAG,MAAM,CAAC7B,YAAY,gCAAgC,CAAC6B,EAAG,MAAM,CAAC7B,YAAY,gBAAgB,CAAC6B,EAAG,eAAe,CAACjC,MAAM,CAAC,KAAO,YAAY,KAAO,QAAQiC,EAAG,KAAK,CAAC7B,YAAY,aAAa,CAAC0B,EAAIO,GAAG,qBAAqBJ,EAAG,IAAI,CAAC7B,YAAY,aAAa,CAAC0B,EAAIO,GAAG,iFAAiF,KAAKJ,EAAG,MAAM,CAAC7B,YAAY,gCAAgC,CAAC6B,EAAG,MAAM,CAAC7B,YAAY,gBAAgB,CAAC6B,EAAG,eAAe,CAACjC,MAAM,CAAC,KAAO,YAAY,KAAO,QAAQiC,EAAG,KAAK,CAAC7B,YAAY,aAAa,CAAC0B,EAAIO,GAAG,0BAA0BJ,EAAG,IAAI,CAAC7B,YAAY,aAAa,CAAC0B,EAAIO,GAAG,2EAA2E,KAAKJ,EAAG,MAAM,CAAC7B,YAAY,gCAAgC,CAAC6B,EAAG,MAAM,CAAC7B,YAAY,gBAAgB,CAAC6B,EAAG,eAAe,CAACjC,MAAM,CAAC,KAAO,aAAa,KAAO,QAAQiC,EAAG,KAAK,CAAC7B,YAAY,aAAa,CAAC0B,EAAIO,GAAG,uBAAuBJ,EAAG,IAAI,CAAC7B,YAAY,aAAa,CAAC0B,EAAIO,GAAG,gFAAgF,UAClrC,EAAkB,GCiDP,KClD0Y,I,YCOrZ0B,EAAY,eACd,EACA,EACA,GACA,EACA,KACA,KACA,MAIa,EAAAA,E,QClBX,EAAS,WAAa,IAAIjC,EAAIjD,KAASkD,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACA,EAAG,MAAM,CAAC7B,YAAY,yBAAyB,CAAC6B,EAAG,KAAK,CAACH,EAAIO,GAAG,sBAAsBJ,EAAG,cAAc,CAACH,EAAIO,GAAG,wCAAwC,GAAGJ,EAAG,SAAS,CAAC7B,YAAY,0CAA0CJ,MAAM,CAAC,QAAU8B,EAAIkC,gBAAgB,CAAClC,EAAIY,GAAIZ,EAAmB,iBAAE,SAASM,EAAQ6B,GAAO,OAAOhC,EAAG,eAAe,CAACtF,IAAIsH,GAAO,CAAChC,EAAG,SAAS,CAACA,EAAG,MAAM,CAAC7B,YAAY,gBAAgB,CAAC6B,EAAG,KAAK,CAAC7B,YAAY,sBAAsB,CAAC0B,EAAIO,GAAG,IAAIP,EAAIS,GAAGH,EAAQ5D,MAAM,OAAOyD,EAAG,QAAQ,CAAC7B,YAAY,aAAa,CAAC0B,EAAIO,GAAG,MAAMP,EAAIS,GAAGH,EAAQI,YAAYP,EAAG,MAAM,CAAC7B,YAAY,oCAAoC,CAAC6B,EAAG,QAAQ,CAACjC,MAAM,CAAC,IAAMoC,EAAQE,MAAM,MAAQ,OAAO,GAAGL,EAAG,MAAM,CAAC7B,YAAY,aAAa,CAAC6B,EAAG,KAAK,CAAC7B,YAAY,mCAAmC0B,EAAIY,GAAG,GAAI,SAASC,GAAM,OAAOV,EAAG,KAAK,CAACtF,IAAIgG,EAAKvC,YAAY,qBAAqB,CAAC6B,EAAG,eAAe,CAAC7B,YAAY,QAAQC,MAAM,CAAC,CAAC,eAAgBsC,GAAQP,EAAQQ,QAASD,GAAQP,EAAQQ,OAAS,eAAiB,cAAc5C,MAAM,CAAC,KAAO,WAAW,KAAO,SAAS,MAAK,GAAGiC,EAAG,IAAI,CAAC7B,YAAY,+BAA+B,CAAC0B,EAAIO,GAAG,KAAKP,EAAIS,GAAGH,EAAQK,OAAO,YAAY,MAAKR,EAAG,MAAM,CAAC7B,YAAY,qBAAqBJ,MAAM,CAAC,KAAO,eAAekE,KAAK,gBAAgBjC,EAAG,MAAM,CAAC7B,YAAY,qBAAqBJ,MAAM,CAAC,KAAO,eAAekE,KAAK,iBAAiB,IAAI,IAC76C,EAAkB,G,YCqEP,GACfC,WAAA,CACAC,iBACAC,iBACAC,YACAC,aAGAC,mBACAC,8BAEAC,MAAA,WACA,IAAAV,EAAA,CACAW,cAAA,EACAC,aAAA,GACAC,WAAA,CACAC,OAAA,sBACAC,OAAA,uBAEAC,YAAA,CACA,MACAL,cAAA,EACAC,aAAA,IAEA,MACAD,cAAA,EACAC,aAAA,IAEA,KACAD,cAAA,EACAC,aAAA,IAEA,KACAD,cAAA,EACAC,aAAA,MAMAK,EAAA,CACA,CACAzG,KAAA,uBACAgE,MAAA,QACAC,MAAA,OACAG,OAAA,EACAN,MAAA4C,EAAA,SAEA,CACA1G,KAAA,6BACAgE,MAAA,QACAC,MAAA,QACAG,OAAA,EACAN,MAAA4C,EAAA,SAEA,CACA1G,KAAA,6BACAgE,MAAA,QACAC,MAAA,OACAG,OAAA,EACAN,MAAA4C,EAAA,SAEA,CACA1G,KAAA,wBACAgE,MAAA,QACAC,MAAA,MACAG,OAAA,EACAN,MAAA4C,EAAA,SAEA,CACA1G,KAAA,gBACAgE,MAAA,QACAC,MAAA,QACAG,OAAA,EACAN,MAAA4C,EAAA,UAKA,OACAlB,gBACAiB,qBCvJ4Z,ICQxZ,G,UAAY,eACd,EACA,EACA,GACA,EACA,KACA,KACA,OAIa,I,QChBFE,EAAe,WAE1B,IAAMC,EAAuB,SAAAC,GAC3B,OAAOC,OAAMC,SAAS,qCAAsC,CAAEF,eAI1DG,EAA4B,SAAAH,GAChC,OAAOC,OAAMC,SAAS,0CAA2C,CAAEF,eAI/DI,EAAmB,SAAAJ,GACvB,OAAOC,OAAMC,SAAS,iCAAkC,CAAEF,eAItDK,EAAwB,SAAAL,GAC5B,OAAOC,OAAMC,SAAS,sCAAuC,CAAEF,eAGjE,MAAO,CACLD,uBACAI,4BACAC,mBACAC,0BAISC,EAAiB,WAC5B,IAAAC,EAAmB1E,iBAAXU,EAAMgE,EAANhE,OAEF4B,EAA0B,SAAApB,GAC9B,IAAAyD,EAA4DV,IAApDC,EAAoBS,EAApBT,qBAAsBI,EAAyBK,EAAzBL,0BAC1BpD,EAAQqB,aACV+B,EAA0BpD,EAAQ0D,IAAIC,MAAK,WAEzC3D,EAAQqB,cAAe,KAGzB2B,EAAqBhD,EAAQ0D,IAAIC,MAAK,WAEpC3D,EAAQqB,cAAe,MAKvBH,EAAwB,SAAAlB,GAC5B,IAAA4D,EAA6Bb,IAArBM,EAAgBO,EAAhBP,iBAEJrD,EAAQmB,SACV3B,EAAO1F,KAAK,CAAEsC,KAAM,6BAEpBiH,EAAiBrD,EAAQ0D,IAAIC,MAAK,WAEhC3D,EAAQmB,UAAW,EAGnB+B,OAAMW,OAAO,wCAAyCX,OAAMhE,MAAM,iBAAiB4E,eAAiB,OAKpGC,EAAgC,SAAC/D,EAASgE,GAC9C,IAAAC,EAAwDlB,IAAhDM,EAAgBY,EAAhBZ,iBAAkBD,EAAyBa,EAAzBb,0BAEtBpD,EAAQmB,SACV3B,EAAO1F,KAAK,CAAEsC,KAAM,6BAEpBiH,EAAiBrD,EAAQ0D,IACtBC,MAAK,WAEJ3D,EAAQmB,UAAW,EACnBiC,EAA0BpD,EAAQ0D,IAGlCR,OAAMW,OAAO,wCAAyCX,OAAMhE,MAAM,iBAAiB4E,eAAiB,MAErGH,MAAK,WAEJ3D,EAAQqB,cAAe,EACvB2C,EAA4BhE,OAIpC,MAAO,CACLoB,0BACAF,wBACA6C,kCC2GW,GACfjD,WAAA,CACAoD,eAEAnC,WAAA,CAEAoC,aACAnC,iBACAoC,YACAC,YACAnC,YACAD,iBACAE,aACAmC,eACAC,iBACAC,qBACAtI,cAGAuI,sCACAC,0CAEApC,MAAA,WACA,IAAAqC,EAAApB,IAAArC,EAAAyD,EAAAzD,sBAAAE,EAAAuD,EAAAvD,wBAEApB,EAAA4E,iBAAA,MAGAC,EAAA,WAEA,IAAArB,EAAA1E,iBAAAM,EAAAoE,EAAApE,MACA0F,EAAA1F,EAAAvE,MAAAkK,OAAAC,KACA/B,EAAA6B,EAAAG,UAAAH,EAAAI,YAAA,QAEAhC,OAAAC,SAAA,8BAAAF,cACAU,MAAA,SAAAwB,GACAnF,EAAAnF,MAAAsK,EAAA7I,KAAA0D,WAEAoF,OAAA,SAAAC,GACA,MAAAA,EAAAF,SAAAG,SACAtF,EAAAnF,WAAAkF,OAMAa,EAAAgE,iBAAA,MAIA,OAFAC,IAEA,CAGA7E,UAGAY,gBACAM,wBACAE,6BChQ6Y,ICQzY,G,UAAY,eACd,EACA5D,EACAkE,GACA,EACA,KACA,KACA,OAIa,e,2CCnBf,kGAKWpG,EAAQ,eAAsB,CACvCiK,QAAS,eAAS,OAAkB,MACnC,QAGQtD,EAAyB,aAAI9F,OAAO,CAC7CC,KAAM,OACNoJ,YAAY,EACZlK,MAAOA,EACPkC,OAAQ,SAAgBC,EAAGgI,GACzB,IAAInK,EAAQmK,EAAKnK,MACbgB,EAAOmJ,EAAKnJ,KACZoJ,EAAWD,EAAKC,SACpB,OAAOjI,EAAEnC,EAAMiK,QAAS,eAAUjJ,EAAM,CACtC0B,YAAa,cACX0H,O,kCCpBR,W,kCCAA,W","file":"js/chunk-67aac012.55a598ee.js","sourcesContent":["module.exports = __webpack_public_path__ + \"img/homepod.e3172634.png\";","module.exports = __webpack_public_path__ + \"img/iphone-x.ff1daa9e.png\";","module.exports = __webpack_public_path__ + \"img/macbook-pro.fbbe4299.png\";","module.exports = __webpack_public_path__ + \"img/magic-mouse.3cf7a781.png\";","var _watch;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { COMPONENT_UID_KEY, Vue } from '../../vue';\nimport { NAME_ALERT } from '../../constants/components';\nimport { EVENT_NAME_DISMISSED, EVENT_NAME_DISMISS_COUNT_DOWN } from '../../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_DISMISS } from '../../constants/slots';\nimport { requestAF } from '../../utils/dom';\nimport { isBoolean, isNumeric } from '../../utils/inspect';\nimport { makeModelMixin } from '../../utils/model';\nimport { toInteger } from '../../utils/number';\nimport { sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BButtonClose } from '../button/button-close';\nimport { BVTransition } from '../transition/bv-transition'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('show', {\n type: PROP_TYPE_BOOLEAN_NUMBER_STRING,\n defaultValue: false\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event; // --- Helper methods ---\n// Convert `show` value to a number\n\n\nvar parseCountDown = function parseCountDown(show) {\n if (show === '' || isBoolean(show)) {\n return 0;\n }\n\n show = toInteger(show, 0);\n return show > 0 ? show : 0;\n}; // Convert `show` value to a boolean\n\n\nvar parseShow = function parseShow(show) {\n if (show === '' || show === true) {\n return true;\n }\n\n if (toInteger(show, 0) < 1) {\n // Boolean will always return false for the above comparison\n return false;\n }\n\n return !!show;\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, modelProps), {}, {\n dismissLabel: makeProp(PROP_TYPE_STRING, 'Close'),\n dismissible: makeProp(PROP_TYPE_BOOLEAN, false),\n fade: makeProp(PROP_TYPE_BOOLEAN, false),\n variant: makeProp(PROP_TYPE_STRING, 'info')\n})), NAME_ALERT); // --- Main component ---\n// @vue/component\n\nexport var BAlert = /*#__PURE__*/Vue.extend({\n name: NAME_ALERT,\n mixins: [modelMixin, normalizeSlotMixin],\n props: props,\n data: function data() {\n return {\n countDown: 0,\n // If initially shown, we need to set these for SSR\n localShow: parseShow(this[MODEL_PROP_NAME])\n };\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME, function (newValue) {\n this.countDown = parseCountDown(newValue);\n this.localShow = parseShow(newValue);\n }), _defineProperty(_watch, \"countDown\", function countDown(newValue) {\n var _this = this;\n\n this.clearCountDownInterval();\n var show = this[MODEL_PROP_NAME]; // Ignore if `show` transitions to a boolean value\n\n if (isNumeric(show)) {\n this.$emit(EVENT_NAME_DISMISS_COUNT_DOWN, newValue); // Update the v-model if needed\n\n if (show !== newValue) {\n this.$emit(MODEL_EVENT_NAME, newValue);\n }\n\n if (newValue > 0) {\n this.localShow = true;\n this.$_countDownTimeout = setTimeout(function () {\n _this.countDown--;\n }, 1000);\n } else {\n // Slightly delay the hide to allow any UI updates\n this.$nextTick(function () {\n requestAF(function () {\n _this.localShow = false;\n });\n });\n }\n }\n }), _defineProperty(_watch, \"localShow\", function localShow(newValue) {\n var show = this[MODEL_PROP_NAME]; // Only emit dismissed events for dismissible or auto-dismissing alerts\n\n if (!newValue && (this.dismissible || isNumeric(show))) {\n this.$emit(EVENT_NAME_DISMISSED);\n } // Only emit booleans if we weren't passed a number via v-model\n\n\n if (!isNumeric(show) && show !== newValue) {\n this.$emit(MODEL_EVENT_NAME, newValue);\n }\n }), _watch),\n created: function created() {\n // Create private non-reactive props\n this.$_filterTimer = null;\n var show = this[MODEL_PROP_NAME];\n this.countDown = parseCountDown(show);\n this.localShow = parseShow(show);\n },\n beforeDestroy: function beforeDestroy() {\n this.clearCountDownInterval();\n },\n methods: {\n dismiss: function dismiss() {\n this.clearCountDownInterval();\n this.countDown = 0;\n this.localShow = false;\n },\n clearCountDownInterval: function clearCountDownInterval() {\n clearTimeout(this.$_countDownTimeout);\n this.$_countDownTimeout = null;\n }\n },\n render: function render(h) {\n var $alert = h();\n\n if (this.localShow) {\n var dismissible = this.dismissible,\n variant = this.variant;\n var $dismissButton = h();\n\n if (dismissible) {\n // Add dismiss button\n $dismissButton = h(BButtonClose, {\n attrs: {\n 'aria-label': this.dismissLabel\n },\n on: {\n click: this.dismiss\n }\n }, [this.normalizeSlot(SLOT_NAME_DISMISS)]);\n }\n\n $alert = h('div', {\n staticClass: 'alert',\n class: _defineProperty({\n 'alert-dismissible': dismissible\n }, \"alert-\".concat(variant), variant),\n attrs: {\n role: 'alert',\n 'aria-live': 'polite',\n 'aria-atomic': true\n },\n key: this[COMPONENT_UID_KEY]\n }, [$dismissButton, this.normalizeSlot()]);\n }\n\n return h(BVTransition, {\n props: {\n noFade: !this.fade\n }\n }, [$alert]);\n }\n});","module.exports = __webpack_public_path__ + \"img/apple-watch.c51a5f8c.png\";","import router from '@/router'\n// eslint-disable-next-line object-curly-newline\nimport { reactive, getCurrentInstance, watch, toRefs } from '@vue/composition-api'\n\nexport const isObject = obj => typeof obj === 'object' && obj !== null\n\nexport const isToday = date => {\n const today = new Date()\n return (\n /* eslint-disable operator-linebreak */\n date.getDate() === today.getDate() &&\n date.getMonth() === today.getMonth() &&\n date.getFullYear() === today.getFullYear()\n /* eslint-enable */\n )\n}\n\nconst getRandomFromArray = array => array[Math.floor(Math.random() * array.length)]\n\n// ? Light and Dark variant is not included\n// prettier-ignore\nexport const getRandomBsVariant = () => getRandomFromArray(['primary', 'secondary', 'success', 'warning', 'danger', 'info'])\n\nexport const isDynamicRouteActive = route => {\n const { route: resolvedRoute } = router.resolve(route)\n return resolvedRoute.path === router.currentRoute.path\n}\n\n// Thanks: https://medium.com/better-programming/reactive-vue-routes-with-the-composition-api-18c1abd878d1\nexport const useRouter = () => {\n const vm = getCurrentInstance().proxy\n const state = reactive({\n route: vm.$route,\n })\n\n watch(\n () => vm.$route,\n r => {\n state.route = r\n },\n )\n\n return { ...toRefs(state), router: vm.$router }\n}\n\n/**\n * This is just enhancement over Object.extend [Gives deep extend]\n * @param {target} a Object which contains values to be overridden\n * @param {source} b Object which contains values to override\n */\n// export const objectExtend = (a, b) => {\n// // Don't touch 'null' or 'undefined' objects.\n// if (a == null || b == null) {\n// return a\n// }\n\n// Object.keys(b).forEach(key => {\n// if (Object.prototype.toString.call(b[key]) === '[object Object]') {\n// if (Object.prototype.toString.call(a[key]) !== '[object Object]') {\n// // eslint-disable-next-line no-param-reassign\n// a[key] = b[key]\n// } else {\n// // eslint-disable-next-line no-param-reassign\n// a[key] = objectExtend(a[key], b[key])\n// }\n// } else {\n// // eslint-disable-next-line no-param-reassign\n// a[key] = b[key]\n// }\n// })\n\n// return a\n// }\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',{staticClass:\"app-ecommerce-details\"},[_c('b-alert',{attrs:{\"variant\":\"danger\",\"show\":_vm.product === undefined}},[_c('h4',{staticClass:\"alert-heading\"},[_vm._v(\" Error fetching product data \")]),_c('div',{staticClass:\"alert-body\"},[_vm._v(\" No item found with this item slug. Check \"),_c('b-link',{staticClass:\"alert-link\",attrs:{\"to\":{ name: 'apps-e-commerce-shop'}}},[_vm._v(\" Shop \")]),_vm._v(\" for other items. \")],1)]),(_vm.product)?_c('b-card',{attrs:{\"no-body\":\"\"}},[_c('b-card-body',[_c('b-row',{staticClass:\"my-2\"},[_c('b-col',{staticClass:\"d-flex align-items-center justify-content-center mb-2 mb-md-0\",attrs:{\"cols\":\"12\",\"md\":\"5\"}},[_c('div',{staticClass:\"d-flex align-items-center justify-content-center\"},[_c('b-img',{staticClass:\"product-img\",attrs:{\"src\":_vm.product.image,\"alt\":(\"Image of \" + (_vm.product.name)),\"fluid\":\"\"}})],1)]),_c('b-col',{attrs:{\"cols\":\"12\",\"md\":\"7\"}},[_c('h4',[_vm._v(_vm._s(_vm.product.name))]),_c('b-card-text',{staticClass:\"item-company mb-0\"},[_c('span',[_vm._v(\"by\")]),_c('b-link',{staticClass:\"company-name\"},[_vm._v(\" \"+_vm._s(_vm.product.brand)+\" \")])],1),_c('div',{staticClass:\"ecommerce-details-price d-flex flex-wrap mt-1\"},[_c('h4',{staticClass:\"item-price mr-1\"},[_vm._v(\" $\"+_vm._s(_vm.product.price)+\" \")]),_c('ul',{staticClass:\"unstyled-list list-inline pl-1 border-left\"},_vm._l((5),function(star){return _c('li',{key:star,staticClass:\"ratings-list-item mr-25\"},[_c('feather-icon',{class:[{'fill-current': star <= _vm.product.rating}, star <= _vm.product.rating ? 'text-warning' : 'text-muted'],attrs:{\"icon\":\"StarIcon\",\"size\":\"18\"}})],1)}),0)]),_c('b-card-text',[_vm._v(\"Available - \"),_c('span',{staticClass:\"text-success\"},[_vm._v(\"In stock\")])]),_c('b-card-text',[_vm._v(_vm._s(_vm.product.description))]),_c('ul',{staticClass:\"product-features list-unstyled\"},[(_vm.product.hasFreeShipping)?_c('li',[_c('feather-icon',{attrs:{\"icon\":\"ShoppingCartIcon\"}}),_c('span',[_vm._v(\"Free Shipping\")])],1):_vm._e(),_c('li',[_c('feather-icon',{attrs:{\"icon\":\"DollarSignIcon\"}}),_c('span',[_vm._v(\"EMI options available\")])],1)]),_c('hr'),_c('div',{staticClass:\"product-color-options\"},[_c('h6',[_vm._v(\"Colors\")]),_c('ul',{staticClass:\"list-unstyled mb-0\"},_vm._l((_vm.product.colorOptions),function(color){return _c('li',{key:color,staticClass:\"d-inline-block\",class:{'selected': _vm.selectedColor === color},on:{\"click\":function($event){_vm.selectedColor = color}}},[_c('div',{staticClass:\"color-option\",class:(\"b-\" + color)},[_c('div',{staticClass:\"filloption\",class:(\"bg-\" + color)})])])}),0)]),_c('hr'),_c('div',{staticClass:\"d-flex flex-column flex-sm-row pt-1\"},[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],staticClass:\"btn-cart mr-0 mr-sm-1 mb-1 mb-sm-0\",attrs:{\"variant\":\"primary\"},on:{\"click\":function($event){return _vm.handleCartActionClick(_vm.product)}}},[_c('feather-icon',{staticClass:\"mr-50\",attrs:{\"icon\":\"ShoppingCartIcon\"}}),_c('span',[_vm._v(_vm._s(_vm.product.isInCart ? 'View In Cart' : 'Add to Cart'))])],1),_c('b-button',{staticClass:\"btn-wishlist mr-0 mr-sm-1 mb-1 mb-sm-0\",attrs:{\"variant\":\"outline-secondary\"},on:{\"click\":function($event){return _vm.toggleProductInWishlist(_vm.product)}}},[_c('feather-icon',{staticClass:\"mr-50\",class:{'text-danger': _vm.product.isInWishlist},attrs:{\"icon\":\"HeartIcon\"}}),_c('span',[_vm._v(\"Wishlist\")])],1),_c('b-dropdown',{staticClass:\"btn-share\",attrs:{\"variant\":\"outline-secondary\",\"no-caret\":\"\",\"toggle-class\":\"btn-icon\",\"right\":\"\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('feather-icon',{attrs:{\"icon\":\"Share2Icon\"}})]},proxy:true}],null,false,4254340102)},_vm._l(([ 'FacebookIcon', 'TwitterIcon', 'YoutubeIcon', 'InstagramIcon' ]),function(icon){return _c('b-dropdown-item',{key:icon},[_c('feather-icon',{attrs:{\"icon\":icon}})],1)}),1)],1)],1)],1)],1),_c('e-commerce-product-details-item-features'),_c('e-commerce-product-details-related-products')],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"item-features\"},[_c('div',{staticClass:\"row text-center\"},[_c('div',{staticClass:\"col-12 col-md-4 mb-4 mb-md-0\"},[_c('div',{staticClass:\"w-75 mx-auto\"},[_c('feather-icon',{attrs:{\"icon\":\"AwardIcon\",\"size\":\"35\"}}),_c('h4',{staticClass:\"mt-2 mb-1\"},[_vm._v(\" 100% Original \")]),_c('p',{staticClass:\"card-text\"},[_vm._v(\" Chocolate bar candy canes ice cream toffee. Croissant pie cookie halvah. \")])],1)]),_c('div',{staticClass:\"col-12 col-md-4 mb-4 mb-md-0\"},[_c('div',{staticClass:\"w-75 mx-auto\"},[_c('feather-icon',{attrs:{\"icon\":\"ClockIcon\",\"size\":\"35\"}}),_c('h4',{staticClass:\"mt-2 mb-1\"},[_vm._v(\" 10 Day Replacement \")]),_c('p',{staticClass:\"card-text\"},[_vm._v(\" Marshmallow biscuit donut dragée fruitcake. Jujubes wafer cupcake. \")])],1)]),_c('div',{staticClass:\"col-12 col-md-4 mb-4 mb-md-0\"},[_c('div',{staticClass:\"w-75 mx-auto\"},[_c('feather-icon',{attrs:{\"icon\":\"ShieldIcon\",\"size\":\"35\"}}),_c('h4',{staticClass:\"mt-2 mb-1\"},[_vm._v(\" 1 Year Warranty \")]),_c('p',{staticClass:\"card-text\"},[_vm._v(\" Cotton candy gingerbread cake I love sugar plum I love sweet croissant. \")])],1)])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ECommerceProductDetailsItemFeatures.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ECommerceProductDetailsItemFeatures.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ECommerceProductDetailsItemFeatures.vue?vue&type=template&id=172a0e36\"\nimport script from \"./ECommerceProductDetailsItemFeatures.vue?vue&type=script&lang=js\"\nexport * from \"./ECommerceProductDetailsItemFeatures.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card-body',[_c('div',{staticClass:\"mt-4 mb-2 text-center\"},[_c('h4',[_vm._v(\"Related Products\")]),_c('b-card-text',[_vm._v(\"People also search for this items\")])],1),_c('swiper',{staticClass:\"swiper-responsive-breakpoints px-4 py-2\",attrs:{\"options\":_vm.swiperOptions}},[_vm._l((_vm.relatedProducts),function(product,index){return _c('swiper-slide',{key:index},[_c('b-link',[_c('div',{staticClass:\"item-heading\"},[_c('h5',{staticClass:\"text-truncate mb-0\"},[_vm._v(\" \"+_vm._s(product.name)+\" \")]),_c('small',{staticClass:\"text-body\"},[_vm._v(\"by \"+_vm._s(product.brand))])]),_c('div',{staticClass:\"img-container w-50 mx-auto py-75\"},[_c('b-img',{attrs:{\"src\":product.image,\"fluid\":\"\"}})],1),_c('div',{staticClass:\"item-meta\"},[_c('ul',{staticClass:\"unstyled-list list-inline mb-25\"},_vm._l((5),function(star){return _c('li',{key:star,staticClass:\"ratings-list-item\"},[_c('feather-icon',{staticClass:\"mr-25\",class:[{'fill-current': star <= product.rating}, star <= product.rating ? 'text-warning' : 'text-muted'],attrs:{\"icon\":\"StarIcon\",\"size\":\"18\"}})],1)}),0),_c('p',{staticClass:\"card-text text-primary mb-0\"},[_vm._v(\" $\"+_vm._s(product.price)+\" \")])])])],1)}),_c('div',{staticClass:\"swiper-button-next\",attrs:{\"slot\":\"button-next\"},slot:\"button-next\"}),_c('div',{staticClass:\"swiper-button-prev\",attrs:{\"slot\":\"button-prev\"},slot:\"button-prev\"})],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ECommerceProductDetailsRelatedProducts.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ECommerceProductDetailsRelatedProducts.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ECommerceProductDetailsRelatedProducts.vue?vue&type=template&id=7c788f91\"\nimport script from \"./ECommerceProductDetailsRelatedProducts.vue?vue&type=script&lang=js\"\nexport * from \"./ECommerceProductDetailsRelatedProducts.vue?vue&type=script&lang=js\"\nimport style0 from \"./ECommerceProductDetailsRelatedProducts.vue?vue&type=style&index=0&id=7c788f91&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import store from '@/store'\nimport { useRouter } from '@core/utils/utils'\n\nexport const useEcommerce = () => {\n // eslint-disable-next-line arrow-body-style\n const addProductInWishlist = productId => {\n return store.dispatch('app-ecommerce/addProductInWishlist', { productId })\n }\n\n // eslint-disable-next-line arrow-body-style\n const removeProductFromWishlist = productId => {\n return store.dispatch('app-ecommerce/removeProductFromWishlist', { productId })\n }\n\n // eslint-disable-next-line arrow-body-style\n const addProductInCart = productId => {\n return store.dispatch('app-ecommerce/addProductInCart', { productId })\n }\n\n // eslint-disable-next-line arrow-body-style\n const removeProductFromCart = productId => {\n return store.dispatch('app-ecommerce/removeProductFromCart', { productId })\n }\n\n return {\n addProductInWishlist,\n removeProductFromWishlist,\n addProductInCart,\n removeProductFromCart,\n }\n}\n\nexport const useEcommerceUi = () => {\n const { router } = useRouter()\n\n const toggleProductInWishlist = product => {\n const { addProductInWishlist, removeProductFromWishlist } = useEcommerce()\n if (product.isInWishlist) {\n removeProductFromWishlist(product.id).then(() => {\n // eslint-disable-next-line no-param-reassign\n product.isInWishlist = false\n })\n } else {\n addProductInWishlist(product.id).then(() => {\n // eslint-disable-next-line no-param-reassign\n product.isInWishlist = true\n })\n }\n }\n\n const handleCartActionClick = product => {\n const { addProductInCart } = useEcommerce()\n\n if (product.isInCart) {\n router.push({ name: 'apps-e-commerce-checkout' })\n } else {\n addProductInCart(product.id).then(() => {\n // eslint-disable-next-line no-param-reassign\n product.isInCart = true\n\n // Update cart items count\n store.commit('app-ecommerce/UPDATE_CART_ITEMS_COUNT', store.state['app-ecommerce'].cartItemsCount + 1)\n })\n }\n }\n\n const handleWishlistCartActionClick = (product, removeProductFromWishlistUi) => {\n const { addProductInCart, removeProductFromWishlist } = useEcommerce()\n\n if (product.isInCart) {\n router.push({ name: 'apps-e-commerce-checkout' })\n } else {\n addProductInCart(product.id)\n .then(() => {\n // eslint-disable-next-line no-param-reassign\n product.isInCart = true\n removeProductFromWishlist(product.id)\n\n // Update cart items count\n store.commit('app-ecommerce/UPDATE_CART_ITEMS_COUNT', store.state['app-ecommerce'].cartItemsCount + 1)\n })\n .then(() => {\n // eslint-disable-next-line no-param-reassign\n product.isInWishlist = false\n removeProductFromWishlistUi(product)\n })\n }\n }\n return {\n toggleProductInWishlist,\n handleCartActionClick,\n handleWishlistCartActionClick,\n }\n}\n","\n\n\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ECommerceProductDetails.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ECommerceProductDetails.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ECommerceProductDetails.vue?vue&type=template&id=e260a3d0\"\nimport script from \"./ECommerceProductDetails.vue?vue&type=script&lang=js\"\nexport * from \"./ECommerceProductDetails.vue?vue&type=script&lang=js\"\nimport style0 from \"./ECommerceProductDetails.vue?vue&type=style&index=0&id=e260a3d0&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_TEXT } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n textTag: makeProp(PROP_TYPE_STRING, 'p')\n}, NAME_CARD_TEXT); // --- Main component ---\n// @vue/component\n\nexport var BCardText = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_TEXT,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.textTag, mergeData(data, {\n staticClass: 'card-text'\n }), children);\n }\n});","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ECommerceProductDetails.vue?vue&type=style&index=0&id=e260a3d0&prod&lang=scss\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ECommerceProductDetailsRelatedProducts.vue?vue&type=style&index=0&id=7c788f91&prod&lang=scss\""],"sourceRoot":""}