{"version":3,"file":"static/js/722a73213d1cc844e94f.bundle.js","mappings":";yOAmCA,MACMA,EAAOC,IAAsBC,EAAAA,EAAAA,GADhB,eACsCD,GAyBnDE,EAA4BC,IAC9B,MAAM,eAAEC,EAAc,oBAAEC,EAAmB,QAAEC,EAAO,OAAEC,EAAM,OAAEC,GAAWL,EAEzE,OACIM,EAAAA,cAACC,EAAAA,KAAIC,OAAAC,OAAA,GAAKR,GACNK,EAAAA,cAACC,EAAAA,KAAIC,OAAAC,OAAA,GAAKP,GACLC,EACAC,GAEJC,IAmEPK,EAAsBC,IAAiE,IAAAC,EACzF,MAAM,MACFC,EAAK,MACLC,EAAK,OACLC,EAAM,WACNC,EAAU,SACVC,EAAQ,UACRC,EAAS,eACTC,EAAc,uBACdC,EAAsB,iBACtBC,EAAgB,QAChBC,EAAO,0BACPC,EAAyB,2BACzBC,EAA0B,cAC1BC,EAAa,cACbC,EAAa,cAEbC,EAAa,UACbC,EAAS,mBACTC,GACAlB,EACJ,GAAIW,EACA,OAAOhB,EAAAA,cAAAA,EAAAA,SAAA,KAAGgB,GAMd,MAAMQ,EAA8B,QAAvBlB,EAAGD,EAAMoB,sBAAc,IAAAnB,OAAA,EAApBA,EAAsBkB,QAChCE,EAASF,MAAAA,OAAO,EAAPA,EAASG,OAClBC,EAAaF,GACf1B,EAAAA,cAAA,OAAK6B,UAAWvC,EAAI,gBAChBU,EAAAA,cAAA,QAAM6B,UAAWvC,EAAI,sBAAuBwC,EAAAA,EAAeC,KAC3D/B,EAAAA,cAAA,QAAM6B,UAAWvC,EAAI,sBAAuBoC,KAS7CM,EAAaC,GAAqBjC,EAAAA,SAAe,IACxD0B,GAAU1B,EAAAA,WAAgB,KACtB,MAAMkC,EAAyB,CAC3BC,QAAS,CAAC,CAAER,OAAQD,IACpBU,yCAAyC,EACzCC,sBAAsB,EACtBC,mBAAmB,EACnBC,QAAS,CACLC,UAAWnC,EAAMoC,QAAQC,QAAQC,YAAYC,UAC7CC,WAAWC,EAAAA,EAAAA,IAAazC,EAAMoC,QAAQC,YAI9CK,EAAAA,EAAAA,uBAAsB,CAAEC,cAAe3C,EAAMoC,QAAQQ,eAAiBf,GAAwBgB,MAAMC,IAChG,GAAIA,EAASC,OAAQ,CACjB,MAAMC,EAA2BF,EAAS,GAAGG,gBACvCC,EAAoBF,IAA4BG,EAAAA,EAAAA,IAAyBH,IAA6B,GAC5GpB,EAAkBsB,SAG3B,IAEH,MAAME,EAAcpD,EAAMqD,OAAOC,qBAAuB3B,EAAY3B,EAAMqD,OAAOC,uBAAwBnC,MAAAA,OAAO,EAAPA,EAASoC,aAC5GC,EAAqBJ,GAAezD,EAAAA,cAAA,KAAG6B,UAAWvC,EAAI,wBAAyBmE,GAGrF,OACIzD,EAAAA,cAAAA,EAAAA,SAAA,KACIA,EAAAA,cAACC,EAAAA,KAAIC,OAAAC,OAAA,GAAKe,GACNlB,EAAAA,cAACC,EAAAA,KAAIC,OAAAC,OAAA,GAAKgB,KAEdnB,EAAAA,cAACC,EAAAA,KAAIC,OAAAC,OAAA,GAAKc,GACLV,EAEAsD,EAEAjC,EAEAb,EACAP,EACAY,EACAX,EACAG,GA1FSA,CAAAA,IACtB,MAAM,eAAEjB,EAAc,UAAEmE,GAAclD,EAEtC,OAAOZ,EAAAA,cAACC,EAAAA,KAAIC,OAAAC,OAAA,GAAKR,GAAiBmE,EAAUC,IAAItE,KAuFtBuE,CAAiBpD,GAC9BF,GAtGUA,CAAAA,IACvB,MAAM,eAAEf,EAAc,oBAAEC,EAAmB,QAAEC,EAAO,MAAEoE,GAAUvD,EAEhE,OACIV,EAAAA,cAACC,EAAAA,KAAIC,OAAAC,OAAA,GAAKR,GACNK,EAAAA,cAACC,EAAAA,KAAIC,OAAAC,OAAA,GAAKP,GAAsBC,GAC/BoE,IAgGkBC,CAAkBxD,GAChCG,EAEDb,EAAAA,cAACC,EAAAA,KAAIC,OAAAC,OAAA,GAAKoB,GACLZ,GAzHGwD,EAACxD,EAA2CG,KAChE,MAAM,eAAEnB,EAAc,oBAAEC,EAAmB,QAAEC,EAAO,MAAEoE,EAAK,OAAEnE,GAAWa,EAExE,OACIX,EAAAA,cAACC,EAAAA,KAAIC,OAAAC,OAAA,GAAKR,GACNK,EAAAA,cAACC,EAAAA,KAAIC,OAAAC,OAAA,GAAKP,GACLC,EACAC,GAEJmE,EACAnD,IA+GoBqD,CAAgBxD,EAAUG,GACtCQ,GA5LKA,CAAAA,IACtB,MAAM,eAAE3B,EAAc,WAAEyE,EAAU,OAAEC,GAAW/C,EAE/C,OACItB,EAAAA,cAACC,EAAAA,KAAIC,OAAAC,OAAA,GAAKR,GACLyE,EACAC,IAsLqBC,CAAiBhD,GAC9BD,GAlLSA,CAAAA,IAC1B,MAAM,eAAE1B,EAAc,WAAEyE,EAAU,OAAEC,GAAWhD,EAE/C,OACIrB,EAAAA,cAACC,EAAAA,KAAIC,OAAAC,OAAA,GAAKR,GACLyE,EACAC,IA4KyBE,CAAqBlD,OAY9CmD,EAAqFnE,IAC9F,MAAM,UAAEoE,EAAS,gBAAEC,EAAe,YAAEC,EAAW,eAAEC,GAAmBvE,EACpE,OACIL,EAAAA,cAAC6E,EAAAA,OAAM3E,OAAAC,OAAA,GAAKsE,IACNG,GAAkBF,EACnBC,GA1KkBtE,CAAAA,IAC3B,MAAM,eACFyE,EAAc,qBACdC,EAAoB,qBACpBC,EAAoB,mBACpBC,EAAkB,mBAClBC,GAKA7E,EAEJ,OACIL,EAAAA,cAAC6E,EAAAA,OAAM3E,OAAAC,OAAA,GAAK2E,GACR9E,EAAAA,cAACC,EAAAA,KAAIC,OAAAC,OAAA,GAAK4E,GAAuBE,GACjCjF,EAAAA,cAACC,EAAAA,KAAIC,OAAAC,OAAA,GAAK+E,GACL9E,EAAmBC,IAExBL,EAAAA,cAACC,EAAAA,KAAIC,OAAAC,OAAA,GAAK6E,MAuJMG,CAAsB9E,KAKlD,kBCpPM,SAAUb,EAAU4F,EAAmB7F,GAA2C,IAAxB8F,EAAAC,UAAAlC,OAAA,QAAAmC,IAAAD,UAAA,GAAAA,UAAA,GAAoB,KAChF,OAAO/F,EAAW,GAAG6F,IAAYC,IAAY9F,SAAagG,wnBCP9D,MAAMC,EAAU,CAAEC,QAAS,GAAIC,YAAa,IAmBlCC,EAA8BA,CAACC,EAAqBC,KAUlD,GADAL,EAAQE,YAAYE,GAAuBC,GACtCL,EAAQE,YAAYE,GAAqBE,QAC1C,MAAM,IAAIC,MAAM,oBAAsBH,EAAsB,mCAEhEJ,EAAQE,YAAYE,GAAqBE,QAAQE,UAAUC,eAAiBL,EACxEJ,EAAQE,YAAYE,GAAqBE,QAAQE,UAAUE,KAC3DV,EAAQE,YAAYF,EAAQE,YAAYE,GAAqBE,QAAQE,UAAUE,IAAMN,IAMhGJ,EAAQC,QAAmB,UAAI,CAC5BU,EAAGA,IAAMC,EAAQ,KACjBC,MAAO,kBACPC,GAAI,CAAC,CAACC,KAAK,sBAAwBC,KAAK,kEAAmEC,MAAO,GAAG,CAACF,KAAK,eAAiBC,KAAK,uEAAwEC,MAAO,GAAG,CAACF,KAAK,YAAcC,KAAK,iFAAkFC,MAAO,IAErVC,KAAK,EACLC,GAAI,6BACJC,EAAG,YACHC,EAAG,SAEHC,IAAK,GAGLC,GAAI,6EAOApB,EAF4B,kEACXS,EAAQ,KAQzBT,EAF4B,uEACXS,EAAQ,KAQzBT,EAF4B,iFACXS,EAAQ,MAMjCY,OAAOC,aAAeD,OAAOC,cAAgB,GAC7CD,OAAOC,aAAaxB,QAAOyB,EAAAA,EAAA,GACpBF,OAAOC,aAAaxB,SAAW,IAC/BD,EAAQC,SAGXuB,OAAOC,aAAavB,YAAWwB,EAAAA,EAAA,GAC5BF,OAAOC,aAAavB,aAAe,IACnCF,EAAQE,aAEY,MAAMyB,EAAiB,GAC9BA,EAAe,mDAAqD,CAC5EhB,EAAGA,IAAMC,EAAQ,MACjBgB,GAAI,iCAEpBD,EAAe,iEAAmE,CAClEhB,EAAGA,IAAMC,EAAQ,KACjBgB,GAAI,+CAEpBD,EAAe,4FAA8F,CAC7FhB,EAAGA,IAAMC,EAAQ,MACjBgB,GAAI,+DAEpBJ,OAAOC,aAAeD,OAAOC,cAAgB,GAC7CD,OAAOC,aAAaE,eAAcD,EAAAA,EAAA,GACPF,OAAOC,aAAaE,gBAAkB,IACtCA,stBC3E3B,MAmBME,EAAwBA,CAC1BC,EACAC,EACA/F,IACEgG,IACFF,MAAAA,GAAAA,EAAWG,iBAAiB,CACxBC,UAAW,WACXC,gBACsB,qBAAlBH,EAAOI,QAAgCC,EAAAA,EAAAA,IAAmBL,EAAOM,kBAAmBP,EAAW/F,MAAAA,OAAO,EAAPA,EAASuG,YAAc,MAkD5HC,EAAsBA,CACxB3H,EACA4H,EACAX,KACoB,IAAAhH,EACpB,MAAMkB,EAA8B,QAAvBlB,EAAGD,EAAMoB,sBAAc,IAAAnB,OAAA,EAApBA,EAAsBkB,QACtC,IAAKnB,EAAMgB,gBAAkBG,EACzB,OAAO,KAGX,MAAM0G,EAhDwBC,EAC9B9H,EACA4H,EACAX,EACA9F,KAEA,MAAM,QAAEiB,EAAO,UAAE8E,GAAclH,EACzB+H,EAAY/H,EAAMgI,KAAKD,UAAUZ,OAEvC,OACIxH,EAAAA,cAACsI,EAAAA,uBAAsB,CACnBzG,UAAU,gCACV0G,wBAAyBhB,EAAUgB,wBACnCC,6BAA8BjB,EAAUiB,6BACxCC,qBAAsBlB,EAAUkB,qBAChCC,2BAA4BnB,EAAUmB,2BACtCC,uBAAwBpB,EAAUoB,uBAClCC,4BAA6BrB,EAAUqB,4BACvCC,eAAgBtB,EAAUsB,eAC1BR,KAAM,CAAE7G,QAAAA,EAAS4G,UAAAA,GACjB3F,QAASA,EACTyD,GAAI7F,EAAM6F,GACV4C,SAAUzI,EAAMyI,SAChBC,QAAS1B,EAAsBC,EAAWC,EAAW/F,GACrDwH,mBAAoBf,EAAMgB,gBAC1BC,gBAjBwB,EAkBxBC,mBAAmB,KAsBJhB,CAA0B9H,EAAO4H,EAAOX,EAAW9F,GAC1E,OACIxB,EAAAA,cAACC,EAAAA,KAAIC,OAAAC,OAAA,GAAKE,EAAMgB,cAAc1B,gBACzBU,EAAMgB,cAAc+C,WACpB8D,IAsDPkB,EAA2B1J,IAC7B,MAAM,eAAEC,EAAc,oBAAEC,EAAmB,QAAEC,EAAO,OAAEC,EAAM,OAAEC,GAAWL,EAEzE,OACIM,EAAAA,cAACC,EAAAA,KAAIC,OAAAC,OAAA,GAAKR,GACNK,EAAAA,cAACC,EAAAA,KAAIC,OAAAC,OAAA,GAAKP,GAAsBC,GAC/BE,EACAD,IAqBPuJ,EAAqBhJ,IACvB,MAAM,MACFG,EAAK,WACLE,EAAU,SACVC,EAAQ,eACRE,EAAc,uBACdC,EAAsB,QACtBE,EAAO,0BAEPC,EAAyB,2BACzBC,EAA0B,cAC1BC,EAAa,cACbE,EAAa,UACbT,EAAS,UACT0G,EAAS,MACTW,GACA5H,EACJ,OAAIW,EACOhB,EAAAA,cAAAA,EAAAA,SAAA,KAAGgB,GAIVhB,EAAAA,cAAAA,EAAAA,SAAA,KACIA,EAAAA,cAACC,EAAAA,KAAIC,OAAAC,OAAA,GAAKe,GACNlB,EAAAA,cAACC,EAAAA,KAAIC,OAAAC,OAAA,GAAKgB,KAEdnB,EAAAA,cAACC,EAAAA,KAAIC,OAAAC,OAAA,GAAKc,GACNjB,EAAAA,cAACC,EAAAA,KAAI,CAAC4B,UAAU,gCACZ7B,EAAAA,cAACC,EAAAA,KAAI,CAAC4B,UAAU,qCACXxB,EAAMkH,UAAU+B,UAChB9I,GAEJa,GAAiB2G,EAAoB3H,EAAO4H,EAAOX,IAEvD1G,GA7CQA,CAAAA,IACrB,MAAM,eAAEjB,EAAc,UAAEmE,GAAclD,EAEtC,OAAOZ,EAAAA,cAACC,EAAAA,KAAIC,OAAAC,OAAA,GAAKR,GAAiBmE,EAAUC,IAAIqF,KA0CtBG,CAAgB3I,GAC7BF,GAhFSA,CAAAA,IAEtB,MAAM,eAAEf,EAAc,oBAAEC,EAAmB,QAAEC,EAAO,MAAEoE,GAAUvD,EAEhE,OACIV,EAAAA,cAACC,EAAAA,KAAIC,OAAAC,OAAA,GAAKR,GACNK,EAAAA,cAACC,EAAAA,KAAIC,OAAAC,OAAA,GAAKP,GAAsBC,GAC/BoE,IAyEkBuF,CAAiB9I,GAC/BC,GA1GM8I,EACnB9I,EACAG,EACAT,KAGA,MAAM,eAAEV,EAAc,oBAAEC,EAAmB,QAAEC,EAAO,MAAEoE,EAAK,OAAEnE,GAAWa,GAClE,cAAES,GAAkBf,EAE1B,OACIL,EAAAA,cAACC,EAAAA,KAAIC,OAAAC,OAAA,GAAKR,GACNK,EAAAA,cAACC,EAAAA,KAAIC,OAAAC,OAAA,GAAKP,GAAsBC,GAC/BoE,EACA7C,EACAN,EACAhB,IA2FgB2J,CAAe9I,EAAUG,EAAwBT,GAC7DQ,KAWX6I,EAAwBrJ,IAAuE,IAAAsJ,EAAAC,EAEjG,MAAM,eACF9E,EAAc,qBACdC,EAAoB,qBACpBC,EAAoB,mBACpBC,EAAkB,mBAClBC,EAAkB,UAClB5D,EAAS,mBACTC,EAAkB,iBAClBR,GACAV,EAEJ,OACIL,EAAAA,cAAC6E,EAAAA,OAAM3E,OAAAC,OAAA,GAAK2E,GACR9E,EAAAA,cAACC,EAAAA,KAAIC,OAAAC,OAAA,GAAK4E,GACLE,EACDjF,EAAAA,cAACC,EAAAA,KAAI,CAAC4B,UAAU,0BACXxB,EAAME,MACLF,EAAMW,SAAY6I,EAAAA,iBAAiBC,cAAsC,QAAzBH,EAACtJ,EAAM4H,MAAM8B,oBAAY,IAAAJ,OAAA,EAAxBA,EAA0BhI,QAMzE,GALA3B,EAAAA,cAACC,EAAAA,KAAI,CAAC4B,UAAU,2BACXxB,EAAMkH,UAAUyC,QACQ,QADDJ,EACvBvJ,EAAM4H,MAAM8B,oBAAY,IAAAH,OAAA,EAAxBA,EAA0BjI,QAKlCtB,EAAMI,SAGfT,EAAAA,cAACC,EAAAA,KAAIC,OAAAC,OAAA,GAAK+E,GAAqBmE,EAAkBhJ,IACjDL,EAAAA,cAACC,EAAAA,KAAIC,OAAAC,OAAA,GAAK6E,GACNhF,EAAAA,cAACC,EAAAA,KAAIC,OAAAC,OAAA,GAAKoB,GACLD,GAAaP,EACbO,GA/PIA,CAAAA,IAErB,MAAM,eAAE3B,EAAc,WAAEyE,EAAU,OAAEC,GAAW/C,EAE/C,OACItB,EAAAA,cAACC,EAAAA,KAAIC,OAAAC,OAAA,GAAKR,GACLyE,EACAC,IAwPqB4F,CAAgB3I,OAYrCkD,EACTnE,IAEA,MAAM,UAAEoE,EAAS,gBAAEC,EAAe,YAAEC,GAAgBtE,EAC9C6J,EAAqBhD,EAAAA,EAAA,GAAsBzC,GAAS,IAAElE,MAAOF,EAAMkH,UAAU4C,sBACnF,OACInK,EAAAA,cAAC6E,EAAAA,OAAM3E,OAAAC,OAAA,GAAK+J,GACPxF,EACAC,GAAe+E,EAAqBrJ,KAKjD,WCtTA+J,EAAOC,QAAUrK,cCAjBoK,EAAOC,QAAUC","sources":["webpack://bju-press/./src/themes/base/views/quickview.view.tsx?dcc6","webpack://bju-press/./src/utilities/class-name-helper.ts?dd10","webpack://bju-press/./lib/quickview/module-registration.js?f71d","webpack://bju-press/./src/modules/adventureworks/views/quickview.view.tsx?8e29","webpack://bju-press/external var \"React\"?0d3b","webpack://bju-press/external var \"ReactDOM\"?853b"],"sourcesContent":["/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport {\r\n IBuyboxAddToCartViewProps,\r\n IBuyboxAddToWishlistViewProps,\r\n IBuyboxKeyInPriceViewProps,\r\n IBuyboxProductConfigureDropdownViewProps,\r\n IBuyboxProductConfigureViewProps,\r\n IBuyboxProductQuantityViewProps\r\n} from '@msdyn365-commerce-modules/buybox';\r\nimport { IQuickviewViewProps } from '@msdyn365-commerce-modules/buybox';\r\n\r\n//----------------------------------------------------------\r\n// @CUSTOM: Imports for customizations\r\n//----------------------------------------------------------\r\nimport { clsHelper } from '../../../utilities/class-name-helper';\r\nimport { labelResources } from '../../../utilities/global-constants';\r\nimport { convertProductAttributes, AttributesWithMetadata } from '../../../utilities/data-attribute-parser';\r\n\r\nimport { getCatalogId } from '@msdyn365-commerce/core';\r\nimport { searchByCriteriaAsync } from '@msdyn365-commerce/retail-proxy/dist/DataActions/ProductsDataActions.g';\r\n\r\nimport { IQuickviewProps } from '../definition-extensions/quickview.ext.props.autogenerated';\r\n//----------------------------------------------------------\r\n\r\n//----------------------------------------------------------\r\n// @CUSTOM: Class name utility for customizations that\r\n// want to use the same base class\r\n//----------------------------------------------------------\r\nconst BASE_CLASS = 'ms-quickView';\r\nconst cls = (fragment?: string) => clsHelper(BASE_CLASS, fragment);\r\n//----------------------------------------------------------\r\n\r\nconst _renderAddToCart = (addToCart: IBuyboxAddToCartViewProps): JSX.Element => {\r\n const { ContainerProps, errorBlock, button } = addToCart;\r\n\r\n return (\r\n \r\n {errorBlock}\r\n {button}\r\n \r\n );\r\n};\r\n\r\nconst _renderAddToWishlist = (addToWishlist: IBuyboxAddToWishlistViewProps): JSX.Element => {\r\n const { ContainerProps, errorBlock, button } = addToWishlist;\r\n\r\n return (\r\n \r\n {errorBlock}\r\n {button}\r\n \r\n );\r\n};\r\n\r\nconst _renderConfigureDropdown = (dropdown: IBuyboxProductConfigureDropdownViewProps): JSX.Element => {\r\n const { ContainerProps, LabelContainerProps, heading, errors, select } = dropdown;\r\n\r\n return (\r\n \r\n \r\n {heading}\r\n {errors}\r\n \r\n {select}\r\n \r\n );\r\n};\r\n\r\nconst _renderQuickViewPopup = (props: IQuickviewViewProps & IQuickviewProps<{}>): JSX.Element => { // @CUSTOM: Added extended definition props\r\n const {\r\n ModalContainer,\r\n ModalHeaderContainer,\r\n ModalFooterContainer,\r\n ModalHeaderContent,\r\n ModalBodyContainer,\r\n // @CUSTOM: Moved below nodes to the body\r\n // addToWishlist,\r\n // addToCart,\r\n // cartContainerProps\r\n } = props;\r\n\r\n return (\r\n \r\n {ModalHeaderContent}\r\n \r\n {_renderBodyContent(props)}\r\n \r\n \r\n {/* @CUSTOM: Moved the below TSX to the body */}\r\n {/* \r\n {addToCart && _renderAddToCart(addToCart)}\r\n {addToWishlist && _renderAddToWishlist(addToWishlist)}\r\n */}\r\n \r\n \r\n );\r\n};\r\n\r\nconst _renderQuantity = (quantity: IBuyboxProductQuantityViewProps, quantityLimitsMessages: React.ReactNode): JSX.Element => {\r\n const { ContainerProps, LabelContainerProps, heading, input, errors } = quantity;\r\n\r\n return (\r\n \r\n \r\n {heading}\r\n {errors}\r\n \r\n {input}\r\n {quantityLimitsMessages}\r\n \r\n );\r\n};\r\n\r\nconst _renderKeyInPrice = (keyInPrice: IBuyboxKeyInPriceViewProps): JSX.Element => {\r\n const { ContainerProps, LabelContainerProps, heading, input } = keyInPrice;\r\n\r\n return (\r\n \r\n {heading}\r\n {input}\r\n \r\n );\r\n};\r\n\r\nconst _renderConfigure = (configure: IBuyboxProductConfigureViewProps): JSX.Element => {\r\n const { ContainerProps, dropdowns } = configure;\r\n\r\n return {dropdowns.map(_renderConfigureDropdown)};\r\n};\r\n\r\nconst _renderBodyContent = (props: IQuickviewViewProps & IQuickviewProps<{}>): JSX.Element => { // @CUSTOM: Added extended definition props\r\n const {\r\n title,\r\n price,\r\n rating,\r\n keyInPrice,\r\n quantity,\r\n configure,\r\n inventoryLabel,\r\n quantityLimitsMessages,\r\n seeDetailsbutton,\r\n loading,\r\n ProductInfoContainerProps,\r\n MediaGalleryContainerProps,\r\n CarouselProps,\r\n unitOfMeasure,\r\n // @CUSTOM: Added the nodes below from the footer\r\n addToWishlist,\r\n addToCart,\r\n cartContainerProps\r\n } = props;\r\n if (loading) {\r\n return <>{loading};\r\n }\r\n\r\n //------------------------------------------------------\r\n // @CUSTOM: Getting product item ID for SKU display\r\n //------------------------------------------------------\r\n const product = props.productDetails?.product;\r\n const itemId = product?.ItemId;\r\n const skuDisplay = itemId && (\r\n
\r\n {labelResources.sku}\r\n {itemId}\r\n
\r\n );\r\n //------------------------------------------------------\r\n\r\n //------------------------------------------------------\r\n // @CUSTOM: Getting product attributes for product\r\n // description display, uses itemId from above\r\n //------------------------------------------------------\r\n const [productAttr, productAttrLoaded] = React.useState({} as AttributesWithMetadata);\r\n itemId && React.useEffect(() => {\r\n const productAttributesInput = {\r\n ItemIds: [{ ItemId: itemId }],\r\n IncludeProductsFromDescendantCategories: false,\r\n SkipVariantExpansion: true,\r\n IncludeAttributes: true,\r\n Context: {\r\n ChannelId: props.context.request.apiSettings.channelId,\r\n CatalogId: getCatalogId(props.context.request)\r\n },\r\n };\r\n\r\n searchByCriteriaAsync({ callerContext: props.context.actionContext }, productAttributesInput).then((products) => {\r\n if (products.length) {\r\n const productSpecificationData = products[0].AttributeValues;\r\n const productAttributes = productSpecificationData && convertProductAttributes(productSpecificationData) || {};\r\n productAttrLoaded(productAttributes);\r\n }\r\n });\r\n }, []);\r\n\r\n const description = props.config.descriptionOverride && productAttr[props.config.descriptionOverride] || product?.Description;\r\n const descriptionDisplay = description &&

{description}

;\r\n //------------------------------------------------------\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n {title}\r\n {/* @CUSTOM: Description Display */}\r\n {descriptionDisplay}\r\n {/* @CUSTOM: SKU Display */}\r\n {skuDisplay}\r\n {/* @CUSTOM: Moved seeDetailsbutton from above inventoryLabel */}\r\n {seeDetailsbutton}\r\n {price}\r\n {unitOfMeasure}\r\n {rating}\r\n {configure && _renderConfigure(configure)}\r\n {keyInPrice && _renderKeyInPrice(keyInPrice)}\r\n {inventoryLabel}\r\n {/* @CUSTOM: Added the node below from the footer, and added the quantity that used to be below keyInPrice inside the node below */}\r\n \r\n {quantity && _renderQuantity(quantity, quantityLimitsMessages)}\r\n {addToCart && _renderAddToCart(addToCart)}\r\n {addToWishlist && _renderAddToWishlist(addToWishlist)}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\n/**\r\n * Functional component which renders quick view button and popup based by the given props file.\r\n * @param {IQuickviewViewProps} props - Configuration for the quick view component.\r\n * @returns {React.FC} - Functional component of the quick view.\r\n */\r\nexport const QuickViewFunctionalComponent: React.FC> = (props: IQuickviewViewProps & IQuickviewProps<{}>) => { // @CUSTOM: Added extended definition props\r\n const { quickView, quickViewButton, isModalOpen, isMobileDevice } = props;\r\n return (\r\n \r\n {!isMobileDevice && quickViewButton}\r\n {isModalOpen && _renderQuickViewPopup(props)}\r\n \r\n );\r\n};\r\n\r\nexport default QuickViewFunctionalComponent;\r\n","//==============================================================================\r\n// Class Name Helper\r\n//\r\n// Tool to standardize CSS class naming in module components and elements\r\n//==============================================================================\r\n\r\nexport function clsHelper(baseClass: string, fragment?: string, separator: string = '__'): string | undefined {\r\n return fragment ? `${baseClass}${separator}${fragment}` : undefined;\r\n}\r\n","const binding = { modules: {}, dataActions: {} };\n\n const registerActionId = (actionPath) => {\n if (binding.dataActions[actionPath] &&\n binding.dataActions[actionPath].default &&\n binding.dataActions[actionPath].default.prototype &&\n binding.dataActions[actionPath].default.prototype.id) {\n binding.dataActions[binding.dataActions[actionPath].default.prototype.id] = binding.dataActions[actionPath];\n } else {\n Object.keys(binding.dataActions[actionPath] || {}).forEach(exportName => {\n if (binding.dataActions[actionPath][exportName] &&\n binding.dataActions[actionPath][exportName].prototype &&\n binding.dataActions[actionPath][exportName].prototype.Action) {\n binding.dataActions[binding.dataActions[actionPath][exportName].prototype.id] = binding.dataActions[actionPath][exportName];\n }\n })\n }\n };\n\n const registerSanitizedActionPath = (sanitizedActionPath, dataAction) => {\n if (process.env.NODE_ENV === 'development') {\n if (!dataAction.default) {\n throw new Error('Data action path does not have a default export');\n }\n if (!(dataAction.default.prototype.id && binding.dataActions[dataAction.default.prototype.id]) || !binding.dataActions[sanitizedActionPath]) {\n binding.dataActions[sanitizedActionPath] = dataAction;\n }\n } else {\n binding.dataActions[sanitizedActionPath] = dataAction;\n if (!binding.dataActions[sanitizedActionPath].default) {\n throw new Error('Data action path ' + sanitizedActionPath + ' does not have a default export');\n }\n binding.dataActions[sanitizedActionPath].default.prototype.RegistrationId = sanitizedActionPath;\n if (binding.dataActions[sanitizedActionPath].default.prototype.id) {\n binding.dataActions[binding.dataActions[sanitizedActionPath].default.prototype.id] = sanitizedActionPath;\n }\n }\n };\n \n\n (binding.modules['quickview'] = {\n c: () => require('@msdyn365-commerce-modules/buybox/dist/lib/modules/quickview/quickview'),\n $type: 'containerModule',\n da: [{name:'customerInformation', path:'@msdyn365-commerce-modules/retail-actions/dist/lib/get-customer', runOn: 0},{name:'featureState', path:'@msdyn365-commerce-modules/retail-actions/dist/lib/get-feature-state', runOn: 0},{name:'wishlists', path:'@msdyn365-commerce-modules/retail-actions/dist/lib/get-wishlist-by-customer-id', runOn: 0}],\n \n iNM: true,\n ns: '@msdyn365-commerce-modules',\n n: 'quickview',\n p: 'buybox',\n \n pdp: '',\n \n \n md: 'node_modules/@msdyn365-commerce-modules/buybox/dist/lib/modules/quickview'\n });\n \n\n {\n const sanitizedActionPath = '@msdyn365-commerce-modules/retail-actions/dist/lib/get-customer';\n let dataAction = require('@msdyn365-commerce-modules/retail-actions/dist/lib/get-customer');\n registerSanitizedActionPath(sanitizedActionPath, dataAction);\n }\n \n\n {\n const sanitizedActionPath = '@msdyn365-commerce-modules/retail-actions/dist/lib/get-feature-state';\n let dataAction = require('@msdyn365-commerce-modules/retail-actions/dist/lib/get-feature-state');\n registerSanitizedActionPath(sanitizedActionPath, dataAction);\n }\n \n\n {\n const sanitizedActionPath = '@msdyn365-commerce-modules/retail-actions/dist/lib/get-wishlist-by-customer-id';\n let dataAction = require('@msdyn365-commerce-modules/retail-actions/dist/lib/get-wishlist-by-customer-id');\n registerSanitizedActionPath(sanitizedActionPath, dataAction);\n }\n \n\n \n window.__bindings__ = window.__bindings__ || {};\n window.__bindings__.modules = {\n ...window.__bindings__.modules || {},\n ...binding.modules\n };\n \n window.__bindings__.dataActions = {\n ...window.__bindings__.dataActions || {},\n ...binding.dataActions\n };\n export const viewDictionary = {};\n viewDictionary['__local__|__local__|themes|base|views|quickview'] = {\n c: () => require('partner/themes/base/views/quickview.view.tsx'),\n cn: '__local__-__local__-quickview'\n };\nviewDictionary['@msdyn365-commerce-modules|buybox|modules|quickview|quickview'] = {\n c: () => require('@msdyn365-commerce-modules/buybox/dist/lib/modules/quickview/quickview.view.js'),\n cn: '@msdyn365-commerce-modules-buybox-quickview'\n };\nviewDictionary['@msdyn365-commerce-theme|adventureworks-theme-kit|modules|adventureworks|views|quickview'] = {\n c: () => require('@msdyn365-commerce-theme/adventureworks-theme-kit/dist/lib/modules/adventureworks/views/quickview.view.js'),\n cn: '@msdyn365-commerce-theme-adventureworks-theme-kit-quickview'\n };\nwindow.__bindings__ = window.__bindings__ || {};\nwindow.__bindings__.viewDictionary = {\n ...window.__bindings__.viewDictionary || {},\n ...viewDictionary\n };","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { AddToWishlistComponent, IWishlistActionErrorResult } from '@msdyn365-commerce/components';\nimport { SimpleProduct } from '@msdyn365-commerce/retail-proxy';\nimport {\n getConfigureErrors,\n IBuyboxAddToCartViewProps,\n IBuyboxCallbacks,\n IBuyboxCommonResources,\n IBuyboxKeyInPriceViewProps,\n IBuyboxProductConfigureDropdownViewProps,\n IBuyboxProductConfigureViewProps,\n IBuyboxProductQuantityViewProps,\n IBuyboxState,\n IQuickviewViewProps\n} from '@msdyn365-commerce-modules/buybox';\nimport { StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { IModuleProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IQuickviewProps as IQuickviewPropsExtend } from '../definition-extensions/quickview.ext.props.autogenerated';\n\n/**\n * RenderAddToCart.\n * @param addToCart - AddToCart.\n * @returns -- Returns.\n */\nconst renderAddToCart = (addToCart: IBuyboxAddToCartViewProps): JSX.Element => {\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from Quickview.tsx file\n const { ContainerProps, errorBlock, button } = addToCart;\n\n return (\n \n {errorBlock}\n {button}\n \n );\n};\n\n/**\n * Add to wishlist failed function.\n * @param callbacks -Buybox callbacks.\n * @param resources -Buybox resources.\n * @param product -Simple product.\n * @returns Update error state.\n */\nconst onAddToWishlistFailed = (\n callbacks: IBuyboxCallbacks | undefined,\n resources: IBuyboxCommonResources,\n product: SimpleProduct | undefined\n) => (result: IWishlistActionErrorResult) => {\n callbacks?.updateErrorState({\n errorHost: 'WISHLIST',\n configureErrors:\n result.status === 'MISSINGDIMENSION' ? getConfigureErrors(result.missingDimensions, resources, product?.IsGiftCard) : {}\n });\n};\n\n/**\n * RenderAddToWishlist.\n * @param props - Buybox viewprops.\n * @param state - Buybox state.\n * @param callbacks - Buybox callbacks.\n * @param product - Product data.\n * @returns -- Returns.\n */\nconst renderAddtoWishlistButton = (\n props: IQuickviewViewProps,\n state: IBuyboxState,\n callbacks: IBuyboxCallbacks | undefined,\n product: SimpleProduct\n): React.ReactNode => {\n const { context, resources } = props;\n const wishlists = props.data.wishlists.result;\n const isShowWishlitButtonText = true;\n return (\n \n );\n};\n\n/**\n * RenderAddToWishlist.\n * @param props - Buybox viewprops.\n * @param state - Buybox state.\n * @param callbacks - Buybox callbacks.\n * @returns -- Returns.\n */\nconst renderAddToWishlist = (\n props: IQuickviewViewProps,\n state: IBuyboxState,\n callbacks: IBuyboxCallbacks | undefined\n): JSX.Element | null => {\n const product = props.productDetails?.product;\n if (!props.addToWishlist || !product) {\n return null;\n }\n\n const wishlistButton = renderAddtoWishlistButton(props, state, callbacks, product);\n return (\n \n {props.addToWishlist.errorBlock}\n {wishlistButton}\n \n );\n};\n\n/**\n * RenderQuantity.\n * @param quantity - Quantity.\n * @param quantityLimitsMessages - QuantityLimitsMessages.\n * @param props - Props.\n * @returns -- Returns.\n */\nconst renderQuantity = (\n quantity: IBuyboxProductQuantityViewProps,\n quantityLimitsMessages: React.ReactNode,\n props: IQuickviewViewProps\n): JSX.Element => {\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from Quickview.tsx file\n const { ContainerProps, LabelContainerProps, heading, input, errors } = quantity;\n const { unitOfMeasure } = props;\n\n return (\n \n {heading}\n {input}\n {unitOfMeasure}\n {quantityLimitsMessages}\n {errors}\n \n );\n};\n\n/**\n * KenderKeyInPrice.\n * @param keyInPrice - KeyInPrice.\n * @returns -- Returns.\n */\nconst renderKeyInPrice = (keyInPrice: IBuyboxKeyInPriceViewProps): JSX.Element => {\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from Quickview.tsx file\n const { ContainerProps, LabelContainerProps, heading, input } = keyInPrice;\n\n return (\n \n {heading}\n {input}\n \n );\n};\n\n/**\n * RenderConfigureDropdown.\n * @param dropdown - Buybox product configure dropdown view props.\n * @returns -- Returns JSX.Element.\n */\nconst renderConfigureDropdown = (dropdown: IBuyboxProductConfigureDropdownViewProps): JSX.Element => {\n const { ContainerProps, LabelContainerProps, heading, errors, select } = dropdown;\n\n return (\n \n {heading}\n {select}\n {errors}\n \n );\n};\n\n/**\n * RenderConfigure.\n * @param configure - Buybox product configure view props.\n * @returns -- Returns JSX.Element.\n */\nconst renderConfigure = (configure: IBuyboxProductConfigureViewProps): JSX.Element => {\n const { ContainerProps, dropdowns } = configure;\n\n return {dropdowns.map(renderConfigureDropdown)};\n};\n\n/**\n * RenderBodyContent.\n * @param props - Props.\n * @returns -- Returns.\n */\nconst renderBodyContent = (props: IQuickviewViewProps & IQuickviewPropsExtend<{}>): JSX.Element => {\n const {\n price,\n keyInPrice,\n quantity,\n inventoryLabel,\n quantityLimitsMessages,\n loading,\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from Quickview.tsx file\n ProductInfoContainerProps,\n MediaGalleryContainerProps,\n CarouselProps,\n addToWishlist,\n configure,\n callbacks,\n state\n } = props;\n if (loading) {\n return <>{loading};\n }\n\n return (\n <>\n \n \n \n \n \n \n {props.resources.priceText}\n {price}\n \n {addToWishlist && renderAddToWishlist(props, state, callbacks)}\n \n {configure && renderConfigure(configure)}\n {keyInPrice && renderKeyInPrice(keyInPrice)}\n {quantity && renderQuantity(quantity, quantityLimitsMessages, props)}\n {inventoryLabel}\n \n \n );\n};\n\n/**\n * RenderQuickViewPopup.\n * @param props - Props.\n * @returns -- Returns.\n */\nconst renderQuickViewPopup = (props: IQuickviewViewProps & IQuickviewPropsExtend<{}>): JSX.Element => {\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from Quickview.tsx file\n const {\n ModalContainer,\n ModalHeaderContainer,\n ModalFooterContainer,\n ModalHeaderContent,\n ModalBodyContainer,\n addToCart,\n cartContainerProps,\n seeDetailsbutton\n } = props;\n\n return (\n \n \n {ModalHeaderContent}\n \n {props.title}\n {!props.loading && !StringExtensions.isNullOrEmpty(props.state.productPrice?.ItemId) ? (\n \n {props.resources.skuText}\n {props.state.productPrice?.ItemId}\n \n ) : (\n ''\n )}\n {props.rating}\n \n \n {renderBodyContent(props)}\n \n \n {addToCart && seeDetailsbutton}\n {addToCart && renderAddToCart(addToCart)}\n \n \n \n );\n};\n\n/**\n * Functional component which renders quick view button and popup based by the given props file.\n * @param props - Configuration for the quick view component.\n * @returns - Functional component of the quick view.\n */\nexport const QuickViewFunctionalComponent: React.FC> = (\n props: IQuickviewViewProps & IQuickviewPropsExtend<{}>\n) => {\n const { quickView, quickViewButton, isModalOpen } = props;\n const quickViewUpdatedProps: IModuleProps = { ...quickView, title: props.resources.quickViewbuttonText };\n return (\n \n {quickViewButton}\n {isModalOpen && renderQuickViewPopup(props)}\n \n );\n};\n\nexport default QuickViewFunctionalComponent;\n","module.exports = React;","module.exports = ReactDOM;"],"names":["cls","fragment","clsHelper","_renderConfigureDropdown","dropdown","ContainerProps","LabelContainerProps","heading","errors","select","React","Node","Object","assign","_renderBodyContent","props","_props$productDetails","title","price","rating","keyInPrice","quantity","configure","inventoryLabel","quantityLimitsMessages","seeDetailsbutton","loading","ProductInfoContainerProps","MediaGalleryContainerProps","CarouselProps","unitOfMeasure","addToWishlist","addToCart","cartContainerProps","product","productDetails","itemId","ItemId","skuDisplay","className","labelResources","sku","productAttr","productAttrLoaded","productAttributesInput","ItemIds","IncludeProductsFromDescendantCategories","SkipVariantExpansion","IncludeAttributes","Context","ChannelId","context","request","apiSettings","channelId","CatalogId","getCatalogId","searchByCriteriaAsync","callerContext","actionContext","then","products","length","productSpecificationData","AttributeValues","productAttributes","convertProductAttributes","description","config","descriptionOverride","Description","descriptionDisplay","dropdowns","map","_renderConfigure","input","_renderKeyInPrice","_renderQuantity","errorBlock","button","_renderAddToCart","_renderAddToWishlist","QuickViewFunctionalComponent","quickView","quickViewButton","isModalOpen","isMobileDevice","Module","ModalContainer","ModalHeaderContainer","ModalFooterContainer","ModalHeaderContent","ModalBodyContainer","_renderQuickViewPopup","baseClass","separator","arguments","undefined","binding","modules","dataActions","registerSanitizedActionPath","sanitizedActionPath","dataAction","default","Error","prototype","RegistrationId","id","c","require","$type","da","name","path","runOn","iNM","ns","n","p","pdp","md","window","__bindings__","_objectSpread","viewDictionary","cn","onAddToWishlistFailed","callbacks","resources","result","updateErrorState","errorHost","configureErrors","status","getConfigureErrors","missingDimensions","IsGiftCard","renderAddToWishlist","state","wishlistButton","renderAddtoWishlistButton","wishlists","data","AddToWishlistComponent","addToWishlistButtonText","removeFromWishlistButtonText","addToWishlistMessage","removedFromWishlistMessage","addItemToWishlistError","removeItemFromWishlistError","nameOfWishlist","typeName","onError","getSelectedProduct","selectedProduct","showButtonText","showButtonTooltip","renderConfigureDropdown","renderBodyContent","priceText","renderConfigure","renderKeyInPrice","renderQuantity","renderQuickViewPopup","_props$state$productP","_props$state$productP2","StringExtensions","isNullOrEmpty","productPrice","skuText","renderAddToCart","quickViewUpdatedProps","quickViewbuttonText","module","exports","ReactDOM"],"sourceRoot":""}