{"version":3,"file":"dist/build-client/static/js/Blocks-ProductListingBlock-ProductListingBlock.05a01a7e.chunk.js","mappings":"6IAaA,IAAMA,GAAoBC,EAAAA,EAAAA,IAAO,MAAO,CACtCC,GAAI,OACJC,GAAI,OACJC,gBAAiB,OACjBC,cAAe,UACf,kBAAmB,CACjBC,KAAM,QACN,gHACE,CACED,cAAe,WAGrB,iBAAkB,CAChB,sCAAuC,CACrCA,cAAe,UAEjB,sCAAuC,CACrCA,cAAe,UAEjBF,GAAI,GAEN,4CAA6C,CAC3CG,KAAM,kBACN,iBAAkB,CAChBC,KAAM,MACNC,WAAY,QACZC,YAAa,QACbH,KAAM,QACNI,SAAU,WACVC,MAAO,MACPC,EAAG,SAELC,GAAI,KAIR,IA1CA,SAAiBC,GAA0C,IAADC,EAAAD,EAAtCE,OAAAA,OAAM,IAAAD,EAAG,MAAKA,EAAEE,EAAQH,EAARG,SAClC,OACEC,EAAAA,EAAAA,KAAClB,EAAiB,CAAC,gBAAegB,EAAOC,SAAEA,GAE/C,C,+OCiUA,IAAME,GAAelB,EAAAA,EAAAA,IAAOmB,EAAAA,EAAW,CACrC,gBAAiB,CACfC,SAAU,QACVC,SAAU,WAIRC,GAA0BtB,EAAAA,EAAAA,IAAO,MAAO,CAC5CuB,WAAY,SACZrB,IAAK,EACL,kBAAmB,CACjBA,IAAK,GAEP,gBAAiB,CACfA,GAAI,gCAIFsB,GAAwBxB,EAAAA,EAAAA,IAAO,MAAO,CAC1C,gBAAiB,CACfK,KAAM,SACNH,GAAI,UAIFuB,GAAiBzB,EAAAA,EAAAA,IAAO0B,EAAAA,EAAa,CACzCC,SAAU,CACRC,WAAY,CACVC,KAAM,CACJ,gBAAiB,CACfzB,cAAe,eAOnB0B,GAAY9B,EAAAA,EAAAA,IAAO,MAAO,CAC9BY,GAAI,EACJmB,GAAI,EACJpB,EAAG,SAGCqB,GAAehC,EAAAA,EAAAA,IAAO,MAAO,CACjCI,cAAe,UACf6B,QAAS,OACTC,eAAgB,SAChBC,UAAW,SAGPC,GAAkBpC,EAAAA,EAAAA,IAAO,MAAO,CACpCqC,MAAO,SAGHC,GAAkBtC,EAAAA,EAAAA,IAAO,MAAO,CACpCiC,QAAS,OACTC,eAAgB,WAChBK,WAAY,OACZ3B,GAAI,EACJV,GAAI,OACJsC,GAAI,EACJC,gBAAiB,WAGbC,GAAoB1C,EAAAA,EAAAA,IAAO,MAAO,CACtCiC,QAAS,OACTU,EAAG,OACHC,cAAe,SACfV,eAAgB,aAChBW,WAAY,aACZjC,GAAI,EACJV,GAAI,OACJuC,gBAAiB,SACjBhC,SAAU,WACV,kBAAmB,CACjBG,GAAI,GAEN,gBAAiB,CACf+B,EAAG,OACHC,cAAe,MACfhC,GAAI,GAEN,qBAAsB,CACpBkC,GAAI,OACJC,GAAI,UAIFC,GAAahD,EAAAA,EAAAA,IAAOiD,EAAAA,EAAM,CAC9BN,EAAG,EACHO,SAAU,UACVC,OAAQ,IAGJC,GAAmBpD,EAAAA,EAAAA,IAAO,MAAO,CACrCE,GAAI,OACJmD,GAAI,EACJC,GAAI,EACJ1C,GAAI,EACJqB,QAAS,OACT,gBAAiB,CACfI,MAAO,OACPjB,SAAS,kBACTkC,GAAI,MAIFC,GAAoBvD,EAAAA,EAAAA,IAAO,MAAO,CACtCiC,QAAS,OACTW,cAAe,SACfD,EAAG,OACHZ,GAAI,OACJpB,EAAG,SAGL,UA7ZA,SAA4BE,GAGE,IAAD2C,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA3D,EAF3B4D,QAAWC,EAAUF,EAAVE,WAAYC,EAAYH,EAAZG,aAAcC,EAAkBJ,EAAlBI,mBAAoBhD,EAAU4C,EAAV5C,WACzDiD,EAAOhE,EAAPgE,QAEQC,GAAkBC,EAAAA,EAAAA,KAAlBD,cACRE,GAIIC,EAAAA,EAAAA,KAH6BC,GAAmBF,EAAlD,+BACyBG,GAAYH,EAArC,yBAC+BI,GAAmBJ,EAAlD,+BAGFK,IAA8BC,EAAAA,EAAAA,KAAtBC,GAAMF,GAANE,OAAQC,GAASH,GAATG,UAEVC,GAAiBC,KAAKC,UAAU,CACpCC,oBAAqBL,GACrBM,iBAAkBnB,EAClBoB,gBAAiBN,KAGbO,IAAkBC,EAAAA,EAAAA,KACxBC,IAAwCC,EAAAA,EAAAA,YAA4BC,IAAAC,EAAAA,EAAAA,GAAAH,GAAA,GAA7DI,GAAYF,GAAA,GAAEG,GAAeH,GAAA,GACpCI,IAAgCL,EAAAA,EAAAA,WAAS,GAAMM,IAAAJ,EAAAA,EAAAA,GAAAG,GAAA,GAAxCE,GAAQD,GAAA,GAAEE,GAAWF,GAAA,GAC5BG,IAA4CT,EAAAA,EAAAA,YAAwBU,IAAAR,EAAAA,EAAAA,GAAAO,GAAA,GAA7DE,GAAcD,GAAA,GAAEE,GAAiBF,GAAA,GACxCG,IAA8Bb,EAAAA,EAAAA,YAA0Bc,IAAAZ,EAAAA,EAAAA,GAAAW,GAAA,GAAjDE,GAAOD,GAAA,GAAEE,GAAUF,GAAA,GAC1BG,IAA4BjB,EAAAA,EAAAA,YAAkBkB,IAAAhB,EAAAA,EAAAA,GAAAe,GAAA,GAAvCE,GAAMD,GAAA,GAAEE,GAASF,GAAA,GAClBG,IAAYC,EAAAA,EAAAA,GAASC,EAAAA,EAAAA,cAC3BC,IAAwCxB,EAAAA,EAAAA,YAAiCyB,IAAAvB,EAAAA,EAAAA,GAAAsB,GAAA,GAAlEE,GAAYD,GAAA,GAAEE,GAAeF,GAAA,GACpCG,IAAoC5B,EAAAA,EAAAA,YAAoB6B,IAAA3B,EAAAA,EAAAA,GAAA0B,GAAA,GAAjDE,GAAUD,GAAA,GAAeA,GAAA,IAEhCE,EAAAA,EAAAA,YAAU,WACRC,IACF,GAAG,CAACxD,IAEJ,IAAMwD,GAAa,WAAO,IAADC,EACvBpC,GAAgB,OAChB,IAAMqC,EAAgD,QAAlCD,EAAqB,OAAlBvD,QAAkB,IAAlBA,OAAkB,EAAlBA,EAAoByD,MAAM,aAAK,IAAAF,EAAAA,EAAI,GACpDG,EAAgB,CAAC,QACjBC,GAAmBC,OAAOC,SAASC,OAAOC,OAAO,IAAM,IAC1DN,MAAM,KACNhB,QAAO,SAACuB,GACP,IAAAC,EAAoBD,EAAMP,MAAM,KAAIS,GAAA1C,EAAAA,EAAAA,GAAAyC,EAAA,GAA7BE,EAAED,EAAA,GAAOA,EAAA,GAChB,OAAOF,EAAMI,OAAS,IAAMV,EAAcW,SAASF,EACrD,IAEIG,EAAc,GAAAC,QAAAC,EAAAA,EAAAA,GAAIb,IAAea,EAAAA,EAAAA,GAAKhB,IAAgBiB,KAAK,MACjEC,EAAAA,EAAAA,IACE5E,EACAC,EACAc,GACAX,EACAoE,GACAK,MAAK,SAACC,GAA4B,IAADC,EAK/BC,EAAAC,EAHAH,GACI,OAAJA,QAAI,IAAJA,GAAAA,EAAMI,sBACF,OAAJJ,QAAI,IAAJA,GAAyB,QAArBC,EAAJD,EAAMI,2BAAmB,IAAAH,OAArB,EAAJA,EAA2BI,eAAgB,GAE3CvD,GAAgBkD,GAChB1C,GACM,OAAJ0C,QAAI,IAAJA,GAAyB,QAArBE,EAAJF,EAAMI,2BAAmB,IAAAF,OAArB,EAAJA,EAA2BzC,QAAQ6C,MACjC,SAACC,GAAe,OAAKA,EAAEC,QAAQ,KAGnC9C,GAAe,OAAJsC,QAAI,IAAJA,GAAyB,QAArBG,EAAJH,EAAMI,2BAAmB,IAAAD,OAArB,EAAJA,EAA2B1C,UAEtCX,GAAgBkD,GAElBzD,GAAgB,SAClB,GACF,EAEMkE,GAAS5D,IACE,OAAZA,SAAY,IAAZA,IAAiC,QAArB7C,EAAZ6C,GAAcuD,2BAAmB,IAAApG,OAArB,EAAZA,EAAmC0G,MAAMlB,SAC5B,OAAZ3C,SAAY,IAAZA,IAAiC,QAArB5C,EAAZ4C,GAAcuD,2BAAmB,IAAAnG,OAArB,EAAZA,EAAmC0G,gBACrC,IACA,EAEEC,GACJ/D,IAA4B,OAAZA,SAAY,IAAZA,IAAAA,GAAcuD,qBAAuB1E,GACjDA,GACGmF,QACC,MACY,OAAZhE,SAAY,IAAZA,IAAiC,QAArB3C,EAAZ2C,GAAcuD,2BAAmB,IAAAlG,OAArB,EAAZA,EAAmCwG,MAAMlB,OAAOsB,YAEjDD,QACC,MACY,OAAZhE,SAAY,IAAZA,IAAiC,QAArB1C,EAAZ0C,GAAcuD,2BAAmB,IAAAjG,OAArB,EAAZA,EAAmCwG,eAAeG,YAEtD,GAEAC,GACJlE,KACY,OAAZA,SAAY,IAAZA,IAAiC,QAArBzC,EAAZyC,GAAcuD,2BAAmB,IAAAhG,OAArB,EAAZA,EAAmCsG,MAAMlB,WAC3B,OAAZ3C,SAAY,IAAZA,IAAiC,QAArBxC,EAAZwC,GAAcuD,2BAAmB,IAAA/F,OAArB,EAAZA,EAAmCsG,gBAEjCK,GAA8D,QAAnD1G,EAAe,OAAZuC,SAAY,IAAZA,IAAiC,QAArBtC,EAAZsC,GAAcuD,2BAAmB,IAAA7F,GAAO,QAAPC,EAAjCD,EAAmCmG,aAAK,IAAAlG,OAA5B,EAAZA,EAA0CgF,cAAM,IAAAlF,EAAAA,EAAI,EAClE2G,GAAO9F,EAmCP+F,GAAiB,SACrBC,EACAC,EACAC,GACI,IAADC,EACG1C,EAAgD,QAAlC0C,EAAqB,OAAlBlG,QAAkB,IAAlBA,OAAkB,EAAlBA,EAAoByD,MAAM,aAAK,IAAAyC,EAAAA,EAAI,GACpDxC,EAAgB,CAAC,QACjBC,GAAmBC,OAAOC,SAASC,OAAOC,OAAO,IAAM,IAC1DN,MAAM,KACNhB,QAAO,SAACuB,GACP,IAAAmC,EAAoBnC,EAAMP,MAAM,KAAI2C,GAAA5E,EAAAA,EAAAA,GAAA2E,EAAA,GAA7BhC,EAAEiC,EAAA,GAAOA,EAAA,GAChB,OAAOpC,EAAMI,OAAS,IAAMV,EAAcW,SAASF,EACrD,IAEIG,EAAc,GAAAC,QAAAC,EAAAA,EAAAA,GAAIb,IAAea,EAAAA,EAAAA,GAAKhB,IAAgBiB,KAAK,KAEjEwB,SACqBI,IAAjB5E,KACFN,GAAgB,QAChBmF,EAAAA,EAAAA,IACExG,EACA+F,GACAhF,GACAX,OACAmG,OACAA,EACAN,EACAC,EACA1B,GACAK,MAAK,SAACC,GAAU,IAAD2B,EAAAC,EACf9E,GAAgBkD,GAChBtC,GAAmC,QAAzBiE,EAAC3B,EAAKI,2BAAmB,IAAAuB,OAAA,EAAxBA,EAA0BlE,SACrCH,GACM,OAAJ0C,QAAI,IAAJA,GAAyB,QAArB4B,EAAJ5B,EAAMI,2BAAmB,IAAAwB,OAArB,EAAJA,EAA2BnE,QAAQ6C,MACjC,SAACuB,GAAoB,OAAKA,EAAOrB,QAAQ,KAG7CjE,GAAgB,SAClB,IAEJ,EA2CA,OACE9E,EAAAA,EAAAA,KAACqK,EAAAA,EAAQ,CAAAtK,UACPC,EAAAA,EAAAA,KAACmC,EAAgB,CAAC,uBAAsByB,EAAQ7D,UAC9CuK,EAAAA,EAAAA,MAACzJ,EAAS,CAAAd,SAAA,EACK,OAAZqF,SAAY,IAAZA,QAAY,EAAZA,GAAcmF,cACbvK,EAAAA,EAAAA,KAACwK,EAAAA,EAAW,CAACD,WAAwB,OAAZnF,SAAY,IAAZA,QAAY,EAAZA,GAAcmF,WAAYE,eAAa,KAElEzK,EAAAA,EAAAA,KAACK,EAAuB,CAAAN,UACtBuK,EAAAA,EAAAA,MAAC/J,EAAqB,CAAAR,SAAA,CACnBuG,KACCtG,EAAAA,EAAAA,KAAA0K,EAAAA,SAAA,CAAA3K,UACEuK,EAAAA,EAAAA,MAACjJ,EAAe,CAAAtB,SAAA,CACb6F,KACC5F,EAAAA,EAAAA,KAAC2K,EAAAA,EAAa,CACZ/E,eAAgBA,GAChBI,QAASA,GACT4E,cAAenB,MAGnBzJ,EAAAA,EAAAA,KAAC6K,EAAAA,EAAc,CACbC,QAASrF,GACTsF,WAAYvF,WAKpB8E,EAAAA,EAAAA,MAAC7I,EAAiB,CAAA1B,SAAA,EACbuG,IAAa3F,IAAgB2F,MAC9BtG,EAAAA,EAAAA,KAACmB,EAAe,CAAApB,UACdC,EAAAA,EAAAA,KAACC,EAAY,CACX+F,QAASA,GACT4E,cAAenB,GACfuB,eA/DG,SAACC,GACtBnG,GAAgB,QAChBmF,EAAAA,EAAAA,IACExG,EACA+F,GACAhF,GACAX,OACAmG,OACAA,EACc,OAAdpE,SAAc,IAAdA,QAAc,EAAdA,GAAgB8D,OACF,OAAd9D,SAAc,IAAdA,QAAc,EAAdA,GAAgB+D,cAChBsB,GACA3C,MAAK,SAACC,GAAU,IAAD2C,EAAAC,EACf9F,GAAgBkD,GAChBtC,GAAe,OAAJsC,QAAI,IAAJA,GAAyB,QAArB2C,EAAJ3C,EAAMI,2BAAmB,IAAAuC,OAArB,EAAJA,EAA2BlF,SACtCH,GACM,OAAJ0C,QAAI,IAAJA,GAAyB,QAArB4C,EAAJ5C,EAAMI,2BAAmB,IAAAwC,OAArB,EAAJA,EAA2BnF,QAAQ6C,MACjC,SAACuB,GAAoB,OAAKA,EAAOrB,QAAQ,KAG7C1C,GAAU4E,GAEV,IAAMG,EACJ7D,OAAOC,SAAS6D,KAAKjC,QAAQ7B,OAAOC,SAASC,OAAQ,IAAG,GAAAS,OACrD+C,EAAc,IAAM,IAAE/C,OAAG+C,GAC9B1D,OAAO+D,QAAQC,UAAU,SAAU,cAAeH,GAElDtG,GAAgB,SAClB,GACF,EAmCoB0G,QAAqB,OAAZpG,SAAY,IAAZA,QAAY,EAAZA,GAAcoG,QACvBzE,WAAYA,GACZJ,aAAcA,GACdC,gBAAiBA,GACjB6E,SAAsB,OAAZrG,SAAY,IAAZA,IAAiC,QAArBpC,EAAZoC,GAAcuD,2BAAmB,IAAA3F,OAArB,EAAZA,EAAmCyI,SAC7CC,YAAatF,GACbuF,YAhFA,WAClBtF,QAAU2D,GACVpD,QAAgBoD,GAEhB,IAAMoB,EAAM7D,OAAOC,SAAS6D,KAAKjC,QAAQ7B,OAAOC,SAASC,OAAQ,IACjEF,OAAO+D,QAAQC,UAAU,SAAU,cAAeH,GAElDnE,IACF,OA4EcqD,EAAAA,EAAAA,MAAChI,EAAiB,CAAAvC,SAAA,EAChBuK,EAAAA,EAAAA,MAACvI,EAAU,CACTX,MAAOwK,EAAAA,EAAAA,YACPC,aAAcrG,GAASzF,SAAA,CAEtBqF,KAAiBA,GAAauD,sBAC7B3I,EAAAA,EAAAA,KAACe,EAAY,CAAAhB,SAAEoE,KAEhBiB,MACoC,QAAjCnC,EAACmC,GAAauD,2BAAmB,IAAA1F,GAAhCA,EAAkC8E,UACL,QADW7E,EAC3CkC,GAAauD,2BAAmB,IAAAzF,GAAO,QAAPC,EAAhCD,EAAkC+F,aAAK,IAAA9F,OAAP,EAAhCA,EAAyC2I,KACvC,SAACC,GAAyB,OACxB/L,EAAAA,EAAAA,KAACQ,EAAc,CACbuK,WAAYvF,GAEZwG,KAAMD,EACNpL,WAAYA,GAFPoL,EAAQE,KAGb,SAIG,OAAZ7G,SAAY,IAAZA,IAAiC,QAArBhC,EAAZgC,GAAcuD,2BAAmB,IAAAvF,GAAO,QAAPC,EAAjCD,EAAmC6F,aAAK,IAAA5F,OAA5B,EAAZA,EAA0C0E,SAC7B,OAAZ3C,SAAY,IAAZA,IAAiC,QAArB9B,EAAZ8B,GAAcuD,2BAAmB,IAAArF,OAArB,EAAZA,EAAmC4F,kBACnClJ,EAAAA,EAAAA,KAACkM,EAAAA,EAAiB,CAChBlD,OAAQA,GACRG,YAAaA,GACbgD,SAAUjI,GACVoF,SAAUA,GACVwB,QAAS,kBA3LN,WACrB,GAAI1F,GAAc,CAAC,IAADgH,EAChBtH,GAAgB,OAChB,IAAMqC,EAAgD,QAAlCiF,EAAqB,OAAlBzI,QAAkB,IAAlBA,OAAkB,EAAlBA,EAAoByD,MAAM,aAAK,IAAAgF,EAAAA,EAAI,GACpD/E,EAAgB,CAAC,QACjBC,GAAmBC,OAAOC,SAASC,OAAOC,OAAO,IAAM,IAC1DN,MAAM,KACNhB,QAAO,SAACuB,GACP,IAAA0E,EAAoB1E,EAAMP,MAAM,KAAIkF,GAAAnH,EAAAA,EAAAA,GAAAkH,EAAA,GAA7BvE,EAAEwE,EAAA,GACT,OADgBA,EAAA,GACT3E,EAAMI,OAAS,IAAMV,EAAcW,SAASF,EACrD,IAEIG,EAAc,GAAAC,QAAAC,EAAAA,EAAAA,GAAIb,IAAea,EAAAA,EAAAA,GAAKhB,IAAgBiB,KAAK,MAEjE6B,EAAAA,EAAAA,IACExG,EACA+F,GACAhF,GACAX,EACAuB,GACAmE,GACc,OAAd3D,SAAc,IAAdA,QAAc,EAAdA,GAAgB8D,OACF,OAAd9D,SAAc,IAAdA,QAAc,EAAdA,GAAgB+D,cAChB1B,GACAK,MAAK,SAACC,GACFA,IACFlD,GAAgBkD,GAChBzD,GAAgB,UAEpB,GACF,CACF,CA4JmCyH,EAAgB,qBAWrD,C","sources":["Atoms/Grids/GridItem.tsx","Blocks/ProductListingBlock/ProductListingBlock.tsx"],"sourcesContent":["import { styled } from '../../stitches.config';\r\n\r\ntype PropType = {\r\n layout?: string;\r\n children: JSX.Element | string;\r\n};\r\n\r\nfunction GridItem({ layout = '1/1', children }: PropType) {\r\n return (\r\n {children}\r\n );\r\n}\r\n\r\nconst GridItemContainer = styled('div', {\r\n wh: '100%',\r\n mx: 'auto',\r\n gridColumnStart: 'auto',\r\n gridColumnEnd: 'span 12',\r\n '@mediaMinMedium': {\r\n maxW: 'unset',\r\n '&:nth-child(n)[data-gridsize=\"1/2\"], &:nth-child(n)[data-gridsize=\"1/3\"], &:nth-child(n)[data-gridsize=\"1/4\"]':\r\n {\r\n gridColumnEnd: 'span 6',\r\n },\r\n },\r\n '@mediaMinLarge': {\r\n '&:nth-child(n)[data-gridsize=\"1/3\"]': {\r\n gridColumnEnd: 'span 4',\r\n },\r\n '&:nth-child(n)[data-gridsize=\"1/4\"]': {\r\n gridColumnEnd: 'span 3',\r\n },\r\n mx: 0,\r\n },\r\n '&:nth-child(n)[data-gridsize=\"FullWidth\"]': {\r\n maxW: '$maxWidthMobile',\r\n '@mediaMinLarge': {\r\n left: '50%',\r\n marginLeft: '-50vw',\r\n marginRight: '-50vw',\r\n maxW: '100vw',\r\n position: 'relative',\r\n right: '50%',\r\n w: '100vw',\r\n },\r\n px: 0,\r\n },\r\n});\r\n\r\nexport default GridItem;\r\n","import { useState, useEffect } from 'react';\r\nimport useCurrentPage from '../../Shared/Hooks/useCurrentPage';\r\nimport PageModelBase from '../../Shared/Models/PageModelBase.interface';\r\nimport {\r\n InitCategoryItems,\r\n GetCategoryItems,\r\n} from '../../Pages/SearchPage/Search';\r\nimport { useAppSettingsData } from '../../Shared/Providers/AppSettingsProvider';\r\nimport { useTranslationData } from '../../Shared/Providers/TranslationProvider';\r\nimport ProductCard from '../../Organisms/ProductCard/ProductCard';\r\nimport { useKexLoadingCircle } from '../../Kex/KexLoadingCircle';\r\nimport FullSearchResult from '../../Search/Models/FullSearchResult.interface';\r\nimport ProductCardModel from '../../ProductCard/Models/ProductCardModel.interface';\r\nimport useMedia from '../../Shared/Hooks/useMedia';\r\nimport { mediaQueryTypes } from '../../Theme/Settings/mediaQueries';\r\nimport Grid from '../../Atoms/Grids/Grid';\r\nimport LoadMoreContainer from '../../Molecules/LoadMoreContainer/LoadMoreContainer';\r\nimport { styled } from '../../stitches.config';\r\nimport { GridWidth } from '../../Enums/GridSize.enum';\r\nimport GridListToggle from '../../Molecules/ButtonGroups/GridListToggle';\r\nimport SearchSorter from '../../Search/Models/SearchSorter.interface';\r\nimport FilterBar from '../../Molecules/FilterBar/FilterBar';\r\nimport ProductSorter from '../../Molecules/ProductSorter/ProductSorter';\r\nimport CategoryBar from '../../Molecules/CategoryBar/CategoryBar';\r\nimport KexFacetGroupFilter from '../../Search/Models/KexFacetGroupFilter.interface';\r\nimport GridItem from '../../Atoms/Grids/GridItem';\r\nimport ContentAreaItem from '../../Shared/Models/ContentAreaItem.interface';\r\nimport IIProductListingBlockModel from './Models/ProductListingBlockModel.interface';\r\n\r\ninterface ProductListingBlockModel extends ContentAreaItem {\r\n content: IIProductListingBlockModel;\r\n blockId: any;\r\n}\r\n\r\nfunction ProductListingBlock({\r\n content: { categoryId, itemsPerLoad, defaultSearchQuery, showFilter },\r\n blockId,\r\n}: ProductListingBlockModel) {\r\n const { languageRoute } = useAppSettingsData();\r\n const {\r\n 'categoryPage/productCounter': productCounterLabel,\r\n 'categoryPage/loadMore': loadMoreText,\r\n 'categoryPage/noFilterResult': noFilterResultLabel,\r\n } = useTranslationData();\r\n\r\n const { pageId, channelId } = useCurrentPage();\r\n\r\n const requestContext = JSON.stringify({\r\n currentPageSystemId: pageId,\r\n categorySystemId: categoryId,\r\n channelSystemId: channelId,\r\n });\r\n\r\n const dispatchLoading = useKexLoadingCircle();\r\n const [searchResult, setSearchResult] = useState();\r\n const [listView, setListView] = useState(false);\r\n const [selectedSorter, setSelectedSorter] = useState();\r\n const [sorters, setSorters] = useState();\r\n const [filter, setFilter] = useState();\r\n const isDesktop = useMedia(mediaQueryTypes.mediaMinHuge);\r\n const [facetFilters, setFacetFilters] = useState();\r\n const [priceValue, setPriceValue] = useState();\r\n\r\n useEffect(() => {\r\n initSearch();\r\n }, [categoryId]);\r\n\r\n const initSearch = () => {\r\n dispatchLoading('add');\r\n const filterCriteria = defaultSearchQuery?.split('\\n') ?? [];\r\n const ignoredParams = ['page'];\r\n const unChangedParams = (window.location.search.substr(1) || '')\r\n .split('&')\r\n .filter((param) => {\r\n const [id, value] = param.split('=');\r\n return param.length > 0 && !ignoredParams.includes(id);\r\n });\r\n\r\n const querystring = [...unChangedParams, ...filterCriteria].join('&');\r\n InitCategoryItems(\r\n categoryId,\r\n itemsPerLoad,\r\n requestContext,\r\n languageRoute,\r\n querystring\r\n ).then((data: FullSearchResult) => {\r\n if (\r\n data &&\r\n data?.productSearchResult &&\r\n data?.productSearchResult?.numberOfItems > 0\r\n ) {\r\n setSearchResult(data);\r\n setSelectedSorter(\r\n data?.productSearchResult?.sorters.find(\r\n (x: SearchSorter) => x.selected\r\n )\r\n );\r\n setSorters(data?.productSearchResult?.sorters);\r\n } else {\r\n setSearchResult(data);\r\n }\r\n dispatchLoading('remove');\r\n });\r\n };\r\n\r\n const loaded = searchResult\r\n ? (searchResult?.productSearchResult?.items.length /\r\n searchResult?.productSearchResult?.availableItems) *\r\n 100\r\n : 0;\r\n\r\n const counterText =\r\n searchResult && searchResult?.productSearchResult && productCounterLabel\r\n ? productCounterLabel\r\n .replace(\r\n '{0}',\r\n searchResult?.productSearchResult?.items.length.toString()\r\n )\r\n .replace(\r\n '{1}',\r\n searchResult?.productSearchResult?.availableItems.toString()\r\n )\r\n : '';\r\n\r\n const disabled =\r\n searchResult &&\r\n searchResult?.productSearchResult?.items.length ===\r\n searchResult?.productSearchResult?.availableItems;\r\n\r\n const loadedItems = searchResult?.productSearchResult?.items?.length ?? 0;\r\n const take = itemsPerLoad;\r\n\r\n const fetchMoreItems = () => {\r\n if (searchResult) {\r\n dispatchLoading('add');\r\n const filterCriteria = defaultSearchQuery?.split('\\n') ?? [];\r\n const ignoredParams = ['page'];\r\n const unChangedParams = (window.location.search.substr(1) || '')\r\n .split('&')\r\n .filter((param) => {\r\n const [id, value] = param.split('=');\r\n return param.length > 0 && !ignoredParams.includes(id);\r\n });\r\n\r\n const querystring = [...unChangedParams, ...filterCriteria].join('&');\r\n\r\n GetCategoryItems(\r\n categoryId,\r\n take,\r\n requestContext,\r\n languageRoute,\r\n searchResult,\r\n loadedItems,\r\n selectedSorter?.sortBy,\r\n selectedSorter?.sortDirection,\r\n querystring\r\n ).then((data) => {\r\n if (data) {\r\n setSearchResult(data);\r\n dispatchLoading('remove');\r\n }\r\n });\r\n }\r\n };\r\n\r\n const onSorterChange = (\r\n sortBy: string,\r\n sortDirection: number,\r\n closeSorterDropdown: () => void\r\n ) => {\r\n const filterCriteria = defaultSearchQuery?.split('\\n') ?? [];\r\n const ignoredParams = ['page'];\r\n const unChangedParams = (window.location.search.substr(1) || '')\r\n .split('&')\r\n .filter((param) => {\r\n const [id, value] = param.split('=');\r\n return param.length > 0 && !ignoredParams.includes(id);\r\n });\r\n\r\n const querystring = [...unChangedParams, ...filterCriteria].join('&');\r\n\r\n closeSorterDropdown();\r\n if (searchResult !== undefined) {\r\n dispatchLoading('add');\r\n GetCategoryItems(\r\n categoryId,\r\n take,\r\n requestContext,\r\n languageRoute,\r\n undefined,\r\n undefined,\r\n sortBy,\r\n sortDirection,\r\n querystring\r\n ).then((data) => {\r\n setSearchResult(data);\r\n setSorters(data.productSearchResult?.sorters);\r\n setSelectedSorter(\r\n data?.productSearchResult?.sorters.find(\r\n (sorter: SearchSorter) => sorter.selected\r\n )\r\n );\r\n dispatchLoading('remove');\r\n });\r\n }\r\n };\r\n\r\n const clearFilter = () => {\r\n setFilter(undefined);\r\n setFacetFilters(undefined);\r\n\r\n const url = window.location.href.replace(window.location.search, '');\r\n window.history.pushState('search', 'Search Page', url);\r\n\r\n initSearch();\r\n };\r\n\r\n const onFilterChange = (queryString: string) => {\r\n dispatchLoading('add');\r\n GetCategoryItems(\r\n categoryId,\r\n take,\r\n requestContext,\r\n languageRoute,\r\n undefined,\r\n undefined,\r\n selectedSorter?.sortBy,\r\n selectedSorter?.sortDirection,\r\n queryString\r\n ).then((data) => {\r\n setSearchResult(data);\r\n setSorters(data?.productSearchResult?.sorters);\r\n setSelectedSorter(\r\n data?.productSearchResult?.sorters.find(\r\n (sorter: SearchSorter) => sorter.selected\r\n )\r\n );\r\n setFilter(queryString);\r\n\r\n const url =\r\n window.location.href.replace(window.location.search, '') +\r\n `${queryString ? '?' : ''}${queryString}`;\r\n window.history.pushState('search', 'Search Page', url);\r\n\r\n dispatchLoading('remove');\r\n });\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n {searchResult?.categories && (\r\n \r\n )}\r\n \r\n \r\n {isDesktop && (\r\n <>\r\n \r\n {selectedSorter && (\r\n \r\n )}\r\n \r\n \r\n \r\n )}\r\n \r\n {((isDesktop && showFilter) || !isDesktop) && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n {searchResult && !searchResult.productSearchResult && (\r\n {noFilterResultLabel}\r\n )}\r\n {searchResult &&\r\n !!!searchResult.productSearchResult?.length &&\r\n searchResult.productSearchResult?.items?.map(\r\n (product: ProductCardModel) => (\r\n \r\n )\r\n )}\r\n \r\n {searchResult?.productSearchResult?.items?.length <\r\n searchResult?.productSearchResult?.availableItems && (\r\n fetchMoreItems()}\r\n />\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nconst FilterBarExt = styled(FilterBar, {\r\n '@mediaMinHuge': {\r\n maxWidth: '280px',\r\n minWidth: '280px',\r\n },\r\n});\r\n\r\nconst ProductSectionContainer = styled('div', {\r\n background: '$white',\r\n mx: -4,\r\n '@mediaMinMedium': {\r\n mx: -5,\r\n },\r\n '@mediaMinHuge': {\r\n mx: 'calc((1200px - 100vw) / 2)',\r\n },\r\n});\r\n\r\nconst ProductSectionContent = styled('div', {\r\n '@mediaMinHuge': {\r\n maxW: '1200px',\r\n mx: 'auto',\r\n },\r\n});\r\n\r\nconst ProductCardExt = styled(ProductCard, {\r\n variants: {\r\n showFilter: {\r\n true: {\r\n '@mediaMinHuge': {\r\n gridColumnEnd: 'span 4',\r\n },\r\n },\r\n },\r\n },\r\n});\r\n\r\nconst Container = styled('div', {\r\n px: 0,\r\n mb: 0,\r\n w: '100%',\r\n});\r\n\r\nconst NoResultText = styled(`div`, {\r\n gridColumnEnd: 'span 12',\r\n display: 'flex',\r\n justifyContent: 'center',\r\n minHeight: '50vh',\r\n});\r\n\r\nconst FilterContainer = styled(`div`, {\r\n width: 'auto',\r\n});\r\n\r\nconst SettingsWrapper = styled('div', {\r\n display: 'flex',\r\n justifyContent: 'flex-end',\r\n paddingTop: '34px',\r\n px: 5,\r\n mx: 'auto',\r\n pb: 8,\r\n backgroundColor: '$white',\r\n});\r\n\r\nconst FilterProductGrid = styled('div', {\r\n display: 'flex',\r\n g: '20px',\r\n flexDirection: 'column',\r\n justifyContent: 'flex-start',\r\n alignItems: 'flex-start',\r\n px: 4,\r\n mx: 'auto',\r\n backgroundColor: '$white',\r\n position: 'relative',\r\n '@mediaMinMedium': {\r\n px: 5,\r\n },\r\n '@mediaMinHuge': {\r\n g: '40px',\r\n flexDirection: 'row',\r\n px: 0,\r\n },\r\n '@mediaMaxVerySmall': {\r\n pl: '24px',\r\n pr: '24px',\r\n },\r\n});\r\n\r\nconst StyledGrid = styled(Grid, {\r\n g: 8,\r\n overflow: 'visible',\r\n margin: 0,\r\n});\r\n\r\nconst ProductContainer = styled(`div`, {\r\n mx: 'auto',\r\n my: 0,\r\n mt: 6,\r\n px: 0,\r\n display: 'flex',\r\n '@mediaMinHuge': {\r\n width: '100%',\r\n maxWidth: `$screenMaxWidth`,\r\n mt: 12,\r\n },\r\n});\r\n\r\nconst ProductsContainer = styled(`div`, {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n g: '60px',\r\n mb: '40px',\r\n w: '100%',\r\n});\r\n\r\nexport default ProductListingBlock;\r\n"],"names":["GridItemContainer","styled","wh","mx","gridColumnStart","gridColumnEnd","maxW","left","marginLeft","marginRight","position","right","w","px","_ref","_ref$layout","layout","children","_jsx","FilterBarExt","FilterBar","maxWidth","minWidth","ProductSectionContainer","background","ProductSectionContent","ProductCardExt","ProductCard","variants","showFilter","true","Container","mb","NoResultText","display","justifyContent","minHeight","FilterContainer","width","SettingsWrapper","paddingTop","pb","backgroundColor","FilterProductGrid","g","flexDirection","alignItems","pl","pr","StyledGrid","Grid","overflow","margin","ProductContainer","my","mt","ProductsContainer","_searchResult$product","_searchResult$product2","_searchResult$product3","_searchResult$product4","_searchResult$product5","_searchResult$product6","_searchResult$product7","_searchResult$product8","_searchResult$product9","_searchResult$product10","_searchResult$product11","_searchResult$product12","_searchResult$product13","_searchResult$product14","_searchResult$product15","_searchResult$product16","_ref$content","content","categoryId","itemsPerLoad","defaultSearchQuery","blockId","languageRoute","useAppSettingsData","_useTranslationData","useTranslationData","productCounterLabel","loadMoreText","noFilterResultLabel","_useCurrentPage","useCurrentPage","pageId","channelId","requestContext","JSON","stringify","currentPageSystemId","categorySystemId","channelSystemId","dispatchLoading","useKexLoadingCircle","_useState","useState","_useState2","_slicedToArray","searchResult","setSearchResult","_useState3","_useState4","listView","setListView","_useState5","_useState6","selectedSorter","setSelectedSorter","_useState7","_useState8","sorters","setSorters","_useState9","_useState10","filter","setFilter","isDesktop","useMedia","mediaQueryTypes","_useState11","_useState12","facetFilters","setFacetFilters","_useState13","_useState14","priceValue","useEffect","initSearch","_defaultSearchQuery$s","filterCriteria","split","ignoredParams","unChangedParams","window","location","search","substr","param","_param$split","_param$split2","id","length","includes","querystring","concat","_toConsumableArray","join","InitCategoryItems","then","data","_data$productSearchRe","_data$productSearchRe2","_data$productSearchRe3","productSearchResult","numberOfItems","find","x","selected","loaded","items","availableItems","counterText","replace","toString","disabled","loadedItems","take","onSorterChange","sortBy","sortDirection","closeSorterDropdown","_defaultSearchQuery$s3","_param$split5","_param$split6","undefined","GetCategoryItems","_data$productSearchRe4","_data$productSearchRe5","sorter","GridItem","_jsxs","categories","CategoryBar","noSidePadding","_Fragment","ProductSorter","onSorterClick","GridListToggle","onClick","isListView","onFilterChange","queryString","_data$productSearchRe6","_data$productSearchRe7","url","href","history","pushState","filters","currency","filterValue","clearFilter","GridWidth","listViewGrid","map","product","item","code","LoadMoreContainer","loadMore","_defaultSearchQuery$s2","_param$split3","_param$split4","fetchMoreItems"],"sourceRoot":""}