PageSourceSearch

https://enjoypleasantrees.com/wp-content/plugins/joint-ecommerce/a…ne-dm-top-of-menu-row.component-NqiFfoqQ.js

js enjoypleasantrees.com collected 2026-10-01 16:32:31 UTC 3,427 bytes, 1 lines download raw bytes

1import{r as e,Z as o,j as r,ag as s,a0 as t}from"./main.1.45.0.js";import{J as n,S as a}from"./sponsored-label.component-D_E-27fX.js";import{c as i}from"./DefaultPropsProvider-C2syA4QN.js";import{a as p}from"./slider.component-BqfYuRbu.js";import{b as c}from"./search-config-BhBQGKEp.js";import{u as l}from"./ecommerce-search-provider-B-RJ2BJM.js";import{T as d}from"./Typography-C-divtet.js";import"./product-interaction-context-CgFTGeYC.js";import"./use-add-to-checkout-lvc8nSru.js";import"./use-store-CbMJqTO8.js";import"./use-product-variants-8pehLRot.js";import"./index-Bru-Ui9l.js";import"./index-D_ibIeF5.js";import"./search-api.service-r7bhVHZf.js";import"./createSvgIcon-BKM72nfj.js";import"./Close-DmkQrzuU.js";import"./utils-DvjLjrK8.js";import"./inheritsLoose-Cagl8Uqp.js";import"./assertThisInitialized-PUtynf78.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";import"./config-BQfsxwia.js";import"./index-BzcYWA6j.js";const m={sponsoredTitle:"jane-dm-top-of-menu-row-module__sponsoredTitle___6Q4lz",sponsoredContainer:"jane-dm-top-of-menu-row-module__sponsoredContainer___7ONRh"},u={listId:"sponsored-products",listName:"Sponsored products"},j=({className:j,title:f})=>{var h;const{filters:v,offset:g}=l(),[y,k]=e.useState({placement:null,products:null,productHandlers:{}}),x=e.useMemo((()=>o(v||[])),[v]);e.useEffect((()=>(k({placement:null,products:null,productHandlers:{}}),function(e){return o=this,r=null,a=function*(){var o,r;if((null==(o=window.JaneDM)?void 0:o.instance)&&window.JaneDM.storeId){n.clearImpressionTracking();try{n.trackPlacementRequest("sponsored");const o=yield s(e);if(o){const e=[],s={};null==(r=o.products)||r.forEach((o=>{const r=t(o.attributes);r&&(e.push(r),s[r]={click:e=>o.click(e),impress:()=>o.impress()})})),k({placement:o,products:e,productHandlers:s}),n.trackPlacementRender(e.length,"sponsored",o.title)}}catch(a){console.error("Error getting Jane DM placement:",a),n.trackPlacementError("sponsored")}}},new Promise(((e,s)=>{var t=e=>{try{i(a.next(e))}catch(o){s(o)}},n=e=>{try{i(a.throw(e))}catch(o){s(o)}},i=o=>o.done?e(o.value):Promise.resolve(o.value).then(t,n);i((a=a.apply(o,r)).next())}));var o,r,a}(x),()=>{n.clearImpressionTracking()})),[x,g]);const P=e.useCallback((e=>{var o,s;return r.jsxs("div",{className:i(m.sponsoredContainer,"joint-menu-sponsored-container",j),children:[((null==(o=y.placement)?void 0:o.title)||f)&&r.jsx(d,{variant:"body1",component:"div",className:i(m.sponsoredTitle,"joint-menu-sponsored-title"),children:(null==(s=y.placement)?void 0:s.title)||f}),r.jsx(a,{className:m.sponsoredLabel}),e]})}),[j,y.placement,f]),w=e.useCallback((({children:e,productId:o})=>{if(y.placement){return n.createEnhancedProductWrapper(y.productHandlers,y.placement,"sponsored")({children:e,productId:o})}return e}),[y.placement,y.productHandlers]);if(y.products&&y.products.length>0){const e=(null==(h=window.JaneDM)?void 0:h.isJaneRoots)?"posId":"jointId";return r.jsx(p,{config:c,searchFilters:[...v||[],{field:e,values:y.products,type:"any"}],analyticsContext:u,layout:P,hideEmpty:!0,ProductWrapper:w,searchKey:"sponsored",sortOverride:{key:e,order:y.products}})}return null};export{j as JaneDMTopOfMenuRow,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.