1"use strict";(self.webpackChunk_gp_web_frontend=self.webpackChunk_gp_web_frontend||[]).push([["recirc-list-inline"],{
1"./src/ts/components/recirc/recirc-list-inline.ts":(e,t,n)=>{n.r(t),n.d(t,{RecircListInline:()=>l,init:()=>a});var r=n("../shared-types/frontend/core/store.ts"),i=n("../shared-types/frontend/utils/discover.ts"),s=n("./src/ts/utils/discover.ts"),c=n("./src/ts/utils/discover-data-manager.ts"),o=n("./src/ts/utils/inview.ts");const l=()=>{const e={buildTemplate:(e,t,n)=>{const r=e.querySelector("template"),i=e.querySelector(".js_recirc_list_items");r&&i&&i.insertAdjacentHTML("beforeend",(0,s.Ec)({data:t,template:r.content,trackingUID:`recirc_inline_recommended_4::${n+1}::`,aspectRatio:"16-9",widgetPosition:"inline",widgetType:"recommended"}))},generateTemplate:(t,n)=>{if(!n.length)return;const i=document.querySelectorAll(".inline-clone[data-component=recirc-list-inline]");if(!i.length)return;let s=0;i.forEach(((i,c)=>{if(!i.classList.contains("recirc-ready")){const l=4*s,a=4*(s+1),d=n.slice(l,a);d.length&&4==d.length&&(e.buildTemplate(i,d,c),i.querySelector(".js_recirc_content").classList.remove("hide"),(0,o.W0)(i).then((()=>{t.dispatch({type:r.Us.DataLayerPush,payload:{event:"recirc_impression",recirc_widget_position:"inline",recirc_widget_type:"recommended",recirc_total_tiles:d.length,recirc_provider:"native"}})})).catch((e=>{console.error(e)})),s++)}}))},getPositionCards:()=>{const e=[...document.querySelectorAll(".zoneItems >.tile")].filter((e=>null===e.querySelector(".js-ecom_widget"))),t=e.length-5;let n=0;return e.reduce(((e,r,i)=>(i>=9&&i<=t&&(9===i||29===n?(e.push(r),n=0):n++),e)),[])},positionElements:t=>{const{rootElement:n}=t;n&&e.getPositionCards().forEach(((e,t)=>{const r=e.nextElementSibling;if(!r||r&&!r.classList.contains("inline-clone")){const r=n.cloneNode(!0);r.classList.add("inline-clone",`inline-clone-${t+1}`),e.insertAdjacentElement("afterend",r),e.classList.add("list-card-recirc-inline")}}))},render:(t,n,r)=>{if(r.length&&!(r.length<2))return e.positionElements(t),e.generateTemplate(n,r),document.querySelectorAll(".inline-clone[data-module=recirc_list_2]").forEach((e=>{e.classList.add("recirc-ready")})),{}},getData:async(t,n)=>{var r;try{const o=`Content-Page-${null!==(r=t.rootElement.dataset.hostUid)&&void 0!==r?r:""}`,l=e.getPositionCards().filter((e=>!e.classList.contains("list-card-recirc-inline"))).length;if(0===l)return void console.warn("Recirc inline: list cards not matching requirements");const a=4*l,d=await(0,c.u)({size:a,storageName:"to_recirc_visited_history",uid:o,request:(0,s.fg)({uid:o,size:a,filters:[i.v.ORContentTypePage,i.v.ANDCommercialFalse],sorters:[i.R.PublishedAtDesc]})});return e.render(t,n,d),d}catch(e){console.error(e)}},bindEvents:(t,n)=>{if(!1===window._TO.shouldLoadRecirc)return{};const r=(e=>({rootElement:e,template:e.querySelector("template"),content:e.querySelector(".js_recirc_content"),wrap:e.querySelector(".js_recirc_list_items"),heading:void 0}))(t);return e.getData(r,n),{}}};return e},a=(e,t)=>{const n=Math.floor(1e4*Math.random());return{listeners:l().bindEvents(e,t),componentId:`recirc-list-inline-${n}`}}},
1"./src/ts/utils/array.ts":(e,t,n)=>{function r(e){const t=[...e];for(let e=t.length-1;e>0;e--){const n=Math.floor(Math.random()*(e+1));[t[e],t[n]]=[t[n],t[e]]}return t}n.d(t,{S:()=>r})}
1}]);
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.