{"version":3,"file":"wishlist.header.bundle.js","mappings":";;;;;;;;;;;;;;AAA+D;AAO/D;AACA;AACA;AACA;AACA,6BAAe,oCAAUC,OAAwB,EAAE;EAC/C;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACI,MAAMC,iBAAiB,SAASD,OAAO,CAAC;IACpC;AACR;AACA;AACA;IACQE,qBAAqBA,CAACC,kBAAiC,EAAE;MACrD,OAAO,KAAK,CAACD,qBAAqB,CAACC,kBAAkB,CAAC,CACjDC,IAAI,CAAEC,SAAS,IAAK;QACjB,MAAMC,QAAQ,GAA4BD,SAAS,CAAC,CAAC,CAAC;QAEtD,IAAIC,QAAQ,CAACC,KAAK,IAAI,CAACD,QAAQ,CAACE,iBAAiB,EAAE;UAC/C,OAAOH,SAAS;QACpB;QAEA,MAAMI,gBAAgB,GAAGV,uEAAgB,CAACW,WAAW,CAAC,CAAC;QAEvDD,gBAAgB,CAACE,mBAAmB,CAACL,QAAQ,CAACM,aAAa,CAAC;QAC5D,IAAI,CAACC,QAAQ,CAAC,CAAC,CAACC,IAAI,CAAC,yBAAyB,EAAER,QAAQ,CAACM,aAAa,CAACG,MAAM,GAAG,CAAC,CAAC;QAElF,OAAOV,SAAS;MACpB,CAAC,CAAC;IACV;EACJ;EAEA,OAAOJ,iBAAiB;AAC5B;;;;;;;;;;;;;;;AC7C+D;;AAE/D;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,6BAAe,oCAAUe,MAAe,EAAE;EACtC;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;EACI,MAAMC,YAAY,SAASD,MAAM,CAAC;IAC9BE,KAAKA,CAAA,EAAG;MACJ,OAAO;QACHC,YAAY,EAAE,cAAc;QAC5BC,mBAAmB,EAAE,EAAE;QACvB,GAAG,KAAK,CAACF,KAAK,CAAC;MACnB,CAAC;IACL;;IAEA;AACR;AACA;AACA;IACQG,IAAIA,CAAA,EAAG;MACH,KAAK,CAACA,IAAI,CAAC,CAAC;MACZ,MAAMZ,gBAAgB,GAAGV,uEAAgB,CAACW,WAAW,CAAC,CAAC;MAEvDD,gBAAgB,CAACa,iBAAiB,CAAC,CAAC,CAC/BlB,IAAI,CAACmB,KAAK,IAAI,IAAI,CAACC,uBAAuB,CAACD,KAAK,CAAC;MAClD;MAAA,CACCE,KAAK,CAAClB,KAAK,IAAImB,OAAO,CAACC,GAAG,CAACpB,KAAK,CAAC,CAAC;MACvC,IAAI,CAACM,QAAQ,CAAC,CAAC,CAACe,EAAE,CAAC,yBAAyB,EAAE,yBAAyB,CAAC;MACxE,IAAI,CAACf,QAAQ,CAAC,CAAC,CAACe,EAAE,CAAC,6BAA6B,EAAE,yBAAyB,CAAC;IAChF;;IAEA;AACR;AACA;AACA;AACA;IACQJ,uBAAuBA,CAACD,KAAK,EAAE;MAC3B,IAAI,CAACM,GAAG,CAAC,MAAM,CAAC,CAACC,WAAW,CAAC,UAAU,EAAEC,OAAO,CAACR,KAAK,CAAC,CAAC;IAC5D;EACJ;EAEA,OAAON,YAAY;AACvB","sources":["webpack://sfra-boilerplate/./cartridges/plugin_wishlists_w/cartridge/client/default/js/widgets/cart/WishlistCartMixin.ts","webpack://sfra-boilerplate/./cartridges/plugin_wishlists_w/cartridge/client/default/js/widgets/header/WishlistIcon.ts"],"sourcesContent":["import { WishlistItemsMgr } from '../toolbox/wishlistItemsMgr';\n\ntype confirmDialog = InstanceType<ReturnType<typeof import('widgets/global/ConfirmDialog').default>>;\ntype CartMgrInstance = ReturnType<typeof import('widgets/cart/CartMgr').default>;\n\ntype TMoveToWishlistResponse = { error: boolean; itemAlreadyExists: boolean; wishlistItems: unknown[]; };\n\n/**\n * @param CartMgr Base widget for extending\n * @returns Add to Wishlist Mixin class\n */\nexport default function (CartMgr: CartMgrInstance) {\n /**\n * @category widgets\n * @subcategory cart\n * @class WishlistCartMixin\n * @augments CartMgr\n * @classdesc wish list cart mixin with next features:\n * 1. Update Wish List state while the product was added to the Wish List from the Cart/Mini Cart\n * This class is not intended to have a separate DOM representation.\n */\n class WishlistCartMixin extends CartMgr {\n /**\n * @description Update Wish List state when product was added to the WLS from the Cart/Mini Cart\n * @param confirmationDialog Target popup\n */\n moveProductToWishlist(confirmationDialog: confirmDialog) {\n return super.moveProductToWishlist(confirmationDialog)\n .then((responses) => {\n const response = <TMoveToWishlistResponse>responses[0];\n\n if (response.error && !response.itemAlreadyExists) {\n return responses;\n }\n\n const wishlistItemsMgr = WishlistItemsMgr.getInstance();\n\n wishlistItemsMgr.updateWishlistItems(response.wishlistItems);\n this.eventBus().emit('product.addedToWishlist', response.wishlistItems.length > 0);\n\n return responses;\n });\n }\n }\n\n return WishlistCartMixin;\n}\n","import { TWidget } from 'widgets/Widget';\nimport { WishlistItemsMgr } from '../toolbox/wishlistItemsMgr';\n\n/**\n * @typedef {InstanceType<typeof import('widgets/toolbox/RefElement').RefElement>} refElement\n */\n\n/**\n * @param Widget Base widget for extending\n * @returns Wishlist icon class\n */\n\nexport default function (Widget: TWidget) {\n /**\n * @category widgets\n * @subcategory header\n * @class WishlistIcon\n * @augments Widget\n * @classdesc Wish list icon component with next features:\n * 1. Change state of wishlist icon in the header\n */\n class WishlistIcon extends Widget {\n prefs() {\n return {\n wishlistIcon: 'wishlistIcon',\n getWishlistItemsUrl: '',\n ...super.prefs()\n };\n }\n\n /**\n * @description Add global event handlers\n * @returns {void}\n */\n init() {\n super.init();\n const wishlistItemsMgr = WishlistItemsMgr.getInstance();\n\n wishlistItemsMgr.isItemsInWishList()\n .then(state => this.changeStateWishListIcon(state))\n // eslint-disable-next-line no-console\n .catch(error => console.log(error));\n this.eventBus().on('product.addedToWishlist', 'changeStateWishListIcon');\n this.eventBus().on('product.removedFromWishlist', 'changeStateWishListIcon');\n }\n\n /**\n * @description Change state of wishlist icon in the header\n * @param {boolean} state Indicates is button active or not\n * @returns {void}\n */\n changeStateWishListIcon(state) {\n this.ref('self').toggleClass('m-active', Boolean(state));\n }\n }\n\n return WishlistIcon;\n}\n"],"names":["WishlistItemsMgr","CartMgr","WishlistCartMixin","moveProductToWishlist","confirmationDialog","then","responses","response","error","itemAlreadyExists","wishlistItemsMgr","getInstance","updateWishlistItems","wishlistItems","eventBus","emit","length","Widget","WishlistIcon","prefs","wishlistIcon","getWishlistItemsUrl","init","isItemsInWishList","state","changeStateWishListIcon","catch","console","log","on","ref","toggleClass","Boolean"],"sourceRoot":""}