1import{J as e,r,Z as t,j as o,$ as s,a0 as n}from"./main.1.45.0.js";import{J as i,S as c}from"./sponsored-label.component-D_E-27fX.js";import{c as a}from"./DefaultPropsProvider-C2syA4QN.js";import{S as d,a as l}from"./slider.component-BqfYuRbu.js";import{T as m}from"./Typography-C-divtet.js";import"./product-interaction-context-CgFTGeYC.js";import"./ecommerce-search-provider-B-RJ2BJM.js";import"./search-config-BhBQGKEp.js";import"./index-D_ibIeF5.js";import"./config-BQfsxwia.js";import"./inheritsLoose-Cagl8Uqp.js";import"./assertThisInitialized-PUtynf78.js";import"./index-BzcYWA6j.js";import"./use-store-CbMJqTO8.js";import"./use-add-to-checkout-lvc8nSru.js";import"./use-product-variants-8pehLRot.js";import"./index-Bru-Ui9l.js";import"./search-api.service-r7bhVHZf.js";import"./createSvgIcon-BKM72nfj.js";import"./Close-DmkQrzuU.js";import"./utils-DvjLjrK8.js";import"./product-dialog.component-CqxxQqi1.js";import"./useMediaQuery-Ll-jLsY2.js";import"./getThemeProps-Hzf5EfZS.js";import"./Dialog-C1imcgja.js";import"./Paper-DpdCpDyz.js";import"./Toolbar-Chet2LTv.js";import"./DialogContent-1FO7MY8V.js";import"./CircularProgress-d2-jiF45.js";const p={sponsoredTitle:"jane-dm-recommended-slider-module__sponsoredTitle___D8zET"},u={listId:"recommended-products",listName:"Recommended products"},j=({config:j,className:h,title:f})=>{var v;const{filters:g,sort:y,limit:x}=j,k=e(j.raw),[P,T]=r.useState(!0),[D,I]=r.useState({placement:null,products:null,productHandlers:{}}),b=r.useMemo((()=>t(g)),[g]);r.useEffect((()=>(I({placement:null,products:null,productHandlers:{}}),P||T(!0),function(e){return r=this,t=null,o=function*(){var r,t;if((null==(r=window.JaneDM)?void 0:r.instance)&&window.JaneDM.storeId){i.clearImpressionTracking();try{i.trackPlacementRequest("recommended");const r=yield s(e);if(r){const e=[],o={};null==(t=r.products)||t.forEach((r=>{const t=n(r.attributes);t&&(e.push(t),o[t]={click:e=>r.click(e),impress:()=>r.impress()})})),I({placement:r,products:e,productHandlers:o}),i.trackPlacementRender(e.length,"recommended",r.title)}}catch(o){console.log("error",o),console.error("Error getting Jane DM placement:",o),i.trackPlacementError("recommended")}}T(!1)},new Promise(((e,s)=>{var n=e=>{try{c(o.next(e))}catch(r){s(r)}},i=e=>{try{c(o.throw(e))}catch(r){s(r)}},c=r=>r.done?e(r.value):Promise.resolve(r.value).then(n,i);c((o=o.apply(r,t)).next())}));var r,t,o}(b),()=>{i.clearImpressionTracking()})),[b]);const w=r.useCallback((e=>{var r,t;return o.jsxs("div",{className:a("joint-recommended-container",h),children:[((null==(r=D.placement)?void 0:r.title)||f)&&o.jsx(m,{variant:"body1",component:"div",className:a(p.sponsoredTitle,"joint-recommended-title"),children:(null==(t=D.placement)?void 0:t.title)||f}),D.products&&D.products.length>0&&o.jsx(c,{className:p.sponsoredLabel}),e]})}),[h,D.placement,f,D.products]),E=r.useCallback((({children:e,productId:r})=>{if(D.placement){return i.createEnhancedProductWrapper(D.productHandlers,D.placement,"recommended")({children:e,productId:r})}return e}),[D.placement,D.productHandlers]);if(P)return o.jsx(d,{});if(!P&&D.products&&D.products.length>0){const e=(null==(v=window.JaneDM)?void 0:v.isJaneRoots)?"posId":"jointId";return o.jsx(l,{config:j,searchFilters:[...g||[],{field:e,values:D.products,type:"any"}],sort:y,limit:x?Number(x):void 0,analyticsContext:k||u,layout:w,ProductWrapper:E,hideEmpty:!0,searchKey:"recommended",sortOverride:{key:e,order:D.products}})}return P||D.products&&0!==D.products.length?null:o.jsx(l,{config:j,filters:g||[],sort:y,limit:x?Number(x):void 0,analyticsContext:k||u,hideEmpty:!1,searchKey:"recommended"})};j.displayName="JaneDMRecommendedSlider";export{j as JaneDMRecommendedSlider,j as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.